sliccy 3.14.0 → 3.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/README.md +1 -1
  2. package/dist/ui/assets/adobe-Ao50jPgP.js +2 -0
  3. package/dist/ui/assets/{adobe-D3TSV3kT.js → adobe-CE1Bs7rN.js} +1 -1
  4. package/dist/ui/assets/agent-bridge-BBzAl1L_.js +1 -0
  5. package/dist/ui/assets/{agent-message-to-chat-CZ3vc3bx.js → agent-message-to-chat-DRR_n3Cd.js} +1 -1
  6. package/dist/ui/assets/{anthropic-CofiZ926.js → anthropic-BOzXuoM3.js} +4 -4
  7. package/dist/ui/assets/{anthropic-CrL-9fq_.js → anthropic-Dpnd1zvp.js} +2 -2
  8. package/dist/ui/assets/{apps-CnC39rsl.js → apps-CFqoQvbx.js} +1 -1
  9. package/dist/ui/assets/{azure-openai-dfn0k8O2.js → azure-openai-CDpywqUS.js} +1 -1
  10. package/dist/ui/assets/{azure-openai-H9tUkZch.js → azure-openai-cgi4Kkfa.js} +1 -1
  11. package/dist/ui/assets/{azure-openai-responses-4xLTbaxa.js → azure-openai-responses-Be1SnJhA.js} +1 -1
  12. package/dist/ui/assets/{azure-openai-responses-CBDYvga9.js → azure-openai-responses-DGyHiI9b.js} +1 -1
  13. package/dist/ui/assets/{biome_wasm-fowPz8Sr.js → biome_wasm-CCl4-by8.js} +1 -1
  14. package/dist/ui/assets/{bsh-watchdog-fE5_b2Sq.js → bsh-watchdog-CtN1RuOo.js} +1 -1
  15. package/dist/ui/assets/{cdp-CgZFCzZg.js → cdp-B2PbN6cJ.js} +4 -4
  16. package/dist/ui/assets/cdp-ws-page-bridge-BLnWRj3d.js +1 -0
  17. package/dist/ui/assets/{common-FClSnnke.js → common-D0tS4JvG.js} +1 -1
  18. package/dist/ui/assets/cost-command-CVFVVo3Y.js +1 -0
  19. package/dist/ui/assets/{es-BRxUc8Vk.js → es-CSl2NTTK.js} +5 -5
  20. package/dist/ui/assets/{follower-sprinkle-bridge-CMfDukox.js → follower-sprinkle-bridge-CdcQ2GYa.js} +1 -1
  21. package/dist/ui/assets/github-CsLVmRjl.js +2 -0
  22. package/dist/ui/assets/github-DBqo8Qbh.js +1 -0
  23. package/dist/ui/assets/github-copilot-BhCBOl5C.js +2 -0
  24. package/dist/ui/assets/{github-copilot-DRoJFAqF.js → github-copilot-DnyK8Sst.js} +1 -1
  25. package/dist/ui/assets/{google-CkZKyXlq.js → google-DVlDjlsv.js} +1 -1
  26. package/dist/ui/assets/google-Yi7CN08j.js +1 -0
  27. package/dist/ui/assets/{google-shared-Bp7lj-mL.js → google-shared-DdWQkQdM.js} +3 -3
  28. package/dist/ui/assets/{google-shared-COqJ9Mzr.js → google-shared-WXij02uY.js} +1 -1
  29. package/dist/ui/assets/{google-vertex-uoM62NXW.js → google-vertex-B6bpaSVL.js} +1 -1
  30. package/dist/ui/assets/{google-vertex-DUBYT0hU.js → google-vertex-BLJOblZE.js} +1 -1
  31. package/dist/ui/assets/{intercepted-oauth-C7BvcVue.js → intercepted-oauth-B6zxgQQV.js} +1 -1
  32. package/dist/ui/assets/js-realm-worker-BnCys20m.js +5 -0
  33. package/dist/ui/assets/{kernel-worker-DAzmsd_P.js → kernel-worker-B_VVPiix.js} +981 -976
  34. package/dist/ui/assets/{lick-ws-bridge-DodmEt0x.js → lick-ws-bridge-nuf5FOHB.js} +1 -1
  35. package/dist/ui/assets/{local-llm-CHt3tYD7.js → local-llm-DGirMEN6.js} +2 -2
  36. package/dist/ui/assets/magick-wasm-CC7NYyop.js +1 -0
  37. package/dist/ui/assets/{main-D5X3QDGB.js → main-QvcnxvtS.js} +137 -137
  38. package/dist/ui/assets/{mistral-DPYBk73s.js → mistral-Bh1GJbf4.js} +2 -2
  39. package/dist/ui/assets/{mistral-BKvYXyPT.js → mistral-CaxcS-53.js} +2 -2
  40. package/dist/ui/assets/{nodejs-DxYbOAAg.js → nodejs-BV7kLKbo.js} +1 -1
  41. package/dist/ui/assets/{nuke-command-BQafnkbJ.js → nuke-command-BLiX1He8.js} +1 -1
  42. package/dist/ui/assets/{oauth-D7OIwNl9.js → oauth-DDRapyi2.js} +1 -1
  43. package/dist/ui/assets/oauth-bootstrap-BfMlMOez.js +2 -0
  44. package/dist/ui/assets/{oauth-service-OqxBClV5.js → oauth-service-BIFoyZr9.js} +1 -1
  45. package/dist/ui/assets/oauth-service-DbDCWx7N.js +1 -0
  46. package/dist/ui/assets/offscreen-client-j2kdvCUZ.js +1 -0
  47. package/dist/ui/assets/onboarding-orchestrator-Bf46cpkt.js +1 -0
  48. package/dist/ui/assets/openai-codex-BJyWKtaP.js +1 -0
  49. package/dist/ui/assets/openai-codex-D6S4-dHf.js +1 -0
  50. package/dist/ui/assets/{openai-codex-responses-Cu_vWr0H.js → openai-codex-responses-B3W7YrEb.js} +2 -2
  51. package/dist/ui/assets/{openai-codex-responses-BREco7pI.js → openai-codex-responses-CObQU668.js} +1 -1
  52. package/dist/ui/assets/{openai-completions-Ci7sD1x5.js → openai-completions-flDaecKI.js} +2 -2
  53. package/dist/ui/assets/openai-responses-Ds-HVP9y.js +1 -0
  54. package/dist/ui/assets/{openai-responses-D_vwRv5E.js → openai-responses-I8H7uEaU.js} +1 -1
  55. package/dist/ui/assets/{openai-responses-shared-Dzt049Et.js → openai-responses-shared-Bm2eSiHi.js} +1 -1
  56. package/dist/ui/assets/{openai-responses-shared-nH4CP3pN.js → openai-responses-shared-CCsAMrca.js} +4 -4
  57. package/dist/ui/assets/{openrouter-ByWpF3QR.js → openrouter-BgKegqZJ.js} +1 -1
  58. package/dist/ui/assets/{openrouter-DhbDa0RV.js → openrouter-DBnJ7Lgv.js} +1 -1
  59. package/dist/ui/assets/{panel-rpc-handlers-CJJVKyDn.js → panel-rpc-handlers-BefCNYz6.js} +1 -1
  60. package/dist/ui/assets/provider-CK0z722U.js +2 -0
  61. package/dist/ui/assets/{provider-BF3c28PT.js → provider-DGgbt705.js} +1 -1
  62. package/dist/ui/assets/provider-store-access-CCLf7kRi.js +1 -0
  63. package/dist/ui/assets/provider-store-access-CPQLutIJ.js +1 -0
  64. package/dist/ui/assets/{proxied-fetch-D5COXh2X.js → proxied-fetch-duisWF6F.js} +1 -1
  65. package/dist/ui/assets/{pyodide-CV9NAQLd.js → pyodide-DMuot7oT.js} +2 -2
  66. package/dist/ui/assets/{remote-terminal-view-C6kvlCSG.js → remote-terminal-view-BTeU52uN.js} +3 -3
  67. package/dist/ui/assets/secret-env-DiKtpIpU.js +1 -0
  68. package/dist/ui/assets/slicc-editor-C19_5HZS.js +12 -0
  69. package/dist/ui/assets/{spawn-Ceu4Eobz.js → spawn-DhHtj4w1.js} +1 -1
  70. package/dist/ui/assets/{sql-wasm-m982m9_Q.js → sql-wasm-BhN2AaSY.js} +1 -1
  71. package/dist/ui/assets/store-DHtr0thS.js +1 -0
  72. package/dist/ui/assets/{tray-leave-runtime-BPKauUzE.js → tray-leave-runtime-CL5BI1fS.js} +1 -1
  73. package/dist/ui/assets/{typescript-DAR2DYZE.js → typescript-D-sYRkTp.js} +1 -1
  74. package/dist/ui/assets/{upgrade-detection-BFH_1S02.js → upgrade-detection-Cd14niwX.js} +1 -1
  75. package/dist/ui/assets/{web-CHeaLi6o.js → web-D-HTAm7L.js} +1 -1
  76. package/dist/ui/assets/ws-subscribers-BEnP0PDu.js +1 -0
  77. package/dist/ui/assets/{xai-grok-boiAoDrf.js → xai-grok-CnXU8B16.js} +1 -1
  78. package/dist/ui/assets/{xai-grok-NOPU6OE9.js → xai-grok-Dw7pEkZb.js} +1 -1
  79. package/dist/ui/index.html +1 -1
  80. package/dist/ui/packages/webapp/index.html +1 -1
  81. package/package.json +1 -1
  82. package/dist/ui/assets/adobe-gIu_dHEG.js +0 -2
  83. package/dist/ui/assets/agent-bridge-B5pC19EY.js +0 -1
  84. package/dist/ui/assets/cost-command-Lkmo5sFk.js +0 -1
  85. package/dist/ui/assets/github-CVI9tHpF.js +0 -1
  86. package/dist/ui/assets/github-CqwY8-fW.js +0 -2
  87. package/dist/ui/assets/github-copilot-Bxa6l3W-.js +0 -2
  88. package/dist/ui/assets/google-hTg-69ln.js +0 -1
  89. package/dist/ui/assets/js-realm-worker-C2Z2nmxV.js +0 -1
  90. package/dist/ui/assets/magick-wasm-D4_CNcmL.js +0 -1
  91. package/dist/ui/assets/oauth-bootstrap-BESg8J5Z.js +0 -2
  92. package/dist/ui/assets/oauth-service-CiXJHPbX.js +0 -1
  93. package/dist/ui/assets/offscreen-client-DEBYLCUe.js +0 -1
  94. package/dist/ui/assets/onboarding-orchestrator-BK3dCmny.js +0 -1
  95. package/dist/ui/assets/openai-responses-DnXBqFVI.js +0 -1
  96. package/dist/ui/assets/provider-m0UE-mDj.js +0 -2
  97. package/dist/ui/assets/provider-store-access-CnMVjgjB.js +0 -1
  98. package/dist/ui/assets/provider-store-access-DgGBEsNi.js +0 -1
  99. package/dist/ui/assets/secret-env-Dk00psrH.js +0 -1
  100. package/dist/ui/assets/slicc-editor-CwbowpzS.js +0 -12
  101. package/dist/ui/assets/store-Biy2Dk5S.js +0 -1
@@ -1 +1 @@
1
- import{K as e,ct as t}from"./kernel-worker-DAzmsd_P.js";import{t as n}from"./common-FClSnnke.js";var r=t((t=>{var n=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,s.unregister(this),e}free(){let e=this.__destroy_into_raw();j.__wbg_diagnosticprinter_free(e,0)}finish(){let e,t;try{let i=this.__destroy_into_raw(),a=j.diagnosticprinter_finish(i);var n=a[0],r=a[1];if(a[3])throw n=0,r=0,C(a[2]);return e=n,t=r,g(n,r)}finally{j.__wbindgen_free(e,t,1)}}constructor(e,t){let n=S(e,j.__wbindgen_malloc,j.__wbindgen_realloc),r=D,i=S(t,j.__wbindgen_malloc,j.__wbindgen_realloc),a=D,o=j.diagnosticprinter_new(n,r,i,a);return this.__wbg_ptr=o>>>0,s.register(this,this.__wbg_ptr,this),this}print_simple(e){let t=j.diagnosticprinter_print_simple(this.__wbg_ptr,e);if(t[1])throw C(t[0])}print_verbose(e){let t=j.diagnosticprinter_print_verbose(this.__wbg_ptr,e);if(t[1])throw C(t[0])}};Symbol.dispose&&(n.prototype[Symbol.dispose]=n.prototype.free),t.DiagnosticPrinter=n;var r=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,c.unregister(this),e}free(){let e=this.__destroy_into_raw();j.__wbg_memoryfilesystem_free(e,0)}insert(e,t){let n=S(e,j.__wbindgen_malloc,j.__wbindgen_realloc),r=D,i=x(t,j.__wbindgen_malloc),a=D;j.memoryfilesystem_insert(this.__wbg_ptr,n,r,i,a)}constructor(){let e=j.memoryfilesystem_new();return this.__wbg_ptr=e>>>0,c.register(this,this.__wbg_ptr,this),this}remove(e){let t=S(e,j.__wbindgen_malloc,j.__wbindgen_realloc),n=D;j.memoryfilesystem_remove(this.__wbg_ptr,t,n)}};Symbol.dispose&&(r.prototype[Symbol.dispose]=r.prototype.free),t.MemoryFileSystem=r;var i=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,l.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,l.unregister(this),e}free(){let e=this.__destroy_into_raw();j.__wbg_workspace_free(e,0)}changeFile(e){let t=j.workspace_changeFile(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}closeFile(e){let t=j.workspace_closeFile(this.__wbg_ptr,e);if(t[1])throw C(t[0])}dropPattern(e){let t=j.workspace_dropPattern(this.__wbg_ptr,e);if(t[1])throw C(t[0])}fileExists(e){let t=j.workspace_fileExists(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return t[0]!==0}fileFeatures(e){let t=j.workspace_fileFeatures(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}fixFile(e){let t=j.workspace_fixFile(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}formatFile(e){let t=j.workspace_formatFile(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}formatOnType(e){let t=j.workspace_formatOnType(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}formatRange(e){let t=j.workspace_formatRange(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}getControlFlowGraph(e){let t,n;try{let a=j.workspace_getControlFlowGraph(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,C(a[2]);return t=r,n=i,g(r,i)}finally{j.__wbindgen_free(t,n,1)}}getFileContent(e){let t,n;try{let a=j.workspace_getFileContent(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,C(a[2]);return t=r,n=i,g(r,i)}finally{j.__wbindgen_free(t,n,1)}}getFormatterIr(e){let t,n;try{let a=j.workspace_getFormatterIr(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,C(a[2]);return t=r,n=i,g(r,i)}finally{j.__wbindgen_free(t,n,1)}}getModuleGraph(e){let t=j.workspace_getModuleGraph(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}getRegisteredTypes(e){let t,n;try{let a=j.workspace_getRegisteredTypes(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,C(a[2]);return t=r,n=i,g(r,i)}finally{j.__wbindgen_free(t,n,1)}}getSemanticModel(e){let t,n;try{let a=j.workspace_getSemanticModel(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,C(a[2]);return t=r,n=i,g(r,i)}finally{j.__wbindgen_free(t,n,1)}}getSyntaxTree(e){let t=j.workspace_getSyntaxTree(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}getTypeInfo(e){let t,n;try{let a=j.workspace_getTypeInfo(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,C(a[2]);return t=r,n=i,g(r,i)}finally{j.__wbindgen_free(t,n,1)}}isPathIgnored(e){let t=j.workspace_isPathIgnored(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return t[0]!==0}constructor(){let e=j.workspace_new();return this.__wbg_ptr=e>>>0,l.register(this,this.__wbg_ptr,this),this}openFile(e){let t=j.workspace_openFile(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}openProject(e){let t=j.workspace_openProject(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}parsePattern(e){let t=j.workspace_parsePattern(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}pullActions(e){let t=j.workspace_pullActions(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}pullDiagnostics(e){let t=j.workspace_pullDiagnostics(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}rename(e){let t=j.workspace_rename(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}scanProject(e){let t=j.workspace_scanProject(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}searchPattern(e){let t=j.workspace_searchPattern(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}updateModuleGraph(e){let t=j.workspace_updateModuleGraph(this.__wbg_ptr,e);if(t[1])throw C(t[0])}updateSettings(e){let t=j.workspace_updateSettings(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}static withFileSystem(t){d(t,r);let n=j.workspace_withFileSystem(t.__wbg_ptr);return e.__wrap(n)}};Symbol.dispose&&(i.prototype[Symbol.dispose]=i.prototype.free),t.Workspace=i;function a(){j.main()}t.main=a;function o(){return{__proto__:null,"./biome_wasm_bg.js":{__proto__:null,__wbg_Error_2e59b1b37a9a34c3:function(e,t){return Error(g(e,t))},__wbg_Number_e6ffdb596c888833:function(e){return Number(e)},__wbg_String_8564e559799eccda:function(e,t){let n=S(String(t),j.__wbindgen_malloc,j.__wbindgen_realloc),r=D;h().setInt32(e+4,r,!0),h().setInt32(e+0,n,!0)},__wbg___wbindgen_bigint_get_as_i64_2c5082002e4826e2:function(e,t){let n=t,r=typeof n==`bigint`?n:void 0;h().setBigInt64(e+8,b(r)?BigInt(0):r,!0),h().setInt32(e+0,!b(r),!0)},__wbg___wbindgen_boolean_get_a86c216575a75c30:function(e){let t=e,n=typeof t==`boolean`?t:void 0;return b(n)?16777215:+!!n},__wbg___wbindgen_debug_string_dd5d2d07ce9e6c57:function(e,t){let n=S(f(t),j.__wbindgen_malloc,j.__wbindgen_realloc),r=D;h().setInt32(e+4,r,!0),h().setInt32(e+0,n,!0)},__wbg___wbindgen_in_4bd7a57e54337366:function(e,t){return e in t},__wbg___wbindgen_is_bigint_6c98f7e945dacdde:function(e){return typeof e==`bigint`},__wbg___wbindgen_is_function_49868bde5eb1e745:function(e){return typeof e==`function`},__wbg___wbindgen_is_object_40c5a80572e8f9d3:function(e){let t=e;return typeof t==`object`&&!!t},__wbg___wbindgen_is_string_b29b5c5a8065ba1a:function(e){return typeof e==`string`},__wbg___wbindgen_is_undefined_c0cca72b82b86f4d:function(e){return e===void 0},__wbg___wbindgen_jsval_eq_7d430e744a913d26:function(e,t){return e===t},__wbg___wbindgen_jsval_loose_eq_3a72ae764d46d944:function(e,t){return e==t},__wbg___wbindgen_number_get_7579aab02a8a620c:function(e,t){let n=t,r=typeof n==`number`?n:void 0;h().setFloat64(e+8,b(r)?0:r,!0),h().setInt32(e+0,!b(r),!0)},__wbg___wbindgen_string_get_914df97fcfa788f2:function(e,t){let n=t,r=typeof n==`string`?n:void 0;var i=b(r)?0:S(r,j.__wbindgen_malloc,j.__wbindgen_realloc),a=D;h().setInt32(e+4,a,!0),h().setInt32(e+0,i,!0)},__wbg___wbindgen_throw_81fc77679af83bc6:function(e,t){throw Error(g(e,t))},__wbg_call_7f2987183bb62793:function(){return y(function(e,t){return e.call(t)},arguments)},__wbg_done_547d467e97529006:function(e){return e.done},__wbg_entries_616b1a459b85be0b:function(e){return Object.entries(e)},__wbg_error_a6fa202b58aa1cd3:function(e,t){let n,r;try{n=e,r=t,console.error(g(e,t))}finally{j.__wbindgen_free(n,r,1)}},__wbg_get_4848e350b40afc16:function(e,t){return e[t>>>0]},__wbg_get_ed0642c4b9d31ddf:function(){return y(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_unchecked_7d7babe32e9e6a54:function(e,t){return e[t>>>0]},__wbg_get_with_ref_key_6412cf3094599694:function(e,t){return e[t]},__wbg_instanceof_ArrayBuffer_ff7c1337a5e3b33a:function(e){let t;try{t=e instanceof ArrayBuffer}catch{t=!1}return t},__wbg_instanceof_Map_a10a2795ef4bfe97:function(e){let t;try{t=e instanceof Map}catch{t=!1}return t},__wbg_instanceof_Uint8Array_4b8da683deb25d72:function(e){let t;try{t=e instanceof Uint8Array}catch{t=!1}return t},__wbg_isArray_db61795ad004c139:function(e){return Array.isArray(e)},__wbg_isSafeInteger_ea83862ba994770c:function(e){return Number.isSafeInteger(e)},__wbg_iterator_de403ef31815a3e6:function(){return Symbol.iterator},__wbg_length_0c32cb8543c8e4c8:function(e){return e.length},__wbg_length_6e821edde497a532:function(e){return e.length},__wbg_new_227d7c05414eb861:function(){return Error()},__wbg_new_4f9fafbb3909af72:function(){return{}},__wbg_new_99cabae501c0a8a0:function(){return new Map},__wbg_new_a560378ea1240b14:function(e){return new Uint8Array(e)},__wbg_new_e3b04b4d53d1b593:function(e,t){return Error(g(e,t))},__wbg_new_f3c9df4f38f3f798:function(){return[]},__wbg_next_01132ed6134b8ef5:function(e){return e.next},__wbg_next_b3713ec761a9dbfd:function(){return y(function(e){return e.next()},arguments)},__wbg_now_e7c6795a7f81e10f:function(e){return e.now()},__wbg_performance_3fcf6e32a7e1ed0a:function(e){return e.performance},__wbg_prototypesetcall_3e05eb9545565046:function(e,t,n){Uint8Array.prototype.set.call(p(e,t),n)},__wbg_set_08463b1df38a7e29:function(e,t,n){return e.set(t,n)},__wbg_set_6be42768c690e380:function(e,t,n){e[t]=n},__wbg_set_6c60b2e8ad0e9383:function(e,t,n){e[t>>>0]=n},__wbg_stack_3b0d974bbf31e44f:function(e,t){let n=t.stack,r=S(n,j.__wbindgen_malloc,j.__wbindgen_realloc),i=D;h().setInt32(e+4,i,!0),h().setInt32(e+0,r,!0)},__wbg_static_accessor_GLOBAL_THIS_a1248013d790bf5f:function(){let e=typeof globalThis>`u`?null:globalThis;return b(e)?0:u(e)},__wbg_static_accessor_GLOBAL_f2e0f995a21329ff:function(){let e=typeof globalThis>`u`?null:globalThis;return b(e)?0:u(e)},__wbg_static_accessor_SELF_24f78b6d23f286ea:function(){let e=typeof self>`u`?null:self;return b(e)?0:u(e)},__wbg_static_accessor_WINDOW_59fd959c540fe405:function(){let e=typeof window>`u`?null:window;return b(e)?0:u(e)},__wbg_value_7f6052747ccf940f:function(e){return e.value},__wbindgen_cast_0000000000000001:function(e){return e},__wbindgen_cast_0000000000000002:function(e){return e},__wbindgen_cast_0000000000000003:function(e,t){return g(e,t)},__wbindgen_cast_0000000000000004:function(e){return BigInt.asUintN(64,e)},__wbindgen_init_externref_table:function(){let e=j.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}let s=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>j.__wbg_diagnosticprinter_free(e>>>0,1)),c=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>j.__wbg_memoryfilesystem_free(e>>>0,1)),l=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>j.__wbg_workspace_free(e>>>0,1));function u(e){let t=j.__externref_table_alloc();return j.__wbindgen_externrefs.set(t,e),t}function d(e,t){if(!(e instanceof t))throw Error(`expected instance of ${t.name}`)}function f(e){let t=typeof e;if(t==`number`||t==`boolean`||e==null)return`${e}`;if(t==`string`)return`"${e}"`;if(t==`symbol`){let t=e.description;return t==null?`Symbol`:`Symbol(${t})`}if(t==`function`){let t=e.name;return typeof t==`string`&&t.length>0?`Function(${t})`:`Function`}if(Array.isArray(e)){let t=e.length,n=`[`;t>0&&(n+=f(e[0]));for(let r=1;r<t;r++)n+=`, `+f(e[r]);return n+=`]`,n}let n=/\[object ([^\]]+)\]/.exec(toString.call(e)),r;if(n&&n.length>1)r=n[1];else return toString.call(e);if(r==`Object`)try{return`Object(`+JSON.stringify(e)+`)`}catch{return`Object`}return e instanceof Error?`${e.name}: ${e.message}\n${e.stack}`:r}function p(e,t){return e>>>=0,v().subarray(e/1,e/1+t)}let m=null;function h(){return(m===null||m.buffer.detached===!0||m.buffer.detached===void 0&&m.buffer!==j.memory.buffer)&&(m=new DataView(j.memory.buffer)),m}function g(e,t){return e>>>=0,T(e,t)}let _=null;function v(){return(_===null||_.byteLength===0)&&(_=new Uint8Array(j.memory.buffer)),_}function y(e,t){try{return e.apply(this,t)}catch(e){let t=u(e);j.__wbindgen_exn_store(t)}}function b(e){return e==null}function x(e,t){let n=t(e.length*1,1)>>>0;return v().set(e,n/1),D=e.length,n}function S(e,t,n){if(n===void 0){let n=E.encode(e),r=t(n.length,1)>>>0;return v().subarray(r,r+n.length).set(n),D=n.length,r}let r=e.length,i=t(r,1)>>>0,a=v(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=v().subarray(i+o,i+r),a=E.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return D=o,i}function C(e){let t=j.__wbindgen_externrefs.get(e);return j.__externref_table_dealloc(e),t}let w=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});w.decode();function T(e,t){return w.decode(v().subarray(e,e+t))}let E=new TextEncoder;`encodeInto`in E||(E.encodeInto=function(e,t){let n=E.encode(e);return t.set(n),{read:e.length,written:n.length}});let D=0,O=`${__dirname}/biome_wasm_bg.wasm`,k=e().readFileSync(O),A=new WebAssembly.Module(k),j=new WebAssembly.Instance(A,o()).exports;j.__wbindgen_start()})),i=t((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),i=e&&e.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),a=e&&e.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(n){if(n&&n.__esModule)return n;var r={};if(n!=null)for(var a=e(n),o=0;o<a.length;o++)a[o]!==`default`&&t(r,n,a[o]);return i(r,n),r}})();Object.defineProperty(e,"__esModule",{value:!0}),e.Biome=void 0;let o=a(r()),s=n();e.Biome=class extends s.BiomeCommon{constructor(){super(o)}}}));export default i();
1
+ import{J as e,dt as t}from"./kernel-worker-B_VVPiix.js";import{t as n}from"./common-D0tS4JvG.js";var r=t((t=>{var n=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,s.unregister(this),e}free(){let e=this.__destroy_into_raw();j.__wbg_diagnosticprinter_free(e,0)}finish(){let e,t;try{let i=this.__destroy_into_raw(),a=j.diagnosticprinter_finish(i);var n=a[0],r=a[1];if(a[3])throw n=0,r=0,C(a[2]);return e=n,t=r,g(n,r)}finally{j.__wbindgen_free(e,t,1)}}constructor(e,t){let n=S(e,j.__wbindgen_malloc,j.__wbindgen_realloc),r=D,i=S(t,j.__wbindgen_malloc,j.__wbindgen_realloc),a=D,o=j.diagnosticprinter_new(n,r,i,a);return this.__wbg_ptr=o>>>0,s.register(this,this.__wbg_ptr,this),this}print_simple(e){let t=j.diagnosticprinter_print_simple(this.__wbg_ptr,e);if(t[1])throw C(t[0])}print_verbose(e){let t=j.diagnosticprinter_print_verbose(this.__wbg_ptr,e);if(t[1])throw C(t[0])}};Symbol.dispose&&(n.prototype[Symbol.dispose]=n.prototype.free),t.DiagnosticPrinter=n;var r=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,c.unregister(this),e}free(){let e=this.__destroy_into_raw();j.__wbg_memoryfilesystem_free(e,0)}insert(e,t){let n=S(e,j.__wbindgen_malloc,j.__wbindgen_realloc),r=D,i=x(t,j.__wbindgen_malloc),a=D;j.memoryfilesystem_insert(this.__wbg_ptr,n,r,i,a)}constructor(){let e=j.memoryfilesystem_new();return this.__wbg_ptr=e>>>0,c.register(this,this.__wbg_ptr,this),this}remove(e){let t=S(e,j.__wbindgen_malloc,j.__wbindgen_realloc),n=D;j.memoryfilesystem_remove(this.__wbg_ptr,t,n)}};Symbol.dispose&&(r.prototype[Symbol.dispose]=r.prototype.free),t.MemoryFileSystem=r;var i=class e{static __wrap(t){t>>>=0;let n=Object.create(e.prototype);return n.__wbg_ptr=t,l.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,l.unregister(this),e}free(){let e=this.__destroy_into_raw();j.__wbg_workspace_free(e,0)}changeFile(e){let t=j.workspace_changeFile(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}closeFile(e){let t=j.workspace_closeFile(this.__wbg_ptr,e);if(t[1])throw C(t[0])}dropPattern(e){let t=j.workspace_dropPattern(this.__wbg_ptr,e);if(t[1])throw C(t[0])}fileExists(e){let t=j.workspace_fileExists(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return t[0]!==0}fileFeatures(e){let t=j.workspace_fileFeatures(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}fixFile(e){let t=j.workspace_fixFile(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}formatFile(e){let t=j.workspace_formatFile(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}formatOnType(e){let t=j.workspace_formatOnType(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}formatRange(e){let t=j.workspace_formatRange(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}getControlFlowGraph(e){let t,n;try{let a=j.workspace_getControlFlowGraph(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,C(a[2]);return t=r,n=i,g(r,i)}finally{j.__wbindgen_free(t,n,1)}}getFileContent(e){let t,n;try{let a=j.workspace_getFileContent(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,C(a[2]);return t=r,n=i,g(r,i)}finally{j.__wbindgen_free(t,n,1)}}getFormatterIr(e){let t,n;try{let a=j.workspace_getFormatterIr(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,C(a[2]);return t=r,n=i,g(r,i)}finally{j.__wbindgen_free(t,n,1)}}getModuleGraph(e){let t=j.workspace_getModuleGraph(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}getRegisteredTypes(e){let t,n;try{let a=j.workspace_getRegisteredTypes(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,C(a[2]);return t=r,n=i,g(r,i)}finally{j.__wbindgen_free(t,n,1)}}getSemanticModel(e){let t,n;try{let a=j.workspace_getSemanticModel(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,C(a[2]);return t=r,n=i,g(r,i)}finally{j.__wbindgen_free(t,n,1)}}getSyntaxTree(e){let t=j.workspace_getSyntaxTree(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}getTypeInfo(e){let t,n;try{let a=j.workspace_getTypeInfo(this.__wbg_ptr,e);var r=a[0],i=a[1];if(a[3])throw r=0,i=0,C(a[2]);return t=r,n=i,g(r,i)}finally{j.__wbindgen_free(t,n,1)}}isPathIgnored(e){let t=j.workspace_isPathIgnored(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return t[0]!==0}constructor(){let e=j.workspace_new();return this.__wbg_ptr=e>>>0,l.register(this,this.__wbg_ptr,this),this}openFile(e){let t=j.workspace_openFile(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}openProject(e){let t=j.workspace_openProject(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}parsePattern(e){let t=j.workspace_parsePattern(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}pullActions(e){let t=j.workspace_pullActions(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}pullDiagnostics(e){let t=j.workspace_pullDiagnostics(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}rename(e){let t=j.workspace_rename(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}scanProject(e){let t=j.workspace_scanProject(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}searchPattern(e){let t=j.workspace_searchPattern(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}updateModuleGraph(e){let t=j.workspace_updateModuleGraph(this.__wbg_ptr,e);if(t[1])throw C(t[0])}updateSettings(e){let t=j.workspace_updateSettings(this.__wbg_ptr,e);if(t[2])throw C(t[1]);return C(t[0])}static withFileSystem(t){d(t,r);let n=j.workspace_withFileSystem(t.__wbg_ptr);return e.__wrap(n)}};Symbol.dispose&&(i.prototype[Symbol.dispose]=i.prototype.free),t.Workspace=i;function a(){j.main()}t.main=a;function o(){return{__proto__:null,"./biome_wasm_bg.js":{__proto__:null,__wbg_Error_2e59b1b37a9a34c3:function(e,t){return Error(g(e,t))},__wbg_Number_e6ffdb596c888833:function(e){return Number(e)},__wbg_String_8564e559799eccda:function(e,t){let n=S(String(t),j.__wbindgen_malloc,j.__wbindgen_realloc),r=D;h().setInt32(e+4,r,!0),h().setInt32(e+0,n,!0)},__wbg___wbindgen_bigint_get_as_i64_2c5082002e4826e2:function(e,t){let n=t,r=typeof n==`bigint`?n:void 0;h().setBigInt64(e+8,b(r)?BigInt(0):r,!0),h().setInt32(e+0,!b(r),!0)},__wbg___wbindgen_boolean_get_a86c216575a75c30:function(e){let t=e,n=typeof t==`boolean`?t:void 0;return b(n)?16777215:+!!n},__wbg___wbindgen_debug_string_dd5d2d07ce9e6c57:function(e,t){let n=S(f(t),j.__wbindgen_malloc,j.__wbindgen_realloc),r=D;h().setInt32(e+4,r,!0),h().setInt32(e+0,n,!0)},__wbg___wbindgen_in_4bd7a57e54337366:function(e,t){return e in t},__wbg___wbindgen_is_bigint_6c98f7e945dacdde:function(e){return typeof e==`bigint`},__wbg___wbindgen_is_function_49868bde5eb1e745:function(e){return typeof e==`function`},__wbg___wbindgen_is_object_40c5a80572e8f9d3:function(e){let t=e;return typeof t==`object`&&!!t},__wbg___wbindgen_is_string_b29b5c5a8065ba1a:function(e){return typeof e==`string`},__wbg___wbindgen_is_undefined_c0cca72b82b86f4d:function(e){return e===void 0},__wbg___wbindgen_jsval_eq_7d430e744a913d26:function(e,t){return e===t},__wbg___wbindgen_jsval_loose_eq_3a72ae764d46d944:function(e,t){return e==t},__wbg___wbindgen_number_get_7579aab02a8a620c:function(e,t){let n=t,r=typeof n==`number`?n:void 0;h().setFloat64(e+8,b(r)?0:r,!0),h().setInt32(e+0,!b(r),!0)},__wbg___wbindgen_string_get_914df97fcfa788f2:function(e,t){let n=t,r=typeof n==`string`?n:void 0;var i=b(r)?0:S(r,j.__wbindgen_malloc,j.__wbindgen_realloc),a=D;h().setInt32(e+4,a,!0),h().setInt32(e+0,i,!0)},__wbg___wbindgen_throw_81fc77679af83bc6:function(e,t){throw Error(g(e,t))},__wbg_call_7f2987183bb62793:function(){return y(function(e,t){return e.call(t)},arguments)},__wbg_done_547d467e97529006:function(e){return e.done},__wbg_entries_616b1a459b85be0b:function(e){return Object.entries(e)},__wbg_error_a6fa202b58aa1cd3:function(e,t){let n,r;try{n=e,r=t,console.error(g(e,t))}finally{j.__wbindgen_free(n,r,1)}},__wbg_get_4848e350b40afc16:function(e,t){return e[t>>>0]},__wbg_get_ed0642c4b9d31ddf:function(){return y(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_unchecked_7d7babe32e9e6a54:function(e,t){return e[t>>>0]},__wbg_get_with_ref_key_6412cf3094599694:function(e,t){return e[t]},__wbg_instanceof_ArrayBuffer_ff7c1337a5e3b33a:function(e){let t;try{t=e instanceof ArrayBuffer}catch{t=!1}return t},__wbg_instanceof_Map_a10a2795ef4bfe97:function(e){let t;try{t=e instanceof Map}catch{t=!1}return t},__wbg_instanceof_Uint8Array_4b8da683deb25d72:function(e){let t;try{t=e instanceof Uint8Array}catch{t=!1}return t},__wbg_isArray_db61795ad004c139:function(e){return Array.isArray(e)},__wbg_isSafeInteger_ea83862ba994770c:function(e){return Number.isSafeInteger(e)},__wbg_iterator_de403ef31815a3e6:function(){return Symbol.iterator},__wbg_length_0c32cb8543c8e4c8:function(e){return e.length},__wbg_length_6e821edde497a532:function(e){return e.length},__wbg_new_227d7c05414eb861:function(){return Error()},__wbg_new_4f9fafbb3909af72:function(){return{}},__wbg_new_99cabae501c0a8a0:function(){return new Map},__wbg_new_a560378ea1240b14:function(e){return new Uint8Array(e)},__wbg_new_e3b04b4d53d1b593:function(e,t){return Error(g(e,t))},__wbg_new_f3c9df4f38f3f798:function(){return[]},__wbg_next_01132ed6134b8ef5:function(e){return e.next},__wbg_next_b3713ec761a9dbfd:function(){return y(function(e){return e.next()},arguments)},__wbg_now_e7c6795a7f81e10f:function(e){return e.now()},__wbg_performance_3fcf6e32a7e1ed0a:function(e){return e.performance},__wbg_prototypesetcall_3e05eb9545565046:function(e,t,n){Uint8Array.prototype.set.call(p(e,t),n)},__wbg_set_08463b1df38a7e29:function(e,t,n){return e.set(t,n)},__wbg_set_6be42768c690e380:function(e,t,n){e[t]=n},__wbg_set_6c60b2e8ad0e9383:function(e,t,n){e[t>>>0]=n},__wbg_stack_3b0d974bbf31e44f:function(e,t){let n=t.stack,r=S(n,j.__wbindgen_malloc,j.__wbindgen_realloc),i=D;h().setInt32(e+4,i,!0),h().setInt32(e+0,r,!0)},__wbg_static_accessor_GLOBAL_THIS_a1248013d790bf5f:function(){let e=typeof globalThis>`u`?null:globalThis;return b(e)?0:u(e)},__wbg_static_accessor_GLOBAL_f2e0f995a21329ff:function(){let e=typeof globalThis>`u`?null:globalThis;return b(e)?0:u(e)},__wbg_static_accessor_SELF_24f78b6d23f286ea:function(){let e=typeof self>`u`?null:self;return b(e)?0:u(e)},__wbg_static_accessor_WINDOW_59fd959c540fe405:function(){let e=typeof window>`u`?null:window;return b(e)?0:u(e)},__wbg_value_7f6052747ccf940f:function(e){return e.value},__wbindgen_cast_0000000000000001:function(e){return e},__wbindgen_cast_0000000000000002:function(e){return e},__wbindgen_cast_0000000000000003:function(e,t){return g(e,t)},__wbindgen_cast_0000000000000004:function(e){return BigInt.asUintN(64,e)},__wbindgen_init_externref_table:function(){let e=j.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}let s=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>j.__wbg_diagnosticprinter_free(e>>>0,1)),c=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>j.__wbg_memoryfilesystem_free(e>>>0,1)),l=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>j.__wbg_workspace_free(e>>>0,1));function u(e){let t=j.__externref_table_alloc();return j.__wbindgen_externrefs.set(t,e),t}function d(e,t){if(!(e instanceof t))throw Error(`expected instance of ${t.name}`)}function f(e){let t=typeof e;if(t==`number`||t==`boolean`||e==null)return`${e}`;if(t==`string`)return`"${e}"`;if(t==`symbol`){let t=e.description;return t==null?`Symbol`:`Symbol(${t})`}if(t==`function`){let t=e.name;return typeof t==`string`&&t.length>0?`Function(${t})`:`Function`}if(Array.isArray(e)){let t=e.length,n=`[`;t>0&&(n+=f(e[0]));for(let r=1;r<t;r++)n+=`, `+f(e[r]);return n+=`]`,n}let n=/\[object ([^\]]+)\]/.exec(toString.call(e)),r;if(n&&n.length>1)r=n[1];else return toString.call(e);if(r==`Object`)try{return`Object(`+JSON.stringify(e)+`)`}catch{return`Object`}return e instanceof Error?`${e.name}: ${e.message}\n${e.stack}`:r}function p(e,t){return e>>>=0,v().subarray(e/1,e/1+t)}let m=null;function h(){return(m===null||m.buffer.detached===!0||m.buffer.detached===void 0&&m.buffer!==j.memory.buffer)&&(m=new DataView(j.memory.buffer)),m}function g(e,t){return e>>>=0,T(e,t)}let _=null;function v(){return(_===null||_.byteLength===0)&&(_=new Uint8Array(j.memory.buffer)),_}function y(e,t){try{return e.apply(this,t)}catch(e){let t=u(e);j.__wbindgen_exn_store(t)}}function b(e){return e==null}function x(e,t){let n=t(e.length*1,1)>>>0;return v().set(e,n/1),D=e.length,n}function S(e,t,n){if(n===void 0){let n=E.encode(e),r=t(n.length,1)>>>0;return v().subarray(r,r+n.length).set(n),D=n.length,r}let r=e.length,i=t(r,1)>>>0,a=v(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=v().subarray(i+o,i+r),a=E.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return D=o,i}function C(e){let t=j.__wbindgen_externrefs.get(e);return j.__externref_table_dealloc(e),t}let w=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});w.decode();function T(e,t){return w.decode(v().subarray(e,e+t))}let E=new TextEncoder;`encodeInto`in E||(E.encodeInto=function(e,t){let n=E.encode(e);return t.set(n),{read:e.length,written:n.length}});let D=0,O=`${__dirname}/biome_wasm_bg.wasm`,k=e().readFileSync(O),A=new WebAssembly.Module(k),j=new WebAssembly.Instance(A,o()).exports;j.__wbindgen_start()})),i=t((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),i=e&&e.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),a=e&&e.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},e(t)};return function(n){if(n&&n.__esModule)return n;var r={};if(n!=null)for(var a=e(n),o=0;o<a.length;o++)a[o]!==`default`&&t(r,n,a[o]);return i(r,n),r}})();Object.defineProperty(e,"__esModule",{value:!0}),e.Biome=void 0;let o=a(r()),s=n();e.Biome=class extends s.BiomeCommon{constructor(){super(o)}}}));export default i();
@@ -1 +1 @@
1
- import"./main-D5X3QDGB.js";var e=`slicc-nuke-control`;function t(t=()=>location.reload()){if(typeof BroadcastChannel!=`function`)return()=>{};let n=new BroadcastChannel(e),r=e=>{let n=e.data;if(n?.type===`nuke-reload`){if(Array.isArray(n.keysToRemove)){for(let e of n.keysToRemove)if(typeof e==`string`)try{localStorage.removeItem(e)}catch{}}t()}};return n.addEventListener(`message`,r),()=>{n.removeEventListener(`message`,r),n.close()}}export{t as installNukeReloadListener};
1
+ import"./main-QvcnxvtS.js";var e=`slicc-nuke-control`;function t(t=()=>location.reload()){if(typeof BroadcastChannel!=`function`)return()=>{};let n=new BroadcastChannel(e),r=e=>{let n=e.data;if(n?.type===`nuke-reload`){if(Array.isArray(n.keysToRemove)){for(let e of n.keysToRemove)if(typeof e==`string`)try{localStorage.removeItem(e)}catch{}}t()}};return n.addEventListener(`message`,r),()=>{n.removeEventListener(`message`,r),n.close()}}export{t as installNukeReloadListener};
@@ -1 +1 @@
1
- import{st as e}from"./kernel-worker-DAzmsd_P.js";const t=e(`mcp-oauth`);async function n(e,n,r){let i=new URL(e).origin,a=n??`${i}/.well-known/oauth-protected-resource`,o=null,s=null;t.debug(`Fetching PRM`,{prmUrl:a});try{let e=await r(a,{headers:{Accept:`application/json`}});if(!e.ok)s=`${e.status} ${e.statusText}`;else{let t=await e.json();!t.authorization_servers||t.authorization_servers.length===0?s=`lists no authorization_servers`:o=t}}catch(e){s=e instanceof Error?e.message:String(e)}let c,l,u;o&&o.authorization_servers&&o.authorization_servers.length>0?(c=o.authorization_servers[0].replace(/\/+$/,``),l=`${c}/.well-known/oauth-authorization-server`,u=`prm`,t.debug(`Discovery via PRM`,{prmUrl:a,asmUrl:l})):(c=i,l=`${i}/.well-known/oauth-authorization-server`,u=`asm-origin-fallback`,t.debug(`PRM unavailable; falling back to ASM at server origin`,{prmUrl:a,prmReason:s,asmUrl:l}));let d=null,f=null;t.debug(`Fetching ASM`,{asmUrl:l});try{let e=await r(l,{headers:{Accept:`application/json`}});e.ok?d=await e.json():f=`${e.status} ${e.statusText}`}catch(e){f=e instanceof Error?e.message:String(e)}if(!d)throw Error(u===`asm-origin-fallback`?`MCP OAuth discovery failed. PRM (${a}): ${s}. ASM fallback (${l}): ${f}.`:`ASM fetch failed: ${f} (${l})`);if(!d.authorization_endpoint||!d.token_endpoint)throw Error(u===`asm-origin-fallback`?`MCP OAuth discovery failed. PRM (${a}): ${s}. ASM fallback (${l}) is missing required endpoints (authorization_endpoint, token_endpoint).`:`ASM at ${l} is missing required endpoints`);return{issuer:d.issuer||c,authorizationEndpoint:d.authorization_endpoint,tokenEndpoint:d.token_endpoint,registrationEndpoint:d.registration_endpoint,supportedScopes:d.scopes_supported??o?.scopes_supported,codeChallengeMethods:d.code_challenge_methods_supported,grantTypes:d.grant_types_supported,discoveryPath:u}}async function r(e,t,n){if(!e.registrationEndpoint)throw Error(`Authorization server does not advertise a registration_endpoint (RFC 7591)`);let r=e.grantTypes,i=r&&r.length>0&&!r.includes(`refresh_token`)?[`authorization_code`]:[`authorization_code`,`refresh_token`],a=JSON.stringify({client_name:`SLICC`,redirect_uris:[t],token_endpoint_auth_method:`none`,grant_types:i,response_types:[`code`]}),o=await n(e.registrationEndpoint,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:a});if(!o.ok)throw Error(`DCR failed: ${o.status} ${o.statusText}`);let s=await o.json();if(!s.client_id)throw Error(`DCR response missing client_id`);return{clientId:s.client_id,registrationClientUri:s.registration_client_uri}}function i(e){return!e||e.length===0||e.includes(`S256`)?`S256`:e.includes(`plain`)?`plain`:`S256`}function a(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}async function o(e){let t=new Uint8Array(32);crypto.getRandomValues(t);let n=a(t);if(e===`plain`)return{codeVerifier:n,codeChallenge:n,method:e};let r=await crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(n));return{codeVerifier:n,codeChallenge:a(new Uint8Array(r)),method:e}}function s(e){try{let t=new URL(e);return{code:t.searchParams.get(`code`),state:t.searchParams.get(`state`)}}catch{return{code:null,state:null}}}async function c(e){let t=await o(i(e.asMetadata.codeChallengeMethods)),n=a(crypto.getRandomValues(new Uint8Array(16))),r=new URLSearchParams({response_type:`code`,client_id:e.clientId,redirect_uri:e.redirectUri,code_challenge:t.codeChallenge,code_challenge_method:t.method,state:n});e.scope&&r.set(`scope`,e.scope);let c=`${e.asMetadata.authorizationEndpoint}?${r.toString()}`,l=await e.launcher(c);if(!l)throw Error(`MCP OAuth flow cancelled or timed out`);let{code:d,state:f}=s(l);if(!d)throw Error("MCP OAuth redirect missing `code` parameter");if(f!==n)throw Error(`MCP OAuth state mismatch — possible CSRF`);return u({tokenEndpoint:e.asMetadata.tokenEndpoint,clientId:e.clientId,code:d,codeVerifier:t.codeVerifier,redirectUri:e.redirectUri,fetchImpl:e.fetchImpl})}function l(e){if(e.error||!e.access_token)throw Error(`Token endpoint error: ${e.error??`no_access_token`}${e.error_description?` — ${e.error_description}`:``}`);return{accessToken:e.access_token,refreshToken:e.refresh_token,expiresAt:e.expires_in?Date.now()+e.expires_in*1e3:void 0,scope:e.scope,tokenType:e.token_type}}async function u(e){let t=new URLSearchParams({grant_type:`authorization_code`,code:e.code,redirect_uri:e.redirectUri,client_id:e.clientId,code_verifier:e.codeVerifier}).toString(),n=await e.fetchImpl(e.tokenEndpoint,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,Accept:`application/json`},body:t}),r=await n.json();if(!n.ok&&!r.access_token)throw Error(`Token exchange failed: ${n.status} ${n.statusText}${r.error?` (${r.error})`:``}`);return l(r)}async function d(e){let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e.refreshToken,client_id:e.clientId});e.scope&&t.set(`scope`,e.scope);let n=await e.fetchImpl(e.tokenEndpoint,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,Accept:`application/json`},body:t.toString()}),r=await n.json();if(!n.ok&&!r.access_token)throw Error(`Token refresh failed: ${n.status} ${n.statusText}${r.error?` (${r.error})`:``}`);return l(r)}export{n as discoverAuth,r as dynamicRegister,d as refreshAccessToken,c as runAuthFlow};
1
+ import{ut as e}from"./kernel-worker-B_VVPiix.js";const t=e(`mcp-oauth`);async function n(e,n,r){let i=new URL(e).origin,a=n??`${i}/.well-known/oauth-protected-resource`,o=null,s=null;t.debug(`Fetching PRM`,{prmUrl:a});try{let e=await r(a,{headers:{Accept:`application/json`}});if(!e.ok)s=`${e.status} ${e.statusText}`;else{let t=await e.json();!t.authorization_servers||t.authorization_servers.length===0?s=`lists no authorization_servers`:o=t}}catch(e){s=e instanceof Error?e.message:String(e)}let c,l,u;o&&o.authorization_servers&&o.authorization_servers.length>0?(c=o.authorization_servers[0].replace(/\/+$/,``),l=`${c}/.well-known/oauth-authorization-server`,u=`prm`,t.debug(`Discovery via PRM`,{prmUrl:a,asmUrl:l})):(c=i,l=`${i}/.well-known/oauth-authorization-server`,u=`asm-origin-fallback`,t.debug(`PRM unavailable; falling back to ASM at server origin`,{prmUrl:a,prmReason:s,asmUrl:l}));let d=null,f=null;t.debug(`Fetching ASM`,{asmUrl:l});try{let e=await r(l,{headers:{Accept:`application/json`}});e.ok?d=await e.json():f=`${e.status} ${e.statusText}`}catch(e){f=e instanceof Error?e.message:String(e)}if(!d)throw Error(u===`asm-origin-fallback`?`MCP OAuth discovery failed. PRM (${a}): ${s}. ASM fallback (${l}): ${f}.`:`ASM fetch failed: ${f} (${l})`);if(!d.authorization_endpoint||!d.token_endpoint)throw Error(u===`asm-origin-fallback`?`MCP OAuth discovery failed. PRM (${a}): ${s}. ASM fallback (${l}) is missing required endpoints (authorization_endpoint, token_endpoint).`:`ASM at ${l} is missing required endpoints`);return{issuer:d.issuer||c,authorizationEndpoint:d.authorization_endpoint,tokenEndpoint:d.token_endpoint,registrationEndpoint:d.registration_endpoint,supportedScopes:d.scopes_supported??o?.scopes_supported,codeChallengeMethods:d.code_challenge_methods_supported,grantTypes:d.grant_types_supported,discoveryPath:u}}async function r(e,t,n){if(!e.registrationEndpoint)throw Error(`Authorization server does not advertise a registration_endpoint (RFC 7591)`);let r=e.grantTypes,i=r&&r.length>0&&!r.includes(`refresh_token`)?[`authorization_code`]:[`authorization_code`,`refresh_token`],a=JSON.stringify({client_name:`SLICC`,redirect_uris:[t],token_endpoint_auth_method:`none`,grant_types:i,response_types:[`code`]}),o=await n(e.registrationEndpoint,{method:`POST`,headers:{"Content-Type":`application/json`,Accept:`application/json`},body:a});if(!o.ok)throw Error(`DCR failed: ${o.status} ${o.statusText}`);let s=await o.json();if(!s.client_id)throw Error(`DCR response missing client_id`);return{clientId:s.client_id,registrationClientUri:s.registration_client_uri}}function i(e){return!e||e.length===0||e.includes(`S256`)?`S256`:e.includes(`plain`)?`plain`:`S256`}function a(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}async function o(e){let t=new Uint8Array(32);crypto.getRandomValues(t);let n=a(t);if(e===`plain`)return{codeVerifier:n,codeChallenge:n,method:e};let r=await crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(n));return{codeVerifier:n,codeChallenge:a(new Uint8Array(r)),method:e}}function s(e){try{let t=new URL(e);return{code:t.searchParams.get(`code`),state:t.searchParams.get(`state`)}}catch{return{code:null,state:null}}}async function c(e){let t=await o(i(e.asMetadata.codeChallengeMethods)),n=a(crypto.getRandomValues(new Uint8Array(16))),r=new URLSearchParams({response_type:`code`,client_id:e.clientId,redirect_uri:e.redirectUri,code_challenge:t.codeChallenge,code_challenge_method:t.method,state:n});e.scope&&r.set(`scope`,e.scope);let c=`${e.asMetadata.authorizationEndpoint}?${r.toString()}`,l=await e.launcher(c);if(!l)throw Error(`MCP OAuth flow cancelled or timed out`);let{code:d,state:f}=s(l);if(!d)throw Error("MCP OAuth redirect missing `code` parameter");if(f!==n)throw Error(`MCP OAuth state mismatch — possible CSRF`);return u({tokenEndpoint:e.asMetadata.tokenEndpoint,clientId:e.clientId,code:d,codeVerifier:t.codeVerifier,redirectUri:e.redirectUri,fetchImpl:e.fetchImpl})}function l(e){if(e.error||!e.access_token)throw Error(`Token endpoint error: ${e.error??`no_access_token`}${e.error_description?` — ${e.error_description}`:``}`);return{accessToken:e.access_token,refreshToken:e.refresh_token,expiresAt:e.expires_in?Date.now()+e.expires_in*1e3:void 0,scope:e.scope,tokenType:e.token_type}}async function u(e){let t=new URLSearchParams({grant_type:`authorization_code`,code:e.code,redirect_uri:e.redirectUri,client_id:e.clientId,code_verifier:e.codeVerifier}).toString(),n=await e.fetchImpl(e.tokenEndpoint,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,Accept:`application/json`},body:t}),r=await n.json();if(!n.ok&&!r.access_token)throw Error(`Token exchange failed: ${n.status} ${n.statusText}${r.error?` (${r.error})`:``}`);return l(r)}async function d(e){let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e.refreshToken,client_id:e.clientId});e.scope&&t.set(`scope`,e.scope);let n=await e.fetchImpl(e.tokenEndpoint,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,Accept:`application/json`},body:t.toString()}),r=await n.json();if(!n.ok&&!r.access_token)throw Error(`Token refresh failed: ${n.status} ${n.statusText}${r.error?` (${r.error})`:``}`);return l(r)}export{n as discoverAuth,r as dynamicRegister,d as refreshAccessToken,c as runAuthFlow};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/provider-CK0z722U.js","assets/main-QvcnxvtS.js","assets/modulepreload-polyfill-Dezn_h7o.js","assets/main-CvlDeETm.css","assets/global-db-CbuLl-zx.js"])))=>i.map(i=>d[i]);
2
+ import{C as e,et as t,g as n,tt as r,u as i}from"./main-QvcnxvtS.js";var a=r(`oauth-bootstrap`),o=6e4;async function s(){try{let{ensureAllMcpProvidersRegistered:e}=await t(async()=>{let{ensureAllMcpProvidersRegistered:e}=await import(`./provider-CK0z722U.js`);return{ensureAllMcpProvidersRegistered:e}},__vite__mapDeps([0,1,2,3,4])),n=await e();n.length>0&&a.debug(`Pre-registered MCP providers for OAuth bootstrap`,{count:n.length})}catch(e){a.warn(`Failed to pre-register MCP providers for OAuth bootstrap`,{error:e instanceof Error?e.message:String(e)})}let r=i();a.info(`Bootstrap OAuth replicas`,{count:r.length});for(let t of r){if(!t.accessToken){a.debug(`Skipping account without token`,{providerId:t.providerId});continue}if((t.tokenExpiresAt??1/0)-Date.now()<=o){let n=e(t.providerId);if(n?.onSilentRenew)try{if(await n.onSilentRenew()){a.info(`Silently renewed OAuth token`,{providerId:t.providerId});continue}a.warn(`Silent renewal yielded no token; user must re-authenticate`,{providerId:t.providerId});continue}catch(e){a.warn(`Silent renewal failed`,{providerId:t.providerId,error:e instanceof Error?e.message:String(e)});continue}a.debug(`Skipping expired account (no silent-renew hook)`,{providerId:t.providerId});continue}try{await n({providerId:t.providerId,accessToken:t.accessToken,refreshToken:t.refreshToken,tokenExpiresAt:t.tokenExpiresAt,userName:t.userName,userAvatar:t.userAvatar}),a.debug(`Bootstrapped OAuth replica`,{providerId:t.providerId})}catch(e){a.error(`OAuth bootstrap failed`,{providerId:t.providerId,error:e instanceof Error?e.message:String(e)})}}}export{s as bootstrapOAuthReplicas};
@@ -1 +1 @@
1
- import{J as e}from"./kernel-worker-DAzmsd_P.js";import{t}from"./intercepted-oauth-C7BvcVue.js";const n=typeof chrome<`u`&&!!chrome?.runtime?.id;function r(){return n?l:typeof window>`u`?s:c}async function i(){let e=await a();return e?t(e):null}async function a(){try{let{getActiveCdpTransport:e}=await import(`./active-transport-BIjzxdwv.js`);return await e()}catch(e){return console.warn(`[oauth-service] could not resolve active CDP transport:`,e instanceof Error?e.message:String(e)),null}}async function o(){if(typeof window<`u`)return{origin:window.location.origin,href:window.location.href};let t=e();if(!t)throw Error(`OAuth from worker context requires the panel-RPC bridge (no page-info available)`);let n=await t.call(`page-info`,void 0);return{origin:n.origin,href:n.href}}async function s(t){let n=e();if(!n)return console.error(`[oauth-service] panel-RPC client unavailable in worker`),null;try{return(await n.call(`oauth-popup`,{url:t},{timeoutMs:13e4})).redirectUrl}catch(e){return console.error(`[oauth-service] oauth-popup RPC failed:`,e instanceof Error?e.message:String(e)),null}}async function c(e){return new Promise(t=>{let n=window.open(e,`_blank`,`width=500,height=700,popup=yes`),r=!1,i=null,a=()=>{r||(r=!0,window.removeEventListener(`message`,o),clearTimeout(s),i&&clearInterval(i))},o=e=>{if(e.data?.type!==`oauth-callback`||e.origin!==window.location.origin||n&&e.source!==n)return;if(a(),e.data.error){console.error(`[oauth-service] CLI OAuth error:`,e.data.error),t(null);return}let r=e.data.redirectUrl;typeof r!=`string`&&r!=null||t(r??null)};window.addEventListener(`message`,o),i=setInterval(async()=>{if(!r)try{let e=await fetch(`/api/oauth-result`);if(e.status===204||!e.ok)return;let n=await e.json();if(r)return;if(a(),n.error){console.error(`[oauth-service] Server relay OAuth error:`,n.error),t(null);return}t(n.redirectUrl??null)}catch(e){console.warn(`[oauth-service] Poll failed:`,e instanceof Error?e.message:String(e))}},1e3);let s=setTimeout(()=>{a();try{n?.close()}catch{}t(null)},12e4)})}async function l(e){return new Promise(t=>{let n=!1,r=()=>{n||(n=!0,chrome.runtime.onMessage.removeListener(i),clearTimeout(a))},i=e=>{if(e?.source===`service-worker`&&e?.payload?.type===`oauth-result`){if(r(),e.payload.error){console.error(`[oauth-service] Extension OAuth error:`,e.payload.error),t(null);return}t(e.payload.redirectUrl??null)}};chrome.runtime.onMessage.addListener(i),chrome.runtime.sendMessage({source:`panel`,payload:{type:`oauth-request`,providerId:`oauth`,authorizeUrl:e}}).catch(e=>{console.error(`[oauth-service] Failed to send OAuth request to service worker:`,e)});let a=setTimeout(()=>{r(),t(null)},12e4)})}export{i as createInterceptingOAuthLauncherForCurrentRuntime,r as createOAuthLauncher,o as getOAuthPageOrigin};
1
+ import{X as e}from"./kernel-worker-B_VVPiix.js";import{t}from"./intercepted-oauth-B6zxgQQV.js";const n=typeof chrome<`u`&&!!chrome?.runtime?.id;function r(){return n?l:typeof window>`u`?s:c}async function i(){let e=await a();return e?t(e):null}async function a(){try{let{getActiveCdpTransport:e}=await import(`./active-transport-BIjzxdwv.js`);return await e()}catch(e){return console.warn(`[oauth-service] could not resolve active CDP transport:`,e instanceof Error?e.message:String(e)),null}}async function o(){if(typeof window<`u`)return{origin:window.location.origin,href:window.location.href};let t=e();if(!t)throw Error(`OAuth from worker context requires the panel-RPC bridge (no page-info available)`);let n=await t.call(`page-info`,void 0);return{origin:n.origin,href:n.href}}async function s(t){let n=e();if(!n)return console.error(`[oauth-service] panel-RPC client unavailable in worker`),null;try{return(await n.call(`oauth-popup`,{url:t},{timeoutMs:13e4})).redirectUrl}catch(e){return console.error(`[oauth-service] oauth-popup RPC failed:`,e instanceof Error?e.message:String(e)),null}}async function c(e){return new Promise(t=>{let n=window.open(e,`_blank`,`width=500,height=700,popup=yes`),r=!1,i=null,a=()=>{r||(r=!0,window.removeEventListener(`message`,o),clearTimeout(s),i&&clearInterval(i))},o=e=>{if(e.data?.type!==`oauth-callback`||e.origin!==window.location.origin||n&&e.source!==n)return;if(a(),e.data.error){console.error(`[oauth-service] CLI OAuth error:`,e.data.error),t(null);return}let r=e.data.redirectUrl;typeof r!=`string`&&r!=null||t(r??null)};window.addEventListener(`message`,o),i=setInterval(async()=>{if(!r)try{let e=await fetch(`/api/oauth-result`);if(e.status===204||!e.ok)return;let n=await e.json();if(r)return;if(a(),n.error){console.error(`[oauth-service] Server relay OAuth error:`,n.error),t(null);return}t(n.redirectUrl??null)}catch(e){console.warn(`[oauth-service] Poll failed:`,e instanceof Error?e.message:String(e))}},1e3);let s=setTimeout(()=>{a();try{n?.close()}catch{}t(null)},12e4)})}async function l(e){return new Promise(t=>{let n=!1,r=()=>{n||(n=!0,chrome.runtime.onMessage.removeListener(i),clearTimeout(a))},i=e=>{if(e?.source===`service-worker`&&e?.payload?.type===`oauth-result`){if(r(),e.payload.error){console.error(`[oauth-service] Extension OAuth error:`,e.payload.error),t(null);return}t(e.payload.redirectUrl??null)}};chrome.runtime.onMessage.addListener(i),chrome.runtime.sendMessage({source:`panel`,payload:{type:`oauth-request`,providerId:`oauth`,authorizeUrl:e}}).catch(e=>{console.error(`[oauth-service] Failed to send OAuth request to service worker:`,e)});let a=setTimeout(()=>{r(),t(null)},12e4)})}export{i as createInterceptingOAuthLauncherForCurrentRuntime,r as createOAuthLauncher,o as getOAuthPageOrigin};
@@ -0,0 +1 @@
1
+ import{et as e,v as t}from"./main-QvcnxvtS.js";var n=12e4;function r(e,t){return t.endsWith(`*`)?e.startsWith(t.slice(0,-1)):e===t||e.startsWith(`${t}?`)||e.startsWith(`${t}#`)}function i(e){return e.endsWith(`*`)?e:`${e}*`}function a(e,t){if(!t||t.length===0)return e;let n=e;for(let e of t)if(n.includes(e.match)){if(e.replaceUrl){n=e.replaceUrl;continue}if(e.appendParams)try{let t=new URL(n);for(let[n,r]of Object.entries(e.appendParams))t.searchParams.set(n,r);n=t.toString()}catch{}}return n}function o(e){return async t=>{let o=t.timeoutMs??n,s=t.rewrite??[],c=t.onCapture??`close`,l,u,d=!1,f=null,p=async()=>{if(u){try{await e.send(`Fetch.disable`,{},u)}catch{}try{await e.send(`Target.detachFromTarget`,{sessionId:u})}catch{}}if(l&&c===`close`)try{await e.send(`Target.closeTarget`,{targetId:l})}catch{}};return await new Promise(n=>{let c=async t=>{d||(d=!0,clearTimeout(h),e.off(`Fetch.requestPaused`,m),await p(),n(t))},m=n=>{let i=n;if(!i?.request?.url||!u||(typeof n.sessionId==`string`?n.sessionId:void 0)!==u)return;if(r(i.request.url,t.redirectUriPattern)){f=i.request.url,e.send(`Fetch.failRequest`,{requestId:i.requestId,errorReason:`Aborted`},u).catch(()=>{}),c(f);return}let o=a(i.request.url,s);if(o!==i.request.url){e.send(`Fetch.continueRequest`,{requestId:i.requestId,url:o},u).catch(e=>{console.warn(`[intercepted-oauth] continueRequest (rewrite) failed:`,e instanceof Error?e.message:String(e))});return}e.send(`Fetch.continueRequest`,{requestId:i.requestId},u).catch(()=>{})},h=setTimeout(()=>{c(null)},o);(async()=>{try{l=(await e.send(`Target.createTarget`,{url:`about:blank`})).targetId,u=(await e.send(`Target.attachToTarget`,{targetId:l,flatten:!0})).sessionId,e.on(`Fetch.requestPaused`,m),await e.send(`Fetch.enable`,{patterns:[{urlPattern:i(t.redirectUriPattern),requestStage:`Request`},...s.map(e=>({urlPattern:`*${e.match}*`,requestStage:`Request`}))]},u),await e.send(`Page.navigate`,{url:t.authorizeUrl},u)}catch(e){console.error(`[intercepted-oauth] setup failed:`,e instanceof Error?e.message:String(e)),c(null)}})()})}}var s=typeof chrome<`u`&&!!chrome?.runtime?.id;function c(){return s?m:typeof window>`u`?f:p}async function l(){let e=await u();return e?o(e):null}async function u(){try{let{getActiveCdpTransport:t}=await e(async()=>{let{getActiveCdpTransport:e}=await import(`./active-transport-BIjzxdwv.js`);return{getActiveCdpTransport:e}},[]);return await t()}catch(e){return console.warn(`[oauth-service] could not resolve active CDP transport:`,e instanceof Error?e.message:String(e)),null}}async function d(){if(typeof window<`u`)return{origin:window.location.origin,href:window.location.href};let e=t();if(!e)throw Error(`OAuth from worker context requires the panel-RPC bridge (no page-info available)`);let n=await e.call(`page-info`,void 0);return{origin:n.origin,href:n.href}}async function f(e){let n=t();if(!n)return console.error(`[oauth-service] panel-RPC client unavailable in worker`),null;try{return(await n.call(`oauth-popup`,{url:e},{timeoutMs:13e4})).redirectUrl}catch(e){return console.error(`[oauth-service] oauth-popup RPC failed:`,e instanceof Error?e.message:String(e)),null}}async function p(e){return new Promise(t=>{let n=window.open(e,`_blank`,`width=500,height=700,popup=yes`),r=!1,i=null,a=()=>{r||(r=!0,window.removeEventListener(`message`,o),clearTimeout(s),i&&clearInterval(i))},o=e=>{if(e.data?.type!==`oauth-callback`||e.origin!==window.location.origin||n&&e.source!==n)return;if(a(),e.data.error){console.error(`[oauth-service] CLI OAuth error:`,e.data.error),t(null);return}let r=e.data.redirectUrl;typeof r!=`string`&&r!=null||t(r??null)};window.addEventListener(`message`,o),i=setInterval(async()=>{if(!r)try{let e=await fetch(`/api/oauth-result`);if(e.status===204||!e.ok)return;let n=await e.json();if(r)return;if(a(),n.error){console.error(`[oauth-service] Server relay OAuth error:`,n.error),t(null);return}t(n.redirectUrl??null)}catch(e){console.warn(`[oauth-service] Poll failed:`,e instanceof Error?e.message:String(e))}},1e3);let s=setTimeout(()=>{a();try{n?.close()}catch{}t(null)},12e4)})}async function m(e){return new Promise(t=>{let n=!1,r=()=>{n||(n=!0,chrome.runtime.onMessage.removeListener(i),clearTimeout(a))},i=e=>{if(e?.source===`service-worker`&&e?.payload?.type===`oauth-result`){if(r(),e.payload.error){console.error(`[oauth-service] Extension OAuth error:`,e.payload.error),t(null);return}t(e.payload.redirectUrl??null)}};chrome.runtime.onMessage.addListener(i),chrome.runtime.sendMessage({source:`panel`,payload:{type:`oauth-request`,providerId:`oauth`,authorizeUrl:e}}).catch(e=>{console.error(`[oauth-service] Failed to send OAuth request to service worker:`,e)});let a=setTimeout(()=>{r(),t(null)},12e4)})}export{l as createInterceptingOAuthLauncherForCurrentRuntime,c as createOAuthLauncher,d as getOAuthPageOrigin};
@@ -0,0 +1 @@
1
+ import{T as e,o as t,tt as n}from"./main-QvcnxvtS.js";var r=n(`panel-transport`);function i(e){return typeof e==`object`&&!!e&&`source`in e&&`payload`in e}function a(){return{onMessage:e=>{let t=(t,n,r)=>(i(t)&&e(t),!1);return chrome.runtime.onMessage.addListener(t),()=>chrome.runtime.onMessage.removeListener(t)},send:e=>{chrome.runtime.sendMessage({source:`panel`,payload:e}).catch(e=>{r.error(`failed to send to offscreen`,{error:e instanceof Error?e.message:String(e)})})}}}var o=n(`offscreen-client`),s=class{eventListeners=new Set;callbacks;scoops=[];scoopStatuses=new Map;currentMessageId=new Map;ready=!1;stateRetryTimer=null;localFs=null;pendingClearAcks=new Map;transport;_selectedScoopJid=null;get selectedScoopJid(){return this._selectedScoopJid}scoopSelectedListeners=new Set;onScoopSelected(e){return this.scoopSelectedListeners.add(e),()=>{this.scoopSelectedListeners.delete(e)}}setSelectedScoopJid(e){if(this._selectedScoopJid!==e&&(this._selectedScoopJid=e,e!==null))for(let t of this.scoopSelectedListeners)try{t(e)}catch(e){o.error(`onScoopSelected handler threw`,{error:e instanceof Error?e.message:String(e)})}}locked=!1;constructor(e,t){this.callbacks=e,this.transport=t??a(),this.setupMessageListener()}setLocalFS(e){this.localFs=e}createAgentHandle(){return{sendMessage:(e,t,n)=>{if(!this.selectedScoopJid){this.emitToUI({type:`error`,error:`No scoop selected`});return}this.send({type:`user-message`,scoopJid:this.selectedScoopJid,text:e,attachments:n,messageId:t??`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`})},onEvent:e=>(this.eventListeners.add(e),()=>this.eventListeners.delete(e)),stop:()=>{this.selectedScoopJid&&this.send({type:`abort`,scoopJid:this.selectedScoopJid})}}}getScoops(){return this.scoops}getScoop(e){return this.scoops.find(t=>t.jid===e)}isProcessing(e){return this.scoopStatuses.get(e)===`processing`}async registerScoop(e){if(!e.isCone)throw Error(`OffscreenClient.registerScoop is cone-only; use scoop_scoop for non-cone scoops`);this.scoops.find(t=>t.name===e.name)||(this.scoops.push(e),this.scoopStatuses.set(e.jid,`initializing`)),this.send({type:`cone-create`,name:e.name})}async unregisterScoop(e){this.send({type:`scoop-drop`,scoopJid:e}),this.scoops=this.scoops.filter(t=>t.jid!==e),this.scoopStatuses.delete(e)}createScoopTab(e){}async getGlobalMemory(){if(!this.localFs)return``;try{let e=await this.localFs.readFile(`/shared/CLAUDE.md`,{encoding:`utf-8`});return typeof e==`string`?e:new TextDecoder().decode(e)}catch{return``}}getScoopContext(e){if(this.localFs)return{getFS:()=>this.localFs}}getSharedFS(){return this.localFs}stopScoop(e){this.send({type:`abort`,scoopJid:e})}async clearQueuedMessages(e){}async deleteQueuedMessage(e,t){}updateModel(){this.send({type:`refresh-model`})}setLocked(e){this.locked=e}setScoopThinkingLevel(e,t){this.send({type:`set-thinking-level`,scoopJid:e,level:t})}async clearAllMessages(){let e=`clear-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,t=new Promise(t=>{this.pendingClearAcks.set(e,t)});this.send({type:`clear-chat`,requestId:e}),await Promise.race([t,new Promise(e=>setTimeout(e,5e3))]),this.pendingClearAcks.delete(e)}clearFilesystem(){this.send({type:`clear-filesystem`})}requestScoopMessages(e){this.send({type:`request-scoop-messages`,scoopJid:e})}requestState(){this.send({type:`request-state`});let e=0;this.stateRetryTimer=setInterval(()=>{if(e++,this.ready||e>20){this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null);return}o.debug(`Retrying request-state`,{attempt:e}),this.send({type:`request-state`})},500)}isReady(){return this.ready}sprinkleOpHandler=null;sendSprinkleLick(e,t,n){this.send({type:`sprinkle-lick`,sprinkleName:e,body:t,targetScoop:n})}sendWebhookEvent(e,t,n){this.send({type:`lick-webhook-event`,webhookId:e,headers:t,body:n})}setSprinkleOpHandler(e){this.sprinkleOpHandler=e}sendRaw(e){this.send(e)}setupMessageListener(){this.transport.onMessage(e=>{if(e.source!==`offscreen`)return;let t=e.payload;t?.type===`sprinkle-op`&&this.sprinkleOpHandler?this.sprinkleOpHandler(t):this.handleOffscreenMessage(e.payload)})}handleOffscreenMessage(e){switch(e.type){case`offscreen-ready`:this.ready?(o.warn(`Offscreen restarted — re-requesting state`),this.ready=!1):o.info(`Offscreen engine ready`),this.send({type:`request-state`});break;case`agent-event`:this.handleAgentEvent(e);break;case`scoop-status`:this.handleScoopStatus(e);break;case`compaction-state`:this.callbacks.onCompactionStateChange?.(e.scoopJid,e.state);break;case`clear-chat-ack`:{let t=this.pendingClearAcks.get(e.requestId);t&&(this.pendingClearAcks.delete(e.requestId),t());break}case`scoop-created`:this.handleScoopCreated(e);break;case`scoop-list`:this.handleScoopList(e);break;case`state-snapshot`:this.handleStateSnapshot(e);break;case`error`:this.handleError(e);break;case`incoming-message`:this.handleIncomingMessage(e);break;case`scoop-messages-replaced`:{let t=e;this.callbacks.onScoopMessagesReplaced?.(t.scoopJid,t.messages);break}case`tray-runtime-status`:{let t=e;l(t.leader,t.follower);break}case`terminal-status`:case`terminal-output`:case`terminal-media-preview`:case`terminal-exit`:case`terminal-cleared`:for(let t of this.terminalEventListeners)try{t(e)}catch(e){o.error(`terminal event listener error`,{error:e instanceof Error?e.message:String(e)})}break}}terminalEventListeners=new Set;onTerminalEvent(e){return this.terminalEventListeners.add(e),()=>this.terminalEventListeners.delete(e)}handleAgentEvent(e){if(e.scoopJid===this.selectedScoopJid)switch(e.eventType){case`text_delta`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${c()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`content_delta`,messageId:t,text:e.text??``});break}case`tool_start`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${c()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_use_start`,messageId:t,toolName:e.toolName??``,toolInput:e.toolInput});break}case`tool_end`:{let t=this.currentMessageId.get(e.scoopJid);t&&this.emitToUI({type:`tool_result`,messageId:t,toolName:e.toolName??``,result:e.toolResult??``,isError:e.isError});break}case`tool_ui`:{let t=this.currentMessageId.get(e.scoopJid);t||(t=`scoop-${e.scoopJid}-${c()}`,this.currentMessageId.set(e.scoopJid,t),this.emitToUI({type:`message_start`,messageId:t})),this.emitToUI({type:`tool_ui`,messageId:t,toolName:e.toolName??``,requestId:e.requestId??``,html:e.html??``});break}case`tool_ui_done`:{let t=this.currentMessageId.get(e.scoopJid);t&&this.emitToUI({type:`tool_ui_done`,messageId:t,requestId:e.requestId??``});break}case`response_done`:{let t=this.currentMessageId.get(e.scoopJid);t&&(this.emitToUI({type:`content_done`,messageId:t}),this.currentMessageId.delete(e.scoopJid));break}case`turn_end`:{let t=this.currentMessageId.get(e.scoopJid)??`done-${e.scoopJid}-${c()}`;this.currentMessageId.delete(e.scoopJid),this.emitToUI({type:`turn_end`,messageId:t});break}}}handleScoopStatus(e){this.scoopStatuses.set(e.scoopJid,e.status),this.callbacks.onStatusChange(e.scoopJid,e.status)}handleScoopCreated(e){let t=this.msgScoopToRegistered(e.scoop);this.scoops=this.scoops.filter(e=>e.name!==t.name||e.jid===t.jid),this.scoops.find(e=>e.jid===t.jid)||this.scoops.push(t),this.scoopStatuses.set(t.jid,e.scoop.status),this.callbacks.onScoopCreated(t)}handleScoopList(e){this.scoops=e.scoops.map(e=>this.msgScoopToRegistered(e));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);this.callbacks.onScoopListUpdate(e.scoops)}handleStateSnapshot(e){o.info(`Received state snapshot`,{scoopCount:e.scoops.length}),this.scoops=e.scoops.map(e=>this.msgScoopToRegistered(e));for(let t of e.scoops)this.scoopStatuses.set(t.jid,t.status);e.trayRuntimeStatus&&l(e.trayRuntimeStatus.leader,e.trayRuntimeStatus.follower);let t=!this.ready;t&&(this.ready=!0,this.stateRetryTimer&&=(clearInterval(this.stateRetryTimer),null)),this.callbacks.onScoopListUpdate(e.scoops),t&&this.callbacks.onReady?.()}handleError(e){e.scoopJid===this.selectedScoopJid&&this.emitToUI({type:`error`,error:e.error})}handleIncomingMessage(e){this.callbacks.onIncomingMessage(e.scoopJid,e.message)}msgScoopToRegistered(e){return{jid:e.jid,name:e.name,folder:e.folder,isCone:e.isCone,type:e.isCone?`cone`:`scoop`,requiresTrigger:!e.isCone,assistantLabel:e.assistantLabel,addedAt:new Date().toISOString(),...e.config?{config:{...e.config}}:{}}}emitToUI(e){for(let t of this.eventListeners)try{t(e)}catch(e){o.error(`Listener error`,{error:e instanceof Error?e.message:String(e)})}}send(e){if(this.locked){this.emitToUI({type:`error`,error:`This window is detached. Close it and use the detached tab.`});return}this.transport.send(e)}};function c(){return Date.now().toString(36)+Math.random().toString(36).slice(2,8)}function l(n,r){t({state:n.state,error:n.error,reconnectAttempts:n.reconnectAttempts,session:n.session?{...n.session}:null}),e({state:r.state,joinUrl:r.joinUrl,trayId:r.trayId,error:r.error,lastError:r.lastError,reconnectAttempts:r.reconnectAttempts,attachAttempts:r.attachAttempts,lastAttachCode:r.lastAttachCode,connectingSince:r.connectingSince,lastPingTime:r.lastPingTime})}export{s as OffscreenClient};
@@ -0,0 +1 @@
1
+ import{n as e,tt as t}from"./main-QvcnxvtS.js";var n=[e=>`Nice to meet you, ${e}.`,e=>`Hello ${e} — glad you stopped by.`,e=>`Hey ${e}, welcome aboard.`,e=>`${e}! Pleasure to make your acquaintance.`],r=[`Nice to meet you, mysterious stranger — I'll respect the incognito.`,`Hello, anonymous traveler. You can always tell me your name later if you change your mind.`,`An unnamed visitor — intriguing. Whenever you'd like to introduce yourself, just say the word.`,`Hey there, ghost — happy to keep things first-name-optional. The door's always open if you decide to drop the cloak.`],i={work:[`Work mode — let's make today productive.`,`On the clock? Same. Let's chip away at it.`],school:[`School business — I love a good study session.`,`Hitting the books? Glad to ride along.`],personal:[`Personal project energy is the best kind.`,`Tinkering for yourself is how the good stuff happens.`],"side-project":[`Side projects keep the lights on creatively.`,`Two-job life — respect.`],exploring:[`Just poking around? Excellent. The best discoveries start there.`,`Exploration mode — no agenda, no pressure.`]},a={developer:[`I can write code, run shell commands, drive a real browser, and ship pages.`,`Code, terminals, browsers, repos — I live in all of them.`],designer:[`I can prototype layouts, generate assets, and walk page editors with you.`,`Pixels, components, screenshots — design ops are my jam.`],"content-creator":[`I can draft copy, edit, scrape references, and stitch publish-ready pages.`,`Words, structure, SEO, polish — say the topic and I'll get moving.`],marketer:[`I can audit funnels, scrape competitors, and stand up landing pages quickly.`,`Campaigns, analytics, creatives — plug me in and I'll go.`],"product-pm":[`I can summarise research, draft specs, and crunch competitive intel.`,`Briefs, roadmaps, comparisons — I take the boring half off your plate.`],founder:[`I can prototype landing pages, automate ops, and prep investor decks.`,`Idea → MVP → repeat. I'll do the legwork between coffee refills.`],student:[`I can read papers with you, draft notes, and turn lectures into outlines.`,`Studying together makes it bearable — let me handle the busywork.`],researcher:[`I can scrape sources, summarise findings, and keep a running bibliography.`,`Lit reviews, datasets, write-ups — I'm all in.`],other:[`I'm flexible — give me a task and I'll figure out the right tools.`,`Whatever the role, I can probably help. Tell me what's on the docket.`]},o=[`I can browse the web, run commands, write code, and automate the boring parts.`,`I'm comfortable with terminals, browsers, files, and a long backlog of skills.`],s=[`But to be honest, I'm not really an AI yet — I'm an empty shell. You'll need to help me become intelligent. Pick a model and I'll wake up:`,`Confession time: I can't actually think yet. Wire me up to an LLM and I'll start earning my keep:`,`Plot twist — there's no brain in here. Choose a provider so I can do more than read this script:`,`Truthfully? I'm a very polite placeholder until you give me a model. Help me out:`];function c(e,t){return e[Math.floor(t()*e.length)%e.length]}function l(e){return e.replace(/-/g,` `)}function u(e){if(e.length===0)return``;if(e.length===1)return e[0];if(e.length===2)return`${e[0]} and ${e[1]}`;let t=e[e.length-1];return`${e.slice(0,-1).join(`, `)}, and ${t}`}function d(e,t=Math.random){let a=(e.name||``).trim(),o=e.purpose?i[e.purpose]:void 0;return a?`${c(n,t)(a)}${o?` ${c(o,t)}`:``}`:`${c(r,t)}${o?` ${c(o,t)}`:``}`}function f(e,t=Math.random){let n=e.role&&a[e.role]?e.role:``,r=c(n?a[n]:o,t),i=(e.tasks??[]).slice(0,3).map(l);return`I'm sliccy. ${r}${i.length>0?` Especially handy for ${u(i)}.`:``} I'm an AI agent.`}function p(e,t=Math.random){return c(s,t)}function m(e,t=Math.random){return[d(e,t),f(e,t),p(e,t)]}var h={openai:{url:e=>`${(e??`https://api.openai.com`).replace(/\/$/,``)}/v1/models`,headers:e=>({Authorization:`Bearer ${e}`})},anthropic:{url:e=>`${(e??`https://api.anthropic.com`).replace(/\/$/,``)}/v1/models`,headers:e=>({"x-api-key":e,"anthropic-version":`2023-06-01`})},groq:{url:e=>`${(e??`https://api.groq.com/openai`).replace(/\/$/,``)}/v1/models`,headers:e=>({Authorization:`Bearer ${e}`})},cerebras:{url:e=>`${(e??`https://api.cerebras.ai`).replace(/\/$/,``)}/v1/models`,headers:e=>({Authorization:`Bearer ${e}`})},mistral:{url:e=>`${(e??`https://api.mistral.ai`).replace(/\/$/,``)}/v1/models`,headers:e=>({Authorization:`Bearer ${e}`})},"x-ai":{url:e=>`${(e??`https://api.x.ai`).replace(/\/$/,``)}/v1/models`,headers:e=>({Authorization:`Bearer ${e}`})},deepseek:{url:e=>`${(e??`https://api.deepseek.com`).replace(/\/$/,``)}/v1/models`,headers:e=>({Authorization:`Bearer ${e}`})},openrouter:{url:e=>`${(e??`https://openrouter.ai/api`).replace(/\/$/,``)}/v1/models`,headers:e=>({Authorization:`Bearer ${e}`})},google:{url:e=>`${(e??`https://generativelanguage.googleapis.com`).replace(/\/$/,``)}/v1beta/models`,headers:()=>({})}};function g(e,t){if(e===401||e===403)return`Authentication failed — the key was rejected by the provider.`;if(e===404)return`Endpoint not found — check the base URL.`;if(e===429)return`Rate-limited — try again in a moment.`;if(e>=500)return`Provider returned a server error.`;let n=t.trim();return n?`${e}: ${n.slice(0,160)}`:`Provider responded with HTTP ${e}.`}async function _(e){let{provider:t,apiKey:n,baseUrl:r,signal:i}=e,a=e.fetchImpl??fetch,o=n.trim();if(!o)return{kind:`failed`,status:null,message:`API key is empty.`};let s=h[t];if(!s)return{kind:`skipped`,reason:`No live validation available for "${t}" — saving without testing.`};let c=s.url(r);if(t===`google`){let e=c.includes(`?`)?`&`:`?`;c=`${c}${e}key=${encodeURIComponent(o)}`}try{let e=await a(c,{method:`GET`,headers:s.headers(o),signal:i});if(e.ok)return{kind:`ok`};let t=``;try{t=await e.text()}catch{}return e.status===401||e.status,{kind:`failed`,status:e.status,message:g(e.status,t)}}catch(e){if(e?.name===`AbortError`)throw e;return{kind:`skipped`,reason:`Couldn't reach the provider (${e instanceof Error?e.message:String(e)}). Saving without live test — you can retry from Settings.`}}}var v=t(`onboarding-orchestrator`),y=class{deps;stage=`idle`;profile={};constructor(e){this.deps=e}getStage(){return this.stage}getProfile(){return{...this.profile}}handleFirstRun(){this.stage===`idle`&&(this.deps.postDipReference(`Welcome to SLICC — let's get you set up.`),this.deps.postDipReference(`![Welcome](/shared/sprinkles/welcome/welcome.shtml)`))}async handleOnboardingComplete(t){if(this.stage!==`idle`)return v.debug(`Ignoring duplicate onboarding-complete`,{stage:this.stage}),!0;this.profile=t??{},this.stage=`awaiting-connect`,e(this.deps.fs).catch(e=>v.warn(`recordWelcomed failed`,e)),this.persistProfile(this.profile).catch(e=>v.warn(`persistProfile failed`,e));let n=m(this.profile,this.deps.rand);for(let e of n)this.deps.postSystemMessage(e);return this.deps.postDipReference(`![Connect a model](/shared/sprinkles/welcome/connect-llm.shtml)`),!0}handleConnectReady(){if(this.stage===`complete`)return;let e=this.deps.getProviderCatalogue();this.deps.broadcastToDip({type:`slicc-providers`,providers:e.providers,models:e.models})}async handleConnectAttempt(e){if(this.stage===`complete`)return;this.stage=`connecting`;let{provider:t,apiKey:n,baseUrl:r,deployment:i,apiVersion:a,model:o}=e;if(!t||typeof n!=`string`||!n.trim()){this.deps.broadcastToDip({type:`slicc-connect-result`,ok:!1,kind:`failed`,message:`Provider and API key are required.`}),this.stage=`awaiting-connect`;return}let s=(()=>{try{return this.deps.getProviderCatalogue().providers.find(e=>e.id===t)}catch{return}})();if(s?.requiresDeployment&&!i?.trim()){this.deps.broadcastToDip({type:`slicc-connect-result`,ok:!1,kind:`failed`,message:`${s.name} requires a deployment name.`}),this.stage=`awaiting-connect`;return}if(s?.requiresBaseUrl&&!r?.trim()){this.deps.broadcastToDip({type:`slicc-connect-result`,ok:!1,kind:`failed`,message:`${s.name} requires a base URL.`}),this.stage=`awaiting-connect`;return}let c;try{c=await _({provider:t,apiKey:n.trim(),baseUrl:r??void 0,fetchImpl:this.deps.fetchImpl})}catch(e){v.warn(`validateApiKey threw`,e),this.deps.broadcastToDip({type:`slicc-connect-result`,ok:!1,kind:`failed`,message:`Validation request was aborted.`}),this.stage=`awaiting-connect`;return}if(c.kind===`failed`){this.deps.broadcastToDip({type:`slicc-connect-result`,ok:!1,kind:`failed`,message:c.message}),this.stage=`awaiting-connect`;return}let l=o||null;if(!l)try{let e=this.deps.getProviderCatalogue().models?.[t]?.[0]?.id;e&&(l=e)}catch(e){v.warn(`Failed to resolve fallback model for provider`,{provider:t,err:e})}try{this.deps.saveAccount(t,n.trim(),r?.trim()||void 0,i?.trim()||void 0,a?.trim()||void 0),l&&this.deps.setSelectedModel(l)}catch(e){v.warn(`saveAccount failed`,e),this.deps.broadcastToDip({type:`slicc-connect-result`,ok:!1,kind:`failed`,message:`Failed to save credentials locally.`}),this.stage=`awaiting-connect`;return}let u=c.kind===`skipped`?`Saved — ${c.reason}`:`Validated against the provider. Ready when you are.`;this.deps.broadcastToDip({type:`slicc-connect-result`,ok:!0,kind:c.kind,note:u});let d=l&&this.deps.resolveModelLabel?.(t,l)?this.deps.resolveModelLabel?.(t,l):l||null;this.stage=`complete`,this.deps.fireFinalLick({action:`onboarding-complete-with-provider`,data:{profile:this.profile,provider:t,model:l??null,modelLabel:d,validation:c.kind}})}async handleOAuthAttempt(e){if(this.stage===`complete`)return;if(!this.deps.launchOAuth){this.deps.broadcastToDip({type:`slicc-connect-result`,ok:!1,kind:`failed`,message:`OAuth login is not available in this runtime.`});return}this.stage=`connecting`;let t;try{t=await this.deps.launchOAuth(e.provider,e.baseUrl??null)}catch(e){v.warn(`launchOAuth threw`,e),this.deps.broadcastToDip({type:`slicc-connect-result`,ok:!1,kind:`failed`,message:e instanceof Error?e.message:`Login was cancelled.`}),this.stage=`awaiting-connect`;return}if(!t.ok){this.deps.broadcastToDip({type:`slicc-connect-result`,ok:!1,kind:`failed`,message:t.message||`Login was cancelled.`}),this.stage=`awaiting-connect`;return}if(t.model)try{this.deps.setSelectedModel(t.model)}catch(e){v.warn(`setSelectedModel after OAuth failed`,e)}this.deps.broadcastToDip({type:`slicc-connect-result`,ok:!0,kind:`ok`,note:t.message||`Logged in.`});let n=t.model&&this.deps.resolveModelLabel?.(e.provider,t.model)?this.deps.resolveModelLabel?.(e.provider,t.model):t.model??null;this.stage=`complete`,this.deps.fireFinalLick({action:`onboarding-complete-with-provider`,data:{profile:this.profile,provider:e.provider,model:t.model??null,modelLabel:n,validation:`oauth`}})}async persistProfile(e){let t=(e.name||`user`).toLowerCase().trim().replace(/[^a-z0-9]+/g,`-`).replace(/(^-+|-+$)/g,``)||`user`;await this.deps.fs.writeFile(`/home/${t}/.welcome.json`,JSON.stringify(e,null,2))}};export{y as OnboardingOrchestrator};
@@ -0,0 +1 @@
1
+ import{L as e,N as t,V as n,Y as r,p as i,v as a}from"./kernel-worker-B_VVPiix.js";const o=`openai-codex`,s=`app_EMoamEEZ73f0CkXaXp7hrann`,c=`https://auth.openai.com/oauth/token`,l=`http://localhost:1455/auth/callback`,u=`https://chatgpt.com/backend-api`,d=`openai-codex-responses`,f=`${o}-openai`,p={xhigh:`xhigh`,minimal:`low`},m=[{id:`gpt-5.5`,name:`GPT-5.5`,input:[`text`,`image`]},{id:`gpt-5.4`,name:`GPT-5.4`,input:[`text`,`image`]},{id:`gpt-5.4-mini`,name:`GPT-5.4 mini`,input:[`text`,`image`]},{id:`gpt-5.3-codex`,name:`GPT-5.3 Codex`,input:[`text`,`image`]},{id:`gpt-5.3-codex-spark`,name:`GPT-5.3 Codex Spark`,input:[`text`]},{id:`gpt-5.2`,name:`GPT-5.2`,input:[`text`,`image`]}].map(e=>({...e,api:`openai`,reasoning:!0,context_window:272e3,max_tokens:128e3,thinkingLevelMap:p}));function h(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}function g(e){let t=new Uint8Array(e);return crypto.getRandomValues(t),t}function _(){return h(g(32))}async function v(e){let t=new TextEncoder().encode(e);return h(new Uint8Array(await crypto.subtle.digest(`SHA-256`,t)))}function y(){return h(g(16))}async function b(e,t){let n=new URLSearchParams({grant_type:`authorization_code`,client_id:s,code:e,code_verifier:t,redirect_uri:l}),r=await fetch(c,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:n});if(!r.ok)throw Error(`OpenAI Codex token exchange failed: ${r.status} ${await r.text()}`);let i=await r.json();if(!i.access_token)throw Error(`OpenAI Codex token exchange did not return access_token.`);return i}async function x(e){try{let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e,client_id:s}),n=await fetch(c,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t});return n.ok?await n.json():(console.error(`[openai-codex] refresh failed:`,n.status,await n.text()),null)}catch(e){return console.error(`[openai-codex] refresh error:`,e instanceof Error?e.message:String(e)),null}}function S(e){try{let t=e.split(`.`);if(t.length!==3)return;let n=t[1].replace(/-/g,`+`).replace(/_/g,`/`);return n.length%4&&(n+=`=`.repeat(4-n.length%4)),JSON.parse(atob(n))}catch{return}}function C(e){let t=S(e)?.[`https://api.openai.com/profile`];return typeof t?.email==`string`?t.email:void 0}function w(e){let t=S(e)?.[`https://api.openai.com/auth`],n=C(e),r=typeof t?.chatgpt_plan_type==`string`?t.chatgpt_plan_type:void 0,i=r?r.charAt(0).toUpperCase()+r.slice(1):void 0;if(n&&i)return`${n} (${i})`;if(n)return n;if(i)return`ChatGPT ${i}`}async function T(e){let t=C(e);if(t)try{let e=t.trim().toLowerCase(),n=new Uint8Array(await crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(e)));return`https://www.gravatar.com/avatar/${Array.from(n).map(e=>e.toString(16).padStart(2,`0`)).join(``)}?s=128&d=404`}catch{return}}function E(){return i().find(e=>e.providerId===o)}async function D(){let e=E();if(!e?.accessToken)throw Error("Not signed in to OpenAI Codex — run `oauth-token openai-codex` or /login");let t=e.tokenExpiresAt??0;if(t&&Date.now()+6e4<t)return e.accessToken;if(e.refreshToken){let t=await x(e.refreshToken);if(t?.access_token)return await a({providerId:o,accessToken:t.access_token,refreshToken:t.refresh_token??e.refreshToken,tokenExpiresAt:Date.now()+(t.expires_in??3600)*1e3,baseUrl:u,userName:w(t.access_token),userAvatar:await T(t.access_token)}),t.access_token}return e.accessToken}function O(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:f,provider:o,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}const k=(e,r,i={})=>{let a=n();return(async()=>{try{let n=await D(),o=t({...e,baseUrl:u,api:d},r,{...i,apiKey:n,transport:`sse`});for await(let e of o)a.push(e);a.end()}catch(t){console.error(`[openai-codex] Stream error:`,t instanceof Error?t.message:String(t)),a.push(O(e,t)),a.end()}})(),a},A=(t,r,i)=>{let a=n();return(async()=>{try{let n=await D(),o=e({...t,baseUrl:u,api:d},r,{...i,apiKey:n,transport:`sse`});for await(let e of o)a.push(e);a.end()}catch(e){console.error(`[openai-codex] Stream error:`,e instanceof Error?e.message:String(e)),a.push(O(t,e)),a.end()}})(),a},j={id:o,name:`OpenAI Codex (ChatGPT Subscription)`,description:`GPT-5 Codex via your ChatGPT Plus/Pro/Business subscription — OAuth login, no API key needed. Default model is GPT-5.5.`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,defaultModelId:`gpt-5.5`,oauthTokenDomains:[`chatgpt.com`,`*.chatgpt.com`,`auth.openai.com`,`api.openai.com`],getModelIds:()=>m,onOAuthLoginIntercepted:async(e,t,n)=>{let r=_(),i=await v(r),c=y(),d=new URL(`https://auth.openai.com/oauth/authorize`);d.searchParams.set(`response_type`,`code`),d.searchParams.set(`client_id`,s),d.searchParams.set(`redirect_uri`,l),d.searchParams.set(`scope`,n?.scopes??`openid profile email offline_access`),d.searchParams.set(`code_challenge`,i),d.searchParams.set(`code_challenge_method`,`S256`),d.searchParams.set(`state`,c),d.searchParams.set(`id_token_add_organizations`,`true`),d.searchParams.set(`codex_cli_simplified_flow`,`true`),d.searchParams.set(`originator`,`pi`);let f=await e({authorizeUrl:d.toString(),redirectUriPattern:`http://localhost:1455/auth/callback*`,onCapture:`close`});if(!f)throw Error(`OpenAI Codex OAuth login was cancelled or timed out`);let p=new URL(f),m=p.searchParams.get(`code`),h=p.searchParams.get(`state`);if(!m)throw Error(`OpenAI Codex OAuth redirect did not include a code`);if(h!==c)throw Error(`OpenAI Codex OAuth state mismatch — possible CSRF, aborting`);let g=await b(m,r);await a({providerId:o,accessToken:g.access_token,refreshToken:g.refresh_token,tokenExpiresAt:Date.now()+(g.expires_in??3600)*1e3,baseUrl:u,userName:w(g.access_token),userAvatar:await T(g.access_token)}),t()},onOAuthLogout:async()=>{await a({providerId:o,accessToken:``})},onSilentRenew:async()=>{let e=E();if(!e?.refreshToken)return null;let t=await x(e.refreshToken);return t?.access_token?(await a({providerId:o,accessToken:t.access_token,refreshToken:t.refresh_token??e.refreshToken,tokenExpiresAt:Date.now()+(t.expires_in??3600)*1e3,baseUrl:u,userName:w(t.access_token),userAvatar:await T(t.access_token)}),t.access_token):null}};function M(){r({api:f,stream:k,streamSimple:A})}export{j as config,M as register};
@@ -0,0 +1 @@
1
+ import{B as e,I as t,W as n,Z as r,g as i,u as a}from"./main-QvcnxvtS.js";var o=`openai-codex`,s=`app_EMoamEEZ73f0CkXaXp7hrann`,c=`https://auth.openai.com/oauth/authorize`,l=`https://auth.openai.com/oauth/token`,u=`openid profile email offline_access`,d=`http://localhost:1455/auth/callback`,f=`http://localhost:1455/auth/callback*`,p=`https://chatgpt.com/backend-api`,m=`openai-codex-responses`,h=`${o}-openai`,g={xhigh:`xhigh`,minimal:`low`},_=[{id:`gpt-5.5`,name:`GPT-5.5`,input:[`text`,`image`]},{id:`gpt-5.4`,name:`GPT-5.4`,input:[`text`,`image`]},{id:`gpt-5.4-mini`,name:`GPT-5.4 mini`,input:[`text`,`image`]},{id:`gpt-5.3-codex`,name:`GPT-5.3 Codex`,input:[`text`,`image`]},{id:`gpt-5.3-codex-spark`,name:`GPT-5.3 Codex Spark`,input:[`text`]},{id:`gpt-5.2`,name:`GPT-5.2`,input:[`text`,`image`]}].map(e=>({...e,api:`openai`,reasoning:!0,context_window:272e3,max_tokens:128e3,thinkingLevelMap:g}));function v(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}function y(e){let t=new Uint8Array(e);return crypto.getRandomValues(t),t}function b(){return v(y(32))}async function x(e){let t=new TextEncoder().encode(e);return v(new Uint8Array(await crypto.subtle.digest(`SHA-256`,t)))}function S(){return v(y(16))}async function C(e,t){let n=new URLSearchParams({grant_type:`authorization_code`,client_id:s,code:e,code_verifier:t,redirect_uri:d}),r=await fetch(l,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:n});if(!r.ok)throw Error(`OpenAI Codex token exchange failed: ${r.status} ${await r.text()}`);let i=await r.json();if(!i.access_token)throw Error(`OpenAI Codex token exchange did not return access_token.`);return i}async function w(e){try{let t=new URLSearchParams({grant_type:`refresh_token`,refresh_token:e,client_id:s}),n=await fetch(l,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:t});return n.ok?await n.json():(console.error(`[openai-codex] refresh failed:`,n.status,await n.text()),null)}catch(e){return console.error(`[openai-codex] refresh error:`,e instanceof Error?e.message:String(e)),null}}function T(e){try{let t=e.split(`.`);if(t.length!==3)return;let n=t[1].replace(/-/g,`+`).replace(/_/g,`/`);return n.length%4&&(n+=`=`.repeat(4-n.length%4)),JSON.parse(atob(n))}catch{return}}function E(e){let t=T(e)?.[`https://api.openai.com/profile`];return typeof t?.email==`string`?t.email:void 0}function D(e){let t=T(e)?.[`https://api.openai.com/auth`],n=E(e),r=typeof t?.chatgpt_plan_type==`string`?t.chatgpt_plan_type:void 0,i=r?r.charAt(0).toUpperCase()+r.slice(1):void 0;if(n&&i)return`${n} (${i})`;if(n)return n;if(i)return`ChatGPT ${i}`}async function O(e){let t=E(e);if(t)try{let e=t.trim().toLowerCase(),n=new Uint8Array(await crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(e)));return`https://www.gravatar.com/avatar/${Array.from(n).map(e=>e.toString(16).padStart(2,`0`)).join(``)}?s=128&d=404`}catch{return}}function k(){return a().find(e=>e.providerId===o)}async function A(){let e=k();if(!e?.accessToken)throw Error("Not signed in to OpenAI Codex — run `oauth-token openai-codex` or /login");let t=e.tokenExpiresAt??0;if(t&&Date.now()+6e4<t)return e.accessToken;if(e.refreshToken){let t=await w(e.refreshToken);if(t?.access_token)return await i({providerId:o,accessToken:t.access_token,refreshToken:t.refresh_token??e.refreshToken,tokenExpiresAt:Date.now()+(t.expires_in??3600)*1e3,baseUrl:p,userName:D(t.access_token),userAvatar:await O(t.access_token)}),t.access_token}return e.accessToken}function j(e,t){return{type:`error`,reason:`error`,error:{role:`assistant`,content:[],api:h,provider:o,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()}}}var M=(e,r,i={})=>{let a=n();return(async()=>{try{let n=await A(),o=t({...e,baseUrl:p,api:m},r,{...i,apiKey:n,transport:`sse`});for await(let e of o)a.push(e);a.end()}catch(t){console.error(`[openai-codex] Stream error:`,t instanceof Error?t.message:String(t)),a.push(j(e,t)),a.end()}})(),a},N=(t,r,i)=>{let a=n();return(async()=>{try{let n=await A(),o=e({...t,baseUrl:p,api:m},r,{...i,apiKey:n,transport:`sse`});for await(let e of o)a.push(e);a.end()}catch(e){console.error(`[openai-codex] Stream error:`,e instanceof Error?e.message:String(e)),a.push(j(t,e)),a.end()}})(),a},P={id:o,name:`OpenAI Codex (ChatGPT Subscription)`,description:`GPT-5 Codex via your ChatGPT Plus/Pro/Business subscription — OAuth login, no API key needed. Default model is GPT-5.5.`,requiresApiKey:!1,requiresBaseUrl:!1,isOAuth:!0,defaultModelId:`gpt-5.5`,oauthTokenDomains:[`chatgpt.com`,`*.chatgpt.com`,`auth.openai.com`,`api.openai.com`],getModelIds:()=>_,onOAuthLoginIntercepted:async(e,t,n)=>{let r=b(),a=await x(r),l=S(),m=new URL(c);m.searchParams.set(`response_type`,`code`),m.searchParams.set(`client_id`,s),m.searchParams.set(`redirect_uri`,d),m.searchParams.set(`scope`,n?.scopes??u),m.searchParams.set(`code_challenge`,a),m.searchParams.set(`code_challenge_method`,`S256`),m.searchParams.set(`state`,l),m.searchParams.set(`id_token_add_organizations`,`true`),m.searchParams.set(`codex_cli_simplified_flow`,`true`),m.searchParams.set(`originator`,`pi`);let h=await e({authorizeUrl:m.toString(),redirectUriPattern:f,onCapture:`close`});if(!h)throw Error(`OpenAI Codex OAuth login was cancelled or timed out`);let g=new URL(h),_=g.searchParams.get(`code`),v=g.searchParams.get(`state`);if(!_)throw Error(`OpenAI Codex OAuth redirect did not include a code`);if(v!==l)throw Error(`OpenAI Codex OAuth state mismatch — possible CSRF, aborting`);let y=await C(_,r);await i({providerId:o,accessToken:y.access_token,refreshToken:y.refresh_token,tokenExpiresAt:Date.now()+(y.expires_in??3600)*1e3,baseUrl:p,userName:D(y.access_token),userAvatar:await O(y.access_token)}),t()},onOAuthLogout:async()=>{await i({providerId:o,accessToken:``})},onSilentRenew:async()=>{let e=k();if(!e?.refreshToken)return null;let t=await w(e.refreshToken);return t?.access_token?(await i({providerId:o,accessToken:t.access_token,refreshToken:t.refresh_token??e.refreshToken,tokenExpiresAt:Date.now()+(t.expires_in??3600)*1e3,baseUrl:p,userName:D(t.access_token),userAvatar:await O(t.access_token)}),t.access_token):null}};function F(){r({api:h,stream:M,streamSimple:N})}export{P as config,F as register};
@@ -1,7 +1,7 @@
1
- import{A as e,G as t,O as n,R as r,V as i,b as a,j as o,k as s,s as c}from"./kernel-worker-DAzmsd_P.js";import{n as l,r as u,t as d}from"./openai-responses-shared-nH4CP3pN.js";let f=null;const p=e=>import(e);typeof process<`u`&&(process.versions?.node||process.versions?.bun)&&p(`node:os`).then(e=>{f=e});const m=1e3,h=new Set([`openai`,`openai-codex`,`opencode`]),g=new Set([`completed`,`incomplete`,`failed`,`cancelled`,`queued`,`in_progress`]);function _(e,t){return e===429||e===500||e===502||e===503||e===504?!0:/rate.?limit|overloaded|service.?unavailable|upstream.?connect|connection.?refused/i.test(t)}function v(e,t){return new Promise((n,r)=>{if(t?.aborted){r(Error(`Request was aborted`));return}let i=setTimeout(n,e);t?.addEventListener(`abort`,()=>{clearTimeout(i),r(Error(`Request was aborted`))})})}const y=(e,i,a)=>{let o=new r;return(async()=>{let r={role:`assistant`,content:[],api:`openai-codex-responses`,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let l=a?.apiKey||t(e.provider)||``;if(!l)throw Error(`No API key for provider: ${e.provider}`);let u=fe(l),d=ee(e,i,a),f=await a?.onPayload?.(d,e);f!==void 0&&(d=f);let p=a?.sessionId||pe(),h=me(e.headers,a?.headers,u,l,a?.sessionId),g=he(e.headers,a?.headers,u,l,p),y=JSON.stringify(d),b=a?.transport||`auto`,x=b!==`sse`&&R(a?.sessionId);if(x&&z(a?.sessionId),b!==`sse`&&!x){let t=!1;try{if(await ue(te(e.baseUrl),d,g,r,o,e,()=>{t=!0},a),a?.signal?.aborted)throw Error(`Request was aborted`);o.push({type:`done`,reason:r.stopReason,message:r}),o.end();return}catch(e){if(a?.signal?.aborted||O(e)||(n(r,s(`provider_transport_failure`,e,{configuredTransport:b,fallbackTransport:t?void 0:`sse`,eventsEmitted:t,phase:t?`after_message_stream_start`:`before_message_stream_start`,requestBytes:new TextEncoder().encode(y).byteLength})),re(a?.sessionId,e),t))throw e;z(a?.sessionId)}}let S,C;for(let t=0;t<=3;t++){if(a?.signal?.aborted)throw Error(`Request was aborted`);try{if(S=await fetch(w(e.baseUrl),{method:`POST`,headers:h,body:y,signal:a?.signal}),await a?.onResponse?.({status:S.status,headers:c(S.headers)},e),S.ok)break;let n=await S.text();if(t<3&&_(S.status,n)){let e=m*2**t,n=S.headers.get(`retry-after-ms`);if(n!==null){let t=Number(n);Number.isFinite(t)&&(e=Math.max(0,t))}else{let t=S.headers.get(`retry-after`);if(t){let n=Number(t);if(Number.isFinite(n))e=Math.max(0,n*1e3);else{let n=Date.parse(t);Number.isNaN(n)||(e=Math.max(0,n-Date.now()))}}}await v(e,a?.signal);continue}let r=await de(new Response(n,{status:S.status,statusText:S.statusText}));throw Error(r.friendlyMessage||r.message)}catch(e){if(e instanceof Error&&(e.name===`AbortError`||e.message===`Request was aborted`))throw Error(`Request was aborted`);if(C=e instanceof Error?e:Error(String(e)),t<3&&!C.message.includes(`usage limit`)){await v(m*2**t,a?.signal);continue}throw C}}if(!S?.ok)throw C??Error(`Failed after retries`);if(!S.body)throw Error(`No response body`);if(o.push({type:`start`,partial:r}),await T(S,r,o,e,a),a?.signal?.aborted)throw Error(`Request was aborted`);o.push({type:`done`,reason:r.stopReason,message:r}),o.end()}catch(e){for(let e of r.content)delete e.partialJson;r.stopReason=a?.signal?.aborted?`aborted`:`error`,r.errorMessage=e instanceof Error?e.message:String(e),o.push({type:`error`,reason:r.stopReason,error:r}),o.end()}})(),o},b=(e,n,r)=>{let o=r?.apiKey||t(e.provider);if(!o)throw Error(`No API key for provider: ${e.provider}`);let s=a(e,r,o),c=r?.reasoning?i(e,r.reasoning):void 0,l=c===`off`?void 0:c;return y(e,n,{...s,reasoningEffort:l})};function ee(e,t,n){let r=d(e,t,h,{includeSystemPrompt:!1}),i={model:e.id,store:!1,stream:!0,instructions:t.systemPrompt||`You are a helpful assistant.`,input:r,text:{verbosity:n?.textVerbosity||`low`},include:[`reasoning.encrypted_content`],prompt_cache_key:n?.sessionId,tool_choice:`auto`,parallel_tool_calls:!0};if(n?.temperature!==void 0&&(i.temperature=n.temperature),n?.serviceTier!==void 0&&(i.service_tier=n.serviceTier),t.tools&&t.tools.length>0&&(i.tools=l(t.tools,{strict:null})),n?.reasoningEffort!==void 0){let t=n.reasoningEffort===`none`?e.thinkingLevelMap?.off??`none`:e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;t!==null&&(i.reasoning={effort:t,summary:n.reasoningSummary??`auto`})}return i}function x(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function S(e,t,n){let r=x(n,t);r!==1&&(e.cost.input*=r,e.cost.output*=r,e.cost.cacheRead*=r,e.cost.cacheWrite*=r,e.cost.total=e.cost.input+e.cost.output+e.cost.cacheRead+e.cost.cacheWrite)}function C(e,t){return e===`default`&&(t===`flex`||t===`priority`)?t:e??t}function w(e){let t=(e&&e.trim().length>0?e:`https://chatgpt.com/backend-api`).replace(/\/+$/,``);return t.endsWith(`/codex/responses`)?t:t.endsWith(`/codex`)?`${t}/responses`:`${t}/codex/responses`}function te(e){let t=new URL(w(e));return t.protocol===`https:`&&(t.protocol=`wss:`),t.protocol===`http:`&&(t.protocol=`ws:`),t.toString()}async function T(e,t,n,r,i){await u(k(ne(e)),t,n,r,{serviceTier:i?.serviceTier,resolveServiceTier:C,applyServiceTierPricing:(e,t)=>S(e,t,r)})}var E=class extends Error{code;payload;constructor(e,t){super(e),this.name=`CodexApiError`,this.code=t?.code,this.payload=t?.payload,this.cause=t?.cause}},D=class extends Error{payload;constructor(e,t){super(e),this.name=`CodexProtocolError`,this.payload=t?.payload,this.cause=t?.cause}};function O(e){return e instanceof E||e instanceof D}async function*k(e){for await(let t of e){let e=typeof t.type==`string`?t.type:void 0;if(e){if(e===`error`){let e=t.code||``;throw new E(`Codex error: ${t.message||e||JSON.stringify(t)}`,{code:e||void 0,payload:t})}if(e===`response.failed`){let e=t.response,n=e?.error?.code,r=e?.error?.message;throw new E(r||`Codex response failed`,{code:n,payload:t})}if(e===`response.done`||e===`response.completed`||e===`response.incomplete`){let e=t.response,n=e&&{...e,status:A(e.status)};yield{...t,type:`response.completed`,response:n};return}yield t}}}function A(e){if(typeof e==`string`)return g.has(e)?e:void 0}async function*ne(t){if(!t.body)return;let n=t.body.getReader(),r=new TextDecoder,i=``;try{for(;;){let{done:t,value:a}=await n.read();if(t)break;i+=r.decode(a,{stream:!0});let o=i.indexOf(`
1
+ import{A as e,B as t,O as n,U as r,b as i,j as a,k as o,q as s,s as c}from"./kernel-worker-B_VVPiix.js";import{n as l,r as u,t as d}from"./openai-responses-shared-CCsAMrca.js";let f=null;const p=e=>import(e);typeof process<`u`&&(process.versions?.node||process.versions?.bun)&&p(`node:os`).then(e=>{f=e});const m=1e3,h=new Set([`openai`,`openai-codex`,`opencode`]),g=new Set([`completed`,`incomplete`,`failed`,`cancelled`,`queued`,`in_progress`]);function _(e,t){return e===429||e===500||e===502||e===503||e===504?!0:/rate.?limit|overloaded|service.?unavailable|upstream.?connect|connection.?refused/i.test(t)}function v(e,t){return new Promise((n,r)=>{if(t?.aborted){r(Error(`Request was aborted`));return}let i=setTimeout(n,e);t?.addEventListener(`abort`,()=>{clearTimeout(i),r(Error(`Request was aborted`))})})}const y=(e,r,i)=>{let a=new t;return(async()=>{let t={role:`assistant`,content:[],api:`openai-codex-responses`,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let l=i?.apiKey||s(e.provider)||``;if(!l)throw Error(`No API key for provider: ${e.provider}`);let u=fe(l),d=ee(e,r,i),f=await i?.onPayload?.(d,e);f!==void 0&&(d=f);let p=i?.sessionId||pe(),h=me(e.headers,i?.headers,u,l,i?.sessionId),g=he(e.headers,i?.headers,u,l,p),y=JSON.stringify(d),b=i?.transport||`auto`,x=b!==`sse`&&R(i?.sessionId);if(x&&z(i?.sessionId),b!==`sse`&&!x){let r=!1;try{if(await ue(te(e.baseUrl),d,g,t,a,e,()=>{r=!0},i),i?.signal?.aborted)throw Error(`Request was aborted`);a.push({type:`done`,reason:t.stopReason,message:t}),a.end();return}catch(e){if(i?.signal?.aborted||O(e)||(n(t,o(`provider_transport_failure`,e,{configuredTransport:b,fallbackTransport:r?void 0:`sse`,eventsEmitted:r,phase:r?`after_message_stream_start`:`before_message_stream_start`,requestBytes:new TextEncoder().encode(y).byteLength})),re(i?.sessionId,e),r))throw e;z(i?.sessionId)}}let S,C;for(let t=0;t<=3;t++){if(i?.signal?.aborted)throw Error(`Request was aborted`);try{if(S=await fetch(w(e.baseUrl),{method:`POST`,headers:h,body:y,signal:i?.signal}),await i?.onResponse?.({status:S.status,headers:c(S.headers)},e),S.ok)break;let n=await S.text();if(t<3&&_(S.status,n)){let e=m*2**t,n=S.headers.get(`retry-after-ms`);if(n!==null){let t=Number(n);Number.isFinite(t)&&(e=Math.max(0,t))}else{let t=S.headers.get(`retry-after`);if(t){let n=Number(t);if(Number.isFinite(n))e=Math.max(0,n*1e3);else{let n=Date.parse(t);Number.isNaN(n)||(e=Math.max(0,n-Date.now()))}}}await v(e,i?.signal);continue}let r=await de(new Response(n,{status:S.status,statusText:S.statusText}));throw Error(r.friendlyMessage||r.message)}catch(e){if(e instanceof Error&&(e.name===`AbortError`||e.message===`Request was aborted`))throw Error(`Request was aborted`);if(C=e instanceof Error?e:Error(String(e)),t<3&&!C.message.includes(`usage limit`)){await v(m*2**t,i?.signal);continue}throw C}}if(!S?.ok)throw C??Error(`Failed after retries`);if(!S.body)throw Error(`No response body`);if(a.push({type:`start`,partial:t}),await T(S,t,a,e,i),i?.signal?.aborted)throw Error(`Request was aborted`);a.push({type:`done`,reason:t.stopReason,message:t}),a.end()}catch(e){for(let e of t.content)delete e.partialJson;t.stopReason=i?.signal?.aborted?`aborted`:`error`,t.errorMessage=e instanceof Error?e.message:String(e),a.push({type:`error`,reason:t.stopReason,error:t}),a.end()}})(),a},b=(e,t,n)=>{let a=n?.apiKey||s(e.provider);if(!a)throw Error(`No API key for provider: ${e.provider}`);let o=i(e,n,a),c=n?.reasoning?r(e,n.reasoning):void 0,l=c===`off`?void 0:c;return y(e,t,{...o,reasoningEffort:l})};function ee(e,t,n){let r=d(e,t,h,{includeSystemPrompt:!1}),i={model:e.id,store:!1,stream:!0,instructions:t.systemPrompt||`You are a helpful assistant.`,input:r,text:{verbosity:n?.textVerbosity||`low`},include:[`reasoning.encrypted_content`],prompt_cache_key:n?.sessionId,tool_choice:`auto`,parallel_tool_calls:!0};if(n?.temperature!==void 0&&(i.temperature=n.temperature),n?.serviceTier!==void 0&&(i.service_tier=n.serviceTier),t.tools&&t.tools.length>0&&(i.tools=l(t.tools,{strict:null})),n?.reasoningEffort!==void 0){let t=n.reasoningEffort===`none`?e.thinkingLevelMap?.off??`none`:e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;t!==null&&(i.reasoning={effort:t,summary:n.reasoningSummary??`auto`})}return i}function x(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function S(e,t,n){let r=x(n,t);r!==1&&(e.cost.input*=r,e.cost.output*=r,e.cost.cacheRead*=r,e.cost.cacheWrite*=r,e.cost.total=e.cost.input+e.cost.output+e.cost.cacheRead+e.cost.cacheWrite)}function C(e,t){return e===`default`&&(t===`flex`||t===`priority`)?t:e??t}function w(e){let t=(e&&e.trim().length>0?e:`https://chatgpt.com/backend-api`).replace(/\/+$/,``);return t.endsWith(`/codex/responses`)?t:t.endsWith(`/codex`)?`${t}/responses`:`${t}/codex/responses`}function te(e){let t=new URL(w(e));return t.protocol===`https:`&&(t.protocol=`wss:`),t.protocol===`http:`&&(t.protocol=`ws:`),t.toString()}async function T(e,t,n,r,i){await u(k(ne(e)),t,n,r,{serviceTier:i?.serviceTier,resolveServiceTier:C,applyServiceTierPricing:(e,t)=>S(e,t,r)})}var E=class extends Error{code;payload;constructor(e,t){super(e),this.name=`CodexApiError`,this.code=t?.code,this.payload=t?.payload,this.cause=t?.cause}},D=class extends Error{payload;constructor(e,t){super(e),this.name=`CodexProtocolError`,this.payload=t?.payload,this.cause=t?.cause}};function O(e){return e instanceof E||e instanceof D}async function*k(e){for await(let t of e){let e=typeof t.type==`string`?t.type:void 0;if(e){if(e===`error`){let e=t.code||``;throw new E(`Codex error: ${t.message||e||JSON.stringify(t)}`,{code:e||void 0,payload:t})}if(e===`response.failed`){let e=t.response,n=e?.error?.code,r=e?.error?.message;throw new E(r||`Codex response failed`,{code:n,payload:t})}if(e===`response.done`||e===`response.completed`||e===`response.incomplete`){let e=t.response,n=e&&{...e,status:A(e.status)};yield{...t,type:`response.completed`,response:n};return}yield t}}}function A(e){if(typeof e==`string`)return g.has(e)?e:void 0}async function*ne(t){if(!t.body)return;let n=t.body.getReader(),r=new TextDecoder,i=``;try{for(;;){let{done:t,value:a}=await n.read();if(t)break;i+=r.decode(a,{stream:!0});let o=i.indexOf(`
2
2
 
3
3
  `);for(;o!==-1;){let t=i.slice(0,o);i=i.slice(o+2);let n=t.split(`
4
4
  `).filter(e=>e.startsWith(`data:`)).map(e=>e.slice(5).trim());if(n.length>0){let t=n.join(`
5
5
  `).trim();if(t&&t!==`[DONE]`)try{yield JSON.parse(t)}catch(n){throw new D(`Invalid Codex SSE JSON: ${e(n)}`,{cause:n,payload:t})}}o=i.indexOf(`
6
6
 
7
- `)}}}finally{try{await n.cancel()}catch{}try{n.releaseLock()}catch{}}}const j=new Map,M=new Map,N=new Set;function P(e){let t=M.get(e);return t||(t={requests:0,connectionsCreated:0,connectionsReused:0,cachedContextRequests:0,storeTrueRequests:0,fullContextRequests:0,deltaRequests:0,lastInputItems:0,websocketFailures:0,sseFallbacks:0},M.set(e,t)),t}function F(e){let t=M.get(e);return t?{...t}:void 0}function I(e){if(e){M.delete(e),N.delete(e);return}M.clear(),N.clear()}function L(e){let t=e=>{e.idleTimer&&clearTimeout(e.idleTimer),G(e.socket,1e3,`debug_close`)};if(e){let n=j.get(e);n&&t(n),j.delete(e);return}for(let e of j.values())t(e);j.clear()}o(L);function R(e){return e?N.has(e):!1}function z(e){if(!e)return;let t=P(e);t.sseFallbacks++,t.websocketFallbackActive=R(e)}function re(t,n){if(!t)return;N.add(t);let r=P(t);r.websocketFailures++,r.lastWebSocketError=e(n),r.websocketFallbackActive=!0}let B=null;async function V(){if(B)return B;if(process?.versions?.bun&&({}.HTTP_PROXY||{}.HTTPS_PROXY||{}.http_proxy||{}.https_proxy)){let e=(await p(`proxy-from-env`)).getProxyForUrl;return B=class extends WebSocket{constructor(t,n){let r={};r=Array.isArray(n)||typeof n==`string`?{protocols:n}:{...n};let i=e(t.toString().replace(/^wss:/,`https:`).replace(/^ws:/,`http:`));super(t,{...r,...i?{proxy:i}:{}})}},B}let e=globalThis.WebSocket;return typeof e==`function`?e:null}var H=class extends Error{code;reason;wasClean;constructor(e,t){super(e),this.name=`WebSocketCloseError`,this.code=t?.code,this.reason=t?.reason,this.wasClean=t?.wasClean}};function U(e){let t=e.readyState;return typeof t==`number`?t:void 0}function W(e){let t=U(e);return t===void 0||t===1}function G(e,t=1e3,n=`done`){try{e.close(t,n)}catch{}}function K(e,t){t.idleTimer&&clearTimeout(t.idleTimer),t.idleTimer=setTimeout(()=>{t.busy||(G(t.socket,1e3,`idle_timeout`),j.delete(e))},3e5)}async function q(e,t,n){let r=await V();if(!r)throw Error(`WebSocket transport is not available in this runtime`);let i=c(t);return delete i[`OpenAI-Beta`],new Promise((t,a)=>{let o=!1,s;try{s=new r(e,{headers:i})}catch(e){a(e instanceof Error?e:Error(String(e)));return}let c=()=>{o||(o=!0,f(),t(s))},l=e=>{let t=Y(e);o||(o=!0,f(),a(t))},u=e=>{let t=X(e);o||(o=!0,f(),a(t))},d=()=>{o||(o=!0,f(),s.close(1e3,`aborted`),a(Error(`Request was aborted`)))},f=()=>{s.removeEventListener(`open`,c),s.removeEventListener(`error`,l),s.removeEventListener(`close`,u),n?.removeEventListener(`abort`,d)};s.addEventListener(`open`,c),s.addEventListener(`error`,l),s.addEventListener(`close`,u),n?.addEventListener(`abort`,d)})}async function J(e,t,n,r){if(!n){let n=await q(e,t,r);return{socket:n,reused:!1,release:({keep:e}={})=>{if(e===!1){G(n);return}G(n)}}}let i=j.get(n);if(i){if(i.idleTimer&&=(clearTimeout(i.idleTimer),void 0),!i.busy&&W(i.socket))return i.busy=!0,{socket:i.socket,entry:i,reused:!0,release:({keep:e}={})=>{if(!e||!W(i.socket)){G(i.socket),j.delete(n);return}i.busy=!1,K(n,i)}};if(i.busy){let n=await q(e,t,r);return{socket:n,reused:!1,release:()=>{G(n)}}}W(i.socket)||(G(i.socket),j.delete(n))}let a=await q(e,t,r),o={socket:a,busy:!0};return j.set(n,o),{socket:a,entry:o,reused:!1,release:({keep:e}={})=>{if(!e||!W(o.socket)){G(o.socket),o.idleTimer&&clearTimeout(o.idleTimer),j.get(n)===o&&j.delete(n);return}o.busy=!1,K(n,o)}}}function Y(e){if(e&&typeof e==`object`){let t=`message`in e?e.message:void 0;if(typeof t==`string`&&t.length>0)return Error(t);let n=`error`in e?e.error:void 0;if(n instanceof Error&&n.message.length>0)return n;if(n&&typeof n==`object`&&`message`in n){let e=n.message;if(typeof e==`string`&&e.length>0)return Error(e)}}return Error(`WebSocket error`)}function X(e){if(e&&typeof e==`object`){let t=`code`in e?e.code:void 0,n=`reason`in e?e.reason:void 0,r=`wasClean`in e?e.wasClean:void 0,i=typeof t==`number`?` ${t}`:``,a=typeof n==`string`&&n.length>0?` ${n}`:``;return!a&&t===1009&&(a=` message too big`),new H(`WebSocket closed${i}${a}`.trim(),{code:typeof t==`number`?t:void 0,reason:typeof n==`string`&&n.length>0?n:void 0,wasClean:typeof r==`boolean`?r:void 0})}return Error(`WebSocket closed`)}async function ie(e){if(typeof e==`string`)return e;if(e instanceof ArrayBuffer)return new TextDecoder().decode(new Uint8Array(e));if(ArrayBuffer.isView(e)){let t=e;return new TextDecoder().decode(new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}if(e&&typeof e==`object`&&`arrayBuffer`in e){let t=await e.arrayBuffer();return new TextDecoder().decode(new Uint8Array(t))}return null}async function*ae(t,n){let r=[],i=null,a=!1,o=null,s=!1,c=()=>{if(!i)return;let e=i;i=null,e()},l=t=>{(async()=>{let n=null;try{if(!t||typeof t!=`object`||!(`data`in t)||(n=await ie(t.data),!n))return;let e=JSON.parse(n),i=typeof e.type==`string`?e.type:``;(i===`response.completed`||i===`response.done`||i===`response.incomplete`)&&(s=!0,a=!0),r.push(e),c()}catch(t){o=new D(`Invalid Codex WebSocket JSON: ${e(t)}`,{cause:t,payload:n}),a=!0,c()}})()},u=e=>{o=Y(e),a=!0,c()},d=e=>{if(s){a=!0,c();return}o||=X(e),a=!0,c()},f=()=>{o=Error(`Request was aborted`),a=!0,c()};t.addEventListener(`message`,l),t.addEventListener(`error`,u),t.addEventListener(`close`,d),n?.addEventListener(`abort`,f);try{for(;;){if(n?.aborted)throw Error(`Request was aborted`);if(r.length>0){yield r.shift();continue}if(a)break;await new Promise(e=>{i=e})}if(o)throw o;if(!s)throw Error(`WebSocket stream closed before response.completed`)}finally{t.removeEventListener(`message`,l),t.removeEventListener(`error`,u),t.removeEventListener(`close`,d),n?.removeEventListener(`abort`,f)}}function Z(e){let{input:t,previous_response_id:n,...r}=e;return r}function oe(e,t){return JSON.stringify(e??[])===JSON.stringify(t??[])}function se(e,t){return JSON.stringify(Z(e))===JSON.stringify(Z(t))}function Q(e,t){if(!se(e,t.lastRequestBody))return;let n=e.input??[],r=[...t.lastRequestBody.input??[],...t.lastResponseItems];if(!(n.length<r.length)&&oe(n.slice(0,r.length),r))return n.slice(r.length)}function ce(e,t){let n=e.continuation;if(!n)return t;let r=Q(t,n);return!r||!n.lastResponseId?(e.continuation=void 0,t):{...t,previous_response_id:n.lastResponseId,input:r}}async function*le(e,t,n,r){let i=!1;for await(let a of e)i||(i=!0,r(),n.push({type:`start`,partial:t})),yield a}async function ue(e,t,n,r,i,a,o,s){let{socket:c,entry:l,reused:f,release:p}=await J(e,n,s?.sessionId,s?.signal),m=!0,g=s?.transport===`websocket-cached`||s?.transport===`auto`,_=t,v=g&&l?ce(l,_):_,y=s?.sessionId?P(s.sessionId):void 0;y&&(y.requests++,f?y.connectionsReused++:y.connectionsCreated++,g&&y.cachedContextRequests++,v.store===!0&&y.storeTrueRequests++,y.lastInputItems=v.input?.length??0,v.previous_response_id?(y.deltaRequests++,y.lastDeltaInputItems=v.input?.length??0,y.lastPreviousResponseId=v.previous_response_id):(y.fullContextRequests++,y.lastDeltaInputItems=void 0,y.lastPreviousResponseId=void 0));try{if(c.send(JSON.stringify({type:`response.create`,...v})),await u(le(k(ae(c,s?.signal)),r,i,o),r,i,a,{serviceTier:s?.serviceTier,resolveServiceTier:C,applyServiceTierPricing:(e,t)=>S(e,t,a)}),s?.signal?.aborted)m=!1;else if(g&&l&&r.responseId){let e=d(a,{messages:[r]},h,{includeSystemPrompt:!1}).filter(e=>e.type!==`function_call_output`);l.continuation={lastRequestBody:_,lastResponseId:r.responseId,lastResponseItems:e}}}catch(e){throw l&&(l.continuation=void 0),m=!1,e}finally{p({keep:m})}}async function de(e){let t=await e.text(),n=t||e.statusText||`Request failed`,r;try{let i=JSON.parse(t)?.error;if(i){let t=i.code||i.type||``;if(/usage_limit_reached|usage_not_included|rate_limit_exceeded/i.test(t)||e.status===429){let e=i.plan_type?` (${i.plan_type.toLowerCase()} plan)`:``,t=i.resets_at?Math.max(0,Math.round((i.resets_at*1e3-Date.now())/6e4)):void 0;r=`You have hit your ChatGPT usage limit${e}.${t===void 0?``:` Try again in ~${t} min.`}`.trim()}n=i.message||r||n}}catch{}return{message:n,friendlyMessage:r}}function fe(e){try{let t=e.split(`.`);if(t.length!==3)throw Error(`Invalid token`);let n=JSON.parse(atob(t[1]))?.[`https://api.openai.com/auth`]?.chatgpt_account_id;if(!n)throw Error(`No account ID in token`);return n}catch{throw Error(`Failed to extract accountId from token`)}}function pe(){return typeof globalThis.crypto?.randomUUID==`function`?globalThis.crypto.randomUUID():`codex_${Date.now()}_${Math.random().toString(36).slice(2,10)}`}function $(e,t,n,r){let i=new Headers(e);for(let[e,n]of Object.entries(t||{}))i.set(e,n);i.set(`Authorization`,`Bearer ${r}`),i.set(`chatgpt-account-id`,n),i.set(`originator`,`pi`);let a=f?`pi (${f.platform()} ${f.release()}; ${f.arch()})`:`pi (browser)`;return i.set(`User-Agent`,a),i}function me(e,t,n,r,i){let a=$(e,t,n,r);return a.set(`OpenAI-Beta`,`responses=experimental`),a.set(`accept`,`text/event-stream`),a.set(`content-type`,`application/json`),i&&(a.set(`session_id`,i),a.set(`x-client-request-id`,i)),a}function he(e,t,n,r,i){let a=$(e,t,n,r);return a.delete(`accept`),a.delete(`content-type`),a.delete(`OpenAI-Beta`),a.delete(`openai-beta`),a.set(`OpenAI-Beta`,`responses_websockets=2026-02-06`),a.set(`x-client-request-id`,i),a.set(`session_id`,i),a}export{L as closeOpenAICodexWebSocketSessions,F as getOpenAICodexWebSocketDebugStats,I as resetOpenAICodexWebSocketDebugStats,y as streamOpenAICodexResponses,b as streamSimpleOpenAICodexResponses};
7
+ `)}}}finally{try{await n.cancel()}catch{}try{n.releaseLock()}catch{}}}const j=new Map,M=new Map,N=new Set;function P(e){let t=M.get(e);return t||(t={requests:0,connectionsCreated:0,connectionsReused:0,cachedContextRequests:0,storeTrueRequests:0,fullContextRequests:0,deltaRequests:0,lastInputItems:0,websocketFailures:0,sseFallbacks:0},M.set(e,t)),t}function F(e){let t=M.get(e);return t?{...t}:void 0}function I(e){if(e){M.delete(e),N.delete(e);return}M.clear(),N.clear()}function L(e){let t=e=>{e.idleTimer&&clearTimeout(e.idleTimer),G(e.socket,1e3,`debug_close`)};if(e){let n=j.get(e);n&&t(n),j.delete(e);return}for(let e of j.values())t(e);j.clear()}a(L);function R(e){return e?N.has(e):!1}function z(e){if(!e)return;let t=P(e);t.sseFallbacks++,t.websocketFallbackActive=R(e)}function re(t,n){if(!t)return;N.add(t);let r=P(t);r.websocketFailures++,r.lastWebSocketError=e(n),r.websocketFallbackActive=!0}let B=null;async function V(){if(B)return B;if(process?.versions?.bun&&({}.HTTP_PROXY||{}.HTTPS_PROXY||{}.http_proxy||{}.https_proxy)){let e=(await p(`proxy-from-env`)).getProxyForUrl;return B=class extends WebSocket{constructor(t,n){let r={};r=Array.isArray(n)||typeof n==`string`?{protocols:n}:{...n};let i=e(t.toString().replace(/^wss:/,`https:`).replace(/^ws:/,`http:`));super(t,{...r,...i?{proxy:i}:{}})}},B}let e=globalThis.WebSocket;return typeof e==`function`?e:null}var H=class extends Error{code;reason;wasClean;constructor(e,t){super(e),this.name=`WebSocketCloseError`,this.code=t?.code,this.reason=t?.reason,this.wasClean=t?.wasClean}};function U(e){let t=e.readyState;return typeof t==`number`?t:void 0}function W(e){let t=U(e);return t===void 0||t===1}function G(e,t=1e3,n=`done`){try{e.close(t,n)}catch{}}function K(e,t){t.idleTimer&&clearTimeout(t.idleTimer),t.idleTimer=setTimeout(()=>{t.busy||(G(t.socket,1e3,`idle_timeout`),j.delete(e))},3e5)}async function q(e,t,n){let r=await V();if(!r)throw Error(`WebSocket transport is not available in this runtime`);let i=c(t);return delete i[`OpenAI-Beta`],new Promise((t,a)=>{let o=!1,s;try{s=new r(e,{headers:i})}catch(e){a(e instanceof Error?e:Error(String(e)));return}let c=()=>{o||(o=!0,f(),t(s))},l=e=>{let t=Y(e);o||(o=!0,f(),a(t))},u=e=>{let t=X(e);o||(o=!0,f(),a(t))},d=()=>{o||(o=!0,f(),s.close(1e3,`aborted`),a(Error(`Request was aborted`)))},f=()=>{s.removeEventListener(`open`,c),s.removeEventListener(`error`,l),s.removeEventListener(`close`,u),n?.removeEventListener(`abort`,d)};s.addEventListener(`open`,c),s.addEventListener(`error`,l),s.addEventListener(`close`,u),n?.addEventListener(`abort`,d)})}async function J(e,t,n,r){if(!n){let n=await q(e,t,r);return{socket:n,reused:!1,release:({keep:e}={})=>{if(e===!1){G(n);return}G(n)}}}let i=j.get(n);if(i){if(i.idleTimer&&=(clearTimeout(i.idleTimer),void 0),!i.busy&&W(i.socket))return i.busy=!0,{socket:i.socket,entry:i,reused:!0,release:({keep:e}={})=>{if(!e||!W(i.socket)){G(i.socket),j.delete(n);return}i.busy=!1,K(n,i)}};if(i.busy){let n=await q(e,t,r);return{socket:n,reused:!1,release:()=>{G(n)}}}W(i.socket)||(G(i.socket),j.delete(n))}let a=await q(e,t,r),o={socket:a,busy:!0};return j.set(n,o),{socket:a,entry:o,reused:!1,release:({keep:e}={})=>{if(!e||!W(o.socket)){G(o.socket),o.idleTimer&&clearTimeout(o.idleTimer),j.get(n)===o&&j.delete(n);return}o.busy=!1,K(n,o)}}}function Y(e){if(e&&typeof e==`object`){let t=`message`in e?e.message:void 0;if(typeof t==`string`&&t.length>0)return Error(t);let n=`error`in e?e.error:void 0;if(n instanceof Error&&n.message.length>0)return n;if(n&&typeof n==`object`&&`message`in n){let e=n.message;if(typeof e==`string`&&e.length>0)return Error(e)}}return Error(`WebSocket error`)}function X(e){if(e&&typeof e==`object`){let t=`code`in e?e.code:void 0,n=`reason`in e?e.reason:void 0,r=`wasClean`in e?e.wasClean:void 0,i=typeof t==`number`?` ${t}`:``,a=typeof n==`string`&&n.length>0?` ${n}`:``;return!a&&t===1009&&(a=` message too big`),new H(`WebSocket closed${i}${a}`.trim(),{code:typeof t==`number`?t:void 0,reason:typeof n==`string`&&n.length>0?n:void 0,wasClean:typeof r==`boolean`?r:void 0})}return Error(`WebSocket closed`)}async function ie(e){if(typeof e==`string`)return e;if(e instanceof ArrayBuffer)return new TextDecoder().decode(new Uint8Array(e));if(ArrayBuffer.isView(e)){let t=e;return new TextDecoder().decode(new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}if(e&&typeof e==`object`&&`arrayBuffer`in e){let t=await e.arrayBuffer();return new TextDecoder().decode(new Uint8Array(t))}return null}async function*ae(t,n){let r=[],i=null,a=!1,o=null,s=!1,c=()=>{if(!i)return;let e=i;i=null,e()},l=t=>{(async()=>{let n=null;try{if(!t||typeof t!=`object`||!(`data`in t)||(n=await ie(t.data),!n))return;let e=JSON.parse(n),i=typeof e.type==`string`?e.type:``;(i===`response.completed`||i===`response.done`||i===`response.incomplete`)&&(s=!0,a=!0),r.push(e),c()}catch(t){o=new D(`Invalid Codex WebSocket JSON: ${e(t)}`,{cause:t,payload:n}),a=!0,c()}})()},u=e=>{o=Y(e),a=!0,c()},d=e=>{if(s){a=!0,c();return}o||=X(e),a=!0,c()},f=()=>{o=Error(`Request was aborted`),a=!0,c()};t.addEventListener(`message`,l),t.addEventListener(`error`,u),t.addEventListener(`close`,d),n?.addEventListener(`abort`,f);try{for(;;){if(n?.aborted)throw Error(`Request was aborted`);if(r.length>0){yield r.shift();continue}if(a)break;await new Promise(e=>{i=e})}if(o)throw o;if(!s)throw Error(`WebSocket stream closed before response.completed`)}finally{t.removeEventListener(`message`,l),t.removeEventListener(`error`,u),t.removeEventListener(`close`,d),n?.removeEventListener(`abort`,f)}}function Z(e){let{input:t,previous_response_id:n,...r}=e;return r}function oe(e,t){return JSON.stringify(e??[])===JSON.stringify(t??[])}function se(e,t){return JSON.stringify(Z(e))===JSON.stringify(Z(t))}function Q(e,t){if(!se(e,t.lastRequestBody))return;let n=e.input??[],r=[...t.lastRequestBody.input??[],...t.lastResponseItems];if(!(n.length<r.length)&&oe(n.slice(0,r.length),r))return n.slice(r.length)}function ce(e,t){let n=e.continuation;if(!n)return t;let r=Q(t,n);return!r||!n.lastResponseId?(e.continuation=void 0,t):{...t,previous_response_id:n.lastResponseId,input:r}}async function*le(e,t,n,r){let i=!1;for await(let a of e)i||(i=!0,r(),n.push({type:`start`,partial:t})),yield a}async function ue(e,t,n,r,i,a,o,s){let{socket:c,entry:l,reused:f,release:p}=await J(e,n,s?.sessionId,s?.signal),m=!0,g=s?.transport===`websocket-cached`||s?.transport===`auto`,_=t,v=g&&l?ce(l,_):_,y=s?.sessionId?P(s.sessionId):void 0;y&&(y.requests++,f?y.connectionsReused++:y.connectionsCreated++,g&&y.cachedContextRequests++,v.store===!0&&y.storeTrueRequests++,y.lastInputItems=v.input?.length??0,v.previous_response_id?(y.deltaRequests++,y.lastDeltaInputItems=v.input?.length??0,y.lastPreviousResponseId=v.previous_response_id):(y.fullContextRequests++,y.lastDeltaInputItems=void 0,y.lastPreviousResponseId=void 0));try{if(c.send(JSON.stringify({type:`response.create`,...v})),await u(le(k(ae(c,s?.signal)),r,i,o),r,i,a,{serviceTier:s?.serviceTier,resolveServiceTier:C,applyServiceTierPricing:(e,t)=>S(e,t,a)}),s?.signal?.aborted)m=!1;else if(g&&l&&r.responseId){let e=d(a,{messages:[r]},h,{includeSystemPrompt:!1}).filter(e=>e.type!==`function_call_output`);l.continuation={lastRequestBody:_,lastResponseId:r.responseId,lastResponseItems:e}}}catch(e){throw l&&(l.continuation=void 0),m=!1,e}finally{p({keep:m})}}async function de(e){let t=await e.text(),n=t||e.statusText||`Request failed`,r;try{let i=JSON.parse(t)?.error;if(i){let t=i.code||i.type||``;if(/usage_limit_reached|usage_not_included|rate_limit_exceeded/i.test(t)||e.status===429){let e=i.plan_type?` (${i.plan_type.toLowerCase()} plan)`:``,t=i.resets_at?Math.max(0,Math.round((i.resets_at*1e3-Date.now())/6e4)):void 0;r=`You have hit your ChatGPT usage limit${e}.${t===void 0?``:` Try again in ~${t} min.`}`.trim()}n=i.message||r||n}}catch{}return{message:n,friendlyMessage:r}}function fe(e){try{let t=e.split(`.`);if(t.length!==3)throw Error(`Invalid token`);let n=JSON.parse(atob(t[1]))?.[`https://api.openai.com/auth`]?.chatgpt_account_id;if(!n)throw Error(`No account ID in token`);return n}catch{throw Error(`Failed to extract accountId from token`)}}function pe(){return typeof globalThis.crypto?.randomUUID==`function`?globalThis.crypto.randomUUID():`codex_${Date.now()}_${Math.random().toString(36).slice(2,10)}`}function $(e,t,n,r){let i=new Headers(e);for(let[e,n]of Object.entries(t||{}))i.set(e,n);i.set(`Authorization`,`Bearer ${r}`),i.set(`chatgpt-account-id`,n),i.set(`originator`,`pi`);let a=f?`pi (${f.platform()} ${f.release()}; ${f.arch()})`:`pi (browser)`;return i.set(`User-Agent`,a),i}function me(e,t,n,r,i){let a=$(e,t,n,r);return a.set(`OpenAI-Beta`,`responses=experimental`),a.set(`accept`,`text/event-stream`),a.set(`content-type`,`application/json`),i&&(a.set(`session_id`,i),a.set(`x-client-request-id`,i)),a}function he(e,t,n,r,i){let a=$(e,t,n,r);return a.delete(`accept`),a.delete(`content-type`),a.delete(`OpenAI-Beta`),a.delete(`openai-beta`),a.set(`OpenAI-Beta`,`responses_websockets=2026-02-06`),a.set(`x-client-request-id`,i),a.set(`session_id`,i),a}export{L as closeOpenAICodexWebSocketSessions,F as getOpenAICodexWebSocketDebugStats,I as resetOpenAICodexWebSocketDebugStats,y as streamOpenAICodexResponses,b as streamSimpleOpenAICodexResponses};
@@ -1,4 +1,4 @@
1
- import{J as e,M as t,N as n,P as r,Q as i,V as a,W as o,b as s,j as c}from"./main-D5X3QDGB.js";import{t as l}from"./headers-DO1UzNKu.js";import{n as u,r as d,t as f}from"./openai-responses-shared-Dzt049Et.js";var p=null,m=e=>i(()=>import(e),[]);typeof process<`u`&&(process.versions?.node||process.versions?.bun)&&m(`node:os`).then(e=>{p=e});var h=`https://chatgpt.com/backend-api`,g=`https://api.openai.com/auth`,_=3,v=1e3,y=new Set([`openai`,`openai-codex`,`opencode`]),b=1009,x=new Set([`completed`,`incomplete`,`failed`,`cancelled`,`queued`,`in_progress`]);function ee(e,t){return e===429||e===500||e===502||e===503||e===504?!0:/rate.?limit|overloaded|service.?unavailable|upstream.?connect|connection.?refused/i.test(t)}function S(e,t){return new Promise((n,r)=>{if(t?.aborted){r(Error(`Request was aborted`));return}let i=setTimeout(n,e);t?.addEventListener(`abort`,()=>{clearTimeout(i),r(Error(`Request was aborted`))})})}var C=(n,r,i)=>{let o=new a;return(async()=>{let a={role:`assistant`,content:[],api:`openai-codex-responses`,provider:n.provider,model:n.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let s=i?.apiKey||e(n.provider)||``;if(!s)throw Error(`No API key for provider: ${n.provider}`);let u=ye(s),d=w(n,r,i),f=await i?.onPayload?.(d,n);f!==void 0&&(d=f);let p=i?.sessionId||be(),m=xe(n.headers,i?.headers,u,s,i?.sessionId),h=Se(n.headers,i?.headers,u,s,p),g=JSON.stringify(d),y=i?.transport||`auto`,b=y!==`sse`&&z(i?.sessionId);if(b&&B(i?.sessionId),y!==`sse`&&!b){let e=!1;try{if(await _e(re(n.baseUrl),d,h,a,o,n,()=>{e=!0},i),i?.signal?.aborted)throw Error(`Request was aborted`);o.push({type:`done`,reason:a.stopReason,message:a}),o.end();return}catch(n){if(i?.signal?.aborted||A(n)||(c(a,t(`provider_transport_failure`,n,{configuredTransport:y,fallbackTransport:e?void 0:`sse`,eventsEmitted:e,phase:e?`after_message_stream_start`:`before_message_stream_start`,requestBytes:new TextEncoder().encode(g).byteLength})),V(i?.sessionId,n),e))throw n;B(i?.sessionId)}}let x,C;for(let e=0;e<=_;e++){if(i?.signal?.aborted)throw Error(`Request was aborted`);try{if(x=await fetch(D(n.baseUrl),{method:`POST`,headers:m,body:g,signal:i?.signal}),await i?.onResponse?.({status:x.status,headers:l(x.headers)},n),x.ok)break;let t=await x.text();if(e<_&&ee(x.status,t)){let t=v*2**e,n=x.headers.get(`retry-after-ms`);if(n!==null){let e=Number(n);Number.isFinite(e)&&(t=Math.max(0,e))}else{let e=x.headers.get(`retry-after`);if(e){let n=Number(e);if(Number.isFinite(n))t=Math.max(0,n*1e3);else{let n=Date.parse(e);Number.isNaN(n)||(t=Math.max(0,n-Date.now()))}}}await S(t,i?.signal);continue}let r=await ve(new Response(t,{status:x.status,statusText:x.statusText}));throw Error(r.friendlyMessage||r.message)}catch(t){if(t instanceof Error&&(t.name===`AbortError`||t.message===`Request was aborted`))throw Error(`Request was aborted`);if(C=t instanceof Error?t:Error(String(t)),e<_&&!C.message.includes(`usage limit`)){await S(v*2**e,i?.signal);continue}throw C}}if(!x?.ok)throw C??Error(`Failed after retries`);if(!x.body)throw Error(`No response body`);if(o.push({type:`start`,partial:a}),await ie(x,a,o,n,i),i?.signal?.aborted)throw Error(`Request was aborted`);o.push({type:`done`,reason:a.stopReason,message:a}),o.end()}catch(e){for(let e of a.content)delete e.partialJson;a.stopReason=i?.signal?.aborted?`aborted`:`error`,a.errorMessage=e instanceof Error?e.message:String(e),o.push({type:`error`,reason:a.stopReason,error:a}),o.end()}})(),o},te=(t,n,r)=>{let i=r?.apiKey||e(t.provider);if(!i)throw Error(`No API key for provider: ${t.provider}`);let a=s(t,r,i),c=r?.reasoning?o(t,r.reasoning):void 0,l=c===`off`?void 0:c;return C(t,n,{...a,reasoningEffort:l})};function w(e,t,n){let r=f(e,t,y,{includeSystemPrompt:!1}),i={model:e.id,store:!1,stream:!0,instructions:t.systemPrompt||`You are a helpful assistant.`,input:r,text:{verbosity:n?.textVerbosity||`low`},include:[`reasoning.encrypted_content`],prompt_cache_key:n?.sessionId,tool_choice:`auto`,parallel_tool_calls:!0};if(n?.temperature!==void 0&&(i.temperature=n.temperature),n?.serviceTier!==void 0&&(i.service_tier=n.serviceTier),t.tools&&t.tools.length>0&&(i.tools=u(t.tools,{strict:null})),n?.reasoningEffort!==void 0){let t=n.reasoningEffort===`none`?e.thinkingLevelMap?.off??`none`:e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;t!==null&&(i.reasoning={effort:t,summary:n.reasoningSummary??`auto`})}return i}function ne(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function T(e,t,n){let r=ne(n,t);r!==1&&(e.cost.input*=r,e.cost.output*=r,e.cost.cacheRead*=r,e.cost.cacheWrite*=r,e.cost.total=e.cost.input+e.cost.output+e.cost.cacheRead+e.cost.cacheWrite)}function E(e,t){return e===`default`&&(t===`flex`||t===`priority`)?t:e??t}function D(e){let t=(e&&e.trim().length>0?e:h).replace(/\/+$/,``);return t.endsWith(`/codex/responses`)?t:t.endsWith(`/codex`)?`${t}/responses`:`${t}/codex/responses`}function re(e){let t=new URL(D(e));return t.protocol===`https:`&&(t.protocol=`wss:`),t.protocol===`http:`&&(t.protocol=`ws:`),t.toString()}async function ie(e,t,n,r,i){await d(j(oe(e)),t,n,r,{serviceTier:i?.serviceTier,resolveServiceTier:E,applyServiceTierPricing:(e,t)=>T(e,t,r)})}var O=class extends Error{code;payload;constructor(e,t){super(e),this.name=`CodexApiError`,this.code=t?.code,this.payload=t?.payload,this.cause=t?.cause}},k=class extends Error{payload;constructor(e,t){super(e),this.name=`CodexProtocolError`,this.payload=t?.payload,this.cause=t?.cause}};function A(e){return e instanceof O||e instanceof k}async function*j(e){for await(let t of e){let e=typeof t.type==`string`?t.type:void 0;if(e){if(e===`error`){let e=t.code||``;throw new O(`Codex error: ${t.message||e||JSON.stringify(t)}`,{code:e||void 0,payload:t})}if(e===`response.failed`){let e=t.response,n=e?.error?.code,r=e?.error?.message;throw new O(r||`Codex response failed`,{code:n,payload:t})}if(e===`response.done`||e===`response.completed`||e===`response.incomplete`){let e=t.response,n=e&&{...e,status:ae(e.status)};yield{...t,type:`response.completed`,response:n};return}yield t}}}function ae(e){if(typeof e==`string`)return x.has(e)?e:void 0}async function*oe(e){if(!e.body)return;let t=e.body.getReader(),r=new TextDecoder,i=``;try{for(;;){let{done:e,value:a}=await t.read();if(e)break;i+=r.decode(a,{stream:!0});let o=i.indexOf(`
1
+ import{K as e,M as t,N as n,P as r,U as i,X as a,b as o,et as s,j as c}from"./main-QvcnxvtS.js";import{t as l}from"./headers-DO1UzNKu.js";import{n as u,r as d,t as f}from"./openai-responses-shared-Bm2eSiHi.js";var p=null,m=e=>s(()=>import(e),[]);typeof process<`u`&&(process.versions?.node||process.versions?.bun)&&m(`node:os`).then(e=>{p=e});var h=`https://chatgpt.com/backend-api`,g=`https://api.openai.com/auth`,_=3,v=1e3,y=new Set([`openai`,`openai-codex`,`opencode`]),b=1009,x=new Set([`completed`,`incomplete`,`failed`,`cancelled`,`queued`,`in_progress`]);function ee(e,t){return e===429||e===500||e===502||e===503||e===504?!0:/rate.?limit|overloaded|service.?unavailable|upstream.?connect|connection.?refused/i.test(t)}function S(e,t){return new Promise((n,r)=>{if(t?.aborted){r(Error(`Request was aborted`));return}let i=setTimeout(n,e);t?.addEventListener(`abort`,()=>{clearTimeout(i),r(Error(`Request was aborted`))})})}var C=(e,n,r)=>{let o=new i;return(async()=>{let i={role:`assistant`,content:[],api:`openai-codex-responses`,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let s=r?.apiKey||a(e.provider)||``;if(!s)throw Error(`No API key for provider: ${e.provider}`);let u=ye(s),d=w(e,n,r),f=await r?.onPayload?.(d,e);f!==void 0&&(d=f);let p=r?.sessionId||be(),m=xe(e.headers,r?.headers,u,s,r?.sessionId),h=Se(e.headers,r?.headers,u,s,p),g=JSON.stringify(d),y=r?.transport||`auto`,b=y!==`sse`&&z(r?.sessionId);if(b&&B(r?.sessionId),y!==`sse`&&!b){let n=!1;try{if(await _e(re(e.baseUrl),d,h,i,o,e,()=>{n=!0},r),r?.signal?.aborted)throw Error(`Request was aborted`);o.push({type:`done`,reason:i.stopReason,message:i}),o.end();return}catch(e){if(r?.signal?.aborted||A(e)||(c(i,t(`provider_transport_failure`,e,{configuredTransport:y,fallbackTransport:n?void 0:`sse`,eventsEmitted:n,phase:n?`after_message_stream_start`:`before_message_stream_start`,requestBytes:new TextEncoder().encode(g).byteLength})),V(r?.sessionId,e),n))throw e;B(r?.sessionId)}}let x,C;for(let t=0;t<=_;t++){if(r?.signal?.aborted)throw Error(`Request was aborted`);try{if(x=await fetch(D(e.baseUrl),{method:`POST`,headers:m,body:g,signal:r?.signal}),await r?.onResponse?.({status:x.status,headers:l(x.headers)},e),x.ok)break;let n=await x.text();if(t<_&&ee(x.status,n)){let e=v*2**t,n=x.headers.get(`retry-after-ms`);if(n!==null){let t=Number(n);Number.isFinite(t)&&(e=Math.max(0,t))}else{let t=x.headers.get(`retry-after`);if(t){let n=Number(t);if(Number.isFinite(n))e=Math.max(0,n*1e3);else{let n=Date.parse(t);Number.isNaN(n)||(e=Math.max(0,n-Date.now()))}}}await S(e,r?.signal);continue}let i=await ve(new Response(n,{status:x.status,statusText:x.statusText}));throw Error(i.friendlyMessage||i.message)}catch(e){if(e instanceof Error&&(e.name===`AbortError`||e.message===`Request was aborted`))throw Error(`Request was aborted`);if(C=e instanceof Error?e:Error(String(e)),t<_&&!C.message.includes(`usage limit`)){await S(v*2**t,r?.signal);continue}throw C}}if(!x?.ok)throw C??Error(`Failed after retries`);if(!x.body)throw Error(`No response body`);if(o.push({type:`start`,partial:i}),await ie(x,i,o,e,r),r?.signal?.aborted)throw Error(`Request was aborted`);o.push({type:`done`,reason:i.stopReason,message:i}),o.end()}catch(e){for(let e of i.content)delete e.partialJson;i.stopReason=r?.signal?.aborted?`aborted`:`error`,i.errorMessage=e instanceof Error?e.message:String(e),o.push({type:`error`,reason:i.stopReason,error:i}),o.end()}})(),o},te=(t,n,r)=>{let i=r?.apiKey||a(t.provider);if(!i)throw Error(`No API key for provider: ${t.provider}`);let s=o(t,r,i),c=r?.reasoning?e(t,r.reasoning):void 0,l=c===`off`?void 0:c;return C(t,n,{...s,reasoningEffort:l})};function w(e,t,n){let r=f(e,t,y,{includeSystemPrompt:!1}),i={model:e.id,store:!1,stream:!0,instructions:t.systemPrompt||`You are a helpful assistant.`,input:r,text:{verbosity:n?.textVerbosity||`low`},include:[`reasoning.encrypted_content`],prompt_cache_key:n?.sessionId,tool_choice:`auto`,parallel_tool_calls:!0};if(n?.temperature!==void 0&&(i.temperature=n.temperature),n?.serviceTier!==void 0&&(i.service_tier=n.serviceTier),t.tools&&t.tools.length>0&&(i.tools=u(t.tools,{strict:null})),n?.reasoningEffort!==void 0){let t=n.reasoningEffort===`none`?e.thinkingLevelMap?.off??`none`:e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;t!==null&&(i.reasoning={effort:t,summary:n.reasoningSummary??`auto`})}return i}function ne(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function T(e,t,n){let r=ne(n,t);r!==1&&(e.cost.input*=r,e.cost.output*=r,e.cost.cacheRead*=r,e.cost.cacheWrite*=r,e.cost.total=e.cost.input+e.cost.output+e.cost.cacheRead+e.cost.cacheWrite)}function E(e,t){return e===`default`&&(t===`flex`||t===`priority`)?t:e??t}function D(e){let t=(e&&e.trim().length>0?e:h).replace(/\/+$/,``);return t.endsWith(`/codex/responses`)?t:t.endsWith(`/codex`)?`${t}/responses`:`${t}/codex/responses`}function re(e){let t=new URL(D(e));return t.protocol===`https:`&&(t.protocol=`wss:`),t.protocol===`http:`&&(t.protocol=`ws:`),t.toString()}async function ie(e,t,n,r,i){await d(j(oe(e)),t,n,r,{serviceTier:i?.serviceTier,resolveServiceTier:E,applyServiceTierPricing:(e,t)=>T(e,t,r)})}var O=class extends Error{code;payload;constructor(e,t){super(e),this.name=`CodexApiError`,this.code=t?.code,this.payload=t?.payload,this.cause=t?.cause}},k=class extends Error{payload;constructor(e,t){super(e),this.name=`CodexProtocolError`,this.payload=t?.payload,this.cause=t?.cause}};function A(e){return e instanceof O||e instanceof k}async function*j(e){for await(let t of e){let e=typeof t.type==`string`?t.type:void 0;if(e){if(e===`error`){let e=t.code||``;throw new O(`Codex error: ${t.message||e||JSON.stringify(t)}`,{code:e||void 0,payload:t})}if(e===`response.failed`){let e=t.response,n=e?.error?.code,r=e?.error?.message;throw new O(r||`Codex response failed`,{code:n,payload:t})}if(e===`response.done`||e===`response.completed`||e===`response.incomplete`){let e=t.response,n=e&&{...e,status:ae(e.status)};yield{...t,type:`response.completed`,response:n};return}yield t}}}function ae(e){if(typeof e==`string`)return x.has(e)?e:void 0}async function*oe(e){if(!e.body)return;let t=e.body.getReader(),r=new TextDecoder,i=``;try{for(;;){let{done:e,value:a}=await t.read();if(e)break;i+=r.decode(a,{stream:!0});let o=i.indexOf(`
2
2
 
3
3
  `);for(;o!==-1;){let e=i.slice(0,o);i=i.slice(o+2);let t=e.split(`
4
4
  `).filter(e=>e.startsWith(`data:`)).map(e=>e.slice(5).trim());if(t.length>0){let e=t.join(`
@@ -1,5 +1,5 @@
1
- import{A as e,J as t,U as n,V as r,W as i,b as a,x as o}from"./main-D5X3QDGB.js";import{t as s}from"./headers-DO1UzNKu.js";import{t as c}from"./sanitize-unicode-DmIE6hZJ.js";import{i as l,n as u,r as d,t as f}from"./github-copilot-headers-DZtWWv8W.js";import{n as p}from"./openai-Cn5LRPCm.js";function m(e){for(let t of e)if(t.role===`toolResult`||t.role===`assistant`&&t.content.some(e=>e.type===`toolCall`))return!0;return!1}function h(e){return e.type===`text`}function g(e){return e.type===`thinking`}function _(e){return e.type===`toolCall`}function v(e){return e.type===`image`}function y(e){return e||(typeof process<`u`&&{}.PI_CACHE_RETENTION===`long`?`long`:`short`)}var b=(n,i,a)=>{let o=new r;return(async()=>{let r={role:`assistant`,content:[],api:n.api,provider:n.provider,model:n.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let c=a?.apiKey||t(n.provider)||``,l=L(n),u=y(a?.cacheRetention),d=u===`none`?void 0:a?.sessionId,f=S(n,i,c,a?.headers,d,l),p=C(n,i,a,l,u),m=await a?.onPayload?.(p,n);m!==void 0&&(p=m);let h={...a?.signal?{signal:a.signal}:{},...a?.timeoutMs===void 0?{}:{timeout:a.timeoutMs},...a?.maxRetries===void 0?{}:{maxRetries:a.maxRetries}},{data:g,response:_}=await f.chat.completions.create(p,h).withResponse();await a?.onResponse?.({status:_.status,headers:s(_.headers)},n),o.push({type:`start`,partial:r});let v=null,b=null,x=!1,w=new Map,T=new Map,E=r.content,D=e=>E.indexOf(e),O=t=>{let n=D(t);n!==-1&&(t.type===`text`?o.push({type:`text_end`,contentIndex:n,content:t.text,partial:r}):t.type===`thinking`?o.push({type:`thinking_end`,contentIndex:n,content:t.thinking,partial:r}):t.type===`toolCall`&&(t.arguments=e(t.partialArgs),delete t.partialArgs,delete t.streamIndex,o.push({type:`toolcall_end`,contentIndex:n,toolCall:t,partial:r})))},k=()=>(v||(v={type:`text`,text:``},E.push(v),o.push({type:`text_start`,contentIndex:D(v),partial:r})),v),A=e=>(b||(b={type:`thinking`,thinking:``,thinkingSignature:e},E.push(b),o.push({type:`thinking_start`,contentIndex:D(b),partial:r})),b),j=e=>{let t=typeof e.index==`number`?e.index:void 0,n=t===void 0?void 0:w.get(t);return!n&&e.id&&(n=T.get(e.id)),n||(n={type:`toolCall`,id:e.id||``,name:e.function?.name||``,arguments:{},partialArgs:``,streamIndex:t},t!==void 0&&w.set(t,n),e.id&&T.set(e.id,n),E.push(n),o.push({type:`toolcall_start`,contentIndex:D(n),partial:r})),t!==void 0&&n.streamIndex===void 0&&(n.streamIndex=t,w.set(t,n)),e.id&&T.set(e.id,n),n};for await(let t of g){if(!t||typeof t!=`object`)continue;r.responseId||=t.id,typeof t.model==`string`&&t.model.length>0&&t.model!==n.id&&(r.responseModel||=t.model),t.usage&&(r.usage=P(t.usage,n));let i=Array.isArray(t.choices)?t.choices[0]:void 0;if(i){if(!t.usage&&i.usage&&(r.usage=P(i.usage,n)),i.finish_reason){let e=F(i.finish_reason);r.stopReason=e.stopReason,e.errorMessage&&(r.errorMessage=e.errorMessage),x=!0}if(i.delta){if(i.delta.content!==null&&i.delta.content!==void 0&&i.delta.content.length>0){let e=k();e.text+=i.delta.content,o.push({type:`text_delta`,contentIndex:D(e),delta:i.delta.content,partial:r})}let t=[`reasoning_content`,`reasoning`,`reasoning_text`],a=i.delta,s=null;for(let e of t){let t=a[e];if(typeof t==`string`&&t.length>0){s=e;break}}if(s){let e=a[s];if(typeof e==`string`&&e.length>0){let t=A(n.provider===`opencode-go`&&s===`reasoning`?`reasoning_content`:s);t.thinking+=e,o.push({type:`thinking_delta`,contentIndex:D(t),delta:e,partial:r})}}if(i?.delta?.tool_calls)for(let t of i.delta.tool_calls){let n=j(t);!n.id&&t.id&&(n.id=t.id,T.set(t.id,n)),!n.name&&t.function?.name&&(n.name=t.function.name);let i=``;t.function?.arguments&&(i=t.function.arguments,n.partialArgs=(n.partialArgs??``)+t.function.arguments,n.arguments=e(n.partialArgs)),o.push({type:`toolcall_delta`,contentIndex:D(n),delta:i,partial:r})}let c=i.delta.reasoning_details;if(c&&Array.isArray(c)){for(let e of c)if(e.type===`reasoning.encrypted`&&e.id&&e.data){let t=r.content.find(t=>t.type===`toolCall`&&t.id===e.id);t&&(t.thoughtSignature=JSON.stringify(e))}}}}}for(let e of E)O(e);if(a?.signal?.aborted||r.stopReason===`aborted`)throw Error(`Request was aborted`);if(r.stopReason===`error`)throw Error(r.errorMessage||`Provider returned an error stop reason`);if(!x)throw Error(`Stream ended without finish_reason`);o.push({type:`done`,reason:r.stopReason,message:r}),o.end()}catch(e){for(let e of r.content)delete e.index,delete e.partialArgs,delete e.streamIndex;r.stopReason=a?.signal?.aborted?`aborted`:`error`,r.errorMessage=e instanceof Error?e.message:JSON.stringify(e);let t=e?.error?.metadata?.raw;t&&(r.errorMessage+=`\n${t}`),o.push({type:`error`,reason:r.stopReason,error:r}),o.end()}})(),o},x=(e,n,r)=>{let o=r?.apiKey||t(e.provider);if(!o)throw Error(`No API key for provider: ${e.provider}`);let s=a(e,r,o),c=r?.reasoning?i(e,r.reasoning):void 0,l=c===`off`?void 0:c,u=r?.toolChoice;return b(e,n,{...s,reasoningEffort:l,toolChoice:u})};function S(e,t,n,r,i,a=L(e)){if(!n){if(!{}.OPENAI_API_KEY)throw Error(`OpenAI API key is required. Set OPENAI_API_KEY environment variable or pass it as an argument.`);n={}.OPENAI_API_KEY}let o={...e.headers};if(e.provider===`github-copilot`){let e=u(t.messages),n=f({messages:t.messages,hasImages:e});Object.assign(o,n)}i&&a.sendSessionAffinityHeaders&&(o.session_id=i,o[`x-client-request-id`]=i,o[`x-session-affinity`]=i),r&&Object.assign(o,r);let s=e.provider===`cloudflare-ai-gateway`?{...o,Authorization:o.Authorization??null,"cf-aig-authorization":`Bearer ${n}`}:o;return new p({apiKey:n,baseURL:d(e.provider)?l(e):e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:s})}function C(e,t,n,r=L(e),i=y(n?.cacheRetention)){let a=M(e,t,r),o=w(r,i),s={model:e.id,messages:a,stream:!0,prompt_cache_key:e.baseUrl.includes(`api.openai.com`)&&i!==`none`||i===`long`&&r.supportsLongCacheRetention?n?.sessionId:void 0,prompt_cache_retention:i===`long`&&r.supportsLongCacheRetention?`24h`:void 0};if(r.supportsUsageInStreaming!==!1&&(s.stream_options={include_usage:!0}),r.supportsStore&&(s.store=!1),n?.maxTokens&&(r.maxTokensField===`max_tokens`?s.max_tokens=n.maxTokens:s.max_completion_tokens=n.maxTokens),n?.temperature!==void 0&&(s.temperature=n.temperature),t.tools&&t.tools.length>0?(s.tools=N(t.tools,r),r.zaiToolStream&&(s.tool_stream=!0)):m(t.messages)&&(s.tools=[]),o&&T(a,s.tools,o),n?.toolChoice&&(s.tool_choice=n.toolChoice),r.thinkingFormat===`zai`&&e.reasoning)s.enable_thinking=!!n?.reasoningEffort;else if(r.thinkingFormat===`qwen`&&e.reasoning)s.enable_thinking=!!n?.reasoningEffort;else if(r.thinkingFormat===`qwen-chat-template`&&e.reasoning)s.chat_template_kwargs={enable_thinking:!!n?.reasoningEffort,preserve_thinking:!0};else if(r.thinkingFormat===`deepseek`&&e.reasoning)s.thinking={type:n?.reasoningEffort?`enabled`:`disabled`},n?.reasoningEffort&&(s.reasoning_effort=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort);else if(r.thinkingFormat===`openrouter`&&e.reasoning){let t=s;n?.reasoningEffort?t.reasoning={effort:e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort}:e.thinkingLevelMap?.off!==null&&(t.reasoning={effort:e.thinkingLevelMap?.off??`none`})}else if(r.thinkingFormat===`together`&&e.reasoning){let t=s;t.reasoning={enabled:!!n?.reasoningEffort},n?.reasoningEffort&&r.supportsReasoningEffort&&(t.reasoning_effort=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort)}else if(n?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort)s.reasoning_effort=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;else if(!n?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort){let t=e.thinkingLevelMap?.off;typeof t==`string`&&(s.reasoning_effort=t)}if(e.baseUrl.includes(`openrouter.ai`)&&e.compat?.openRouterRouting&&(s.provider=e.compat.openRouterRouting),e.baseUrl.includes(`ai-gateway.vercel.sh`)&&e.compat?.vercelGatewayRouting){let t=e.compat.vercelGatewayRouting;if(t.only||t.order){let e={};t.only&&(e.only=t.only),t.order&&(e.order=t.order),s.providerOptions={gateway:e}}}return s}function w(e,t){if(e.cacheControlFormat!==`anthropic`||t===`none`)return;let n=t===`long`&&e.supportsLongCacheRetention?`1h`:void 0;return{type:`ephemeral`,...n?{ttl:n}:{}}}function T(e,t,n){E(e,n),O(t,n),D(e,n)}function E(e,t){for(let n of e)if(n.role===`system`||n.role===`developer`){k(n,t);return}}function D(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if((r.role===`user`||r.role===`assistant`)&&A(r,t))return}}function O(e,t){if(!e||e.length===0)return;let n=e[e.length-1];n.cache_control=t}function k(e,t){return j(e,t)}function A(e,t){return e.role===`user`||e.role===`assistant`?j(e,t):!1}function j(e,t){let n=e.content;if(typeof n==`string`)return n.length===0?!1:(e.content=[{type:`text`,text:n,cache_control:t}],!0);if(!Array.isArray(n))return!1;for(let e=n.length-1;e>=0;e--){let r=n[e];if(r?.type===`text`){let e=r;return e.cache_control=t,!0}}return!1}function M(e,t,n){let r=[],i=t=>{if(t.includes(`|`)){let[e]=t.split(`|`);return e.replace(/[^a-zA-Z0-9_-]/g,`_`).slice(0,40)}return e.provider===`openai`&&t.length>40?t.slice(0,40):t},a=o(t.messages,e,e=>i(e));if(t.systemPrompt){let i=e.reasoning&&n.supportsDeveloperRole?`developer`:`system`;r.push({role:i,content:c(t.systemPrompt)})}let s=null;for(let t=0;t<a.length;t++){let i=a[t];if(n.requiresAssistantAfterToolResult&&s===`toolResult`&&i.role===`user`&&r.push({role:`assistant`,content:`I have processed the tool results.`}),i.role===`user`)if(typeof i.content==`string`)r.push({role:`user`,content:c(i.content)});else{let e=i.content.map(e=>e.type===`text`?{type:`text`,text:c(e.text)}:{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}});if(e.length===0)continue;r.push({role:`user`,content:e})}else if(i.role===`assistant`){let t={role:`assistant`,content:n.requiresAssistantAfterToolResult?``:null},a=i.content.filter(h).filter(e=>e.text.trim().length>0).map(e=>({type:`text`,text:c(e.text)})),o=a.map(e=>e.text).join(``),s=i.content.filter(g).filter(e=>e.thinking.trim().length>0);if(s.length>0)if(n.requiresThinkingAsText)t.content=[{type:`text`,text:s.map(e=>c(e.thinking)).join(`
1
+ import{A as e,G as t,K as n,U as r,X as i,b as a,x as o}from"./main-QvcnxvtS.js";import{t as s}from"./headers-DO1UzNKu.js";import{t as c}from"./sanitize-unicode-DmIE6hZJ.js";import{i as l,n as u,r as d,t as f}from"./github-copilot-headers-DZtWWv8W.js";import{n as p}from"./openai-Cn5LRPCm.js";function m(e){for(let t of e)if(t.role===`toolResult`||t.role===`assistant`&&t.content.some(e=>e.type===`toolCall`))return!0;return!1}function h(e){return e.type===`text`}function g(e){return e.type===`thinking`}function _(e){return e.type===`toolCall`}function v(e){return e.type===`image`}function y(e){return e||(typeof process<`u`&&{}.PI_CACHE_RETENTION===`long`?`long`:`short`)}var b=(t,n,a)=>{let o=new r;return(async()=>{let r={role:`assistant`,content:[],api:t.api,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let c=a?.apiKey||i(t.provider)||``,l=L(t),u=y(a?.cacheRetention),d=u===`none`?void 0:a?.sessionId,f=S(t,n,c,a?.headers,d,l),p=C(t,n,a,l,u),m=await a?.onPayload?.(p,t);m!==void 0&&(p=m);let h={...a?.signal?{signal:a.signal}:{},...a?.timeoutMs===void 0?{}:{timeout:a.timeoutMs},...a?.maxRetries===void 0?{}:{maxRetries:a.maxRetries}},{data:g,response:_}=await f.chat.completions.create(p,h).withResponse();await a?.onResponse?.({status:_.status,headers:s(_.headers)},t),o.push({type:`start`,partial:r});let v=null,b=null,x=!1,w=new Map,T=new Map,E=r.content,D=e=>E.indexOf(e),O=t=>{let n=D(t);n!==-1&&(t.type===`text`?o.push({type:`text_end`,contentIndex:n,content:t.text,partial:r}):t.type===`thinking`?o.push({type:`thinking_end`,contentIndex:n,content:t.thinking,partial:r}):t.type===`toolCall`&&(t.arguments=e(t.partialArgs),delete t.partialArgs,delete t.streamIndex,o.push({type:`toolcall_end`,contentIndex:n,toolCall:t,partial:r})))},k=()=>(v||(v={type:`text`,text:``},E.push(v),o.push({type:`text_start`,contentIndex:D(v),partial:r})),v),A=e=>(b||(b={type:`thinking`,thinking:``,thinkingSignature:e},E.push(b),o.push({type:`thinking_start`,contentIndex:D(b),partial:r})),b),j=e=>{let t=typeof e.index==`number`?e.index:void 0,n=t===void 0?void 0:w.get(t);return!n&&e.id&&(n=T.get(e.id)),n||(n={type:`toolCall`,id:e.id||``,name:e.function?.name||``,arguments:{},partialArgs:``,streamIndex:t},t!==void 0&&w.set(t,n),e.id&&T.set(e.id,n),E.push(n),o.push({type:`toolcall_start`,contentIndex:D(n),partial:r})),t!==void 0&&n.streamIndex===void 0&&(n.streamIndex=t,w.set(t,n)),e.id&&T.set(e.id,n),n};for await(let n of g){if(!n||typeof n!=`object`)continue;r.responseId||=n.id,typeof n.model==`string`&&n.model.length>0&&n.model!==t.id&&(r.responseModel||=n.model),n.usage&&(r.usage=P(n.usage,t));let i=Array.isArray(n.choices)?n.choices[0]:void 0;if(i){if(!n.usage&&i.usage&&(r.usage=P(i.usage,t)),i.finish_reason){let e=F(i.finish_reason);r.stopReason=e.stopReason,e.errorMessage&&(r.errorMessage=e.errorMessage),x=!0}if(i.delta){if(i.delta.content!==null&&i.delta.content!==void 0&&i.delta.content.length>0){let e=k();e.text+=i.delta.content,o.push({type:`text_delta`,contentIndex:D(e),delta:i.delta.content,partial:r})}let n=[`reasoning_content`,`reasoning`,`reasoning_text`],a=i.delta,s=null;for(let e of n){let t=a[e];if(typeof t==`string`&&t.length>0){s=e;break}}if(s){let e=a[s];if(typeof e==`string`&&e.length>0){let n=A(t.provider===`opencode-go`&&s===`reasoning`?`reasoning_content`:s);n.thinking+=e,o.push({type:`thinking_delta`,contentIndex:D(n),delta:e,partial:r})}}if(i?.delta?.tool_calls)for(let t of i.delta.tool_calls){let n=j(t);!n.id&&t.id&&(n.id=t.id,T.set(t.id,n)),!n.name&&t.function?.name&&(n.name=t.function.name);let i=``;t.function?.arguments&&(i=t.function.arguments,n.partialArgs=(n.partialArgs??``)+t.function.arguments,n.arguments=e(n.partialArgs)),o.push({type:`toolcall_delta`,contentIndex:D(n),delta:i,partial:r})}let c=i.delta.reasoning_details;if(c&&Array.isArray(c)){for(let e of c)if(e.type===`reasoning.encrypted`&&e.id&&e.data){let t=r.content.find(t=>t.type===`toolCall`&&t.id===e.id);t&&(t.thoughtSignature=JSON.stringify(e))}}}}}for(let e of E)O(e);if(a?.signal?.aborted||r.stopReason===`aborted`)throw Error(`Request was aborted`);if(r.stopReason===`error`)throw Error(r.errorMessage||`Provider returned an error stop reason`);if(!x)throw Error(`Stream ended without finish_reason`);o.push({type:`done`,reason:r.stopReason,message:r}),o.end()}catch(e){for(let e of r.content)delete e.index,delete e.partialArgs,delete e.streamIndex;r.stopReason=a?.signal?.aborted?`aborted`:`error`,r.errorMessage=e instanceof Error?e.message:JSON.stringify(e);let t=e?.error?.metadata?.raw;t&&(r.errorMessage+=`\n${t}`),o.push({type:`error`,reason:r.stopReason,error:r}),o.end()}})(),o},x=(e,t,r)=>{let o=r?.apiKey||i(e.provider);if(!o)throw Error(`No API key for provider: ${e.provider}`);let s=a(e,r,o),c=r?.reasoning?n(e,r.reasoning):void 0,l=c===`off`?void 0:c,u=r?.toolChoice;return b(e,t,{...s,reasoningEffort:l,toolChoice:u})};function S(e,t,n,r,i,a=L(e)){if(!n){if(!{}.OPENAI_API_KEY)throw Error(`OpenAI API key is required. Set OPENAI_API_KEY environment variable or pass it as an argument.`);n={}.OPENAI_API_KEY}let o={...e.headers};if(e.provider===`github-copilot`){let e=u(t.messages),n=f({messages:t.messages,hasImages:e});Object.assign(o,n)}i&&a.sendSessionAffinityHeaders&&(o.session_id=i,o[`x-client-request-id`]=i,o[`x-session-affinity`]=i),r&&Object.assign(o,r);let s=e.provider===`cloudflare-ai-gateway`?{...o,Authorization:o.Authorization??null,"cf-aig-authorization":`Bearer ${n}`}:o;return new p({apiKey:n,baseURL:d(e.provider)?l(e):e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:s})}function C(e,t,n,r=L(e),i=y(n?.cacheRetention)){let a=M(e,t,r),o=w(r,i),s={model:e.id,messages:a,stream:!0,prompt_cache_key:e.baseUrl.includes(`api.openai.com`)&&i!==`none`||i===`long`&&r.supportsLongCacheRetention?n?.sessionId:void 0,prompt_cache_retention:i===`long`&&r.supportsLongCacheRetention?`24h`:void 0};if(r.supportsUsageInStreaming!==!1&&(s.stream_options={include_usage:!0}),r.supportsStore&&(s.store=!1),n?.maxTokens&&(r.maxTokensField===`max_tokens`?s.max_tokens=n.maxTokens:s.max_completion_tokens=n.maxTokens),n?.temperature!==void 0&&(s.temperature=n.temperature),t.tools&&t.tools.length>0?(s.tools=N(t.tools,r),r.zaiToolStream&&(s.tool_stream=!0)):m(t.messages)&&(s.tools=[]),o&&T(a,s.tools,o),n?.toolChoice&&(s.tool_choice=n.toolChoice),r.thinkingFormat===`zai`&&e.reasoning)s.enable_thinking=!!n?.reasoningEffort;else if(r.thinkingFormat===`qwen`&&e.reasoning)s.enable_thinking=!!n?.reasoningEffort;else if(r.thinkingFormat===`qwen-chat-template`&&e.reasoning)s.chat_template_kwargs={enable_thinking:!!n?.reasoningEffort,preserve_thinking:!0};else if(r.thinkingFormat===`deepseek`&&e.reasoning)s.thinking={type:n?.reasoningEffort?`enabled`:`disabled`},n?.reasoningEffort&&(s.reasoning_effort=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort);else if(r.thinkingFormat===`openrouter`&&e.reasoning){let t=s;n?.reasoningEffort?t.reasoning={effort:e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort}:e.thinkingLevelMap?.off!==null&&(t.reasoning={effort:e.thinkingLevelMap?.off??`none`})}else if(r.thinkingFormat===`together`&&e.reasoning){let t=s;t.reasoning={enabled:!!n?.reasoningEffort},n?.reasoningEffort&&r.supportsReasoningEffort&&(t.reasoning_effort=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort)}else if(n?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort)s.reasoning_effort=e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort;else if(!n?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort){let t=e.thinkingLevelMap?.off;typeof t==`string`&&(s.reasoning_effort=t)}if(e.baseUrl.includes(`openrouter.ai`)&&e.compat?.openRouterRouting&&(s.provider=e.compat.openRouterRouting),e.baseUrl.includes(`ai-gateway.vercel.sh`)&&e.compat?.vercelGatewayRouting){let t=e.compat.vercelGatewayRouting;if(t.only||t.order){let e={};t.only&&(e.only=t.only),t.order&&(e.order=t.order),s.providerOptions={gateway:e}}}return s}function w(e,t){if(e.cacheControlFormat!==`anthropic`||t===`none`)return;let n=t===`long`&&e.supportsLongCacheRetention?`1h`:void 0;return{type:`ephemeral`,...n?{ttl:n}:{}}}function T(e,t,n){E(e,n),O(t,n),D(e,n)}function E(e,t){for(let n of e)if(n.role===`system`||n.role===`developer`){k(n,t);return}}function D(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if((r.role===`user`||r.role===`assistant`)&&A(r,t))return}}function O(e,t){if(!e||e.length===0)return;let n=e[e.length-1];n.cache_control=t}function k(e,t){return j(e,t)}function A(e,t){return e.role===`user`||e.role===`assistant`?j(e,t):!1}function j(e,t){let n=e.content;if(typeof n==`string`)return n.length===0?!1:(e.content=[{type:`text`,text:n,cache_control:t}],!0);if(!Array.isArray(n))return!1;for(let e=n.length-1;e>=0;e--){let r=n[e];if(r?.type===`text`){let e=r;return e.cache_control=t,!0}}return!1}function M(e,t,n){let r=[],i=t=>{if(t.includes(`|`)){let[e]=t.split(`|`);return e.replace(/[^a-zA-Z0-9_-]/g,`_`).slice(0,40)}return e.provider===`openai`&&t.length>40?t.slice(0,40):t},a=o(t.messages,e,e=>i(e));if(t.systemPrompt){let i=e.reasoning&&n.supportsDeveloperRole?`developer`:`system`;r.push({role:i,content:c(t.systemPrompt)})}let s=null;for(let t=0;t<a.length;t++){let i=a[t];if(n.requiresAssistantAfterToolResult&&s===`toolResult`&&i.role===`user`&&r.push({role:`assistant`,content:`I have processed the tool results.`}),i.role===`user`)if(typeof i.content==`string`)r.push({role:`user`,content:c(i.content)});else{let e=i.content.map(e=>e.type===`text`?{type:`text`,text:c(e.text)}:{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}});if(e.length===0)continue;r.push({role:`user`,content:e})}else if(i.role===`assistant`){let t={role:`assistant`,content:n.requiresAssistantAfterToolResult?``:null},a=i.content.filter(h).filter(e=>e.text.trim().length>0).map(e=>({type:`text`,text:c(e.text)})),o=a.map(e=>e.text).join(``),s=i.content.filter(g).filter(e=>e.thinking.trim().length>0);if(s.length>0)if(n.requiresThinkingAsText)t.content=[{type:`text`,text:s.map(e=>c(e.thinking)).join(`
2
2
 
3
3
  `)},...a];else{o.length>0&&(t.content=o);let n=s[0].thinkingSignature;e.provider===`opencode-go`&&n===`reasoning`&&(n=`reasoning_content`),n&&n.length>0&&(t[n]=s.map(e=>e.thinking).join(`
4
4
  `))}else o.length>0&&(t.content=o);let l=i.content.filter(_);if(l.length>0){t.tool_calls=l.map(e=>({id:e.id,type:`function`,function:{name:e.name,arguments:JSON.stringify(e.arguments)}}));let e=l.filter(e=>e.thoughtSignature).map(e=>{try{return JSON.parse(e.thoughtSignature)}catch{return null}}).filter(Boolean);e.length>0&&(t.reasoning_details=e)}n.requiresReasoningContentOnAssistantMessages&&e.reasoning&&t.reasoning_content===void 0&&(t.reasoning_content=``);let u=t.content;if(!(u!=null&&u.length>0)&&!t.tool_calls)continue;r.push(t)}else if(i.role===`toolResult`){let i=[],o=t;for(;o<a.length&&a[o].role===`toolResult`;o++){let t=a[o],s=t.content.filter(h).map(e=>e.text).join(`
5
- `),l=t.content.some(e=>e.type===`image`),u={role:`tool`,content:c(s.length>0?s:`(see attached image)`),tool_call_id:t.toolCallId};if(n.requiresToolResultName&&t.toolName&&(u.name=t.toolName),r.push(u),l&&e.input.includes(`image`))for(let e of t.content)v(e)&&i.push({type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}})}t=o-1,i.length>0?(n.requiresAssistantAfterToolResult&&r.push({role:`assistant`,content:`I have processed the tool results.`}),r.push({role:`user`,content:[{type:`text`,text:`Attached image(s) from tool result:`},...i]}),s=`user`):s=`toolResult`;continue}s=i.role}return r}function N(e,t){return e.map(e=>({type:`function`,function:{name:e.name,description:e.description,parameters:e.parameters,...t.supportsStrictMode!==!1&&{strict:!1}}}))}function P(e,t){let r=e.prompt_tokens||0,i=e.prompt_tokens_details?.cached_tokens??e.prompt_cache_hit_tokens??0,a=e.prompt_tokens_details?.cache_write_tokens||0,o=Math.max(0,r-i-a),s=e.completion_tokens||0,c={input:o,output:s,cacheRead:i,cacheWrite:a,totalTokens:o+s+i+a,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return n(t,c),c}function F(e){if(e===null)return{stopReason:`stop`};switch(e){case`stop`:case`end`:return{stopReason:`stop`};case`length`:return{stopReason:`length`};case`function_call`:case`tool_calls`:return{stopReason:`toolUse`};case`content_filter`:return{stopReason:`error`,errorMessage:`Provider finish_reason: content_filter`};case`network_error`:return{stopReason:`error`,errorMessage:`Provider finish_reason: network_error`};default:return{stopReason:`error`,errorMessage:`Provider finish_reason: ${e}`}}}function I(e){let t=e.provider,n=e.baseUrl,r=t===`zai`||n.includes(`api.z.ai`),i=t===`together`||n.includes(`api.together.ai`)||n.includes(`api.together.xyz`),a=t===`moonshotai`||t===`moonshotai-cn`||n.includes(`api.moonshot.`),o=t===`cloudflare-workers-ai`||n.includes(`api.cloudflare.com`),s=t===`cloudflare-ai-gateway`||n.includes(`gateway.ai.cloudflare.com`),c=t===`cerebras`||n.includes(`cerebras.ai`)||t===`xai`||n.includes(`api.x.ai`)||i||n.includes(`chutes.ai`)||n.includes(`deepseek.com`)||r||a||t===`opencode`||n.includes(`opencode.ai`)||o||s,l=n.includes(`chutes.ai`)||a||s||i,u=t===`xai`||n.includes(`api.x.ai`),d=t===`deepseek`||n.includes(`deepseek.com`),f=t===`openrouter`&&e.id.startsWith(`anthropic/`)?`anthropic`:void 0;return{supportsStore:!c,supportsDeveloperRole:!c,supportsReasoningEffort:!u&&!r&&!a&&!i&&!s,supportsUsageInStreaming:!0,maxTokensField:l?`max_tokens`:`max_completion_tokens`,requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,requiresReasoningContentOnAssistantMessages:d,thinkingFormat:d?`deepseek`:r?`zai`:i?`together`:t===`openrouter`||n.includes(`openrouter.ai`)?`openrouter`:`openai`,openRouterRouting:{},vercelGatewayRouting:{},zaiToolStream:!1,supportsStrictMode:!a&&!i&&!s,cacheControlFormat:f,sendSessionAffinityHeaders:!1,supportsLongCacheRetention:!(i||o||s)}}function L(e){let t=I(e);return e.compat?{supportsStore:e.compat.supportsStore??t.supportsStore,supportsDeveloperRole:e.compat.supportsDeveloperRole??t.supportsDeveloperRole,supportsReasoningEffort:e.compat.supportsReasoningEffort??t.supportsReasoningEffort,supportsUsageInStreaming:e.compat.supportsUsageInStreaming??t.supportsUsageInStreaming,maxTokensField:e.compat.maxTokensField??t.maxTokensField,requiresToolResultName:e.compat.requiresToolResultName??t.requiresToolResultName,requiresAssistantAfterToolResult:e.compat.requiresAssistantAfterToolResult??t.requiresAssistantAfterToolResult,requiresThinkingAsText:e.compat.requiresThinkingAsText??t.requiresThinkingAsText,requiresReasoningContentOnAssistantMessages:e.compat.requiresReasoningContentOnAssistantMessages??t.requiresReasoningContentOnAssistantMessages,thinkingFormat:e.compat.thinkingFormat??t.thinkingFormat,openRouterRouting:e.compat.openRouterRouting??{},vercelGatewayRouting:e.compat.vercelGatewayRouting??t.vercelGatewayRouting,zaiToolStream:e.compat.zaiToolStream??t.zaiToolStream,supportsStrictMode:e.compat.supportsStrictMode??t.supportsStrictMode,cacheControlFormat:e.compat.cacheControlFormat??t.cacheControlFormat,sendSessionAffinityHeaders:e.compat.sendSessionAffinityHeaders??t.sendSessionAffinityHeaders,supportsLongCacheRetention:e.compat.supportsLongCacheRetention??t.supportsLongCacheRetention}:t}export{M as convertMessages,b as streamOpenAICompletions,x as streamSimpleOpenAICompletions};
5
+ `),l=t.content.some(e=>e.type===`image`),u={role:`tool`,content:c(s.length>0?s:`(see attached image)`),tool_call_id:t.toolCallId};if(n.requiresToolResultName&&t.toolName&&(u.name=t.toolName),r.push(u),l&&e.input.includes(`image`))for(let e of t.content)v(e)&&i.push({type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}})}t=o-1,i.length>0?(n.requiresAssistantAfterToolResult&&r.push({role:`assistant`,content:`I have processed the tool results.`}),r.push({role:`user`,content:[{type:`text`,text:`Attached image(s) from tool result:`},...i]}),s=`user`):s=`toolResult`;continue}s=i.role}return r}function N(e,t){return e.map(e=>({type:`function`,function:{name:e.name,description:e.description,parameters:e.parameters,...t.supportsStrictMode!==!1&&{strict:!1}}}))}function P(e,n){let r=e.prompt_tokens||0,i=e.prompt_tokens_details?.cached_tokens??e.prompt_cache_hit_tokens??0,a=e.prompt_tokens_details?.cache_write_tokens||0,o=Math.max(0,r-i-a),s=e.completion_tokens||0,c={input:o,output:s,cacheRead:i,cacheWrite:a,totalTokens:o+s+i+a,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return t(n,c),c}function F(e){if(e===null)return{stopReason:`stop`};switch(e){case`stop`:case`end`:return{stopReason:`stop`};case`length`:return{stopReason:`length`};case`function_call`:case`tool_calls`:return{stopReason:`toolUse`};case`content_filter`:return{stopReason:`error`,errorMessage:`Provider finish_reason: content_filter`};case`network_error`:return{stopReason:`error`,errorMessage:`Provider finish_reason: network_error`};default:return{stopReason:`error`,errorMessage:`Provider finish_reason: ${e}`}}}function I(e){let t=e.provider,n=e.baseUrl,r=t===`zai`||n.includes(`api.z.ai`),i=t===`together`||n.includes(`api.together.ai`)||n.includes(`api.together.xyz`),a=t===`moonshotai`||t===`moonshotai-cn`||n.includes(`api.moonshot.`),o=t===`cloudflare-workers-ai`||n.includes(`api.cloudflare.com`),s=t===`cloudflare-ai-gateway`||n.includes(`gateway.ai.cloudflare.com`),c=t===`cerebras`||n.includes(`cerebras.ai`)||t===`xai`||n.includes(`api.x.ai`)||i||n.includes(`chutes.ai`)||n.includes(`deepseek.com`)||r||a||t===`opencode`||n.includes(`opencode.ai`)||o||s,l=n.includes(`chutes.ai`)||a||s||i,u=t===`xai`||n.includes(`api.x.ai`),d=t===`deepseek`||n.includes(`deepseek.com`),f=t===`openrouter`&&e.id.startsWith(`anthropic/`)?`anthropic`:void 0;return{supportsStore:!c,supportsDeveloperRole:!c,supportsReasoningEffort:!u&&!r&&!a&&!i&&!s,supportsUsageInStreaming:!0,maxTokensField:l?`max_tokens`:`max_completion_tokens`,requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,requiresReasoningContentOnAssistantMessages:d,thinkingFormat:d?`deepseek`:r?`zai`:i?`together`:t===`openrouter`||n.includes(`openrouter.ai`)?`openrouter`:`openai`,openRouterRouting:{},vercelGatewayRouting:{},zaiToolStream:!1,supportsStrictMode:!a&&!i&&!s,cacheControlFormat:f,sendSessionAffinityHeaders:!1,supportsLongCacheRetention:!(i||o||s)}}function L(e){let t=I(e);return e.compat?{supportsStore:e.compat.supportsStore??t.supportsStore,supportsDeveloperRole:e.compat.supportsDeveloperRole??t.supportsDeveloperRole,supportsReasoningEffort:e.compat.supportsReasoningEffort??t.supportsReasoningEffort,supportsUsageInStreaming:e.compat.supportsUsageInStreaming??t.supportsUsageInStreaming,maxTokensField:e.compat.maxTokensField??t.maxTokensField,requiresToolResultName:e.compat.requiresToolResultName??t.requiresToolResultName,requiresAssistantAfterToolResult:e.compat.requiresAssistantAfterToolResult??t.requiresAssistantAfterToolResult,requiresThinkingAsText:e.compat.requiresThinkingAsText??t.requiresThinkingAsText,requiresReasoningContentOnAssistantMessages:e.compat.requiresReasoningContentOnAssistantMessages??t.requiresReasoningContentOnAssistantMessages,thinkingFormat:e.compat.thinkingFormat??t.thinkingFormat,openRouterRouting:e.compat.openRouterRouting??{},vercelGatewayRouting:e.compat.vercelGatewayRouting??t.vercelGatewayRouting,zaiToolStream:e.compat.zaiToolStream??t.zaiToolStream,supportsStrictMode:e.compat.supportsStrictMode??t.supportsStrictMode,cacheControlFormat:e.compat.cacheControlFormat??t.cacheControlFormat,sendSessionAffinityHeaders:e.compat.sendSessionAffinityHeaders??t.sendSessionAffinityHeaders,supportsLongCacheRetention:e.compat.supportsLongCacheRetention??t.supportsLongCacheRetention}:t}export{M as convertMessages,b as streamOpenAICompletions,x as streamSimpleOpenAICompletions};
@@ -0,0 +1 @@
1
+ import{B as e,U as t,a as n,b as r,i,l as a,n as o,q as s,r as c,s as l}from"./kernel-worker-B_VVPiix.js";import{n as u,r as d,t as f}from"./openai-responses-shared-CCsAMrca.js";const p=new Set([`openai`,`openai-codex`,`opencode`]);function m(e){return e||(typeof process<`u`&&{}.PI_CACHE_RETENTION===`long`?`long`:`short`)}function h(e){return{sendSessionIdHeader:e.compat?.sendSessionIdHeader??!0,supportsLongCacheRetention:e.compat?.supportsLongCacheRetention??!0}}function g(e,t){return t===`long`&&e.supportsLongCacheRetention?`24h`:void 0}function _(e){if(e instanceof Error){let t=e.status,n=typeof t==`number`?t:void 0;return n===void 0?e.message:`OpenAI API error (${n}): ${e.message}`}try{return JSON.stringify(e)}catch{return String(e)}}const v=(t,n,r)=>{let i=new e;return(async()=>{let e={role:`assistant`,content:[],api:t.api,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let a=r?.apiKey||s(t.provider)||``,o=m(r?.cacheRetention)===`none`?void 0:r?.sessionId,c=b(t,n,a,r?.headers,o),u=x(t,n,r),f=await r?.onPayload?.(u,t);f!==void 0&&(u=f);let p={...r?.signal?{signal:r.signal}:{},...r?.timeoutMs===void 0?{}:{timeout:r.timeoutMs},...r?.maxRetries===void 0?{}:{maxRetries:r.maxRetries}},{data:h,response:g}=await c.responses.create(u,p).withResponse();if(await r?.onResponse?.({status:g.status,headers:l(g.headers)},t),i.push({type:`start`,partial:e}),await d(h,e,i,t,{serviceTier:r?.serviceTier,applyServiceTierPricing:(e,n)=>C(e,n,t)}),r?.signal?.aborted)throw Error(`Request was aborted`);if(e.stopReason===`aborted`||e.stopReason===`error`)throw Error(`An unknown error occurred`);i.push({type:`done`,reason:e.stopReason,message:e}),i.end()}catch(t){for(let t of e.content)delete t.index,delete t.partialJson;e.stopReason=r?.signal?.aborted?`aborted`:`error`,e.errorMessage=_(t),i.push({type:`error`,reason:e.stopReason,error:e}),i.end()}})(),i},y=(e,n,i)=>{let a=i?.apiKey||s(e.provider);if(!a)throw Error(`No API key for provider: ${e.provider}`);let o=r(e,i,a),c=i?.reasoning?t(e,i.reasoning):void 0,l=c===`off`?void 0:c;return v(e,n,{...o,reasoningEffort:l})};function b(e,t,r,s,l){if(!r){if(!{}.OPENAI_API_KEY)throw Error(`OpenAI API key is required. Set OPENAI_API_KEY environment variable or pass it as an argument.`);r={}.OPENAI_API_KEY}let u=h(e),d={...e.headers};if(e.provider===`github-copilot`){let e=c(t.messages),n=o({messages:t.messages,hasImages:e});Object.assign(d,n)}l&&(u.sendSessionIdHeader&&(d.session_id=l),d[`x-client-request-id`]=l),s&&Object.assign(d,s);let f=e.provider===`cloudflare-ai-gateway`?{...d,Authorization:d.Authorization??null,"cf-aig-authorization":`Bearer ${r}`}:d;return new a({apiKey:r,baseURL:i(e.provider)?n(e):e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:f})}function x(e,t,n){let r=f(e,t,p),i=m(n?.cacheRetention),a=h(e),o={model:e.id,input:r,stream:!0,prompt_cache_key:i===`none`?void 0:n?.sessionId,prompt_cache_retention:g(a,i),store:!1};return n?.maxTokens&&(o.max_output_tokens=n?.maxTokens),n?.temperature!==void 0&&(o.temperature=n?.temperature),n?.serviceTier!==void 0&&(o.service_tier=n.serviceTier),t.tools&&t.tools.length>0&&(o.tools=u(t.tools)),e.reasoning&&(n?.reasoningEffort||n?.reasoningSummary?(o.reasoning={effort:n?.reasoningEffort?e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort:`medium`,summary:n?.reasoningSummary||`auto`},o.include=[`reasoning.encrypted_content`]):e.provider!==`github-copilot`&&e.thinkingLevelMap?.off!==null&&(o.reasoning={effort:e.thinkingLevelMap?.off??`none`})),o}function S(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function C(e,t,n){let r=S(n,t);r!==1&&(e.cost.input*=r,e.cost.output*=r,e.cost.cacheRead*=r,e.cost.cacheWrite*=r,e.cost.total=e.cost.input+e.cost.output+e.cost.cacheRead+e.cost.cacheWrite)}export{v as streamOpenAIResponses,y as streamSimpleOpenAIResponses};
@@ -1 +1 @@
1
- import{J as e,V as t,W as n,b as r}from"./main-D5X3QDGB.js";import{t as i}from"./headers-DO1UzNKu.js";import{i as a,n as o,r as s,t as c}from"./github-copilot-headers-DZtWWv8W.js";import{n as l}from"./openai-Cn5LRPCm.js";import{n as u,r as d,t as f}from"./openai-responses-shared-Dzt049Et.js";var p=new Set([`openai`,`openai-codex`,`opencode`]);function m(e){return e||(typeof process<`u`&&{}.PI_CACHE_RETENTION===`long`?`long`:`short`)}function h(e){return{sendSessionIdHeader:e.compat?.sendSessionIdHeader??!0,supportsLongCacheRetention:e.compat?.supportsLongCacheRetention??!0}}function g(e,t){return t===`long`&&e.supportsLongCacheRetention?`24h`:void 0}function _(e){if(e instanceof Error){let t=e.status,n=typeof t==`number`?t:void 0;return n===void 0?e.message:`OpenAI API error (${n}): ${e.message}`}try{return JSON.stringify(e)}catch{return String(e)}}var v=(n,r,a)=>{let o=new t;return(async()=>{let t={role:`assistant`,content:[],api:n.api,provider:n.provider,model:n.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let s=a?.apiKey||e(n.provider)||``,c=m(a?.cacheRetention)===`none`?void 0:a?.sessionId,l=b(n,r,s,a?.headers,c),u=x(n,r,a),f=await a?.onPayload?.(u,n);f!==void 0&&(u=f);let p={...a?.signal?{signal:a.signal}:{},...a?.timeoutMs===void 0?{}:{timeout:a.timeoutMs},...a?.maxRetries===void 0?{}:{maxRetries:a.maxRetries}},{data:h,response:g}=await l.responses.create(u,p).withResponse();if(await a?.onResponse?.({status:g.status,headers:i(g.headers)},n),o.push({type:`start`,partial:t}),await d(h,t,o,n,{serviceTier:a?.serviceTier,applyServiceTierPricing:(e,t)=>C(e,t,n)}),a?.signal?.aborted)throw Error(`Request was aborted`);if(t.stopReason===`aborted`||t.stopReason===`error`)throw Error(`An unknown error occurred`);o.push({type:`done`,reason:t.stopReason,message:t}),o.end()}catch(e){for(let e of t.content)delete e.index,delete e.partialJson;t.stopReason=a?.signal?.aborted?`aborted`:`error`,t.errorMessage=_(e),o.push({type:`error`,reason:t.stopReason,error:t}),o.end()}})(),o},y=(t,i,a)=>{let o=a?.apiKey||e(t.provider);if(!o)throw Error(`No API key for provider: ${t.provider}`);let s=r(t,a,o),c=a?.reasoning?n(t,a.reasoning):void 0,l=c===`off`?void 0:c;return v(t,i,{...s,reasoningEffort:l})};function b(e,t,n,r,i){if(!n){if(!{}.OPENAI_API_KEY)throw Error(`OpenAI API key is required. Set OPENAI_API_KEY environment variable or pass it as an argument.`);n={}.OPENAI_API_KEY}let u=h(e),d={...e.headers};if(e.provider===`github-copilot`){let e=o(t.messages),n=c({messages:t.messages,hasImages:e});Object.assign(d,n)}i&&(u.sendSessionIdHeader&&(d.session_id=i),d[`x-client-request-id`]=i),r&&Object.assign(d,r);let f=e.provider===`cloudflare-ai-gateway`?{...d,Authorization:d.Authorization??null,"cf-aig-authorization":`Bearer ${n}`}:d;return new l({apiKey:n,baseURL:s(e.provider)?a(e):e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:f})}function x(e,t,n){let r=f(e,t,p),i=m(n?.cacheRetention),a=h(e),o={model:e.id,input:r,stream:!0,prompt_cache_key:i===`none`?void 0:n?.sessionId,prompt_cache_retention:g(a,i),store:!1};return n?.maxTokens&&(o.max_output_tokens=n?.maxTokens),n?.temperature!==void 0&&(o.temperature=n?.temperature),n?.serviceTier!==void 0&&(o.service_tier=n.serviceTier),t.tools&&t.tools.length>0&&(o.tools=u(t.tools)),e.reasoning&&(n?.reasoningEffort||n?.reasoningSummary?(o.reasoning={effort:n?.reasoningEffort?e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort:`medium`,summary:n?.reasoningSummary||`auto`},o.include=[`reasoning.encrypted_content`]):e.provider!==`github-copilot`&&e.thinkingLevelMap?.off!==null&&(o.reasoning={effort:e.thinkingLevelMap?.off??`none`})),o}function S(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function C(e,t,n){let r=S(n,t);r!==1&&(e.cost.input*=r,e.cost.output*=r,e.cost.cacheRead*=r,e.cost.cacheWrite*=r,e.cost.total=e.cost.input+e.cost.output+e.cost.cacheRead+e.cost.cacheWrite)}export{v as streamOpenAIResponses,y as streamSimpleOpenAIResponses};
1
+ import{K as e,U as t,X as n,b as r}from"./main-QvcnxvtS.js";import{t as i}from"./headers-DO1UzNKu.js";import{i as a,n as o,r as s,t as c}from"./github-copilot-headers-DZtWWv8W.js";import{n as l}from"./openai-Cn5LRPCm.js";import{n as u,r as d,t as f}from"./openai-responses-shared-Bm2eSiHi.js";var p=new Set([`openai`,`openai-codex`,`opencode`]);function m(e){return e||(typeof process<`u`&&{}.PI_CACHE_RETENTION===`long`?`long`:`short`)}function h(e){return{sendSessionIdHeader:e.compat?.sendSessionIdHeader??!0,supportsLongCacheRetention:e.compat?.supportsLongCacheRetention??!0}}function g(e,t){return t===`long`&&e.supportsLongCacheRetention?`24h`:void 0}function _(e){if(e instanceof Error){let t=e.status,n=typeof t==`number`?t:void 0;return n===void 0?e.message:`OpenAI API error (${n}): ${e.message}`}try{return JSON.stringify(e)}catch{return String(e)}}var v=(e,r,a)=>{let o=new t;return(async()=>{let t={role:`assistant`,content:[],api:e.api,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`stop`,timestamp:Date.now()};try{let s=a?.apiKey||n(e.provider)||``,c=m(a?.cacheRetention)===`none`?void 0:a?.sessionId,l=b(e,r,s,a?.headers,c),u=x(e,r,a),f=await a?.onPayload?.(u,e);f!==void 0&&(u=f);let p={...a?.signal?{signal:a.signal}:{},...a?.timeoutMs===void 0?{}:{timeout:a.timeoutMs},...a?.maxRetries===void 0?{}:{maxRetries:a.maxRetries}},{data:h,response:g}=await l.responses.create(u,p).withResponse();if(await a?.onResponse?.({status:g.status,headers:i(g.headers)},e),o.push({type:`start`,partial:t}),await d(h,t,o,e,{serviceTier:a?.serviceTier,applyServiceTierPricing:(t,n)=>C(t,n,e)}),a?.signal?.aborted)throw Error(`Request was aborted`);if(t.stopReason===`aborted`||t.stopReason===`error`)throw Error(`An unknown error occurred`);o.push({type:`done`,reason:t.stopReason,message:t}),o.end()}catch(e){for(let e of t.content)delete e.index,delete e.partialJson;t.stopReason=a?.signal?.aborted?`aborted`:`error`,t.errorMessage=_(e),o.push({type:`error`,reason:t.stopReason,error:t}),o.end()}})(),o},y=(t,i,a)=>{let o=a?.apiKey||n(t.provider);if(!o)throw Error(`No API key for provider: ${t.provider}`);let s=r(t,a,o),c=a?.reasoning?e(t,a.reasoning):void 0,l=c===`off`?void 0:c;return v(t,i,{...s,reasoningEffort:l})};function b(e,t,n,r,i){if(!n){if(!{}.OPENAI_API_KEY)throw Error(`OpenAI API key is required. Set OPENAI_API_KEY environment variable or pass it as an argument.`);n={}.OPENAI_API_KEY}let u=h(e),d={...e.headers};if(e.provider===`github-copilot`){let e=o(t.messages),n=c({messages:t.messages,hasImages:e});Object.assign(d,n)}i&&(u.sendSessionIdHeader&&(d.session_id=i),d[`x-client-request-id`]=i),r&&Object.assign(d,r);let f=e.provider===`cloudflare-ai-gateway`?{...d,Authorization:d.Authorization??null,"cf-aig-authorization":`Bearer ${n}`}:d;return new l({apiKey:n,baseURL:s(e.provider)?a(e):e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:f})}function x(e,t,n){let r=f(e,t,p),i=m(n?.cacheRetention),a=h(e),o={model:e.id,input:r,stream:!0,prompt_cache_key:i===`none`?void 0:n?.sessionId,prompt_cache_retention:g(a,i),store:!1};return n?.maxTokens&&(o.max_output_tokens=n?.maxTokens),n?.temperature!==void 0&&(o.temperature=n?.temperature),n?.serviceTier!==void 0&&(o.service_tier=n.serviceTier),t.tools&&t.tools.length>0&&(o.tools=u(t.tools)),e.reasoning&&(n?.reasoningEffort||n?.reasoningSummary?(o.reasoning={effort:n?.reasoningEffort?e.thinkingLevelMap?.[n.reasoningEffort]??n.reasoningEffort:`medium`,summary:n?.reasoningSummary||`auto`},o.include=[`reasoning.encrypted_content`]):e.provider!==`github-copilot`&&e.thinkingLevelMap?.off!==null&&(o.reasoning={effort:e.thinkingLevelMap?.off??`none`})),o}function S(e,t){switch(t){case`flex`:return .5;case`priority`:return e.id===`gpt-5.5`?2.5:2;default:return 1}}function C(e,t,n){let r=S(n,t);r!==1&&(e.cost.input*=r,e.cost.output*=r,e.cost.cacheRead*=r,e.cost.cacheWrite*=r,e.cost.total=e.cost.input+e.cost.output+e.cost.cacheRead+e.cost.cacheWrite)}export{v as streamOpenAIResponses,y as streamSimpleOpenAIResponses};
@@ -1,4 +1,4 @@
1
- import{A as e,U as t,x as n}from"./main-D5X3QDGB.js";import{t as r}from"./sanitize-unicode-DmIE6hZJ.js";import{t as i}from"./hash-yQufAZII.js";function a(e,t){let n={v:1,id:e};return t&&(n.phase=t),JSON.stringify(n)}function o(e){if(e){if(e.startsWith(`{`))try{let t=JSON.parse(e);if(t.v===1&&typeof t.id==`string`)return t.phase===`commentary`||t.phase===`final_answer`?{id:t.id,phase:t.phase}:{id:t.id}}catch{}return{id:e}}}function s(e,t,a,s){let c=[],l=e=>{let t=e.replace(/[^a-zA-Z0-9_-]/g,`_`);return(t.length>64?t.slice(0,64):t).replace(/_+$/,``)},u=e=>{let t=`fc_${i(e)}`;return t.length>64?t.slice(0,64):t},d=n(t.messages,e,(t,n,r)=>{if(!a.has(e.provider)||!t.includes(`|`))return l(t);let[i,o]=t.split(`|`),s=l(i),c=r.provider!==e.provider||r.api!==e.api?u(o):l(o);return c.startsWith(`fc_`)||(c=l(`fc_${c}`)),`${s}|${c}`});if((s?.includeSystemPrompt??!0)&&t.systemPrompt){let n=e.reasoning?`developer`:`system`;c.push({role:n,content:r(t.systemPrompt)})}let f=0;for(let t of d){if(t.role===`user`)if(typeof t.content==`string`)c.push({role:`user`,content:[{type:`input_text`,text:r(t.content)}]});else{let e=t.content.map(e=>e.type===`text`?{type:`input_text`,text:r(e.text)}:{type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`});if(e.length===0)continue;c.push({role:`user`,content:e})}else if(t.role===`assistant`){let n=[],a=t,s=a.model!==e.id&&a.provider===e.provider&&a.api===e.api;for(let e of t.content)if(e.type===`thinking`){if(e.thinkingSignature){let t=JSON.parse(e.thinkingSignature);n.push(t)}}else if(e.type===`text`){let t=e,a=o(t.textSignature),s=a?.id;s?s.length>64&&(s=`msg_${i(s)}`):s=`msg_${f}`,n.push({type:`message`,role:`assistant`,content:[{type:`output_text`,text:r(t.text),annotations:[]}],status:`completed`,id:s,phase:a?.phase})}else if(e.type===`toolCall`){let t=e,[r,i]=t.id.split(`|`),a=i;s&&a?.startsWith(`fc_`)&&(a=void 0),n.push({type:`function_call`,id:a,call_id:r,name:t.name,arguments:JSON.stringify(t.arguments)})}if(n.length===0)continue;c.push(...n)}else if(t.role===`toolResult`){let n=t.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
1
+ import{A as e,G as t,x as n}from"./main-QvcnxvtS.js";import{t as r}from"./sanitize-unicode-DmIE6hZJ.js";import{t as i}from"./hash-yQufAZII.js";function a(e,t){let n={v:1,id:e};return t&&(n.phase=t),JSON.stringify(n)}function o(e){if(e){if(e.startsWith(`{`))try{let t=JSON.parse(e);if(t.v===1&&typeof t.id==`string`)return t.phase===`commentary`||t.phase===`final_answer`?{id:t.id,phase:t.phase}:{id:t.id}}catch{}return{id:e}}}function s(e,t,a,s){let c=[],l=e=>{let t=e.replace(/[^a-zA-Z0-9_-]/g,`_`);return(t.length>64?t.slice(0,64):t).replace(/_+$/,``)},u=e=>{let t=`fc_${i(e)}`;return t.length>64?t.slice(0,64):t},d=n(t.messages,e,(t,n,r)=>{if(!a.has(e.provider)||!t.includes(`|`))return l(t);let[i,o]=t.split(`|`),s=l(i),c=r.provider!==e.provider||r.api!==e.api?u(o):l(o);return c.startsWith(`fc_`)||(c=l(`fc_${c}`)),`${s}|${c}`});if((s?.includeSystemPrompt??!0)&&t.systemPrompt){let n=e.reasoning?`developer`:`system`;c.push({role:n,content:r(t.systemPrompt)})}let f=0;for(let t of d){if(t.role===`user`)if(typeof t.content==`string`)c.push({role:`user`,content:[{type:`input_text`,text:r(t.content)}]});else{let e=t.content.map(e=>e.type===`text`?{type:`input_text`,text:r(e.text)}:{type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`});if(e.length===0)continue;c.push({role:`user`,content:e})}else if(t.role===`assistant`){let n=[],a=t,s=a.model!==e.id&&a.provider===e.provider&&a.api===e.api;for(let e of t.content)if(e.type===`thinking`){if(e.thinkingSignature){let t=JSON.parse(e.thinkingSignature);n.push(t)}}else if(e.type===`text`){let t=e,a=o(t.textSignature),s=a?.id;s?s.length>64&&(s=`msg_${i(s)}`):s=`msg_${f}`,n.push({type:`message`,role:`assistant`,content:[{type:`output_text`,text:r(t.text),annotations:[]}],status:`completed`,id:s,phase:a?.phase})}else if(e.type===`toolCall`){let t=e,[r,i]=t.id.split(`|`),a=i;s&&a?.startsWith(`fc_`)&&(a=void 0),n.push({type:`function_call`,id:a,call_id:r,name:t.name,arguments:JSON.stringify(t.arguments)})}if(n.length===0)continue;c.push(...n)}else if(t.role===`toolResult`){let n=t.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
2
2
  `),i=t.content.some(e=>e.type===`image`),a=n.length>0,[o]=t.toolCallId.split(`|`),s;if(i&&e.input.includes(`image`)){let e=[];a&&e.push({type:`input_text`,text:r(n)});for(let n of t.content)n.type===`image`&&e.push({type:`input_image`,detail:`auto`,image_url:`data:${n.mimeType};base64,${n.data}`});s=e}else s=r(a?n:`(see attached image)`);c.push({type:`function_call_output`,call_id:o,output:s})}f++}return c}function c(e,t){let n=t?.strict===void 0?!1:t.strict;return e.map(e=>({type:`function`,name:e.name,description:e.description,parameters:e.parameters,strict:n}))}async function l(n,r,i,o,s){let c=null,l=null,d=r.content,f=()=>d.length-1;for await(let d of n)if(d.type===`response.created`)r.responseId=d.response.id;else if(d.type===`response.output_item.added`){let e=d.item;e.type===`reasoning`?(c=e,l={type:`thinking`,thinking:``},r.content.push(l),i.push({type:`thinking_start`,contentIndex:f(),partial:r})):e.type===`message`?(c=e,l={type:`text`,text:``},r.content.push(l),i.push({type:`text_start`,contentIndex:f(),partial:r})):e.type===`function_call`&&(c=e,l={type:`toolCall`,id:`${e.call_id}|${e.id}`,name:e.name,arguments:{},partialJson:e.arguments||``},r.content.push(l),i.push({type:`toolcall_start`,contentIndex:f(),partial:r}))}else if(d.type===`response.reasoning_summary_part.added`)c&&c.type===`reasoning`&&(c.summary=c.summary||[],c.summary.push(d.part));else if(d.type===`response.reasoning_summary_text.delta`){if(c?.type===`reasoning`&&l?.type===`thinking`){c.summary=c.summary||[];let e=c.summary[c.summary.length-1];e&&(l.thinking+=d.delta,e.text+=d.delta,i.push({type:`thinking_delta`,contentIndex:f(),delta:d.delta,partial:r}))}}else if(d.type===`response.reasoning_summary_part.done`){if(c?.type===`reasoning`&&l?.type===`thinking`){c.summary=c.summary||[];let e=c.summary[c.summary.length-1];e&&(l.thinking+=`
3
3
 
4
4
  `,e.text+=`
@@ -1,12 +1,12 @@
1
- import{B as e,D as t,o as n,x as r}from"./kernel-worker-DAzmsd_P.js";import{t as i}from"./hash-yQufAZII.js";function a(e,t){let n={v:1,id:e};return t&&(n.phase=t),JSON.stringify(n)}function o(e){if(e){if(e.startsWith(`{`))try{let t=JSON.parse(e);if(t.v===1&&typeof t.id==`string`)return t.phase===`commentary`||t.phase===`final_answer`?{id:t.id,phase:t.phase}:{id:t.id}}catch{}return{id:e}}}function s(e,t,a,s){let c=[],l=e=>{let t=e.replace(/[^a-zA-Z0-9_-]/g,`_`);return(t.length>64?t.slice(0,64):t).replace(/_+$/,``)},u=e=>{let t=`fc_${i(e)}`;return t.length>64?t.slice(0,64):t},d=r(t.messages,e,(t,n,r)=>{if(!a.has(e.provider)||!t.includes(`|`))return l(t);let[i,o]=t.split(`|`),s=l(i),c=r.provider!==e.provider||r.api!==e.api?u(o):l(o);return c.startsWith(`fc_`)||(c=l(`fc_${c}`)),`${s}|${c}`});if((s?.includeSystemPrompt??!0)&&t.systemPrompt){let r=e.reasoning?`developer`:`system`;c.push({role:r,content:n(t.systemPrompt)})}let f=0;for(let t of d){if(t.role===`user`)if(typeof t.content==`string`)c.push({role:`user`,content:[{type:`input_text`,text:n(t.content)}]});else{let e=t.content.map(e=>e.type===`text`?{type:`input_text`,text:n(e.text)}:{type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`});if(e.length===0)continue;c.push({role:`user`,content:e})}else if(t.role===`assistant`){let r=[],a=t,s=a.model!==e.id&&a.provider===e.provider&&a.api===e.api;for(let e of t.content)if(e.type===`thinking`){if(e.thinkingSignature){let t=JSON.parse(e.thinkingSignature);r.push(t)}}else if(e.type===`text`){let t=e,a=o(t.textSignature),s=a?.id;s?s.length>64&&(s=`msg_${i(s)}`):s=`msg_${f}`,r.push({type:`message`,role:`assistant`,content:[{type:`output_text`,text:n(t.text),annotations:[]}],status:`completed`,id:s,phase:a?.phase})}else if(e.type===`toolCall`){let t=e,[n,i]=t.id.split(`|`),a=i;s&&a?.startsWith(`fc_`)&&(a=void 0),r.push({type:`function_call`,id:a,call_id:n,name:t.name,arguments:JSON.stringify(t.arguments)})}if(r.length===0)continue;c.push(...r)}else if(t.role===`toolResult`){let r=t.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
1
+ import{D as e,H as t,o as n,x as r}from"./kernel-worker-B_VVPiix.js";import{t as i}from"./hash-yQufAZII.js";function a(e,t){let n={v:1,id:e};return t&&(n.phase=t),JSON.stringify(n)}function o(e){if(e){if(e.startsWith(`{`))try{let t=JSON.parse(e);if(t.v===1&&typeof t.id==`string`)return t.phase===`commentary`||t.phase===`final_answer`?{id:t.id,phase:t.phase}:{id:t.id}}catch{}return{id:e}}}function s(e,t,a,s){let c=[],l=e=>{let t=e.replace(/[^a-zA-Z0-9_-]/g,`_`);return(t.length>64?t.slice(0,64):t).replace(/_+$/,``)},u=e=>{let t=`fc_${i(e)}`;return t.length>64?t.slice(0,64):t},d=r(t.messages,e,(t,n,r)=>{if(!a.has(e.provider)||!t.includes(`|`))return l(t);let[i,o]=t.split(`|`),s=l(i),c=r.provider!==e.provider||r.api!==e.api?u(o):l(o);return c.startsWith(`fc_`)||(c=l(`fc_${c}`)),`${s}|${c}`});if((s?.includeSystemPrompt??!0)&&t.systemPrompt){let r=e.reasoning?`developer`:`system`;c.push({role:r,content:n(t.systemPrompt)})}let f=0;for(let t of d){if(t.role===`user`)if(typeof t.content==`string`)c.push({role:`user`,content:[{type:`input_text`,text:n(t.content)}]});else{let e=t.content.map(e=>e.type===`text`?{type:`input_text`,text:n(e.text)}:{type:`input_image`,detail:`auto`,image_url:`data:${e.mimeType};base64,${e.data}`});if(e.length===0)continue;c.push({role:`user`,content:e})}else if(t.role===`assistant`){let r=[],a=t,s=a.model!==e.id&&a.provider===e.provider&&a.api===e.api;for(let e of t.content)if(e.type===`thinking`){if(e.thinkingSignature){let t=JSON.parse(e.thinkingSignature);r.push(t)}}else if(e.type===`text`){let t=e,a=o(t.textSignature),s=a?.id;s?s.length>64&&(s=`msg_${i(s)}`):s=`msg_${f}`,r.push({type:`message`,role:`assistant`,content:[{type:`output_text`,text:n(t.text),annotations:[]}],status:`completed`,id:s,phase:a?.phase})}else if(e.type===`toolCall`){let t=e,[n,i]=t.id.split(`|`),a=i;s&&a?.startsWith(`fc_`)&&(a=void 0),r.push({type:`function_call`,id:a,call_id:n,name:t.name,arguments:JSON.stringify(t.arguments)})}if(r.length===0)continue;c.push(...r)}else if(t.role===`toolResult`){let r=t.content.filter(e=>e.type===`text`).map(e=>e.text).join(`
2
2
  `),i=t.content.some(e=>e.type===`image`),a=r.length>0,[o]=t.toolCallId.split(`|`),s;if(i&&e.input.includes(`image`)){let e=[];a&&e.push({type:`input_text`,text:n(r)});for(let n of t.content)n.type===`image`&&e.push({type:`input_image`,detail:`auto`,image_url:`data:${n.mimeType};base64,${n.data}`});s=e}else s=n(a?r:`(see attached image)`);c.push({type:`function_call_output`,call_id:o,output:s})}f++}return c}function c(e,t){let n=t?.strict===void 0?!1:t.strict;return e.map(e=>({type:`function`,name:e.name,description:e.description,parameters:e.parameters,strict:n}))}async function l(n,r,i,o,s){let c=null,l=null,d=r.content,f=()=>d.length-1;for await(let d of n)if(d.type===`response.created`)r.responseId=d.response.id;else if(d.type===`response.output_item.added`){let e=d.item;e.type===`reasoning`?(c=e,l={type:`thinking`,thinking:``},r.content.push(l),i.push({type:`thinking_start`,contentIndex:f(),partial:r})):e.type===`message`?(c=e,l={type:`text`,text:``},r.content.push(l),i.push({type:`text_start`,contentIndex:f(),partial:r})):e.type===`function_call`&&(c=e,l={type:`toolCall`,id:`${e.call_id}|${e.id}`,name:e.name,arguments:{},partialJson:e.arguments||``},r.content.push(l),i.push({type:`toolcall_start`,contentIndex:f(),partial:r}))}else if(d.type===`response.reasoning_summary_part.added`)c&&c.type===`reasoning`&&(c.summary=c.summary||[],c.summary.push(d.part));else if(d.type===`response.reasoning_summary_text.delta`){if(c?.type===`reasoning`&&l?.type===`thinking`){c.summary=c.summary||[];let e=c.summary[c.summary.length-1];e&&(l.thinking+=d.delta,e.text+=d.delta,i.push({type:`thinking_delta`,contentIndex:f(),delta:d.delta,partial:r}))}}else if(d.type===`response.reasoning_summary_part.done`){if(c?.type===`reasoning`&&l?.type===`thinking`){c.summary=c.summary||[];let e=c.summary[c.summary.length-1];e&&(l.thinking+=`
3
3
 
4
4
  `,e.text+=`
5
5
 
6
6
  `,i.push({type:`thinking_delta`,contentIndex:f(),delta:`
7
7
 
8
- `,partial:r}))}}else if(d.type===`response.reasoning_text.delta`)c?.type===`reasoning`&&l?.type===`thinking`&&(l.thinking+=d.delta,i.push({type:`thinking_delta`,contentIndex:f(),delta:d.delta,partial:r}));else if(d.type===`response.content_part.added`)c?.type===`message`&&(c.content=c.content||[],(d.part.type===`output_text`||d.part.type===`refusal`)&&c.content.push(d.part));else if(d.type===`response.output_text.delta`){if(c?.type===`message`&&l?.type===`text`){if(!c.content||c.content.length===0)continue;let e=c.content[c.content.length-1];e?.type===`output_text`&&(l.text+=d.delta,e.text+=d.delta,i.push({type:`text_delta`,contentIndex:f(),delta:d.delta,partial:r}))}}else if(d.type===`response.refusal.delta`){if(c?.type===`message`&&l?.type===`text`){if(!c.content||c.content.length===0)continue;let e=c.content[c.content.length-1];e?.type===`refusal`&&(l.text+=d.delta,e.refusal+=d.delta,i.push({type:`text_delta`,contentIndex:f(),delta:d.delta,partial:r}))}}else if(d.type===`response.function_call_arguments.delta`)c?.type===`function_call`&&l?.type===`toolCall`&&(l.partialJson+=d.delta,l.arguments=t(l.partialJson),i.push({type:`toolcall_delta`,contentIndex:f(),delta:d.delta,partial:r}));else if(d.type===`response.function_call_arguments.done`){if(c?.type===`function_call`&&l?.type===`toolCall`){let e=l.partialJson;if(l.partialJson=d.arguments,l.arguments=t(l.partialJson),d.arguments.startsWith(e)){let t=d.arguments.slice(e.length);t.length>0&&i.push({type:`toolcall_delta`,contentIndex:f(),delta:t,partial:r})}}}else if(d.type===`response.output_item.done`){let e=d.item;if(e.type===`reasoning`&&l?.type===`thinking`){let t=e.summary?.map(e=>e.text).join(`
8
+ `,partial:r}))}}else if(d.type===`response.reasoning_text.delta`)c?.type===`reasoning`&&l?.type===`thinking`&&(l.thinking+=d.delta,i.push({type:`thinking_delta`,contentIndex:f(),delta:d.delta,partial:r}));else if(d.type===`response.content_part.added`)c?.type===`message`&&(c.content=c.content||[],(d.part.type===`output_text`||d.part.type===`refusal`)&&c.content.push(d.part));else if(d.type===`response.output_text.delta`){if(c?.type===`message`&&l?.type===`text`){if(!c.content||c.content.length===0)continue;let e=c.content[c.content.length-1];e?.type===`output_text`&&(l.text+=d.delta,e.text+=d.delta,i.push({type:`text_delta`,contentIndex:f(),delta:d.delta,partial:r}))}}else if(d.type===`response.refusal.delta`){if(c?.type===`message`&&l?.type===`text`){if(!c.content||c.content.length===0)continue;let e=c.content[c.content.length-1];e?.type===`refusal`&&(l.text+=d.delta,e.refusal+=d.delta,i.push({type:`text_delta`,contentIndex:f(),delta:d.delta,partial:r}))}}else if(d.type===`response.function_call_arguments.delta`)c?.type===`function_call`&&l?.type===`toolCall`&&(l.partialJson+=d.delta,l.arguments=e(l.partialJson),i.push({type:`toolcall_delta`,contentIndex:f(),delta:d.delta,partial:r}));else if(d.type===`response.function_call_arguments.done`){if(c?.type===`function_call`&&l?.type===`toolCall`){let t=l.partialJson;if(l.partialJson=d.arguments,l.arguments=e(l.partialJson),d.arguments.startsWith(t)){let e=d.arguments.slice(t.length);e.length>0&&i.push({type:`toolcall_delta`,contentIndex:f(),delta:e,partial:r})}}}else if(d.type===`response.output_item.done`){let t=d.item;if(t.type===`reasoning`&&l?.type===`thinking`){let e=t.summary?.map(e=>e.text).join(`
9
9
 
10
- `)||``,n=e.content?.map(e=>e.text).join(`
10
+ `)||``,n=t.content?.map(e=>e.text).join(`
11
11
 
12
- `)||``;l.thinking=t||n||l.thinking,l.thinkingSignature=JSON.stringify(e),i.push({type:`thinking_end`,contentIndex:f(),content:l.thinking,partial:r}),l=null}else if(e.type===`message`&&l?.type===`text`)l.text=e.content.map(e=>e.type===`output_text`?e.text:e.refusal).join(``),l.textSignature=a(e.id,e.phase??void 0),i.push({type:`text_end`,contentIndex:f(),content:l.text,partial:r}),l=null;else if(e.type===`function_call`){let n=l?.type===`toolCall`&&l.partialJson?t(l.partialJson):t(e.arguments||`{}`),a;l?.type===`toolCall`?(l.arguments=n,delete l.partialJson,a=l):a={type:`toolCall`,id:`${e.call_id}|${e.id}`,name:e.name,arguments:n},l=null,i.push({type:`toolcall_end`,contentIndex:f(),toolCall:a,partial:r})}}else if(d.type===`response.completed`){let t=d.response;if(t?.id&&(r.responseId=t.id),t?.usage){let e=t.usage.input_tokens_details?.cached_tokens||0;r.usage={input:(t.usage.input_tokens||0)-e,output:t.usage.output_tokens||0,cacheRead:e,cacheWrite:0,totalTokens:t.usage.total_tokens||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}if(e(o,r.usage),s?.applyServiceTierPricing){let e=s.resolveServiceTier?s.resolveServiceTier(t?.service_tier,s.serviceTier):t?.service_tier??s.serviceTier;s.applyServiceTierPricing(r.usage,e)}r.stopReason=u(t?.status),r.content.some(e=>e.type===`toolCall`)&&r.stopReason===`stop`&&(r.stopReason=`toolUse`)}else if(d.type===`error`)throw Error(`Error Code ${d.code}: ${d.message}`||`Unknown error`);else if(d.type===`response.failed`){let e=d.response?.error,t=d.response?.incomplete_details,n=e?`${e.code||`unknown`}: ${e.message||`no message`}`:t?.reason?`incomplete: ${t.reason}`:`Unknown error (no error details in response)`;throw Error(n)}}function u(e){if(!e)return`stop`;switch(e){case`completed`:return`stop`;case`incomplete`:return`length`;case`failed`:case`cancelled`:return`error`;case`in_progress`:case`queued`:return`stop`;default:throw Error(`Unhandled stop reason: ${e}`)}}export{c as n,l as r,s as t};
12
+ `)||``;l.thinking=e||n||l.thinking,l.thinkingSignature=JSON.stringify(t),i.push({type:`thinking_end`,contentIndex:f(),content:l.thinking,partial:r}),l=null}else if(t.type===`message`&&l?.type===`text`)l.text=t.content.map(e=>e.type===`output_text`?e.text:e.refusal).join(``),l.textSignature=a(t.id,t.phase??void 0),i.push({type:`text_end`,contentIndex:f(),content:l.text,partial:r}),l=null;else if(t.type===`function_call`){let n=l?.type===`toolCall`&&l.partialJson?e(l.partialJson):e(t.arguments||`{}`),a;l?.type===`toolCall`?(l.arguments=n,delete l.partialJson,a=l):a={type:`toolCall`,id:`${t.call_id}|${t.id}`,name:t.name,arguments:n},l=null,i.push({type:`toolcall_end`,contentIndex:f(),toolCall:a,partial:r})}}else if(d.type===`response.completed`){let e=d.response;if(e?.id&&(r.responseId=e.id),e?.usage){let t=e.usage.input_tokens_details?.cached_tokens||0;r.usage={input:(e.usage.input_tokens||0)-t,output:e.usage.output_tokens||0,cacheRead:t,cacheWrite:0,totalTokens:e.usage.total_tokens||0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}if(t(o,r.usage),s?.applyServiceTierPricing){let t=s.resolveServiceTier?s.resolveServiceTier(e?.service_tier,s.serviceTier):e?.service_tier??s.serviceTier;s.applyServiceTierPricing(r.usage,t)}r.stopReason=u(e?.status),r.content.some(e=>e.type===`toolCall`)&&r.stopReason===`stop`&&(r.stopReason=`toolUse`)}else if(d.type===`error`)throw Error(`Error Code ${d.code}: ${d.message}`||`Unknown error`);else if(d.type===`response.failed`){let e=d.response?.error,t=d.response?.incomplete_details,n=e?`${e.code||`unknown`}: ${e.message||`no message`}`:t?.reason?`incomplete: ${t.reason}`:`Unknown error (no error details in response)`;throw Error(n)}}function u(e){if(!e)return`stop`;switch(e){case`completed`:return`stop`;case`incomplete`:return`length`;case`failed`:case`cancelled`:return`error`;case`in_progress`:case`queued`:return`stop`;default:throw Error(`Unhandled stop reason: ${e}`)}}export{c as n,l as r,s as t};
@@ -1 +1 @@
1
- import{G as e,l as t,o as n,s as r}from"./kernel-worker-DAzmsd_P.js";const i=async(t,n,i)=>{let c={api:t.api,provider:t.provider,model:t.id,output:[],stopReason:`stop`,timestamp:Date.now()};try{let l=i?.apiKey||e(t.provider);if(!l)throw Error(`No API key available for provider: ${t.provider}`);let u=a(t,l,i?.headers),d=o(t,n),f=await i?.onPayload?.(d,t);f!==void 0&&(d=f);let p={...i?.signal?{signal:i.signal}:{},...i?.timeoutMs===void 0?{}:{timeout:i.timeoutMs},...i?.maxRetries===void 0?{}:{maxRetries:i.maxRetries}},{data:m,response:h}=await u.chat.completions.create(d,p).withResponse();await i?.onResponse?.({status:h.status,headers:r(h.headers)},t);let g=m;c.responseId=g.id,g.usage&&(c.usage=s(g.usage,t));let _=g.choices[0];if(_){let e=_.message.content;typeof e==`string`&&e.length>0&&c.output.push({type:`text`,text:e});for(let e of _.message.images??[]){let t=typeof e.image_url==`string`?e.image_url:e.image_url?.url;if(!t?.startsWith(`data:`))continue;let n=t.match(/^data:([^;]+);base64,(.+)$/);n&&c.output.push({type:`image`,mimeType:n[1],data:n[2]})}}return c}catch(e){return c.stopReason=i?.signal?.aborted?`aborted`:`error`,c.errorMessage=e instanceof Error?e.message:JSON.stringify(e),c}};function a(e,n,r){return new t({apiKey:n,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:{...e.headers,...r}})}function o(e,t){let r=t.input.map(e=>e.type===`text`?{type:`text`,text:n(e.text)}:{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}});return{model:e.id,messages:[{role:`user`,content:r}],stream:!1,modalities:e.output.includes(`text`)?[`image`,`text`]:[`image`]}}function s(e,t){let n=e.prompt_tokens||0,r=e.prompt_tokens_details?.cached_tokens||0,i=e.prompt_tokens_details?.cache_write_tokens||0,a=i>0?Math.max(0,r-i):r,o=Math.max(0,n-a-i),s=e.completion_tokens||0,c={input:o,output:s,cacheRead:a,cacheWrite:i,totalTokens:o+s+a+i,cost:{input:t.cost.input/1e6*o,output:t.cost.output/1e6*s,cacheRead:t.cost.cacheRead/1e6*a,cacheWrite:t.cost.cacheWrite/1e6*i,total:0}};return c.cost.total=c.cost.input+c.cost.output+c.cost.cacheRead+c.cost.cacheWrite,c}export{i as generateImagesOpenRouter};
1
+ import{l as e,o as t,q as n,s as r}from"./kernel-worker-B_VVPiix.js";const i=async(e,t,i)=>{let c={api:e.api,provider:e.provider,model:e.id,output:[],stopReason:`stop`,timestamp:Date.now()};try{let l=i?.apiKey||n(e.provider);if(!l)throw Error(`No API key available for provider: ${e.provider}`);let u=a(e,l,i?.headers),d=o(e,t),f=await i?.onPayload?.(d,e);f!==void 0&&(d=f);let p={...i?.signal?{signal:i.signal}:{},...i?.timeoutMs===void 0?{}:{timeout:i.timeoutMs},...i?.maxRetries===void 0?{}:{maxRetries:i.maxRetries}},{data:m,response:h}=await u.chat.completions.create(d,p).withResponse();await i?.onResponse?.({status:h.status,headers:r(h.headers)},e);let g=m;c.responseId=g.id,g.usage&&(c.usage=s(g.usage,e));let _=g.choices[0];if(_){let e=_.message.content;typeof e==`string`&&e.length>0&&c.output.push({type:`text`,text:e});for(let e of _.message.images??[]){let t=typeof e.image_url==`string`?e.image_url:e.image_url?.url;if(!t?.startsWith(`data:`))continue;let n=t.match(/^data:([^;]+);base64,(.+)$/);n&&c.output.push({type:`image`,mimeType:n[1],data:n[2]})}}return c}catch(e){return c.stopReason=i?.signal?.aborted?`aborted`:`error`,c.errorMessage=e instanceof Error?e.message:JSON.stringify(e),c}};function a(t,n,r){return new e({apiKey:n,baseURL:t.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:{...t.headers,...r}})}function o(e,n){let r=n.input.map(e=>e.type===`text`?{type:`text`,text:t(e.text)}:{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}});return{model:e.id,messages:[{role:`user`,content:r}],stream:!1,modalities:e.output.includes(`text`)?[`image`,`text`]:[`image`]}}function s(e,t){let n=e.prompt_tokens||0,r=e.prompt_tokens_details?.cached_tokens||0,i=e.prompt_tokens_details?.cache_write_tokens||0,a=i>0?Math.max(0,r-i):r,o=Math.max(0,n-a-i),s=e.completion_tokens||0,c={input:o,output:s,cacheRead:a,cacheWrite:i,totalTokens:o+s+a+i,cost:{input:t.cost.input/1e6*o,output:t.cost.output/1e6*s,cacheRead:t.cost.cacheRead/1e6*a,cacheWrite:t.cost.cacheWrite/1e6*i,total:0}};return c.cost.total=c.cost.input+c.cost.output+c.cost.cacheRead+c.cost.cacheWrite,c}export{i as generateImagesOpenRouter};
@@ -1 +1 @@
1
- import{J as e}from"./main-D5X3QDGB.js";import{t}from"./headers-DO1UzNKu.js";import{t as n}from"./sanitize-unicode-DmIE6hZJ.js";import{n as r}from"./openai-Cn5LRPCm.js";var i=async(n,r,i)=>{let c={api:n.api,provider:n.provider,model:n.id,output:[],stopReason:`stop`,timestamp:Date.now()};try{let l=i?.apiKey||e(n.provider);if(!l)throw Error(`No API key available for provider: ${n.provider}`);let u=a(n,l,i?.headers),d=o(n,r),f=await i?.onPayload?.(d,n);f!==void 0&&(d=f);let p={...i?.signal?{signal:i.signal}:{},...i?.timeoutMs===void 0?{}:{timeout:i.timeoutMs},...i?.maxRetries===void 0?{}:{maxRetries:i.maxRetries}},{data:m,response:h}=await u.chat.completions.create(d,p).withResponse();await i?.onResponse?.({status:h.status,headers:t(h.headers)},n);let g=m;c.responseId=g.id,g.usage&&(c.usage=s(g.usage,n));let _=g.choices[0];if(_){let e=_.message.content;typeof e==`string`&&e.length>0&&c.output.push({type:`text`,text:e});for(let e of _.message.images??[]){let t=typeof e.image_url==`string`?e.image_url:e.image_url?.url;if(!t?.startsWith(`data:`))continue;let n=t.match(/^data:([^;]+);base64,(.+)$/);n&&c.output.push({type:`image`,mimeType:n[1],data:n[2]})}}return c}catch(e){return c.stopReason=i?.signal?.aborted?`aborted`:`error`,c.errorMessage=e instanceof Error?e.message:JSON.stringify(e),c}};function a(e,t,n){return new r({apiKey:t,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:{...e.headers,...n}})}function o(e,t){let r=t.input.map(e=>e.type===`text`?{type:`text`,text:n(e.text)}:{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}});return{model:e.id,messages:[{role:`user`,content:r}],stream:!1,modalities:e.output.includes(`text`)?[`image`,`text`]:[`image`]}}function s(e,t){let n=e.prompt_tokens||0,r=e.prompt_tokens_details?.cached_tokens||0,i=e.prompt_tokens_details?.cache_write_tokens||0,a=i>0?Math.max(0,r-i):r,o=Math.max(0,n-a-i),s=e.completion_tokens||0,c={input:o,output:s,cacheRead:a,cacheWrite:i,totalTokens:o+s+a+i,cost:{input:t.cost.input/1e6*o,output:t.cost.output/1e6*s,cacheRead:t.cost.cacheRead/1e6*a,cacheWrite:t.cost.cacheWrite/1e6*i,total:0}};return c.cost.total=c.cost.input+c.cost.output+c.cost.cacheRead+c.cost.cacheWrite,c}export{i as generateImagesOpenRouter};
1
+ import{X as e}from"./main-QvcnxvtS.js";import{t}from"./headers-DO1UzNKu.js";import{t as n}from"./sanitize-unicode-DmIE6hZJ.js";import{n as r}from"./openai-Cn5LRPCm.js";var i=async(n,r,i)=>{let c={api:n.api,provider:n.provider,model:n.id,output:[],stopReason:`stop`,timestamp:Date.now()};try{let l=i?.apiKey||e(n.provider);if(!l)throw Error(`No API key available for provider: ${n.provider}`);let u=a(n,l,i?.headers),d=o(n,r),f=await i?.onPayload?.(d,n);f!==void 0&&(d=f);let p={...i?.signal?{signal:i.signal}:{},...i?.timeoutMs===void 0?{}:{timeout:i.timeoutMs},...i?.maxRetries===void 0?{}:{maxRetries:i.maxRetries}},{data:m,response:h}=await u.chat.completions.create(d,p).withResponse();await i?.onResponse?.({status:h.status,headers:t(h.headers)},n);let g=m;c.responseId=g.id,g.usage&&(c.usage=s(g.usage,n));let _=g.choices[0];if(_){let e=_.message.content;typeof e==`string`&&e.length>0&&c.output.push({type:`text`,text:e});for(let e of _.message.images??[]){let t=typeof e.image_url==`string`?e.image_url:e.image_url?.url;if(!t?.startsWith(`data:`))continue;let n=t.match(/^data:([^;]+);base64,(.+)$/);n&&c.output.push({type:`image`,mimeType:n[1],data:n[2]})}}return c}catch(e){return c.stopReason=i?.signal?.aborted?`aborted`:`error`,c.errorMessage=e instanceof Error?e.message:JSON.stringify(e),c}};function a(e,t,n){return new r({apiKey:t,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:{...e.headers,...n}})}function o(e,t){let r=t.input.map(e=>e.type===`text`?{type:`text`,text:n(e.text)}:{type:`image_url`,image_url:{url:`data:${e.mimeType};base64,${e.data}`}});return{model:e.id,messages:[{role:`user`,content:r}],stream:!1,modalities:e.output.includes(`text`)?[`image`,`text`]:[`image`]}}function s(e,t){let n=e.prompt_tokens||0,r=e.prompt_tokens_details?.cached_tokens||0,i=e.prompt_tokens_details?.cache_write_tokens||0,a=i>0?Math.max(0,r-i):r,o=Math.max(0,n-a-i),s=e.completion_tokens||0,c={input:o,output:s,cacheRead:a,cacheWrite:i,totalTokens:o+s+a+i,cost:{input:t.cost.input/1e6*o,output:t.cost.output/1e6*s,cacheRead:t.cost.cacheRead/1e6*a,cacheWrite:t.cost.cacheWrite/1e6*i,total:0}};return c.cost.total=c.cost.input+c.cost.output+c.cost.cacheRead+c.cost.cacheWrite,c}export{i as generateImagesOpenRouter};