@elqnt/agents 3.2.0 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{agent-models-C36pvpUb.d.mts → agent-models-DLQlC7N6.d.mts} +143 -2
- package/dist/{agent-models-C36pvpUb.d.ts → agent-models-DLQlC7N6.d.ts} +143 -2
- package/dist/api/index.d.mts +52 -5
- package/dist/api/index.d.ts +52 -5
- package/dist/api/index.js +12 -2
- package/dist/api/index.js.map +1 -1
- package/dist/api/index.mjs +11 -1
- package/dist/api/server.d.mts +4 -2
- package/dist/api/server.d.ts +4 -2
- package/dist/api/server.js +9 -1
- package/dist/api/server.js.map +1 -1
- package/dist/api/server.mjs +8 -0
- package/dist/api/server.mjs.map +1 -1
- package/dist/chunk-2JDVRL35.js +133 -0
- package/dist/chunk-2JDVRL35.js.map +1 -0
- package/dist/{chunk-V5GHDXSW.mjs → chunk-2QL3LLC3.mjs} +457 -153
- package/dist/chunk-2QL3LLC3.mjs.map +1 -0
- package/dist/chunk-3EHE4O57.mjs +133 -0
- package/dist/chunk-3EHE4O57.mjs.map +1 -0
- package/dist/{chunk-TPQS2XAW.js → chunk-3VM5TCJR.js} +8 -2
- package/dist/chunk-3VM5TCJR.js.map +1 -0
- package/dist/chunk-AF4QJD73.js +1075 -0
- package/dist/chunk-AF4QJD73.js.map +1 -0
- package/dist/{chunk-IUKM3T2S.js → chunk-BH2FIDFK.js} +49 -2
- package/dist/chunk-BH2FIDFK.js.map +1 -0
- package/dist/{chunk-FR422IHO.mjs → chunk-GOHHT3ET.mjs} +48 -1
- package/dist/chunk-GOHHT3ET.mjs.map +1 -0
- package/dist/{chunk-SXYTVNKJ.mjs → chunk-ZK27UGO6.mjs} +7 -1
- package/dist/{chunk-SXYTVNKJ.mjs.map → chunk-ZK27UGO6.mjs.map} +1 -1
- package/dist/hooks/index.d.mts +127 -70
- package/dist/hooks/index.d.ts +127 -70
- package/dist/hooks/index.js +4 -5
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +5 -6
- package/dist/index.d.mts +6 -4
- package/dist/index.d.ts +6 -4
- package/dist/index.js +19 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +22 -7
- package/dist/models/index.d.mts +2 -2
- package/dist/models/index.d.ts +2 -2
- package/dist/models/index.js +8 -2
- package/dist/models/index.js.map +1 -1
- package/dist/models/index.mjs +7 -1
- package/dist/{sandbox-BHeWPjLU.d.mts → sandbox-DOxoM2Ge.d.mts} +1 -0
- package/dist/{sandbox-BHeWPjLU.d.ts → sandbox-DOxoM2Ge.d.ts} +1 -0
- package/dist/transport/index.d.mts +36 -0
- package/dist/transport/index.d.ts +36 -0
- package/dist/transport/index.js +8 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/transport/index.mjs +8 -0
- package/dist/transport/index.mjs.map +1 -0
- package/dist/types-C2qd5f-E.d.mts +51 -0
- package/dist/types-k9PszCzt.d.ts +51 -0
- package/dist/utils/index.d.mts +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/package.json +10 -4
- package/dist/chunk-FR422IHO.mjs.map +0 -1
- package/dist/chunk-IUKM3T2S.js.map +0 -1
- package/dist/chunk-RGVWAFZP.js +0 -771
- package/dist/chunk-RGVWAFZP.js.map +0 -1
- package/dist/chunk-TPQS2XAW.js.map +0 -1
- package/dist/chunk-V5GHDXSW.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eloquent/eloquent/packages/@elqnt/agents/dist/chunk-AF4QJD73.js","../hooks/use-agents.ts","../hooks/use-options-ref.ts","../hooks/use-skills.ts","../hooks/use-sub-agents.ts","../hooks/use-tool-definitions.ts","../hooks/use-agent-jobs.ts","../hooks/use-widgets.ts","../hooks/use-skill-user-config.ts","../hooks/use-analytics.ts","../hooks/use-integrations.ts","../hooks/use-sandbox.ts","../hooks/use-scheduler-tasks.ts","../hooks/use-scheduler-schedules.ts","../hooks/use-background-agents.ts"],"names":["useApiAsync","useMemo","useRef","useEffect","bgStatus","bgMessage"],"mappings":"AAAA,ylBAAY;AACZ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACA;AClFA,8BAAwB;AAExB,gDAA4B;ADmF5B;AACA;AE/EA;AAoBO,SAAS,aAAA,CAAiB,OAAA,EAAuC;AACtE,EAAA,MAAM,WAAA,EAAa,2BAAA,OAAc,CAAA;AAEjC,EAAA,8BAAA,CAAU,EAAA,GAAM;AACd,IAAA,UAAA,CAAW,QAAA,EAAU,OAAA;AAAA,EACvB,CAAA,EAAG,CAAC,OAAO,CAAC,CAAA;AAEZ,EAAA,OAAO,UAAA;AACT;AF4DA;AACA;AClEO,SAAS,SAAA,CAAU,OAAA,EAA2B;AACnD,EAAA,MAAM,WAAA,EAAa,aAAA,CAAc,OAAO,CAAA;AAExC,EAAA,MAAM,EAAE,OAAA,EAAS,UAAA,EAAY,OAAA,EAAS,WAAA,EAAa,KAAA,EAAO,UAAU,EAAA,EAAI,gCAAA;AAAA,IACtE,CAAA,EAAA,GAAM,4CAAA,UAAc,CAAW,OAAO,CAAA;AAAA,IACtC,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,MAAA;AAAA,IACf,CAAC;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,kBAAA,EAAoB,OAAA,EAAS,kBAAA,EAAoB,KAAA,EAAO,iBAAiB,EAAA,EAAI,gCAAA;AAAA,IAC5F,CAAA,EAAA,GAAM,mDAAA,UAAqB,CAAW,OAAO,CAAA;AAAA,IAC7C,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,MAAA;AAAA,IACf,CAAC;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,QAAA,EAAU,OAAA,EAAS,UAAA,EAAY,KAAA,EAAO,SAAS,EAAA,EAAI,gCAAA;AAAA,IAClE,CAAC,OAAA,EAAA,GAAoB,0CAAA,OAAY,EAAS,UAAA,CAAW,OAAO,CAAA;AAAA,IAC5D,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,MAAA,GAAS,IAAA;AAAA,IACxB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,WAAA,EAAa,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAI,gCAAA;AAAA,IAC3E,CAAC,KAAA,EAAA,GAA0B,6CAAA,KAAe,EAAO,UAAA,CAAW,OAAO,CAAA;AAAA,IACnE,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,MAAA,GAAS,IAAA;AAAA,IACxB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,WAAA,EAAa,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAI,gCAAA;AAAA,IAC3E,CAAC,OAAA,EAAiB,KAAA,EAAA,GAA0B,6CAAA,OAAe,EAAS,KAAA,EAAO,UAAA,CAAW,OAAO,CAAA;AAAA,IAC7F,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,MAAA,GAAS,IAAA;AAAA,IACxB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,WAAA,EAAa,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAI,gCAAA;AAAA,IAC3E,CAAC,OAAA,EAAA,GAAoB,6CAAA,OAAe,EAAS,UAAA,CAAW,OAAO,CAAA;AAAA,IAC/D,CAAA,EAAA,GAAM,IAAA;AAAA,IACN;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,eAAA,EAAiB,OAAA,EAAS,cAAA,EAAgB,KAAA,EAAO,aAAa,EAAA,EAAI,gCAAA;AAAA,IACjF,CAAA,EAAA,GAAM,iDAAA,UAAmB,CAAW,OAAO,CAAA;AAAA,IAC3C,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,MAAA,GAAS,IAAA;AAAA,IACxB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,QAAA,EAAU,YAAA,GAAe,mBAAA,GAAsB,WAAA,GAAc,cAAA,GAAiB,cAAA,GAAiB,cAAA,GAAiB,cAAA;AACtH,EAAA,MAAM,MAAA,EAAQ,UAAA,GAAa,iBAAA,GAAoB,SAAA,GAAY,YAAA,GAAe,YAAA,GAAe,YAAA,GAAe,YAAA;AAExG,EAAA,OAAO,4BAAA;AAAA,IACL,CAAA,EAAA,GAAA,CAAO;AAAA,MACL,OAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,MACA,kBAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA;AAAA,IACF,CAAA,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,KAAA,EAAO,UAAA,EAAY,kBAAA,EAAoB,QAAA,EAAU,WAAA,EAAa,WAAA,EAAa,WAAA,EAAa,eAAe;AAAA,EACnH,CAAA;AACF;AD2DA;AACA;AGxJA;AAWA;AAQO,SAAS,SAAA,CAAU,OAAA,EAA2B;AACnD,EAAA,MAAM,WAAA,EAAa,aAAA,CAAc,OAAO,CAAA;AAExC,EAAA,MAAM,EAAE,OAAA,EAAS,UAAA,EAAY,OAAA,EAAS,WAAA,EAAa,KAAA,EAAO,UAAU,EAAA,EAAIA,gCAAAA;AAAA,IACtE,CAAA,EAAA,GAAM,4CAAA,UAAc,CAAW,OAAO,CAAA;AAAA,IACtC,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,MAAA;AAAA,IACf,CAAC;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,QAAA,EAAU,OAAA,EAAS,UAAA,EAAY,KAAA,EAAO,SAAS,EAAA,EAAIA,gCAAAA;AAAA,IAClE,CAAC,OAAA,EAAA,GAAoB,0CAAA,OAAY,EAAS,UAAA,CAAW,OAAO,CAAA;AAAA,IAC5D,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,MAAA,GAAS,IAAA;AAAA,IACxB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,WAAA,EAAa,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC3E,CAAC,KAAA,EAAA,GAA0B,6CAAA,KAAe,EAAO,UAAA,CAAW,OAAO,CAAA;AAAA,IACnE,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,MAAA,GAAS,IAAA;AAAA,IACxB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,WAAA,EAAa,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC3E,CAAC,OAAA,EAAiB,KAAA,EAAA,GAA0B,6CAAA,OAAe,EAAS,KAAA,EAAO,UAAA,CAAW,OAAO,CAAA;AAAA,IAC7F,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,MAAA,GAAS,IAAA;AAAA,IACxB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,WAAA,EAAa,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC3E,CAAC,OAAA,EAAA,GAAoB,6CAAA,OAAe,EAAS,UAAA,CAAW,OAAO,CAAA;AAAA,IAC/D,CAAA,EAAA,GAAM,IAAA;AAAA,IACN;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,aAAA,EAAe,OAAA,EAAS,iBAAA,EAAmB,KAAA,EAAO,gBAAgB,EAAA,EAAIA,gCAAAA;AAAA,IACrF,CAAA,EAAA,GAAM,oDAAA,UAAsB,CAAW,OAAO,CAAA;AAAA,IAC9C,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,UAAA;AAAA,IACf,CAAC;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,QAAA,EAAU,YAAA,GAAe,WAAA,GAAc,cAAA,GAAiB,cAAA,GAAiB,cAAA,GAAiB,iBAAA;AAChG,EAAA,MAAM,MAAA,EAAQ,UAAA,GAAa,SAAA,GAAY,YAAA,GAAe,YAAA,GAAe,YAAA,GAAe,eAAA;AAEpF,EAAA,OAAOC,4BAAAA;AAAA,IACL,CAAA,EAAA,GAAA,CAAO;AAAA,MACL,OAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA;AAAA,IACF,CAAA,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,KAAA,EAAO,UAAA,EAAY,QAAA,EAAU,WAAA,EAAa,WAAA,EAAa,WAAA,EAAa,aAAa;AAAA,EAC7F,CAAA;AACF;AHiIA;AACA;AI5MA;AAUA;AAQO,SAAS,YAAA,CAAa,OAAA,EAA8B;AACzD,EAAA,MAAM,WAAA,EAAa,aAAA,CAAc,OAAO,CAAA;AAExC,EAAA,MAAM,EAAE,OAAA,EAAS,aAAA,EAAe,OAAA,EAAS,WAAA,EAAa,KAAA,EAAO,UAAU,EAAA,EAAID,gCAAAA;AAAA,IACzE,CAAA,EAAA,GAAM,+CAAA,UAAiB,CAAW,OAAO,CAAA;AAAA,IACzC,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,SAAA;AAAA,IACf,CAAC;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,WAAA,EAAa,OAAA,EAAS,UAAA,EAAY,KAAA,EAAO,SAAS,EAAA,EAAIA,gCAAAA;AAAA,IACrE,CAAC,UAAA,EAAA,GAAuB,6CAAA,UAAe,EAAY,UAAA,CAAW,OAAO,CAAA;AAAA,IACrE,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,SAAA,GAAY,IAAA;AAAA,IAC3B;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,cAAA,EAAgB,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC9E,CAAC,QAAA,EAAA,GAAgC,gDAAA,QAAkB,EAAU,UAAA,CAAW,OAAO,CAAA;AAAA,IAC/E,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,SAAA,GAAY,IAAA;AAAA,IAC3B;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,cAAA,EAAgB,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC9E,CAAC,UAAA,EAAoB,QAAA,EAAA,GAAgC,gDAAA,UAAkB,EAAY,QAAA,EAAU,UAAA,CAAW,OAAO,CAAA;AAAA,IAC/G,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,SAAA,GAAY,IAAA;AAAA,IAC3B;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,cAAA,EAAgB,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC9E,CAAC,UAAA,EAAA,GAAuB,gDAAA,UAAkB,EAAY,UAAA,CAAW,OAAO,CAAA;AAAA,IACxE,CAAA,EAAA,GAAM,IAAA;AAAA,IACN;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,QAAA,EAAU,YAAA,GAAe,WAAA,GAAc,cAAA,GAAiB,cAAA,GAAiB,aAAA;AAC/E,EAAA,MAAM,MAAA,EAAQ,UAAA,GAAa,SAAA,GAAY,YAAA,GAAe,YAAA,GAAe,WAAA;AAErE,EAAA,OAAOC,4BAAAA;AAAA,IACL,CAAA,EAAA,GAAA,CAAO;AAAA,MACL,OAAA;AAAA,MACA,KAAA;AAAA,MACA,aAAA;AAAA,MACA,WAAA;AAAA,MACA,cAAA;AAAA,MACA,cAAA;AAAA,MACA;AAAA,IACF,CAAA,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,KAAA,EAAO,aAAA,EAAe,WAAA,EAAa,cAAA,EAAgB,cAAA,EAAgB,cAAc;AAAA,EAC7F,CAAA;AACF;AJuLA;AACA;AK1PA;AAWA;AAkBO,SAAS,kBAAA,CAAmB,OAAA,EAAoC;AACrE,EAAA,MAAM,WAAA,EAAa,aAAA,CAAc,OAAO,CAAA;AAExC,EAAA,MAAM,EAAE,OAAA,EAAS,mBAAA,EAAqB,OAAA,EAAS,WAAA,EAAa,KAAA,EAAO,UAAU,EAAA,EAAID,gCAAAA;AAAA,IAC/E,CAAA,EAAA,GAAM,qDAAA,UAAuB,CAAW,OAAO,CAAA;AAAA,IAC/C,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,eAAA;AAAA,IACf,CAAC;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,iBAAA,EAAmB,OAAA,EAAS,UAAA,EAAY,KAAA,EAAO,SAAS,EAAA,EAAIA,gCAAAA;AAAA,IAC3E,CAAC,SAAA,EAAA,GAAsB,mDAAA,SAAqB,EAAW,UAAA,CAAW,OAAO,CAAA;AAAA,IACzE,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,eAAA,GAAkB,IAAA;AAAA,IACjC;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,uBAAA,EAAyB,OAAA,EAAS,eAAA,EAAiB,KAAA,EAAO,cAAc,EAAA,EAAIA,gCAAAA;AAAA,IAC3F,CAAC,GAAA,EAAA,GAAkB,yDAAA,GAA2B,EAAK,UAAA,CAAW,OAAO,CAAA;AAAA,IACrE,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,eAAA;AAAA,IACf,CAAC;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,oBAAA,EAAsB,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IACpF,CAAC,cAAA,EAAA,GAA4C,sDAAA,cAAwB,EAAgB,UAAA,CAAW,OAAO,CAAA;AAAA,IACvG,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,eAAA,GAAkB,IAAA;AAAA,IACjC;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,oBAAA,EAAsB,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IACpF,CAAC,SAAA,EAAmB,cAAA,EAAA,GAA4C,sDAAA,SAAwB,EAAW,cAAA,EAAgB,UAAA,CAAW,OAAO,CAAA;AAAA,IACrI,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,eAAA,GAAkB,IAAA;AAAA,IACjC;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,oBAAA,EAAsB,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IACpF,CAAC,SAAA,EAAA,GAAsB,sDAAA,SAAwB,EAAW,UAAA,CAAW,OAAO,CAAA;AAAA,IAC5E,CAAA,EAAA,GAAM,IAAA;AAAA,IACN;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,QAAA,EAAU,YAAA,GAAe,WAAA,GAAc,gBAAA,GAAmB,cAAA,GAAiB,cAAA,GAAiB,aAAA;AAClG,EAAA,MAAM,MAAA,EAAQ,UAAA,GAAa,SAAA,GAAY,cAAA,GAAiB,YAAA,GAAe,YAAA,GAAe,WAAA;AAEtF,EAAA,OAAOC,4BAAAA;AAAA,IACL,CAAA,EAAA,GAAA,CAAO;AAAA,MACL,OAAA;AAAA,MACA,KAAA;AAAA,MACA,mBAAA;AAAA,MACA,iBAAA;AAAA,MACA,uBAAA;AAAA,MACA,oBAAA;AAAA,MACA,oBAAA;AAAA,MACA;AAAA,IACF,CAAA,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,KAAA,EAAO,mBAAA,EAAqB,iBAAA,EAAmB,uBAAA,EAAyB,oBAAA,EAAsB,oBAAA,EAAsB,oBAAoB;AAAA,EACpJ,CAAA;AACF;ALyNA;AACA;AM9SA;AAYA;AAmBO,SAAS,YAAA,CAAa,OAAA,EAA8B;AACzD,EAAA,MAAM,WAAA,EAAa,aAAA,CAAc,OAAO,CAAA;AAExC,EAAA,MAAM,EAAE,OAAA,EAAS,aAAA,EAAe,OAAA,EAAS,WAAA,EAAa,KAAA,EAAO,UAAU,EAAA,EAAID,gCAAAA;AAAA,IACzE,CAAA,EAAA,GAAM,+CAAA,UAAiB,CAAW,OAAO,CAAA;AAAA,IACzC,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,IAAA;AAAA,IACf,CAAC;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,WAAA,EAAa,OAAA,EAAS,UAAA,EAAY,KAAA,EAAO,SAAS,EAAA,EAAIA,gCAAAA;AAAA,IACrE,CAAC,KAAA,EAAA,GAAkB,6CAAA,KAAe,EAAO,UAAA,CAAW,OAAO,CAAA;AAAA,IAC3D,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,IAAA,GAAO,IAAA;AAAA,IACtB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,cAAA,EAAgB,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC9E,CAAC,GAAA,EAAA,GAA2B,gDAAA,GAAkB,EAAK,UAAA,CAAW,OAAO,CAAA;AAAA,IACrE,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,IAAA,GAAO,IAAA;AAAA,IACtB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,cAAA,EAAgB,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC9E,CAAC,KAAA,EAAe,GAAA,EAAA,GAA2B,gDAAA,KAAkB,EAAO,GAAA,EAAK,UAAA,CAAW,OAAO,CAAA;AAAA,IAC3F,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,IAAA,GAAO,IAAA;AAAA,IACtB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,cAAA,EAAgB,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC9E,CAAC,KAAA,EAAA,GAAkB,gDAAA,KAAkB,EAAO,UAAA,CAAW,OAAO,CAAA;AAAA,IAC9D,CAAA,EAAA,GAAM,IAAA;AAAA,IACN;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,aAAA,EAAe,OAAA,EAAS,YAAA,EAAc,KAAA,EAAO,WAAW,EAAA,EAAIA,gCAAAA;AAAA,IAC3E,CAAC,KAAA,EAAA,GAAkB,+CAAA,KAAiB,EAAO,UAAA,CAAW,OAAO,CAAA;AAAA,IAC7D,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,IAAA,GAAO,IAAA;AAAA,IACtB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,cAAA,EAAgB,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC9E,CAAC,KAAA,EAAA,GAAkB,gDAAA,KAAkB,EAAO,UAAA,CAAW,OAAO,CAAA;AAAA,IAC9D,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,IAAA,GAAO,IAAA;AAAA,IACtB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,QAAA,EAAU,YAAA,GAAe,WAAA,GAAc,cAAA,GAAiB,cAAA,GAAiB,cAAA,GAAiB,aAAA,GAAgB,aAAA;AAChH,EAAA,MAAM,MAAA,EAAQ,UAAA,GAAa,SAAA,GAAY,YAAA,GAAe,YAAA,GAAe,YAAA,GAAe,WAAA,GAAc,WAAA;AAElG,EAAA,OAAOC,4BAAAA;AAAA,IACL,CAAA,EAAA,GAAA,CAAO;AAAA,MACL,OAAA;AAAA,MACA,KAAA;AAAA,MACA,aAAA;AAAA,MACA,WAAA;AAAA,MACA,cAAA;AAAA,MACA,cAAA;AAAA,MACA,cAAA;AAAA,MACA,aAAA;AAAA,MACA;AAAA,IACF,CAAA,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,KAAA,EAAO,aAAA,EAAe,WAAA,EAAa,cAAA,EAAgB,cAAA,EAAgB,cAAA,EAAgB,aAAA,EAAe,cAAc;AAAA,EAC5H,CAAA;AACF;AN0QA;AACA;AOxWA;AAYA;AAqBO,SAAS,UAAA,CAAW,OAAA,EAA4B;AACrD,EAAA,MAAM,WAAA,EAAa,aAAA,CAAc,OAAO,CAAA;AAExC,EAAA,MAAM,EAAE,OAAA,EAAS,WAAA,EAAa,OAAA,EAAS,WAAA,EAAa,KAAA,EAAO,UAAU,EAAA,EAAID,gCAAAA;AAAA,IACvE,CAAA,EAAA,GAAM,6CAAA,UAAe,CAAW,OAAA,CAAQ,OAAA,EAAS,UAAA,CAAW,OAAO,CAAA;AAAA,IACnE,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,OAAA;AAAA,IACf,CAAC;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,SAAA,EAAW,OAAA,EAAS,UAAA,EAAY,KAAA,EAAO,SAAS,EAAA,EAAIA,gCAAAA;AAAA,IACnE,CAAC,QAAA,EAAA,GAAqB,2CAAA,QAAa,EAAU,UAAA,CAAW,OAAO,CAAA;AAAA,IAC/D,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,OAAA,GAAU,IAAA;AAAA,IACzB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,gBAAA,EAAkB,OAAA,EAAS,cAAA,EAAgB,KAAA,EAAO,aAAa,EAAA,EAAIA,gCAAAA;AAAA,IAClF,CAAA,EAAA,GAAM,kDAAA,UAAoB,CAAW,OAAA,CAAQ,OAAA,EAAS,UAAA,CAAW,OAAO,CAAA;AAAA,IACxE,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,OAAA,GAAU,IAAA;AAAA,IACzB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,YAAA,EAAc,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC5E,CAAC,MAAA,EAAA,GAAiC,8CAAA,UAAgB,CAAW,OAAA,CAAQ,OAAA,EAAS,MAAA,EAAQ,UAAA,CAAW,OAAO,CAAA;AAAA,IACxG,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,OAAA,GAAU,IAAA;AAAA,IACzB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,YAAA,EAAc,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC5E,CAAC,QAAA,EAAkB,MAAA,EAAA,GAAiC,8CAAA,QAAgB,EAAU,MAAA,EAAQ,UAAA,CAAW,OAAO,CAAA;AAAA,IACxG,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,OAAA,GAAU,IAAA;AAAA,IACzB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,YAAA,EAAc,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC5E,CAAC,QAAA,EAAA,GAAqB,8CAAA,QAAgB,EAAU,UAAA,CAAW,OAAO,CAAA;AAAA,IAClE,CAAA,EAAA,GAAM,IAAA;AAAA,IACN;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,gBAAA,EAAkB,OAAA,EAAS,iBAAA,EAAmB,KAAA,EAAO,gBAAgB,EAAA,EAAIA,gCAAAA;AAAA,IACxF,CAAC,QAAA,EAAA,GAAqB,kDAAA,QAAoB,EAAU,UAAA,CAAW,OAAA,CAAQ,OAAA,EAAS,UAAA,CAAW,OAAO,CAAA;AAAA,IAClG,CAAA,EAAA,GAAM,IAAA;AAAA,IACN;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,QAAA,EAAU,YAAA,GAAe,WAAA,GAAc,eAAA,GAAkB,cAAA,GAAiB,cAAA,GAAiB,cAAA,GAAiB,iBAAA;AAClH,EAAA,MAAM,MAAA,EAAQ,UAAA,GAAa,SAAA,GAAY,aAAA,GAAgB,YAAA,GAAe,YAAA,GAAe,YAAA,GAAe,eAAA;AAEpG,EAAA,OAAOC,4BAAAA;AAAA,IACL,CAAA,EAAA,GAAA,CAAO;AAAA,MACL,OAAA;AAAA,MACA,KAAA;AAAA,MACA,WAAA;AAAA,MACA,SAAA;AAAA,MACA,gBAAA;AAAA,MACA,YAAA;AAAA,MACA,YAAA;AAAA,MACA,YAAA;AAAA,MACA;AAAA,IACF,CAAA,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,KAAA,EAAO,WAAA,EAAa,SAAA,EAAW,gBAAA,EAAkB,YAAA,EAAc,YAAA,EAAc,YAAA,EAAc,gBAAgB;AAAA,EACvH,CAAA;AACF;APkUA;AACA;AQlaA;AAUA;AAmBO,SAAS,kBAAA,CAAmB,OAAA,EAAoC;AACrE,EAAA,MAAM,WAAA,EAAa,aAAA,CAAc,OAAO,CAAA;AAExC,EAAA,MAAM,EAAE,OAAA,EAAS,kBAAA,EAAoB,OAAA,EAAS,UAAA,EAAY,KAAA,EAAO,SAAS,EAAA,EAAID,gCAAAA;AAAA,IAC5E,CAAC,OAAA,EAAiB,OAAA,EAAA,GAChB,oDAAA,OAAsB,EAAS,EAAE,GAAG,UAAA,CAAW,OAAA,EAAS,QAAQ,CAAC,CAAA;AAAA,IACnE,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,WAAA,GAAc,IAAA;AAAA,IAC7B;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,qBAAA,EAAuB,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IACrF,CACE,OAAA,EACA,IAAA,EAAA,GACG,uDAAA,OAAyB,EAAS,IAAA,EAAM,UAAA,CAAW,OAAO,CAAA;AAAA,IAC/D,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,WAAA,GAAc,IAAA;AAAA,IAC7B;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,qBAAA,EAAuB,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IACrF,CAAC,OAAA,EAAiB,OAAA,EAAA,GAChB,uDAAA,OAAyB,EAAS,EAAE,GAAG,UAAA,CAAW,OAAA,EAAS,QAAQ,CAAC,CAAA;AAAA,IACtE,CAAA,EAAA,GAAM,IAAA;AAAA,IACN;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,oBAAA,EAAsB,OAAA,EAAS,WAAA,EAAa,KAAA,EAAO,UAAU,EAAA,EAAIA,gCAAAA;AAAA,IAChF,CAAC,MAAA,EAAA,GACC,sDAAA,EAA0B,GAAG,UAAA,CAAW,OAAA,EAAS,GAAG,OAAO,CAAC,CAAA;AAAA,IAC9D,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,YAAA,GAAe,CAAC,CAAA;AAAA,IAC/B,CAAC;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,kBAAA,EAAoB,OAAA,EAAS,cAAA,EAAgB,KAAA,EAAO,aAAa,EAAA,EAAIA,gCAAAA;AAAA,IACpF,CAAC,OAAA,EAAiB,OAAA,EAAA,GAAoB,oDAAA,OAAsB,EAAS,OAAA,EAAS,UAAA,CAAW,OAAO,CAAA;AAAA,IAChG,CAAC,IAAA,EAAA,GAAS,IAAA;AAAA,IACV;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,QAAA,EAAU,WAAA,GAAc,cAAA,GAAiB,cAAA,GAAiB,YAAA,GAAe,cAAA;AAC/E,EAAA,MAAM,MAAA,EAAQ,SAAA,GAAY,YAAA,GAAe,YAAA,GAAe,UAAA,GAAa,YAAA;AAErE,EAAA,OAAOC,4BAAAA;AAAA,IACL,CAAA,EAAA,GAAA,CAAO;AAAA,MACL,OAAA;AAAA,MACA,KAAA;AAAA,MACA,kBAAA;AAAA,MACA,qBAAA;AAAA,MACA,qBAAA;AAAA,MACA,oBAAA;AAAA,MACA;AAAA,IACF,CAAA,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,KAAA,EAAO,kBAAA,EAAoB,qBAAA,EAAuB,qBAAA,EAAuB,oBAAA,EAAsB,kBAAkB;AAAA,EAC7H,CAAA;AACF;AR4XA;AACA;AShdA;AASA;AAkBO,SAAS,YAAA,CAAa,OAAA,EAA8B;AACzD,EAAA,MAAM,WAAA,EAAa,aAAA,CAAc,OAAO,CAAA;AAExC,EAAA,MAAM,EAAE,OAAA,EAAS,sBAAA,EAAwB,OAAA,EAAS,YAAA,EAAc,KAAA,EAAO,WAAW,EAAA,EAAID,gCAAAA;AAAA,IACpF,CAAC,MAAA,EAAA,GACC,wDAAA,MAA0B,EAAQ,UAAA,CAAW,OAAO,CAAA;AAAA,IACtD,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,IAAA;AAAA,IACf,CAAC;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,qBAAA,EAAuB,OAAA,EAAS,WAAA,EAAa,KAAA,EAAO,UAAU,EAAA,EAAIA,gCAAAA;AAAA,IACjF,CAAC,MAAA,EAAA,GACC,uDAAA,MAAyB,EAAQ,UAAA,CAAW,OAAO,CAAA;AAAA,IACrD,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,IAAA;AAAA,IACf,CAAC;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,qBAAA,EAAuB,OAAA,EAAS,WAAA,EAAa,KAAA,EAAO,UAAU,EAAA,EAAIA,gCAAAA;AAAA,IACjF,CAAA,EAAA,GAAM,uDAAA,UAAyB,CAAW,OAAO,CAAA;AAAA,IACjD,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,IAAA;AAAA,IACf,CAAC;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,eAAA,EAAiB,OAAA,EAAS,WAAA,EAAa,KAAA,EAAO,UAAU,EAAA,EAAIA,gCAAAA;AAAA,IAC3E,CAAC,MAAA,EAAA,GAAwC,iDAAA,MAAmB,EAAQ,UAAA,CAAW,OAAO,CAAA;AAAA,IACtF,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,IAAA;AAAA,IACf,CAAC;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,QAAA,EAAU,aAAA,GAAgB,YAAA,GAAe,YAAA,GAAe,WAAA;AAC9D,EAAA,MAAM,MAAA,EAAQ,WAAA,GAAc,UAAA,GAAa,UAAA,GAAa,SAAA;AAEtD,EAAA,OAAOC,4BAAAA;AAAA,IACL,CAAA,EAAA,GAAA,CAAO;AAAA,MACL,OAAA;AAAA,MACA,KAAA;AAAA,MACA,sBAAA;AAAA,MACA,qBAAA;AAAA,MACA,qBAAA;AAAA,MACA;AAAA,IACF,CAAA,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,KAAA,EAAO,sBAAA,EAAwB,qBAAA,EAAuB,qBAAA,EAAuB,eAAe;AAAA,EACxG,CAAA;AACF;ATibA;AACA;AUxfA;AAYA;AAmBO,SAAS,eAAA,CAAgB,OAAA,EAAiC;AAC/D,EAAA,MAAM,WAAA,EAAa,aAAA,CAAc,OAAO,CAAA;AAExC,EAAA,MAAM,EAAE,OAAA,EAAS,gBAAA,EAAkB,OAAA,EAAS,WAAA,EAAa,KAAA,EAAO,UAAU,EAAA,EAAID,gCAAAA;AAAA,IAC5E,CAAA,EAAA,GAAM,kDAAA,UAAoB,CAAW,OAAO,CAAA;AAAA,IAC5C,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,YAAA;AAAA,IACf,CAAC;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,cAAA,EAAgB,OAAA,EAAS,UAAA,EAAY,KAAA,EAAO,SAAS,EAAA,EAAIA,gCAAAA;AAAA,IACxE,CAAC,QAAA,EAAiC,eAAA,EAAA,GAChC,gDAAA,QAAkB,EAAU,eAAA,EAAiB,UAAA,CAAW,OAAO,CAAA;AAAA,IACjE,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,YAAA,GAAe,IAAA;AAAA,IAC9B;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,kBAAA,EAAoB,OAAA,EAAS,cAAA,EAAgB,KAAA,EAAO,aAAa,EAAA,EAAIA,gCAAAA;AAAA,IACpF,CAAC,MAAA,EAAA,GACC,oDAAA,MAAsB,EAAQ,UAAA,CAAW,OAAO,CAAA;AAAA,IAClD,CAAC,IAAA,EAAA,GAAA,CAAU,EAAE,OAAA,EAAS,IAAA,CAAK,QAAA,EAAU,KAAA,EAAO,IAAA,CAAK,MAAM,CAAA,CAAA;AAAA,IACvD;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,qBAAA,EAAuB,OAAA,EAAS,iBAAA,EAAmB,KAAA,EAAO,gBAAgB,EAAA,EAAIA,gCAAAA;AAAA,IAC7F,CAAC,MAAA,EAAA,GACC,uDAAA,MAAyB,EAAQ,UAAA,CAAW,OAAO,CAAA;AAAA,IACrD,CAAA,EAAA,GAAM,IAAA;AAAA,IACN;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,kBAAA,EAAoB,OAAA,EAAS,cAAA,EAAgB,KAAA,EAAO,aAAa,EAAA,EAAIA,gCAAAA;AAAA,IACpF,CAAC,MAAA,EAAA,GACC,oDAAA,MAAsB,EAAQ,UAAA,CAAW,OAAO,CAAA;AAAA,IAClD,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,YAAA,GAAe,IAAA;AAAA,IAC9B;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,YAAA,EAAc,OAAA,EAAS,mBAAA,EAAqB,KAAA,EAAO,kBAAkB,EAAA,EAAIA,gCAAAA;AAAA,IACxF,CAAC,MAAA,EAAA,GACC,yDAAA,MAA2B,EAAQ,UAAA,CAAW,OAAO,CAAA;AAAA,IACvD,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,YAAA,GAAe,IAAA;AAAA,IAC9B;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,cAAA,EAAgB,OAAA,EAAS,gBAAA,EAAkB,KAAA,EAAO,eAAe,EAAA,EAAIA,gCAAAA;AAAA,IACpF,CAAA,EAAA,GAAM,gDAAA,UAAkB,CAAW,OAAO,CAAA;AAAA,IAC1C,CAAC,IAAA,EAAA,GAAA,CAAU,EAAE,OAAA,EAAS,IAAA,CAAK,OAAA,EAAS,WAAA,EAAa,IAAA,CAAK,YAAA,EAAc,gBAAA,EAAkB,IAAA,CAAK,kBAAkB,CAAA,CAAA;AAAA,IAC7G;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,QAAA,EAAU,YAAA,GAAe,WAAA,GAAc,eAAA,GAAkB,kBAAA,GAAqB,eAAA,GAAkB,oBAAA,GAAuB,gBAAA;AAC7H,EAAA,MAAM,MAAA,EAAQ,UAAA,GAAa,SAAA,GAAY,aAAA,GAAgB,gBAAA,GAAmB,aAAA,GAAgB,kBAAA,GAAqB,cAAA;AAE/G,EAAA,OAAOC,4BAAAA;AAAA,IACL,CAAA,EAAA,GAAA,CAAO;AAAA,MACL,OAAA;AAAA,MACA,KAAA;AAAA,MACA,gBAAA;AAAA,MACA,cAAA;AAAA,MACA,kBAAA;AAAA,MACA,qBAAA;AAAA,MACA,kBAAA;AAAA,MACA,YAAA;AAAA,MACA;AAAA,IACF,CAAA,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,KAAA,EAAO,gBAAA,EAAkB,cAAA,EAAgB,kBAAA,EAAoB,qBAAA,EAAuB,kBAAA,EAAoB,YAAA,EAAc,cAAc;AAAA,EAChJ,CAAA;AACF;AV+cA;AACA;AWljBA;AAUA;AAmBO,SAAS,UAAA,CAAW,OAAA,EAA4B;AACrD,EAAA,MAAM,WAAA,EAAa,aAAA,CAAc,OAAO,CAAA;AAExC,EAAA,MAAM,EAAE,OAAA,EAAS,aAAA,EAAe,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAID,gCAAAA;AAAA,IAC7E,CAAC,OAAA,EAAA,GAAiD,+CAAA,OAAiB,EAAS,UAAA,CAAW,OAAO,CAAA;AAAA,IAC9F,CAAC,IAAA,EAAA,GAAA,CAAU,EAAE,EAAA,EAAI,IAAA,CAAK,EAAA,EAAI,GAAA,EAAK,IAAA,CAAK,GAAA,EAAK,OAAA,EAAS,IAAA,CAAK,QAAQ,CAAA,CAAA;AAAA,IAC/D;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,UAAA,EAAY,OAAA,EAAS,UAAA,EAAY,KAAA,EAAO,SAAS,EAAA,EAAIA,gCAAAA;AAAA,IACpE,CAAC,SAAA,EAAA,GAAsB,4CAAA,SAAc,EAAW,UAAA,CAAW,OAAO,CAAA;AAAA,IAClE,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,QAAA,GAAW,IAAA;AAAA,IAC1B;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,aAAA,EAAe,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC7E,CAAC,SAAA,EAAmB,OAAA,EAAA,GAClB,+CAAA,SAAiB,EAAW,OAAA,EAAS,UAAA,CAAW,OAAO,CAAA;AAAA,IACzD,CAAC,IAAA,EAAA,GAAA,CAAU,EAAE,EAAA,EAAI,IAAA,CAAK,EAAA,EAAI,GAAA,EAAK,IAAA,CAAK,GAAA,EAAK,OAAA,EAAS,IAAA,CAAK,QAAQ,CAAA,CAAA;AAAA,IAC/D;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,aAAA,EAAe,OAAA,EAAS,WAAA,EAAa,KAAA,EAAO,UAAU,EAAA,EAAIA,gCAAAA;AAAA,IACzE,CAAC,KAAA,EAAA,GAAmB,+CAAA,EAAmB,GAAG,UAAA,CAAW,OAAA,EAAS,MAAM,CAAC,CAAA;AAAA,IACrE,CAAC,IAAA,EAAA,GAAA,CAAU,EAAE,SAAA,EAAW,IAAA,CAAK,SAAA,EAAW,KAAA,EAAO,IAAA,CAAK,MAAM,CAAA,CAAA;AAAA,IAC1D,EAAE,SAAA,EAAW,CAAC,CAAA,EAAgB,KAAA,EAAO,EAAE;AAAA,EACzC,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,aAAA,EAAe,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC7E,CAAC,SAAA,EAAA,GAAsB,+CAAA,SAAiB,EAAW,UAAA,CAAW,OAAO,CAAA;AAAA,IACrE,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,OAAA;AAAA,IACf;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,QAAA,EAAU,cAAA,GAAiB,WAAA,GAAc,cAAA,GAAiB,YAAA,GAAe,aAAA;AAC/E,EAAA,MAAM,MAAA,EAAQ,YAAA,GAAe,SAAA,GAAY,YAAA,GAAe,UAAA,GAAa,WAAA;AAErE,EAAA,OAAOC,4BAAAA;AAAA,IACL,CAAA,EAAA,GAAA,CAAO;AAAA,MACL,OAAA;AAAA,MACA,KAAA;AAAA,MACA,aAAA;AAAA,MACA,UAAA;AAAA,MACA,aAAA;AAAA,MACA,aAAA;AAAA,MACA;AAAA,IACF,CAAA,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,KAAA,EAAO,aAAA,EAAe,UAAA,EAAY,aAAA,EAAe,aAAA,EAAe,aAAa;AAAA,EACzF,CAAA;AACF;AXihBA;AACA;AYhmBA;AAaA;AAmBO,SAAS,iBAAA,CAAkB,OAAA,EAAmC;AACnE,EAAA,MAAM,WAAA,EAAa,aAAA,CAAc,OAAO,CAAA;AAExC,EAAA,MAAM,EAAE,OAAA,EAAS,SAAA,EAAW,OAAA,EAAS,WAAA,EAAa,KAAA,EAAO,UAAU,EAAA,EAAID,gCAAAA;AAAA,IACrE,CAAC,MAAA,EAAA,GACC,oDAAA,EAAwB,GAAG,UAAA,CAAW,OAAA,EAAS,GAAG,OAAO,CAAC,CAAA;AAAA,IAC5D,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,KAAA;AAAA,IACf,CAAC;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,UAAA,EAAY,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC1E,CAAC,IAAA,EAAA,GAAiC,qDAAA,IAAuB,EAAM,UAAA,CAAW,OAAO,CAAA;AAAA,IACjF,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,KAAA,GAAQ,IAAA;AAAA,IACvB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,OAAA,EAAS,OAAA,EAAS,UAAA,EAAY,KAAA,EAAO,SAAS,EAAA,EAAIA,gCAAAA;AAAA,IACjE,CAAC,MAAA,EAAA,GAAmB,kDAAA,MAAoB,EAAQ,UAAA,CAAW,OAAO,CAAA;AAAA,IAClE,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,KAAA,GAAQ,IAAA;AAAA,IACvB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,UAAA,EAAY,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC1E,CAAC,MAAA,EAAgB,IAAA,EAAA,GACf,qDAAA,MAAuB,EAAQ,IAAA,EAAM,UAAA,CAAW,OAAO,CAAA;AAAA,IACzD,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,KAAA,GAAQ,IAAA;AAAA,IACvB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,UAAA,EAAY,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC1E,CAAC,MAAA,EAAA,GAAmB,qDAAA,MAAuB,EAAQ,UAAA,CAAW,OAAO,CAAA;AAAA,IACrE,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,OAAA;AAAA,IACf;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,UAAA,EAAY,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC1E,CAAC,MAAA,EAAgB,KAAA,EAAA,GACf,qDAAA,MAAuB,EAAQ,KAAA,EAAO,UAAA,CAAW,OAAO,CAAA;AAAA,IAC1D,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,KAAA,GAAQ,IAAA;AAAA,IACvB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,YAAA,EAAc,OAAA,EAAS,eAAA,EAAiB,KAAA,EAAO,cAAc,EAAA,EAAIA,gCAAAA;AAAA,IAChF,CAAC,MAAA,EAAA,GAAmB,uDAAA,MAAyB,EAAQ,UAAA,CAAW,OAAO,CAAA;AAAA,IACvE,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,KAAA,GAAQ,IAAA;AAAA,IACvB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,SAAA,EAAW,OAAA,EAAS,YAAA,EAAc,KAAA,EAAO,WAAW,EAAA,EAAIA,gCAAAA;AAAA,IACvE,CAAC,MAAA,EAAA,GAAmB,oDAAA,MAAsB,EAAQ,UAAA,CAAW,OAAO,CAAA;AAAA,IACpE,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,KAAA,GAAQ,IAAA;AAAA,IACvB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,QAAA,EAAU,YAAA,GAAe,cAAA,GAAiB,WAAA,GAAc,cAAA,GAAiB,cAAA,GAAiB,cAAA,GAAiB,gBAAA,GAAmB,YAAA;AACpI,EAAA,MAAM,MAAA,EAAQ,UAAA,GAAa,YAAA,GAAe,SAAA,GAAY,YAAA,GAAe,YAAA,GAAe,YAAA,GAAe,cAAA,GAAiB,UAAA;AAEpH,EAAA,OAAOC,4BAAAA;AAAA,IACL,CAAA,EAAA,GAAA,CAAO;AAAA,MACL,OAAA;AAAA,MACA,KAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,MACA;AAAA,IACF,CAAA,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,KAAA,EAAO,SAAA,EAAW,UAAA,EAAY,OAAA,EAAS,UAAA,EAAY,UAAA,EAAY,UAAA,EAAY,YAAA,EAAc,SAAS;AAAA,EAC9G,CAAA;AACF;AZujBA;AACA;AahqBA;AAaA;AAmBO,SAAS,qBAAA,CAAsB,OAAA,EAAuC;AAC3E,EAAA,MAAM,WAAA,EAAa,aAAA,CAAc,OAAO,CAAA;AAExC,EAAA,MAAM,EAAE,OAAA,EAAS,aAAA,EAAe,OAAA,EAAS,WAAA,EAAa,KAAA,EAAO,UAAU,EAAA,EAAID,gCAAAA;AAAA,IACzE,CAAC,MAAA,EAAA,GACC,+CAAA,EAAmB,GAAG,UAAA,CAAW,OAAA,EAAS,GAAG,OAAO,CAAC,CAAA;AAAA,IACvD,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,SAAA;AAAA,IACf,CAAC;AAAA,EACH,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,cAAA,EAAgB,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC9E,CAAC,QAAA,EAAA,GAAyC,gDAAA,QAAkB,EAAU,UAAA,CAAW,OAAO,CAAA;AAAA,IACxF,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,SAAA,GAAY,IAAA;AAAA,IAC3B;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,WAAA,EAAa,OAAA,EAAS,UAAA,EAAY,KAAA,EAAO,SAAS,EAAA,EAAIA,gCAAAA;AAAA,IACrE,CAAC,UAAA,EAAA,GAAuB,6CAAA,UAAe,EAAY,UAAA,CAAW,OAAO,CAAA;AAAA,IACrE,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,SAAA,GAAY,IAAA;AAAA,IAC3B;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,cAAA,EAAgB,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC9E,CAAC,UAAA,EAAoB,QAAA,EAAA,GACnB,gDAAA,UAAkB,EAAY,QAAA,EAAU,UAAA,CAAW,OAAO,CAAA;AAAA,IAC5D,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,SAAA,GAAY,IAAA;AAAA,IAC3B;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,cAAA,EAAgB,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC9E,CAAC,UAAA,EAAA,GAAuB,gDAAA,UAAkB,EAAY,UAAA,CAAW,OAAO,CAAA;AAAA,IACxE,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,OAAA;AAAA,IACf;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,aAAA,EAAe,OAAA,EAAS,YAAA,EAAc,KAAA,EAAO,WAAW,EAAA,EAAIA,gCAAAA;AAAA,IAC3E,CAAC,UAAA,EAAA,GAAuB,+CAAA,UAAiB,EAAY,UAAA,CAAW,OAAO,CAAA;AAAA,IACvE,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,SAAA,GAAY,IAAA;AAAA,IAC3B;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,cAAA,EAAgB,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC9E,CAAC,UAAA,EAAA,GAAuB,gDAAA,UAAkB,EAAY,UAAA,CAAW,OAAO,CAAA;AAAA,IACxE,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,SAAA,GAAY,IAAA;AAAA,IAC3B;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,EAAE,OAAA,EAAS,WAAA,EAAa,OAAA,EAAS,UAAA,EAAY,KAAA,EAAO,SAAS,EAAA,EAAIA,gCAAAA;AAAA,IACrE,CAAC,UAAA,EAAA,GAAuB,6CAAA,UAAe,EAAY,UAAA,CAAW,OAAO,CAAA;AAAA,IACrE,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,SAAA,GAAY,IAAA;AAAA,IAC3B;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,QAAA,EAAU,YAAA,GAAe,cAAA,GAAiB,WAAA,GAAc,cAAA,GAAiB,cAAA,GAAiB,aAAA,GAAgB,cAAA,GAAiB,UAAA;AACjI,EAAA,MAAM,MAAA,EAAQ,UAAA,GAAa,YAAA,GAAe,SAAA,GAAY,YAAA,GAAe,YAAA,GAAe,WAAA,GAAc,YAAA,GAAe,QAAA;AAEjH,EAAA,OAAOC,4BAAAA;AAAA,IACL,CAAA,EAAA,GAAA,CAAO;AAAA,MACL,OAAA;AAAA,MACA,KAAA;AAAA,MACA,aAAA;AAAA,MACA,cAAA;AAAA,MACA,WAAA;AAAA,MACA,cAAA;AAAA,MACA,cAAA;AAAA,MACA,aAAA;AAAA,MACA,cAAA;AAAA,MACA;AAAA,IACF,CAAA,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,KAAA,EAAO,aAAA,EAAe,cAAA,EAAgB,WAAA,EAAa,cAAA,EAAgB,cAAA,EAAgB,aAAA,EAAe,cAAA,EAAgB,WAAW;AAAA,EACzI,CAAA;AACF;AbwnBA;AACA;AchuBA;AAWA;AA4DO,SAAS,mBAAA,CAAoB,OAAA,EAAqC;AACvE,EAAA,MAAM,WAAA,EAAa,aAAA,CAAc,OAAO,CAAA;AACxC,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,EAAA,EAAI,6BAAA,CAA4C,CAAC,CAAA;AACjF,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,EAAA,EAAI,6BAAA,CAA4C,CAAC,CAAA;AACrF,EAAA,MAAM,aAAA,EAAeC,2BAAAA,IAAoC,CAAA;AACzD,EAAA,MAAM,OAAA,EAASA,2BAAAA,IAA+B,CAAA;AAC9C,EAAA,MAAM,kBAAA,EAAoBA,2BAAAA,IAA0B,CAAA;AAGpD,EAAAC,8BAAAA,CAAU,EAAA,GAAM;AACd,IAAA,MAAM,UAAA,EAAY,qDAAA,CAAuB;AACzC,IAAA,SAAA,CAAU,OAAA,CAAQ,EAAE,aAAA,EAAe,UAAA,CAAW,OAAA,CAAQ,QAAQ,CAAC,CAAA;AAC/D,IAAA,YAAA,CAAa,QAAA,EAAU,SAAA;AACvB,IAAA,OAAO,CAAA,EAAA,GAAM;AACX,MAAA,SAAA,CAAU,UAAA,CAAW,CAAA;AACrB,MAAA,YAAA,CAAa,QAAA,EAAU,IAAA;AAAA,IACzB,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,CAAC,CAAA;AAGL,EAAA,MAAM,kBAAA,EAAoBD,2BAAAA,gBAAoB,IAAI,GAAA,CAAI,CAAC,CAAA;AAGvD,EAAA,MAAM,UAAA,EAAY,gCAAA,CAAa,KAAA,EAAA,GAAkB;AAC/C,IAAA,MAAM,UAAA,EAAY,YAAA,CAAa,OAAA;AAC/B,IAAA,GAAA,CAAI,CAAC,SAAA,EAAW,MAAA;AAGhB,IAAA,GAAA,CAAI,iBAAA,CAAkB,OAAA,CAAQ,GAAA,CAAI,KAAK,CAAA,EAAG,MAAA;AAC1C,IAAA,iBAAA,CAAkB,OAAA,CAAQ,GAAA,CAAI,KAAK,CAAA;AAGnC,IAAA,aAAA,CAAc,CAAC,IAAA,EAAA,GAAA,CAAU;AAAA,MACvB,GAAG,IAAA;AAAA,MACH,CAAC,KAAK,CAAA,EAAG,IAAA,CAAK,KAAK,EAAA,GAAK,EAAE,MAAA,EAAQ,SAAA,EAAW,WAAA,EAAa,CAAC,CAAA,EAAG,aAAA,EAAe,cAAc;AAAA,IAC7F,CAAA,CAAE,CAAA;AAGF,IAAA,SAAA,CAAU,EAAA,CAAG,gBAAA,EAAkB,CAAC,KAAA,EAAA,GAAwC;AACtE,MAAA,GAAA,CAAI,KAAA,CAAM,MAAA,IAAU,MAAA,GAAS,CAAC,KAAA,CAAM,OAAA,EAAS,MAAA;AAC7C,MAAA,aAAA,CAAc,CAAC,IAAA,EAAA,GAAS;AACtB,QAAA,MAAM,IAAA,EAAM,IAAA,CAAK,KAAK,EAAA,GAAK,EAAE,MAAA,EAAQ,SAAA,EAAoB,WAAA,EAAa,CAAC,CAAA,EAAG,aAAA,EAAe,GAAG,CAAA;AAC5F,QAAA,OAAO;AAAA,UACL,GAAG,IAAA;AAAA,UACH,CAAC,KAAK,CAAA,EAAG,EAAE,GAAG,GAAA,EAAK,MAAA,EAAQ,SAAA,EAAW,WAAA,EAAa,CAAC,GAAG,GAAA,CAAI,WAAA,EAAa,KAAA,CAAM,OAAQ,CAAA,EAAG,aAAA,EAAe,KAAA,CAAM,QAAS;AAAA,QACzH,CAAA;AAAA,MACF,CAAC,CAAA;AAAA,IACH,CAAC,CAAA;AAED,IAAA,SAAA,CAAU,EAAA,CAAG,oBAAA,EAAsB,CAAC,KAAA,EAAA,GAAwC;AAC1E,MAAA,GAAA,CAAI,KAAA,CAAM,MAAA,IAAU,KAAA,EAAO,MAAA;AAC3B,MAAA,iBAAA,CAAkB,OAAA,CAAQ,MAAA,CAAO,KAAK,CAAA;AACtC,MAAA,aAAA,CAAc,CAAC,IAAA,EAAA,GAAA,CAAU;AAAA,QACvB,GAAG,IAAA;AAAA,QACH,CAAC,KAAK,CAAA,EAAG,EAAE,GAAI,IAAA,CAAK,KAAK,EAAA,GAAK,EAAE,WAAA,EAAa,CAAC,CAAA,EAAG,aAAA,EAAe,GAAG,CAAA,EAAI,MAAA,EAAQ,WAAA,EAAa,MAAA,EAAQ,KAAA,CAAM,MAAA,EAAQ,aAAA,EAAe,KAAA,CAAM,OAAA,GAAU,YAAY;AAAA,MAC/J,CAAA,CAAE,CAAA;AAAA,IACJ,CAAC,CAAA;AAED,IAAA,SAAA,CAAU,EAAA,CAAG,iBAAA,EAAmB,CAAC,KAAA,EAAA,GAAwC;AACvE,MAAA,GAAA,CAAI,KAAA,CAAM,MAAA,IAAU,KAAA,EAAO,MAAA;AAC3B,MAAA,iBAAA,CAAkB,OAAA,CAAQ,MAAA,CAAO,KAAK,CAAA;AACtC,MAAA,aAAA,CAAc,CAAC,IAAA,EAAA,GAAA,CAAU;AAAA,QACvB,GAAG,IAAA;AAAA,QACH,CAAC,KAAK,CAAA,EAAG,EAAE,GAAI,IAAA,CAAK,KAAK,EAAA,GAAK,EAAE,WAAA,EAAa,CAAC,CAAA,EAAG,aAAA,EAAe,GAAG,CAAA,EAAI,MAAA,EAAQ,QAAA,EAAU,KAAA,EAAO,KAAA,CAAM,KAAA,EAAO,aAAA,EAAe,KAAA,CAAM,MAAA,GAAS,SAAS;AAAA,MACtJ,CAAA,CAAE,CAAA;AAAA,IACJ,CAAC,CAAA;AAGD,IAAA,SAAA,CAAU,SAAA,CAAU,KAAK,CAAA;AAAA,EAC3B,CAAA,EAAG,CAAC,CAAC,CAAA;AAGL,EAAA,MAAM,EAAE,OAAA,EAAS,YAAA,EAAc,OAAA,EAAS,cAAA,EAAgB,KAAA,EAAO,aAAa,EAAA,EAAIF,gCAAAA;AAAA,IAC9E,CAAC,OAAA,EAAA,GACC,wDAAA,OAA0B,EAAS,UAAA,CAAW,OAAO,CAAA;AAAA,IACvD,CAAC,IAAA,EAAA,GAAS,IAAA;AAAA,IACV;AAAA,EACF,CAAA;AAGA,EAAA,MAAM,EAAE,OAAA,EAAS,WAAA,EAAa,OAAA,EAAS,aAAA,EAAe,KAAA,EAAO,YAAY,EAAA,EAAIA,gCAAAA;AAAA,IAC3E,CAAC,KAAA,EAAA,GAAkB,4DAAA,KAA8B,EAAO,UAAA,CAAW,OAAO,CAAA;AAAA,IAC1E,CAAC,IAAA,EAAA,GAAS,IAAA;AAAA,IACV;AAAA,EACF,CAAA;AAGA,EAAA,MAAM,EAAE,OAAA,EAAS,kBAAA,EAAoB,OAAA,EAAS,cAAA,EAAgB,KAAA,EAAO,aAAa,EAAA,EAAIA,gCAAAA;AAAA,IACpF,CAAA,EAAA,GAAM,mDAAA,UAAqB,CAAW,OAAO,CAAA;AAAA,IAC7C,CAAC,IAAA,EAAA,GAAS,IAAA,CAAK,OAAA,GAAU,CAAC,CAAA;AAAA,IAC1B,CAAC;AAAA,EACH,CAAA;AAIA,EAAA,MAAM,WAAA,EAAa,gCAAA,MAAY,CAAO,MAAA,EAAgB,WAAA,EAAA,GAAuD;AAC3G,IAAA,MAAM,EAAE,cAAA,EAAgB,KAAA,EAAO,OAAO,EAAA,EAAI,UAAA,CAAW,OAAA;AACrD,IAAA,GAAA,CAAI,CAAC,cAAA,EAAgB;AACnB,MAAA,OAAA,CAAQ,KAAA,CAAM,2CAA2C,CAAA;AACzD,MAAA,OAAO,IAAA;AAAA,IACT;AACA,IAAA,GAAA,CAAI,CAAC,MAAA,EAAQ;AACX,MAAA,OAAA,CAAQ,KAAA,CAAM,mCAAmC,CAAA;AACjD,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,IAAI;AAIF,MAAA,MAAM,eAAA,EAAiB,MAAM,KAAA,CAAM,CAAA,EAAA;AACzB,QAAA;AACmB,QAAA;AACN,QAAA;AACnB,UAAA;AACA,UAAA;AACU,UAAA;AACG,YAAA;AACC,YAAA;AACZ,YAAA;AACW,YAAA;AACK,YAAA;AAClB,UAAA;AACD,QAAA;AACF,MAAA;AAEuB,MAAA;AACE,QAAA;AACV,QAAA;AACP,QAAA;AACT,MAAA;AAEyB,MAAA;AAEQ,MAAA;AAEnB,MAAA;AACE,QAAA;AACP,QAAA;AACT,MAAA;AAIoC,MAAA;AAC1B,QAAA;AACmB,QAAA;AACN,QAAA;AACnB,UAAA;AACA,UAAA;AACA,UAAA;AACS,UAAA;AACD,YAAA;AACG,YAAA;AACmB,YAAA;AAC9B,UAAA;AACD,QAAA;AACF,MAAA;AAEqB,MAAA;AACI,QAAA;AACV,QAAA;AAEhB,MAAA;AAEO,MAAA;AACK,IAAA;AACE,MAAA;AACP,MAAA;AACT,IAAA;AACG,EAAA;AAIgC,EAAA;AACG,IAAA;AAEjB,IAAA;AACL,MAAA;AACd,MAAA;AACF,IAAA;AACa,IAAA;AACG,MAAA;AACd,MAAA;AACF,IAAA;AAGsB,IAAA;AACC,MAAA;AACJ,MAAA;AACnB,IAAA;AAE4B,IAAA;AAGD,IAAA;AACtB,MAAA;AACiC,MAAA;AACpC,IAAA;AAEE,IAAA;AAEkC,MAAA;AAC1B,QAAA;AACmB,QAAA;AACG,QAAA;AAC/B,MAAA;AAEqB,MAAA;AACI,QAAA;AACG,QAAA;AACtB,UAAA;AAC6B,UAAA;AAChC,QAAA;AACF,QAAA;AACF,MAAA;AAEoC,MAAA;AAEA,MAAA;AAEzB,MAAA;AACkB,QAAA;AACtB,UAAA;AAC6B,UAAA;AAChC,QAAA;AACF,QAAA;AACF,MAAA;AAGgC,MAAA;AACC,MAAA;AAGe,MAAA;AAClB,MAAA;AACE,MAAA;AAGmB,MAAA;AAExB,MAAA;AACtB,QAAA;AACQ,QAAA;AACT,UAAA;AAC4B,UAAA;AACpB,UAAA;AACI,UAAA;AACG,UAAA;AACG,UAAA;AACO,UAAA;AACV,UAAA;AACjB,QAAA;AACA,MAAA;AAG8B,MAAA;AACE,MAAA;AACjB,MAAA;AAG2C,MAAA;AAC9C,QAAA;AAEmB,QAAA;AACH,UAAA;AACI,YAAA;AACP,YAAA;AAEJ,YAAA;AACM,YAAA;AACJ,YAAA;AACZ,YAAA;AACF,cAAA;AACQ,cAAA;AACN,gBAAA;AACmB,gBAAA;AACxB,cAAA;AACF,YAAA;AACD,UAAA;AACH,QAAA;AAEuB,QAAA;AACL,QAAA;AACW,UAAA;AACC,UAAA;AACD,UAAA;AACf,UAAA;AACc,UAAA;AACI,YAAA;AACP,YAAA;AAGnBI,YAAAA;AAIqB,YAAA;AACM,YAAA;AACD,YAAA;AACV,cAAA;AACNA,gBAAAA;AACc,gBAAA;AACtB,gBAAA;AACD,cAAA;AACH,YAAA;AACO,YAAA;AACF,cAAA;AACQ,cAAA;AACN,gBAAA;AACK,gBAAA;AACUA,gBAAAA;AACOC,gBAAAA;AACV,gBAAA;AACjB,cAAA;AACF,YAAA;AACD,UAAA;AACH,QAAA;AAEkC,QAAA;AACL,UAAA;AACtB,YAAA;AACyB,YAAA;AAC5B,UAAA;AACJ,QAAA;AACF,MAAA;AAG2B,MAAA;AACrB,QAAA;AAC4B,UAAA;AACT,UAAA;AACT,QAAA;AACE,UAAA;AAChB,QAAA;AACF,MAAA;AAI0B,MAAA;AACF,MAAA;AACW,QAAA;AAC3B,UAAA;AAC8C,YAAA;AAC3B,YAAA;AACT,UAAA;AACE,YAAA;AAChB,UAAA;AACD,QAAA;AACH,MAAA;AAEoB,MAAA;AAEL,QAAA;AACf,MAAA;AACY,IAAA;AACE,MAAA;AACa,MAAA;AACtB,QAAA;AAC8B,QAAA;AACjC,MAAA;AACJ,IAAA;AACG,EAAA;AAG4B,EAAA;AACG,IAAA;AACX,MAAA;AACJ,MAAA;AACW,MAAA;AAC9B,IAAA;AAC0B,IAAA;AACD,MAAA;AACJ,MAAA;AACZ,MAAA;AACR,IAAA;AACE,EAAA;AAGW,EAAA;AACD,IAAA;AACS,MAAA;AACG,QAAA;AACJ,QAAA;AACnB,MAAA;AACF,IAAA;AACG,EAAA;AAE6B,EAAA;AACJ,EAAA;AAER,EAAA;AACpB,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACsC,EAAA;AAC1C;AdqkB0C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/eloquent/eloquent/packages/@elqnt/agents/dist/chunk-AF4QJD73.js","sourcesContent":[null,"\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport type { Agent, AgentSummary } from \"../models\";\nimport {\n listAgentsApi,\n listAgentsSummaryApi,\n getAgentApi,\n createAgentApi,\n updateAgentApi,\n deleteAgentApi,\n getDefaultAgentApi,\n} from \"../api\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseAgentsOptions = ApiClientOptions;\n\n/**\n * Hook for agent CRUD operations\n *\n * @example\n * ```tsx\n * const { loading, error, listAgents, createAgent } = useAgents({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const agents = await listAgents();\n * ```\n */\nexport function useAgents(options: UseAgentsOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: listAgents, loading: listLoading, error: listError } = useApiAsync(\n () => listAgentsApi(optionsRef.current),\n (data) => data.agents,\n [] as Agent[]\n );\n\n const { execute: listAgentSummaries, loading: listSummaryLoading, error: listSummaryError } = useApiAsync(\n () => listAgentsSummaryApi(optionsRef.current),\n (data) => data.agents,\n [] as AgentSummary[]\n );\n\n const { execute: getAgent, loading: getLoading, error: getError } = useApiAsync(\n (agentId: string) => getAgentApi(agentId, optionsRef.current),\n (data) => data.agent || null,\n null as Agent | null\n );\n\n const { execute: createAgent, loading: createLoading, error: createError } = useApiAsync(\n (agent: Partial<Agent>) => createAgentApi(agent, optionsRef.current),\n (data) => data.agent || null,\n null as Agent | null\n );\n\n const { execute: updateAgent, loading: updateLoading, error: updateError } = useApiAsync(\n (agentId: string, agent: Partial<Agent>) => updateAgentApi(agentId, agent, optionsRef.current),\n (data) => data.agent || null,\n null as Agent | null\n );\n\n const { execute: deleteAgent, loading: deleteLoading, error: deleteError } = useApiAsync(\n (agentId: string) => deleteAgentApi(agentId, optionsRef.current),\n () => true,\n false\n );\n\n const { execute: getDefaultAgent, loading: defaultLoading, error: defaultError } = useApiAsync(\n () => getDefaultAgentApi(optionsRef.current),\n (data) => data.agent || null,\n null as Agent | null\n );\n\n const loading = listLoading || listSummaryLoading || getLoading || createLoading || updateLoading || deleteLoading || defaultLoading;\n const error = listError || listSummaryError || getError || createError || updateError || deleteError || defaultError;\n\n return useMemo(\n () => ({\n loading,\n error,\n listAgents,\n listAgentSummaries,\n getAgent,\n createAgent,\n updateAgent,\n deleteAgent,\n getDefaultAgent,\n }),\n [loading, error, listAgents, listAgentSummaries, getAgent, createAgent, updateAgent, deleteAgent, getDefaultAgent]\n );\n}\n","\"use client\";\n\n/**\n * Options reference utility for React hooks\n *\n * Keeps a mutable ref synchronized with options to avoid\n * stale closures in callbacks while preventing unnecessary re-renders.\n */\n\nimport { useRef, useEffect } from \"react\";\n\n/**\n * Creates a ref that stays synchronized with the provided options.\n * Useful for accessing current options values in callbacks without\n * causing re-renders or stale closure issues.\n *\n * @param options - The options object to track\n * @returns A ref that always contains the latest options\n *\n * @example\n * ```tsx\n * const optionsRef = useOptionsRef(options);\n *\n * const fetchData = useCallback(async () => {\n * // Always has the latest options, no stale closure\n * const result = await api.fetch(optionsRef.current);\n * }, []); // No need to include options in deps\n * ```\n */\nexport function useOptionsRef<T>(options: T): React.MutableRefObject<T> {\n const optionsRef = useRef(options);\n\n useEffect(() => {\n optionsRef.current = options;\n }, [options]);\n\n return optionsRef;\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { Skill } from \"../models\";\nimport {\n listSkillsApi,\n getSkillApi,\n createSkillApi,\n updateSkillApi,\n deleteSkillApi,\n getSkillCategoriesApi,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseSkillsOptions = ApiClientOptions;\n\n/**\n * Hook for skill CRUD operations\n */\nexport function useSkills(options: UseSkillsOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: listSkills, loading: listLoading, error: listError } = useApiAsync(\n () => listSkillsApi(optionsRef.current),\n (data) => data.skills,\n [] as Skill[]\n );\n\n const { execute: getSkill, loading: getLoading, error: getError } = useApiAsync(\n (skillId: string) => getSkillApi(skillId, optionsRef.current),\n (data) => data.skill || null,\n null as Skill | null\n );\n\n const { execute: createSkill, loading: createLoading, error: createError } = useApiAsync(\n (skill: Partial<Skill>) => createSkillApi(skill, optionsRef.current),\n (data) => data.skill || null,\n null as Skill | null\n );\n\n const { execute: updateSkill, loading: updateLoading, error: updateError } = useApiAsync(\n (skillId: string, skill: Partial<Skill>) => updateSkillApi(skillId, skill, optionsRef.current),\n (data) => data.skill || null,\n null as Skill | null\n );\n\n const { execute: deleteSkill, loading: deleteLoading, error: deleteError } = useApiAsync(\n (skillId: string) => deleteSkillApi(skillId, optionsRef.current),\n () => true,\n false\n );\n\n const { execute: getCategories, loading: categoriesLoading, error: categoriesError } = useApiAsync(\n () => getSkillCategoriesApi(optionsRef.current),\n (data) => data.categories,\n [] as string[]\n );\n\n const loading = listLoading || getLoading || createLoading || updateLoading || deleteLoading || categoriesLoading;\n const error = listError || getError || createError || updateError || deleteError || categoriesError;\n\n return useMemo(\n () => ({\n loading,\n error,\n listSkills,\n getSkill,\n createSkill,\n updateSkill,\n deleteSkill,\n getCategories,\n }),\n [loading, error, listSkills, getSkill, createSkill, updateSkill, deleteSkill, getCategories]\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { SubAgent } from \"../models\";\nimport {\n listSubAgentsApi,\n getSubAgentApi,\n createSubAgentApi,\n updateSubAgentApi,\n deleteSubAgentApi,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseSubAgentsOptions = ApiClientOptions;\n\n/**\n * Hook for sub-agent CRUD operations\n */\nexport function useSubAgents(options: UseSubAgentsOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: listSubAgents, loading: listLoading, error: listError } = useApiAsync(\n () => listSubAgentsApi(optionsRef.current),\n (data) => data.subAgents,\n [] as SubAgent[]\n );\n\n const { execute: getSubAgent, loading: getLoading, error: getError } = useApiAsync(\n (subAgentId: string) => getSubAgentApi(subAgentId, optionsRef.current),\n (data) => data.subAgent || null,\n null as SubAgent | null\n );\n\n const { execute: createSubAgent, loading: createLoading, error: createError } = useApiAsync(\n (subAgent: Partial<SubAgent>) => createSubAgentApi(subAgent, optionsRef.current),\n (data) => data.subAgent || null,\n null as SubAgent | null\n );\n\n const { execute: updateSubAgent, loading: updateLoading, error: updateError } = useApiAsync(\n (subAgentId: string, subAgent: Partial<SubAgent>) => updateSubAgentApi(subAgentId, subAgent, optionsRef.current),\n (data) => data.subAgent || null,\n null as SubAgent | null\n );\n\n const { execute: deleteSubAgent, loading: deleteLoading, error: deleteError } = useApiAsync(\n (subAgentId: string) => deleteSubAgentApi(subAgentId, optionsRef.current),\n () => true,\n false\n );\n\n const loading = listLoading || getLoading || createLoading || updateLoading || deleteLoading;\n const error = listError || getError || createError || updateError || deleteError;\n\n return useMemo(\n () => ({\n loading,\n error,\n listSubAgents,\n getSubAgent,\n createSubAgent,\n updateSubAgent,\n deleteSubAgent,\n }),\n [loading, error, listSubAgents, getSubAgent, createSubAgent, updateSubAgent, deleteSubAgent]\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { ToolDefinition } from \"../models\";\nimport {\n listToolDefinitionsApi,\n getToolDefinitionApi,\n createToolDefinitionApi,\n updateToolDefinitionApi,\n deleteToolDefinitionApi,\n getToolDefinitionsByIdsApi,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseToolDefinitionsOptions = ApiClientOptions;\n\n/**\n * Hook for tool definition CRUD operations\n *\n * @example\n * ```tsx\n * const { loading, error, listToolDefinitions, createToolDefinition } = useToolDefinitions({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const toolDefs = await listToolDefinitions();\n * ```\n */\nexport function useToolDefinitions(options: UseToolDefinitionsOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: listToolDefinitions, loading: listLoading, error: listError } = useApiAsync(\n () => listToolDefinitionsApi(optionsRef.current),\n (data) => data.toolDefinitions,\n [] as ToolDefinition[]\n );\n\n const { execute: getToolDefinition, loading: getLoading, error: getError } = useApiAsync(\n (toolDefId: string) => getToolDefinitionApi(toolDefId, optionsRef.current),\n (data) => data.toolDefinition || null,\n null as ToolDefinition | null\n );\n\n const { execute: getToolDefinitionsByIds, loading: getByIdsLoading, error: getByIdsError } = useApiAsync(\n (ids: string[]) => getToolDefinitionsByIdsApi(ids, optionsRef.current),\n (data) => data.toolDefinitions,\n [] as ToolDefinition[]\n );\n\n const { execute: createToolDefinition, loading: createLoading, error: createError } = useApiAsync(\n (toolDefinition: Partial<ToolDefinition>) => createToolDefinitionApi(toolDefinition, optionsRef.current),\n (data) => data.toolDefinition || null,\n null as ToolDefinition | null\n );\n\n const { execute: updateToolDefinition, loading: updateLoading, error: updateError } = useApiAsync(\n (toolDefId: string, toolDefinition: Partial<ToolDefinition>) => updateToolDefinitionApi(toolDefId, toolDefinition, optionsRef.current),\n (data) => data.toolDefinition || null,\n null as ToolDefinition | null\n );\n\n const { execute: deleteToolDefinition, loading: deleteLoading, error: deleteError } = useApiAsync(\n (toolDefId: string) => deleteToolDefinitionApi(toolDefId, optionsRef.current),\n () => true,\n false\n );\n\n const loading = listLoading || getLoading || getByIdsLoading || createLoading || updateLoading || deleteLoading;\n const error = listError || getError || getByIdsError || createError || updateError || deleteError;\n\n return useMemo(\n () => ({\n loading,\n error,\n listToolDefinitions,\n getToolDefinition,\n getToolDefinitionsByIds,\n createToolDefinition,\n updateToolDefinition,\n deleteToolDefinition,\n }),\n [loading, error, listToolDefinitions, getToolDefinition, getToolDefinitionsByIds, createToolDefinition, updateToolDefinition, deleteToolDefinition]\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { AgentJob } from \"../models\";\nimport {\n listAgentJobsApi,\n getAgentJobApi,\n createAgentJobApi,\n updateAgentJobApi,\n deleteAgentJobApi,\n pauseAgentJobApi,\n resumeAgentJobApi,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseAgentJobsOptions = ApiClientOptions;\n\n/**\n * Hook for agent job CRUD operations\n *\n * @example\n * ```tsx\n * const { loading, error, listAgentJobs, createAgentJob, pauseAgentJob } = useAgentJobs({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const jobs = await listAgentJobs();\n * await pauseAgentJob(jobId);\n * ```\n */\nexport function useAgentJobs(options: UseAgentJobsOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: listAgentJobs, loading: listLoading, error: listError } = useApiAsync(\n () => listAgentJobsApi(optionsRef.current),\n (data) => data.jobs,\n [] as AgentJob[]\n );\n\n const { execute: getAgentJob, loading: getLoading, error: getError } = useApiAsync(\n (jobId: string) => getAgentJobApi(jobId, optionsRef.current),\n (data) => data.job || null,\n null as AgentJob | null\n );\n\n const { execute: createAgentJob, loading: createLoading, error: createError } = useApiAsync(\n (job: Partial<AgentJob>) => createAgentJobApi(job, optionsRef.current),\n (data) => data.job || null,\n null as AgentJob | null\n );\n\n const { execute: updateAgentJob, loading: updateLoading, error: updateError } = useApiAsync(\n (jobId: string, job: Partial<AgentJob>) => updateAgentJobApi(jobId, job, optionsRef.current),\n (data) => data.job || null,\n null as AgentJob | null\n );\n\n const { execute: deleteAgentJob, loading: deleteLoading, error: deleteError } = useApiAsync(\n (jobId: string) => deleteAgentJobApi(jobId, optionsRef.current),\n () => true,\n false\n );\n\n const { execute: pauseAgentJob, loading: pauseLoading, error: pauseError } = useApiAsync(\n (jobId: string) => pauseAgentJobApi(jobId, optionsRef.current),\n (data) => data.job || null,\n null as AgentJob | null\n );\n\n const { execute: resumeAgentJob, loading: resumeLoading, error: resumeError } = useApiAsync(\n (jobId: string) => resumeAgentJobApi(jobId, optionsRef.current),\n (data) => data.job || null,\n null as AgentJob | null\n );\n\n const loading = listLoading || getLoading || createLoading || updateLoading || deleteLoading || pauseLoading || resumeLoading;\n const error = listError || getError || createError || updateError || deleteError || pauseError || resumeError;\n\n return useMemo(\n () => ({\n loading,\n error,\n listAgentJobs,\n getAgentJob,\n createAgentJob,\n updateAgentJob,\n deleteAgentJob,\n pauseAgentJob,\n resumeAgentJob,\n }),\n [loading, error, listAgentJobs, getAgentJob, createAgentJob, updateAgentJob, deleteAgentJob, pauseAgentJob, resumeAgentJob]\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { AgentWidget } from \"../models\";\nimport {\n listWidgetsApi,\n getWidgetApi,\n createWidgetApi,\n updateWidgetApi,\n deleteWidgetApi,\n getDefaultWidgetApi,\n setDefaultWidgetApi,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport interface UseWidgetsOptions extends ApiClientOptions {\n agentId: string;\n}\n\n/**\n * Hook for widget CRUD operations\n *\n * @example\n * ```tsx\n * const { loading, error, listWidgets, createWidget } = useWidgets({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * agentId: selectedAgentId,\n * });\n *\n * const widgets = await listWidgets();\n * ```\n */\nexport function useWidgets(options: UseWidgetsOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: listWidgets, loading: listLoading, error: listError } = useApiAsync(\n () => listWidgetsApi(optionsRef.current.agentId, optionsRef.current),\n (data) => data.widgets,\n [] as AgentWidget[]\n );\n\n const { execute: getWidget, loading: getLoading, error: getError } = useApiAsync(\n (widgetId: string) => getWidgetApi(widgetId, optionsRef.current),\n (data) => data.widget || null,\n null as AgentWidget | null\n );\n\n const { execute: getDefaultWidget, loading: defaultLoading, error: defaultError } = useApiAsync(\n () => getDefaultWidgetApi(optionsRef.current.agentId, optionsRef.current),\n (data) => data.widget || null,\n null as AgentWidget | null\n );\n\n const { execute: createWidget, loading: createLoading, error: createError } = useApiAsync(\n (widget: Partial<AgentWidget>) => createWidgetApi(optionsRef.current.agentId, widget, optionsRef.current),\n (data) => data.widget || null,\n null as AgentWidget | null\n );\n\n const { execute: updateWidget, loading: updateLoading, error: updateError } = useApiAsync(\n (widgetId: string, widget: Partial<AgentWidget>) => updateWidgetApi(widgetId, widget, optionsRef.current),\n (data) => data.widget || null,\n null as AgentWidget | null\n );\n\n const { execute: deleteWidget, loading: deleteLoading, error: deleteError } = useApiAsync(\n (widgetId: string) => deleteWidgetApi(widgetId, optionsRef.current),\n () => true,\n false\n );\n\n const { execute: setDefaultWidget, loading: setDefaultLoading, error: setDefaultError } = useApiAsync(\n (widgetId: string) => setDefaultWidgetApi(widgetId, optionsRef.current.agentId, optionsRef.current),\n () => true,\n false\n );\n\n const loading = listLoading || getLoading || defaultLoading || createLoading || updateLoading || deleteLoading || setDefaultLoading;\n const error = listError || getError || defaultError || createError || updateError || deleteError || setDefaultError;\n\n return useMemo(\n () => ({\n loading,\n error,\n listWidgets,\n getWidget,\n getDefaultWidget,\n createWidget,\n updateWidget,\n deleteWidget,\n setDefaultWidget,\n }),\n [loading, error, listWidgets, getWidget, getDefaultWidget, createWidget, updateWidget, deleteWidget, setDefaultWidget]\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { SkillUserConfig, ResolveSkillConfigResponse } from \"../models\";\nimport {\n getSkillUserConfigApi,\n updateSkillUserConfigApi,\n deleteSkillUserConfigApi,\n listSkillUserConfigsApi,\n resolveSkillConfigApi,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseSkillUserConfigOptions = ApiClientOptions;\n\n/**\n * Hook for skill user configuration operations\n *\n * @example\n * ```tsx\n * const { loading, error, getSkillUserConfig, updateSkillUserConfig } = useSkillUserConfig({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const config = await getSkillUserConfig(skillId);\n * await updateSkillUserConfig(skillId, { enabled: true });\n * ```\n */\nexport function useSkillUserConfig(options: UseSkillUserConfigOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: getSkillUserConfig, loading: getLoading, error: getError } = useApiAsync(\n (skillId: string, agentId?: string) =>\n getSkillUserConfigApi(skillId, { ...optionsRef.current, agentId }),\n (data) => data.userConfig || null,\n null as SkillUserConfig | null\n );\n\n const { execute: updateSkillUserConfig, loading: updateLoading, error: updateError } = useApiAsync(\n (\n skillId: string,\n data: { enabled?: boolean; displayOrder?: number; config?: Record<string, unknown>; agentId?: string }\n ) => updateSkillUserConfigApi(skillId, data, optionsRef.current),\n (data) => data.userConfig || null,\n null as SkillUserConfig | null\n );\n\n const { execute: deleteSkillUserConfig, loading: deleteLoading, error: deleteError } = useApiAsync(\n (skillId: string, agentId?: string) =>\n deleteSkillUserConfigApi(skillId, { ...optionsRef.current, agentId }),\n () => true,\n false\n );\n\n const { execute: listSkillUserConfigs, loading: listLoading, error: listError } = useApiAsync(\n (params?: { agentId?: string; limit?: number; offset?: number }) =>\n listSkillUserConfigsApi({ ...optionsRef.current, ...params }),\n (data) => data.userConfigs || [],\n [] as SkillUserConfig[]\n );\n\n const { execute: resolveSkillConfig, loading: resolveLoading, error: resolveError } = useApiAsync(\n (skillId: string, agentId: string) => resolveSkillConfigApi(skillId, agentId, optionsRef.current),\n (data) => data,\n null as ResolveSkillConfigResponse | null\n );\n\n const loading = getLoading || updateLoading || deleteLoading || listLoading || resolveLoading;\n const error = getError || updateError || deleteError || listError || resolveError;\n\n return useMemo(\n () => ({\n loading,\n error,\n getSkillUserConfig,\n updateSkillUserConfig,\n deleteSkillUserConfig,\n listSkillUserConfigs,\n resolveSkillConfig,\n }),\n [loading, error, getSkillUserConfig, updateSkillUserConfig, deleteSkillUserConfig, listSkillUserConfigs, resolveSkillConfig]\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport {\n getAgentChatsAnalyticsApi,\n getAgentCSATAnalyticsApi,\n getAgentListAnalyticsApi,\n getTaskOutcomesApi,\n type DateFilter,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseAnalyticsOptions = ApiClientOptions;\n\n/**\n * Hook for agent analytics operations\n *\n * @example\n * ```tsx\n * const { loading, error, getAgentChatsAnalytics, getAgentCSATAnalytics } = useAnalytics({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const chatsData = await getAgentChatsAnalytics({ from: '2024-01-01', to: '2024-12-31' });\n * ```\n */\nexport function useAnalytics(options: UseAnalyticsOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: getAgentChatsAnalytics, loading: chatsLoading, error: chatsError } = useApiAsync(\n (params: { date_filter: DateFilter; agent_id?: string }) =>\n getAgentChatsAnalyticsApi(params, optionsRef.current),\n (data) => data.data,\n [] as unknown[]\n );\n\n const { execute: getAgentCSATAnalytics, loading: csatLoading, error: csatError } = useApiAsync(\n (params: { date_filter: DateFilter; agent_id?: string }) =>\n getAgentCSATAnalyticsApi(params, optionsRef.current),\n (data) => data.data,\n [] as unknown[]\n );\n\n const { execute: getAgentListAnalytics, loading: listLoading, error: listError } = useApiAsync(\n () => getAgentListAnalyticsApi(optionsRef.current),\n (data) => data.data,\n [] as unknown[]\n );\n\n const { execute: getTaskOutcomes, loading: taskLoading, error: taskError } = useApiAsync(\n (params: { date_filter: DateFilter }) => getTaskOutcomesApi(params, optionsRef.current),\n (data) => data.data,\n [] as unknown[]\n );\n\n const loading = chatsLoading || csatLoading || listLoading || taskLoading;\n const error = chatsError || csatError || listError || taskError;\n\n return useMemo(\n () => ({\n loading,\n error,\n getAgentChatsAnalytics,\n getAgentCSATAnalytics,\n getAgentListAnalytics,\n getTaskOutcomes,\n }),\n [loading, error, getAgentChatsAnalytics, getAgentCSATAnalytics, getAgentListAnalytics, getTaskOutcomes]\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { UserIntegration, IntegrationProviderTS, IntegrationTypeTS } from \"../models\";\nimport {\n listIntegrationsApi,\n getIntegrationApi,\n connectIntegrationApi,\n disconnectIntegrationApi,\n refreshIntegrationApi,\n updateIntegrationTriageApi,\n runEmailTriageApi,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseIntegrationsOptions = ApiClientOptions;\n\n/**\n * Hook for user integration operations (OAuth connections)\n *\n * @example\n * ```tsx\n * const { loading, error, listIntegrations, connectIntegration, disconnectIntegration } = useIntegrations({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const integrations = await listIntegrations();\n * const { auth_url } = await connectIntegration({ provider: 'google', integrationType: 'email', redirectUri: '/callback' });\n * ```\n */\nexport function useIntegrations(options: UseIntegrationsOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: listIntegrations, loading: listLoading, error: listError } = useApiAsync(\n () => listIntegrationsApi(optionsRef.current),\n (data) => data.integrations,\n [] as UserIntegration[]\n );\n\n const { execute: getIntegration, loading: getLoading, error: getError } = useApiAsync(\n (provider: IntegrationProviderTS, integrationType: IntegrationTypeTS) =>\n getIntegrationApi(provider, integrationType, optionsRef.current),\n (data) => data.integration || null,\n null as UserIntegration | null\n );\n\n const { execute: connectIntegration, loading: connectLoading, error: connectError } = useApiAsync(\n (params: { provider: IntegrationProviderTS; integrationType: IntegrationTypeTS; redirectUri: string }) =>\n connectIntegrationApi(params, optionsRef.current),\n (data) => ({ authUrl: data.auth_url, state: data.state }),\n null as { authUrl: string; state: string } | null\n );\n\n const { execute: disconnectIntegration, loading: disconnectLoading, error: disconnectError } = useApiAsync(\n (params: { provider: IntegrationProviderTS; integrationType: IntegrationTypeTS }) =>\n disconnectIntegrationApi(params, optionsRef.current),\n () => true,\n false\n );\n\n const { execute: refreshIntegration, loading: refreshLoading, error: refreshError } = useApiAsync(\n (params: { provider: IntegrationProviderTS; integrationType: IntegrationTypeTS }) =>\n refreshIntegrationApi(params, optionsRef.current),\n (data) => data.integration || null,\n null as UserIntegration | null\n );\n\n const { execute: updateTriage, loading: updateTriageLoading, error: updateTriageError } = useApiAsync(\n (params: { provider: IntegrationProviderTS; integrationType: IntegrationTypeTS; triageEnabled: boolean }) =>\n updateIntegrationTriageApi(params, optionsRef.current),\n (data) => data.integration || null,\n null as UserIntegration | null\n );\n\n const { execute: runEmailTriage, loading: runTriageLoading, error: runTriageError } = useApiAsync(\n () => runEmailTriageApi(optionsRef.current),\n (data) => ({ success: data.success, emailsFound: data.emails_found, instancesCreated: data.instances_created }),\n null as { success: boolean; emailsFound: number; instancesCreated: number } | null\n );\n\n const loading = listLoading || getLoading || connectLoading || disconnectLoading || refreshLoading || updateTriageLoading || runTriageLoading;\n const error = listError || getError || connectError || disconnectError || refreshError || updateTriageError || runTriageError;\n\n return useMemo(\n () => ({\n loading,\n error,\n listIntegrations,\n getIntegration,\n connectIntegration,\n disconnectIntegration,\n refreshIntegration,\n updateTriage,\n runEmailTriage,\n }),\n [loading, error, listIntegrations, getIntegration, connectIntegration, disconnectIntegration, refreshIntegration, updateTriage, runEmailTriage]\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { Sandbox, CreateSandboxRequest } from \"../models\";\nimport {\n createSandboxApi,\n getSandboxApi,\n updateSandboxApi,\n listSandboxesApi,\n deleteSandboxApi,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseSandboxOptions = ApiClientOptions;\n\n/**\n * Hook for sandbox operations (AI-generated HTML sandboxes)\n *\n * @example\n * ```tsx\n * const { createSandbox, getSandbox, listSandboxes, loading, error } = useSandbox({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const result = await createSandbox({ prompt: \"Create a bar chart showing sales data\" });\n * console.log(result.url); // sandbox URL\n * ```\n */\nexport function useSandbox(options: UseSandboxOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: createSandbox, loading: createLoading, error: createError } = useApiAsync(\n (request: Omit<CreateSandboxRequest, \"orgId\">) => createSandboxApi(request, optionsRef.current),\n (data) => ({ id: data.id, url: data.url, sandbox: data.sandbox }),\n null as { id: string; url: string; sandbox?: Sandbox } | null\n );\n\n const { execute: getSandbox, loading: getLoading, error: getError } = useApiAsync(\n (sandboxId: string) => getSandboxApi(sandboxId, optionsRef.current),\n (data) => data.sandbox || null,\n null as Sandbox | null\n );\n\n const { execute: updateSandbox, loading: updateLoading, error: updateError } = useApiAsync(\n (sandboxId: string, request: { prompt: string; title?: string }) =>\n updateSandboxApi(sandboxId, request, optionsRef.current),\n (data) => ({ id: data.id, url: data.url, sandbox: data.sandbox }),\n null as { id: string; url: string; sandbox?: Sandbox } | null\n );\n\n const { execute: listSandboxes, loading: listLoading, error: listError } = useApiAsync(\n (limit?: number) => listSandboxesApi({ ...optionsRef.current, limit }),\n (data) => ({ sandboxes: data.sandboxes, total: data.total }),\n { sandboxes: [] as Sandbox[], total: 0 }\n );\n\n const { execute: deleteSandbox, loading: deleteLoading, error: deleteError } = useApiAsync(\n (sandboxId: string) => deleteSandboxApi(sandboxId, optionsRef.current),\n (data) => data.success,\n false\n );\n\n const loading = createLoading || getLoading || updateLoading || listLoading || deleteLoading;\n const error = createError || getError || updateError || listError || deleteError;\n\n return useMemo(\n () => ({\n loading,\n error,\n createSandbox,\n getSandbox,\n updateSandbox,\n listSandboxes,\n deleteSandbox,\n }),\n [loading, error, createSandbox, getSandbox, updateSandbox, listSandboxes, deleteSandbox]\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport {\n listSchedulerTasksApi,\n createSchedulerTaskApi,\n getSchedulerTaskApi,\n updateSchedulerTaskApi,\n deleteSchedulerTaskApi,\n snoozeSchedulerTaskApi,\n completeSchedulerTaskApi,\n startSchedulerTaskApi,\n type SchedulerTask,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseSchedulerTasksOptions = ApiClientOptions;\n\n/**\n * Hook for scheduler task operations\n *\n * @example\n * ```tsx\n * const { listTasks, createTask, snoozeTask, loading, error } = useSchedulerTasks({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const tasks = await listTasks();\n * await snoozeTask(taskId, { amount: 30, unit: \"minutes\" });\n * ```\n */\nexport function useSchedulerTasks(options: UseSchedulerTasksOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: listTasks, loading: listLoading, error: listError } = useApiAsync(\n (params?: { status?: string; limit?: number; offset?: number }) =>\n listSchedulerTasksApi({ ...optionsRef.current, ...params }),\n (data) => data.tasks,\n [] as SchedulerTask[]\n );\n\n const { execute: createTask, loading: createLoading, error: createError } = useApiAsync(\n (task: Partial<SchedulerTask>) => createSchedulerTaskApi(task, optionsRef.current),\n (data) => data.task || null,\n null as SchedulerTask | null\n );\n\n const { execute: getTask, loading: getLoading, error: getError } = useApiAsync(\n (taskId: string) => getSchedulerTaskApi(taskId, optionsRef.current),\n (data) => data.task || null,\n null as SchedulerTask | null\n );\n\n const { execute: updateTask, loading: updateLoading, error: updateError } = useApiAsync(\n (taskId: string, task: Partial<SchedulerTask>) =>\n updateSchedulerTaskApi(taskId, task, optionsRef.current),\n (data) => data.task || null,\n null as SchedulerTask | null\n );\n\n const { execute: deleteTask, loading: deleteLoading, error: deleteError } = useApiAsync(\n (taskId: string) => deleteSchedulerTaskApi(taskId, optionsRef.current),\n (data) => data.success,\n false\n );\n\n const { execute: snoozeTask, loading: snoozeLoading, error: snoozeError } = useApiAsync(\n (taskId: string, delay: { amount: number; unit: string }) =>\n snoozeSchedulerTaskApi(taskId, delay, optionsRef.current),\n (data) => data.task || null,\n null as SchedulerTask | null\n );\n\n const { execute: completeTask, loading: completeLoading, error: completeError } = useApiAsync(\n (taskId: string) => completeSchedulerTaskApi(taskId, optionsRef.current),\n (data) => data.task || null,\n null as SchedulerTask | null\n );\n\n const { execute: startTask, loading: startLoading, error: startError } = useApiAsync(\n (taskId: string) => startSchedulerTaskApi(taskId, optionsRef.current),\n (data) => data.task || null,\n null as SchedulerTask | null\n );\n\n const loading = listLoading || createLoading || getLoading || updateLoading || deleteLoading || snoozeLoading || completeLoading || startLoading;\n const error = listError || createError || getError || updateError || deleteError || snoozeError || completeError || startError;\n\n return useMemo(\n () => ({\n loading,\n error,\n listTasks,\n createTask,\n getTask,\n updateTask,\n deleteTask,\n snoozeTask,\n completeTask,\n startTask,\n }),\n [loading, error, listTasks, createTask, getTask, updateTask, deleteTask, snoozeTask, completeTask, startTask]\n );\n}\n","\"use client\";\n\nimport { useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport {\n listSchedulesApi,\n createScheduleApi,\n getScheduleApi,\n updateScheduleApi,\n deleteScheduleApi,\n pauseScheduleApi,\n resumeScheduleApi,\n runScheduleApi,\n type SchedulerSchedule,\n} from \"../api\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\nexport type UseSchedulerSchedulesOptions = ApiClientOptions;\n\n/**\n * Hook for scheduler schedule operations (recurring jobs)\n *\n * @example\n * ```tsx\n * const { listSchedules, createSchedule, pauseSchedule, loading, error } = useSchedulerSchedules({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * });\n *\n * const schedules = await listSchedules();\n * await pauseSchedule(scheduleId);\n * ```\n */\nexport function useSchedulerSchedules(options: UseSchedulerSchedulesOptions) {\n const optionsRef = useOptionsRef(options);\n\n const { execute: listSchedules, loading: listLoading, error: listError } = useApiAsync(\n (params?: { status?: string; limit?: number; offset?: number }) =>\n listSchedulesApi({ ...optionsRef.current, ...params }),\n (data) => data.schedules,\n [] as SchedulerSchedule[]\n );\n\n const { execute: createSchedule, loading: createLoading, error: createError } = useApiAsync(\n (schedule: Partial<SchedulerSchedule>) => createScheduleApi(schedule, optionsRef.current),\n (data) => data.schedule || null,\n null as SchedulerSchedule | null\n );\n\n const { execute: getSchedule, loading: getLoading, error: getError } = useApiAsync(\n (scheduleId: string) => getScheduleApi(scheduleId, optionsRef.current),\n (data) => data.schedule || null,\n null as SchedulerSchedule | null\n );\n\n const { execute: updateSchedule, loading: updateLoading, error: updateError } = useApiAsync(\n (scheduleId: string, schedule: Partial<SchedulerSchedule>) =>\n updateScheduleApi(scheduleId, schedule, optionsRef.current),\n (data) => data.schedule || null,\n null as SchedulerSchedule | null\n );\n\n const { execute: deleteSchedule, loading: deleteLoading, error: deleteError } = useApiAsync(\n (scheduleId: string) => deleteScheduleApi(scheduleId, optionsRef.current),\n (data) => data.success,\n false\n );\n\n const { execute: pauseSchedule, loading: pauseLoading, error: pauseError } = useApiAsync(\n (scheduleId: string) => pauseScheduleApi(scheduleId, optionsRef.current),\n (data) => data.schedule || null,\n null as SchedulerSchedule | null\n );\n\n const { execute: resumeSchedule, loading: resumeLoading, error: resumeError } = useApiAsync(\n (scheduleId: string) => resumeScheduleApi(scheduleId, optionsRef.current),\n (data) => data.schedule || null,\n null as SchedulerSchedule | null\n );\n\n const { execute: runSchedule, loading: runLoading, error: runError } = useApiAsync(\n (scheduleId: string) => runScheduleApi(scheduleId, optionsRef.current),\n (data) => data.schedule || null,\n null as SchedulerSchedule | null\n );\n\n const loading = listLoading || createLoading || getLoading || updateLoading || deleteLoading || pauseLoading || resumeLoading || runLoading;\n const error = listError || createError || getError || updateError || deleteError || pauseError || resumeError || runError;\n\n return useMemo(\n () => ({\n loading,\n error,\n listSchedules,\n createSchedule,\n getSchedule,\n updateSchedule,\n deleteSchedule,\n pauseSchedule,\n resumeSchedule,\n runSchedule,\n }),\n [loading, error, listSchedules, createSchedule, getSchedule, updateSchedule, deleteSchedule, pauseSchedule, resumeSchedule, runSchedule]\n );\n}\n","\"use client\";\n\nimport { useState, useEffect, useRef, useCallback, useMemo } from \"react\";\nimport type { ApiClientOptions } from \"@elqnt/api-client\";\nimport type { AgentSummary, TriggerBackgroundAgentRequest, TriggerBackgroundAgentResponse, BackgroundAgentStatusResponse, AgentStatusUpdate } from \"../models\";\nimport {\n listAgentsSummaryApi,\n triggerBackgroundAgentApi,\n checkBackgroundAgentStatusApi,\n} from \"../api\";\nimport type { ChatMessage, Attachment } from \"@elqnt/chat/models\";\nimport { createBGAgentTransport } from \"../transport/sse\";\nimport type { BGAgentTransport, BackgroundAgentProgressEvent } from \"../transport/types\";\nimport { useApiAsync } from \"@elqnt/api-client/hooks\";\nimport { useOptionsRef } from \"./use-options-ref\";\n\n/** Live state accumulated from SSE events for a single background agent */\nexport interface BGAgentLiveState {\n status: \"running\" | \"completed\" | \"failed\";\n progressLog: string[];\n latestMessage: string;\n result?: string;\n error?: string;\n}\n\n/** Options for useBackgroundAgents hook */\nexport interface UseBackgroundAgentsOptions extends ApiClientOptions {\n /** Chat service URL for SSE streaming (e.g., wss://chat.example.com or https://chat.example.com) */\n chatServiceUrl?: string;\n /** User ID (typically email) for chat operations */\n userId?: string;\n}\n\n/** Background status reported by the agent via report_status tool */\nexport type BackgroundStatus = \"processing\" | \"completed\" | \"failed\";\n\n/** Watched chat state with messages */\nexport interface WatchedChatState {\n chatKey: string;\n messages: ChatMessage[];\n status: \"loading\" | \"active\" | \"completed\" | \"error\";\n /** Background agent status (from report_status tool) */\n backgroundStatus?: BackgroundStatus;\n /** Background agent status message (from report_status tool) */\n backgroundStatusMessage?: string;\n /** History of all status updates for inline display */\n statusHistory: AgentStatusUpdate[];\n title?: string;\n metadata?: Record<string, unknown>;\n error?: string;\n}\n\n/**\n * Hook for triggering background agents, streaming progress via SSE, and checking status.\n *\n * @example\n * ```tsx\n * const { startChat, sendMessage } = useChatContext();\n * const { liveStates, createTask, streamJob, checkStatus } = useBackgroundAgents({\n * baseUrl: apiGatewayUrl,\n * orgId: selectedOrgId,\n * startChat,\n * sendMessage,\n * });\n *\n * // Create a background task (simplified flow using chat)\n * const chatKey = await createTask(\"Analyze the quarterly report\");\n *\n * // Or trigger via jobs API (PostgreSQL-backed)\n * const result = await triggerAgent({ name: \"Analysis\", prompt: \"...\", agentName: \"Research Agent\" });\n * if (result?.jobId) streamJob(result.jobId);\n * ```\n */\nexport function useBackgroundAgents(options: UseBackgroundAgentsOptions) {\n const optionsRef = useOptionsRef(options);\n const [liveStates, setLiveStates] = useState<Record<string, BGAgentLiveState>>({});\n const [watchedChats, setWatchedChats] = useState<Record<string, WatchedChatState>>({});\n const transportRef = useRef<BGAgentTransport | null>(null);\n const sseRef = useRef<EventSource | null>(null);\n const watchedChatKeyRef = useRef<string | null>(null);\n\n // Initialize transport once\n useEffect(() => {\n const transport = createBGAgentTransport();\n transport.connect({ streamBaseUrl: optionsRef.current.baseUrl });\n transportRef.current = transport;\n return () => {\n transport.disconnect();\n transportRef.current = null;\n };\n }, []);\n\n // Track which jobIds already have handlers registered\n const subscribedJobsRef = useRef<Set<string>>(new Set());\n\n // Stream a job's progress via SSE\n const streamJob = useCallback((jobId: string) => {\n const transport = transportRef.current;\n if (!transport) return;\n\n // Skip if already subscribed (prevents duplicate handlers)\n if (subscribedJobsRef.current.has(jobId)) return;\n subscribedJobsRef.current.add(jobId);\n\n // Initialize live state\n setLiveStates((prev) => ({\n ...prev,\n [jobId]: prev[jobId] || { status: \"running\", progressLog: [], latestMessage: \"Starting...\" },\n }));\n\n // Subscribe to events for this job\n transport.on(\"bg_agent.round\", (event: BackgroundAgentProgressEvent) => {\n if (event.jobId !== jobId || !event.content) return;\n setLiveStates((prev) => {\n const cur = prev[jobId] || { status: \"running\" as const, progressLog: [], latestMessage: \"\" };\n return {\n ...prev,\n [jobId]: { ...cur, status: \"running\", progressLog: [...cur.progressLog, event.content!], latestMessage: event.content! },\n };\n });\n });\n\n transport.on(\"bg_agent.completed\", (event: BackgroundAgentProgressEvent) => {\n if (event.jobId !== jobId) return;\n subscribedJobsRef.current.delete(jobId);\n setLiveStates((prev) => ({\n ...prev,\n [jobId]: { ...(prev[jobId] || { progressLog: [], latestMessage: \"\" }), status: \"completed\", result: event.result, latestMessage: event.result || \"Completed\" },\n }));\n });\n\n transport.on(\"bg_agent.failed\", (event: BackgroundAgentProgressEvent) => {\n if (event.jobId !== jobId) return;\n subscribedJobsRef.current.delete(jobId);\n setLiveStates((prev) => ({\n ...prev,\n [jobId]: { ...(prev[jobId] || { progressLog: [], latestMessage: \"\" }), status: \"failed\", error: event.error, latestMessage: event.error || \"Failed\" },\n }));\n });\n\n // Open the SSE stream\n transport.streamJob(jobId);\n }, []);\n\n // Trigger a background agent\n const { execute: triggerAgent, loading: triggerLoading, error: triggerError } = useApiAsync(\n (request: Pick<TriggerBackgroundAgentRequest, \"name\" | \"prompt\" | \"agentName\" | \"context\" | \"enableSSE\" | \"description\">) =>\n triggerBackgroundAgentApi(request, optionsRef.current),\n (data) => data as TriggerBackgroundAgentResponse,\n null as TriggerBackgroundAgentResponse | null\n );\n\n // Check status\n const { execute: checkStatus, loading: statusLoading, error: statusError } = useApiAsync(\n (jobId: string) => checkBackgroundAgentStatusApi(jobId, optionsRef.current),\n (data) => data as BackgroundAgentStatusResponse,\n null as BackgroundAgentStatusResponse | null\n );\n\n // List agent summaries (for agent picker in \"New\" dialog)\n const { execute: listAgentSummaries, loading: summaryLoading, error: summaryError } = useApiAsync(\n () => listAgentsSummaryApi(optionsRef.current),\n (data) => data.agents || [],\n [] as AgentSummary[]\n );\n\n // Create a background task using the chat system (simplified flow, no PostgreSQL)\n // Calls the chat service directly (not through API Gateway)\n const createTask = useCallback(async (prompt: string, attachments?: Attachment[]): Promise<string | null> => {\n const { chatServiceUrl, orgId, userId } = optionsRef.current;\n if (!chatServiceUrl) {\n console.error(\"chatServiceUrl is required for createTask\");\n return null;\n }\n if (!userId) {\n console.error(\"userId is required for createTask\");\n return null;\n }\n\n try {\n // Create chat with background_agent by name and background flag\n // Direct call to chat service (same pattern as regular chat)\n // Include userId and userEmail in metadata for integration tools (email, calendar, etc.)\n const createResponse = await fetch(`${chatServiceUrl}/create`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n orgId,\n userId,\n metadata: {\n agentName: \"background_agent\",\n background: true,\n userId: userId,\n userEmail: userId,\n originalPrompt: prompt,\n },\n }),\n });\n\n if (!createResponse.ok) {\n const errorText = await createResponse.text();\n console.error(\"Failed to create background chat:\", errorText);\n return null;\n }\n\n const createData = await createResponse.json();\n // Chat service wraps response in { success: true, data: { chatKey: \"...\" } }\n const chatKey = createData.data?.chatKey || createData.chatKey;\n\n if (!chatKey) {\n console.error(\"No chatKey returned from create\");\n return null;\n }\n\n // Send the user's prompt as the first message\n // Direct call to chat service\n const sendResponse = await fetch(`${chatServiceUrl}/send`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({\n orgId,\n userId,\n chatKey,\n message: {\n role: \"user\",\n content: prompt,\n attachments: attachments || undefined,\n },\n }),\n });\n\n if (!sendResponse.ok) {\n const errorText = await sendResponse.text();\n console.error(\"Failed to send message:\", errorText);\n // Still return chatKey since chat was created\n }\n\n return chatKey;\n } catch (err) {\n console.error(\"Failed to create background task:\", err);\n return null;\n }\n }, []);\n\n // Watch a chat for updates via SSE\n // Calls the chat service directly (not through API Gateway)\n const watchChat = useCallback(async (chatKey: string): Promise<void> => {\n const { chatServiceUrl, orgId, userId } = optionsRef.current;\n\n if (!chatServiceUrl) {\n console.error(\"chatServiceUrl is required for watchChat\");\n return;\n }\n if (!userId) {\n console.error(\"userId is required for watchChat\");\n return;\n }\n\n // Close existing SSE connection if watching a different chat\n if (sseRef.current && watchedChatKeyRef.current !== chatKey) {\n sseRef.current.close();\n sseRef.current = null;\n }\n\n watchedChatKeyRef.current = chatKey;\n\n // Set loading state\n setWatchedChats((prev) => ({\n ...prev,\n [chatKey]: { chatKey, messages: [], status: \"loading\", statusHistory: [] },\n }));\n\n try {\n // Load the chat data directly from chat service (same pattern as regular chat)\n const loadResponse = await fetch(`${chatServiceUrl}/load`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ orgId, chatKey, userId }),\n });\n\n if (!loadResponse.ok) {\n const errorText = await loadResponse.text();\n setWatchedChats((prev) => ({\n ...prev,\n [chatKey]: { chatKey, messages: [], status: \"error\", statusHistory: [], error: errorText || \"Failed to load chat\" },\n }));\n return;\n }\n\n const loadData = await loadResponse.json();\n // Chat service wraps response in { success: true, data: { chat: {...} } }\n const chat = loadData.data?.chat || loadData.chat;\n\n if (!chat) {\n setWatchedChats((prev) => ({\n ...prev,\n [chatKey]: { chatKey, messages: [], status: \"error\", statusHistory: [], error: \"No chat data returned\" },\n }));\n return;\n }\n\n // Extract background status from chat metadata if available\n const bgStatus = chat.metadata?.backgroundStatus as BackgroundStatus | undefined;\n const bgMessage = chat.metadata?.backgroundStatusMessage as string | undefined;\n\n // Determine initial status based on background status\n let initialStatus: WatchedChatState[\"status\"] = \"active\";\n if (bgStatus === \"completed\") initialStatus = \"completed\";\n else if (bgStatus === \"failed\") initialStatus = \"error\";\n\n // Initialize status history (will be populated from SSE events)\n const initialStatusHistory: AgentStatusUpdate[] = [];\n\n setWatchedChats((prev) => ({\n ...prev,\n [chatKey]: {\n chatKey,\n messages: chat.messages || [],\n status: initialStatus,\n title: chat.title,\n metadata: chat.metadata as Record<string, unknown>,\n backgroundStatus: bgStatus,\n backgroundStatusMessage: bgMessage,\n statusHistory: initialStatusHistory,\n },\n }));\n\n // Connect to SSE for real-time updates (direct to chat service)\n const sseUrl = `${chatServiceUrl}/stream?orgId=${orgId}&userId=${userId}&chatId=${chatKey}&clientType=customer`;\n const sse = new EventSource(sseUrl);\n sseRef.current = sse;\n\n // Helper to process SSE event data\n const processEventData = (data: Record<string, unknown>) => {\n console.log(\"[useBackgroundAgents] SSE event received:\", data.type, data);\n // Handle new message events\n if (data.type === \"message\" && data.message) {\n setWatchedChats((prev) => {\n const current = prev[chatKey];\n if (!current) return prev;\n // Avoid duplicate messages\n const msg = data.message as ChatMessage;\n const exists = current.messages.some((m) => m.id === msg.id);\n if (exists) return prev;\n return {\n ...prev,\n [chatKey]: {\n ...current,\n messages: [...current.messages, msg],\n },\n };\n });\n }\n // Handle background status updates from report_status tool\n const eventData = data.data as Record<string, unknown> | undefined;\n if (data.type === \"agent_context_update\" && eventData?.backgroundStatus) {\n const bgStatus = eventData.backgroundStatus as BackgroundStatus;\n const bgMessage = eventData.backgroundStatusMessage as string | undefined;\n const timestamp = Date.now();\n console.log(\"[useBackgroundAgents] Background status update:\", bgStatus, bgMessage);\n setWatchedChats((prev) => {\n const current = prev[chatKey];\n if (!current) return prev;\n // Update background status and auto-set completion status\n const newStatus: WatchedChatState[\"status\"] =\n bgStatus === \"completed\" ? \"completed\" :\n bgStatus === \"failed\" ? \"error\" :\n current.status;\n // Add to status history (avoid duplicates by checking last entry)\n const newHistory = [...current.statusHistory];\n const lastEntry = newHistory[newHistory.length - 1];\n if (!lastEntry || lastEntry.message !== bgMessage || lastEntry.status !== bgStatus) {\n newHistory.push({\n status: bgStatus,\n message: bgMessage || \"\",\n timestamp,\n });\n }\n return {\n ...prev,\n [chatKey]: {\n ...current,\n status: newStatus,\n backgroundStatus: bgStatus,\n backgroundStatusMessage: bgMessage,\n statusHistory: newHistory,\n },\n };\n });\n }\n // Handle explicit chat completion (fallback)\n if (data.type === \"chat_ended\" || data.type === \"agent_done\") {\n setWatchedChats((prev) => ({\n ...prev,\n [chatKey]: { ...prev[chatKey], status: \"completed\" },\n }));\n }\n };\n\n // Default message handler (for events without custom event type)\n sse.onmessage = (event) => {\n try {\n const data = JSON.parse(event.data);\n processEventData(data);\n } catch (err) {\n console.error(\"Failed to parse SSE event:\", err);\n }\n };\n\n // Handler for custom event types (backend sends events with `event: agent_context_update`)\n // Note: EventSource requires separate listeners for custom event types\n const customEventTypes = [\"agent_context_update\", \"message\", \"chat_ended\", \"agent_done\"];\n for (const eventType of customEventTypes) {\n sse.addEventListener(eventType, (event) => {\n try {\n const data = JSON.parse((event as MessageEvent).data);\n processEventData(data);\n } catch (err) {\n console.error(`Failed to parse SSE ${eventType} event:`, err);\n }\n });\n }\n\n sse.onerror = () => {\n // SSE will auto-reconnect, but log the error\n console.warn(\"SSE connection error for chat:\", chatKey);\n };\n } catch (err) {\n console.error(\"Failed to watch chat:\", err);\n setWatchedChats((prev) => ({\n ...prev,\n [chatKey]: { chatKey, messages: [], status: \"error\", statusHistory: [], error: String(err) },\n }));\n }\n }, []);\n\n // Stop watching a chat\n const unwatchChat = useCallback((chatKey: string) => {\n if (watchedChatKeyRef.current === chatKey && sseRef.current) {\n sseRef.current.close();\n sseRef.current = null;\n watchedChatKeyRef.current = null;\n }\n setWatchedChats((prev) => {\n const next = { ...prev };\n delete next[chatKey];\n return next;\n });\n }, []);\n\n // Cleanup SSE on unmount\n useEffect(() => {\n return () => {\n if (sseRef.current) {\n sseRef.current.close();\n sseRef.current = null;\n }\n };\n }, []);\n\n const loading = triggerLoading || statusLoading || summaryLoading;\n const error = triggerError || statusError || summaryError;\n\n return useMemo(() => ({\n liveStates,\n streamJob,\n createTask,\n watchChat,\n unwatchChat,\n watchedChats,\n triggerAgent,\n checkStatus,\n listAgentSummaries,\n loading,\n error,\n }), [liveStates, streamJob, createTask, watchChat, unwatchChat, watchedChats, triggerAgent, checkStatus, listAgentSummaries, loading, error]);\n}\n"]}
|
|
@@ -227,6 +227,48 @@ async function pauseAgentJobApi(jobId, options) {
|
|
|
227
227
|
async function resumeAgentJobApi(jobId, options) {
|
|
228
228
|
return _browser.browserApiRequest.call(void 0, `/api/v1/agent-jobs/${jobId}/resume`, { method: "POST", ...options });
|
|
229
229
|
}
|
|
230
|
+
async function triggerBackgroundAgentApi(request, options) {
|
|
231
|
+
return _browser.browserApiRequest.call(void 0, "/api/v1/agent-jobs/trigger", { method: "POST", body: request, ...options });
|
|
232
|
+
}
|
|
233
|
+
async function checkBackgroundAgentStatusApi(jobId, options) {
|
|
234
|
+
return _browser.browserApiRequest.call(void 0, `/api/v1/agent-jobs/${jobId}/status`, { method: "GET", ...options });
|
|
235
|
+
}
|
|
236
|
+
async function createBackgroundChatApi(request, options) {
|
|
237
|
+
return _browser.browserApiRequest.call(void 0, "/api/v1/chat/create", {
|
|
238
|
+
method: "POST",
|
|
239
|
+
body: {
|
|
240
|
+
orgId: options.orgId,
|
|
241
|
+
metadata: {
|
|
242
|
+
agentName: request.agentName,
|
|
243
|
+
background: request.background,
|
|
244
|
+
...request.metadata
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
...options
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
async function sendChatMessageApi(request, options) {
|
|
251
|
+
return _browser.browserApiRequest.call(void 0, "/api/v1/chat/send", {
|
|
252
|
+
method: "POST",
|
|
253
|
+
body: {
|
|
254
|
+
orgId: options.orgId,
|
|
255
|
+
chatKey: request.chatKey,
|
|
256
|
+
type: "message",
|
|
257
|
+
message: request.message
|
|
258
|
+
},
|
|
259
|
+
...options
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
async function loadChatApi(chatKey, options) {
|
|
263
|
+
return _browser.browserApiRequest.call(void 0, "/api/v1/chat/load", {
|
|
264
|
+
method: "POST",
|
|
265
|
+
body: {
|
|
266
|
+
orgId: options.orgId,
|
|
267
|
+
chatKey
|
|
268
|
+
},
|
|
269
|
+
...options
|
|
270
|
+
});
|
|
271
|
+
}
|
|
230
272
|
async function getSkillCategoriesApi(options) {
|
|
231
273
|
return _browser.browserApiRequest.call(void 0, "/api/v1/skills/categories", { method: "GET", ...options });
|
|
232
274
|
}
|
|
@@ -540,5 +582,10 @@ async function runScheduleApi(scheduleId, options) {
|
|
|
540
582
|
|
|
541
583
|
|
|
542
584
|
|
|
543
|
-
|
|
544
|
-
|
|
585
|
+
|
|
586
|
+
|
|
587
|
+
|
|
588
|
+
|
|
589
|
+
|
|
590
|
+
exports.listAgentsApi = listAgentsApi; exports.listAgentsSummaryApi = listAgentsSummaryApi; exports.getAgentApi = getAgentApi; exports.createAgentApi = createAgentApi; exports.updateAgentApi = updateAgentApi; exports.deleteAgentApi = deleteAgentApi; exports.getDefaultAgentApi = getDefaultAgentApi; exports.getAgentByNameApi = getAgentByNameApi; exports.listSkillsApi = listSkillsApi; exports.getSkillApi = getSkillApi; exports.getSkillsByIdsApi = getSkillsByIdsApi; exports.createSkillApi = createSkillApi; exports.updateSkillApi = updateSkillApi; exports.deleteSkillApi = deleteSkillApi; exports.searchSkillsApi = searchSkillsApi; exports.getSkillUserConfigApi = getSkillUserConfigApi; exports.updateSkillUserConfigApi = updateSkillUserConfigApi; exports.deleteSkillUserConfigApi = deleteSkillUserConfigApi; exports.listSkillUserConfigsApi = listSkillUserConfigsApi; exports.resolveSkillConfigApi = resolveSkillConfigApi; exports.updateSkillOrgConfigApi = updateSkillOrgConfigApi; exports.listSubAgentsApi = listSubAgentsApi; exports.getSubAgentApi = getSubAgentApi; exports.createSubAgentApi = createSubAgentApi; exports.updateSubAgentApi = updateSubAgentApi; exports.deleteSubAgentApi = deleteSubAgentApi; exports.listWidgetsApi = listWidgetsApi; exports.getDefaultWidgetApi = getDefaultWidgetApi; exports.createWidgetApi = createWidgetApi; exports.getWidgetApi = getWidgetApi; exports.getWidgetByWidgetIdApi = getWidgetByWidgetIdApi; exports.updateWidgetApi = updateWidgetApi; exports.deleteWidgetApi = deleteWidgetApi; exports.setDefaultWidgetApi = setDefaultWidgetApi; exports.getAgentChatsAnalyticsApi = getAgentChatsAnalyticsApi; exports.getAgentCSATAnalyticsApi = getAgentCSATAnalyticsApi; exports.getAgentListAnalyticsApi = getAgentListAnalyticsApi; exports.getTaskOutcomesApi = getTaskOutcomesApi; exports.listToolDefinitionsApi = listToolDefinitionsApi; exports.getToolDefinitionApi = getToolDefinitionApi; exports.getToolDefinitionsByIdsApi = getToolDefinitionsByIdsApi; exports.createToolDefinitionApi = createToolDefinitionApi; exports.updateToolDefinitionApi = updateToolDefinitionApi; exports.deleteToolDefinitionApi = deleteToolDefinitionApi; exports.listAgentJobsApi = listAgentJobsApi; exports.getAgentJobApi = getAgentJobApi; exports.createAgentJobApi = createAgentJobApi; exports.updateAgentJobApi = updateAgentJobApi; exports.deleteAgentJobApi = deleteAgentJobApi; exports.pauseAgentJobApi = pauseAgentJobApi; exports.resumeAgentJobApi = resumeAgentJobApi; exports.triggerBackgroundAgentApi = triggerBackgroundAgentApi; exports.checkBackgroundAgentStatusApi = checkBackgroundAgentStatusApi; exports.createBackgroundChatApi = createBackgroundChatApi; exports.sendChatMessageApi = sendChatMessageApi; exports.loadChatApi = loadChatApi; exports.getSkillCategoriesApi = getSkillCategoriesApi; exports.provisionAgentsApi = provisionAgentsApi; exports.listIntegrationsApi = listIntegrationsApi; exports.getIntegrationApi = getIntegrationApi; exports.connectIntegrationApi = connectIntegrationApi; exports.integrationCallbackApi = integrationCallbackApi; exports.disconnectIntegrationApi = disconnectIntegrationApi; exports.refreshIntegrationApi = refreshIntegrationApi; exports.updateIntegrationTriageApi = updateIntegrationTriageApi; exports.runEmailTriageApi = runEmailTriageApi; exports.createSandboxApi = createSandboxApi; exports.getSandboxApi = getSandboxApi; exports.updateSandboxApi = updateSandboxApi; exports.listSandboxesApi = listSandboxesApi; exports.deleteSandboxApi = deleteSandboxApi; exports.listSchedulerTasksApi = listSchedulerTasksApi; exports.createSchedulerTaskApi = createSchedulerTaskApi; exports.getSchedulerTaskApi = getSchedulerTaskApi; exports.updateSchedulerTaskApi = updateSchedulerTaskApi; exports.deleteSchedulerTaskApi = deleteSchedulerTaskApi; exports.snoozeSchedulerTaskApi = snoozeSchedulerTaskApi; exports.completeSchedulerTaskApi = completeSchedulerTaskApi; exports.startSchedulerTaskApi = startSchedulerTaskApi; exports.listSchedulesApi = listSchedulesApi; exports.createScheduleApi = createScheduleApi; exports.getScheduleApi = getScheduleApi; exports.updateScheduleApi = updateScheduleApi; exports.deleteScheduleApi = deleteScheduleApi; exports.pauseScheduleApi = pauseScheduleApi; exports.resumeScheduleApi = resumeScheduleApi; exports.runScheduleApi = runScheduleApi;
|
|
591
|
+
//# sourceMappingURL=chunk-BH2FIDFK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/eloquent/eloquent/packages/@elqnt/agents/dist/chunk-BH2FIDFK.js","../api/index.ts"],"names":[],"mappings":"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FmD;AACd,EAAA;AACc,EAAA;AACH,EAAA;AACE,EAAA;AACZ,EAAA;AACe,EAAA;AACzC,IAAA;AACL,IAAA;AACJ,EAAA;AACH;AAQ+C;AACpB,EAAA;AACf,IAAA;AACK,IAAA;AACV,IAAA;AACJ,EAAA;AACH;AAQ+C;AACpB,EAAA;AACf,IAAA;AACL,IAAA;AACJ,EAAA;AACH;AAQE;AAEyB,EAAA;AACf,IAAA;AACK,IAAA;AACV,IAAA;AACJ,EAAA;AACH;AAOE;AAEyB,EAAA;AACf,IAAA;AACL,IAAA;AACJ,EAAA;AACH;AAQE;AAEyB,EAAA;AACf,IAAA;AACM,IAAA;AACX,IAAA;AACJ,EAAA;AACH;AAOE;AAEyB,EAAA;AACf,IAAA;AACD,IAAA;AACJ,IAAA;AACJ,EAAA;AACH;AAOE;AAEyB,EAAA;AACf,IAAA;AACD,IAAA;AACJ,IAAA;AACJ,EAAA;AACH;AAWuD;AAClB,EAAA;AACc,EAAA;AACH,EAAA;AACE,EAAA;AACZ,EAAA;AACX,EAAA;AACf,IAAA;AACL,IAAA;AACJ,EAAA;AACH;AAQmD;AACxB,EAAA;AACf,IAAA;AACS,IAAA;AACd,IAAA;AACJ,EAAA;AACH;AAQmD;AACxB,EAAA;AACf,IAAA;AACL,IAAA;AACJ,EAAA;AACH;AAOE;AAGyB,EAAA;AACf,IAAA;AACS,IAAA;AACd,IAAA;AACJ,EAAA;AACH;AAOE;AAEyB,EAAA;AACf,IAAA;AACL,IAAA;AACJ,EAAA;AACH;AAQmD;AACxB,EAAA;AACf,IAAA;AACD,IAAA;AACJ,IAAA;AACJ,EAAA;AACH;AAOE;AAEyB,EAAA;AACf,IAAA;AACD,IAAA;AACJ,IAAA;AACJ,EAAA;AACH;AAQmD;AACxB,EAAA;AACf,IAAA;AACD,IAAA;AACJ,IAAA;AACJ,EAAA;AACH;ADnmBqD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/eloquent/eloquent/packages/@elqnt/agents/dist/chunk-BH2FIDFK.js","sourcesContent":[null,"/**\n * Agents API functions\n *\n * Browser-side API client for agent operations.\n * Uses @elqnt/api-client for HTTP requests with automatic token management.\n */\n\nimport { browserApiRequest } from \"@elqnt/api-client/browser\";\nimport type { ApiResponse, ApiClientOptions } from \"@elqnt/api-client\";\nimport type { ResponseMetadata } from \"@elqnt/types\";\nimport type {\n Agent,\n AgentSummary,\n AgentResponse,\n ListAgentsResponse,\n ListAgentsSummaryResponse,\n Skill,\n SkillResponse,\n SkillsListResponse,\n GetSkillsByIDsResponse,\n SubAgent,\n SubAgentResponse,\n SubAgentsListResponse,\n AgentWidget,\n AgentWidgetResponse,\n ListAgentWidgetsResponse,\n SkillUserConfig,\n SkillUserConfigResponse,\n SkillUserConfigListResponse,\n ResolveSkillConfigResponse,\n ToolDefinition,\n ToolDefinitionResponse,\n ToolDefinitionsListResponse,\n GetToolDefinitionsByIDsResponse,\n AgentJob,\n AgentJobResponse,\n AgentJobsListResponse,\n TriggerBackgroundAgentRequest,\n TriggerBackgroundAgentResponse,\n BackgroundAgentStatusResponse,\n} from \"../models\";\n\n// =============================================================================\n// AGENTS\n// =============================================================================\n\nexport async function listAgentsApi(options: ApiClientOptions): Promise<ApiResponse<ListAgentsResponse>> {\n return browserApiRequest(\"/api/v1/agents\", { method: \"GET\", ...options });\n}\n\nexport async function listAgentsSummaryApi(options: ApiClientOptions): Promise<ApiResponse<ListAgentsSummaryResponse>> {\n return browserApiRequest(\"/api/v1/agents/summary\", { method: \"GET\", ...options });\n}\n\nexport async function getAgentApi(agentId: string, options: ApiClientOptions): Promise<ApiResponse<AgentResponse>> {\n return browserApiRequest(`/api/v1/agents/${agentId}`, { method: \"GET\", ...options });\n}\n\nexport async function createAgentApi(agent: Partial<Agent>, options: ApiClientOptions): Promise<ApiResponse<AgentResponse>> {\n return browserApiRequest(\"/api/v1/agents\", { method: \"POST\", body: agent, ...options });\n}\n\nexport async function updateAgentApi(agentId: string, agent: Partial<Agent>, options: ApiClientOptions): Promise<ApiResponse<AgentResponse>> {\n return browserApiRequest(`/api/v1/agents/${agentId}`, { method: \"PUT\", body: agent, ...options });\n}\n\nexport async function deleteAgentApi(agentId: string, options: ApiClientOptions): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/agents/${agentId}`, { method: \"DELETE\", ...options });\n}\n\nexport async function getDefaultAgentApi(options: ApiClientOptions): Promise<ApiResponse<AgentResponse>> {\n return browserApiRequest(\"/api/v1/agents/default\", { method: \"GET\", ...options });\n}\n\nexport async function getAgentByNameApi(\n name: string,\n options: ApiClientOptions\n): Promise<ApiResponse<AgentResponse>> {\n return browserApiRequest(`/api/v1/agents/by-name?name=${encodeURIComponent(name)}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n// =============================================================================\n// SKILLS\n// =============================================================================\n\nexport async function listSkillsApi(options: ApiClientOptions): Promise<ApiResponse<SkillsListResponse>> {\n return browserApiRequest(\"/api/v1/skills\", { method: \"GET\", ...options });\n}\n\nexport async function getSkillApi(skillId: string, options: ApiClientOptions): Promise<ApiResponse<SkillResponse>> {\n return browserApiRequest(`/api/v1/skills/${skillId}`, { method: \"GET\", ...options });\n}\n\nexport async function getSkillsByIdsApi(ids: string[], options: ApiClientOptions): Promise<ApiResponse<GetSkillsByIDsResponse>> {\n return browserApiRequest(\"/api/v1/skills/by-ids\", { method: \"POST\", body: { ids }, ...options });\n}\n\nexport async function createSkillApi(skill: Partial<Skill>, options: ApiClientOptions): Promise<ApiResponse<SkillResponse>> {\n return browserApiRequest(\"/api/v1/skills\", { method: \"POST\", body: skill, ...options });\n}\n\nexport async function updateSkillApi(skillId: string, skill: Partial<Skill>, options: ApiClientOptions): Promise<ApiResponse<SkillResponse>> {\n return browserApiRequest(`/api/v1/skills/${skillId}`, { method: \"PUT\", body: skill, ...options });\n}\n\nexport async function deleteSkillApi(skillId: string, options: ApiClientOptions): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/skills/${skillId}`, { method: \"DELETE\", ...options });\n}\n\nexport async function searchSkillsApi(\n query: string,\n options: ApiClientOptions & { category?: string; limit?: number }\n): Promise<ApiResponse<SkillsListResponse>> {\n const params = new URLSearchParams();\n params.set(\"q\", query);\n if (options.category) params.set(\"category\", options.category);\n if (options.limit) params.set(\"limit\", String(options.limit));\n return browserApiRequest(`/api/v1/skills/search?${params.toString()}`, { method: \"GET\", ...options });\n}\n\n// =============================================================================\n// SKILL USER CONFIG\n// =============================================================================\n\nexport async function getSkillUserConfigApi(\n skillId: string,\n options: ApiClientOptions & { agentId?: string }\n): Promise<ApiResponse<SkillUserConfigResponse>> {\n const params = new URLSearchParams();\n if (options.agentId) params.set(\"agentId\", options.agentId);\n const query = params.toString();\n return browserApiRequest(`/api/v1/skills/${skillId}/user-config${query ? `?${query}` : \"\"}`, {\n method: \"GET\",\n ...options,\n });\n}\n\nexport async function updateSkillUserConfigApi(\n skillId: string,\n data: {\n enabled?: boolean;\n displayOrder?: number;\n config?: Record<string, unknown>;\n agentId?: string;\n },\n options: ApiClientOptions\n): Promise<ApiResponse<SkillUserConfigResponse>> {\n return browserApiRequest(`/api/v1/skills/${skillId}/user-config`, {\n method: \"PUT\",\n body: data,\n ...options,\n });\n}\n\nexport async function deleteSkillUserConfigApi(\n skillId: string,\n options: ApiClientOptions & { agentId?: string }\n): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n const params = new URLSearchParams();\n if (options.agentId) params.set(\"agentId\", options.agentId);\n const query = params.toString();\n return browserApiRequest(`/api/v1/skills/${skillId}/user-config${query ? `?${query}` : \"\"}`, {\n method: \"DELETE\",\n ...options,\n });\n}\n\nexport async function listSkillUserConfigsApi(\n options: ApiClientOptions & { agentId?: string; limit?: number; offset?: number }\n): Promise<ApiResponse<SkillUserConfigListResponse>> {\n const params = new URLSearchParams();\n if (options.agentId) params.set(\"agentId\", options.agentId);\n if (options.limit) params.set(\"limit\", String(options.limit));\n if (options.offset) params.set(\"offset\", String(options.offset));\n const query = params.toString();\n return browserApiRequest(`/api/v1/skills/user-configs${query ? `?${query}` : \"\"}`, {\n method: \"GET\",\n ...options,\n });\n}\n\nexport async function resolveSkillConfigApi(\n skillId: string,\n agentId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<ResolveSkillConfigResponse>> {\n return browserApiRequest(`/api/v1/skills/${skillId}/resolve-config?agentId=${agentId}`, {\n method: \"GET\",\n ...options,\n });\n}\n\nexport async function updateSkillOrgConfigApi(\n skillId: string,\n data: {\n enabled?: boolean;\n displayOrder?: number;\n config?: Record<string, unknown>;\n },\n options: ApiClientOptions\n): Promise<ApiResponse<SkillUserConfigResponse>> {\n return browserApiRequest(`/api/v1/skills/${skillId}/org-config`, {\n method: \"PUT\",\n body: data,\n ...options,\n });\n}\n\n// =============================================================================\n// SUB-AGENTS\n// =============================================================================\n\nexport async function listSubAgentsApi(\n options: ApiClientOptions & { onlySystem?: boolean; enabled?: boolean }\n): Promise<ApiResponse<SubAgentsListResponse>> {\n const params = new URLSearchParams();\n if (options.onlySystem !== undefined) params.set(\"onlySystem\", String(options.onlySystem));\n if (options.enabled !== undefined) params.set(\"enabled\", String(options.enabled));\n const queryString = params.toString();\n return browserApiRequest(`/api/v1/subagents${queryString ? `?${queryString}` : \"\"}`, { method: \"GET\", ...options });\n}\n\nexport async function getSubAgentApi(subAgentId: string, options: ApiClientOptions): Promise<ApiResponse<SubAgentResponse>> {\n return browserApiRequest(`/api/v1/subagents/${subAgentId}`, { method: \"GET\", ...options });\n}\n\nexport async function createSubAgentApi(subAgent: Partial<SubAgent>, options: ApiClientOptions): Promise<ApiResponse<SubAgentResponse>> {\n return browserApiRequest(\"/api/v1/subagents\", { method: \"POST\", body: { subAgent }, ...options });\n}\n\nexport async function updateSubAgentApi(subAgentId: string, subAgent: Partial<SubAgent>, options: ApiClientOptions): Promise<ApiResponse<SubAgentResponse>> {\n return browserApiRequest(`/api/v1/subagents/${subAgentId}`, { method: \"PUT\", body: { subAgent }, ...options });\n}\n\nexport async function deleteSubAgentApi(subAgentId: string, options: ApiClientOptions): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/subagents/${subAgentId}`, { method: \"DELETE\", ...options });\n}\n\n// =============================================================================\n// WIDGETS\n// =============================================================================\n\nexport async function listWidgetsApi(agentId: string, options: ApiClientOptions): Promise<ApiResponse<ListAgentWidgetsResponse>> {\n return browserApiRequest(`/api/v1/agents/${agentId}/widgets`, { method: \"GET\", ...options });\n}\n\nexport async function getDefaultWidgetApi(agentId: string, options: ApiClientOptions): Promise<ApiResponse<AgentWidgetResponse>> {\n return browserApiRequest(`/api/v1/agents/${agentId}/widgets/default`, { method: \"GET\", ...options });\n}\n\nexport async function createWidgetApi(agentId: string, widget: Partial<AgentWidget>, options: ApiClientOptions): Promise<ApiResponse<AgentWidgetResponse>> {\n return browserApiRequest(`/api/v1/agents/${agentId}/widgets`, { method: \"POST\", body: { widget }, ...options });\n}\n\nexport async function getWidgetApi(widgetId: string, options: ApiClientOptions): Promise<ApiResponse<AgentWidgetResponse>> {\n return browserApiRequest(`/api/v1/widgets/${widgetId}`, { method: \"GET\", ...options });\n}\n\nexport async function getWidgetByWidgetIdApi(widgetId: string, baseUrl: string): Promise<ApiResponse<AgentWidgetResponse>> {\n return browserApiRequest(`/api/v1/widgets/by-widget-id/${widgetId}`, { method: \"GET\", baseUrl, orgId: \"\" });\n}\n\nexport async function updateWidgetApi(widgetId: string, widget: Partial<AgentWidget>, options: ApiClientOptions): Promise<ApiResponse<AgentWidgetResponse>> {\n return browserApiRequest(`/api/v1/widgets/${widgetId}`, { method: \"PUT\", body: { widget }, ...options });\n}\n\nexport async function deleteWidgetApi(widgetId: string, options: ApiClientOptions): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/widgets/${widgetId}`, { method: \"DELETE\", ...options });\n}\n\nexport async function setDefaultWidgetApi(widgetId: string, agentId: string, options: ApiClientOptions): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/widgets/${widgetId}/default`, { method: \"POST\", body: { agentId }, ...options });\n}\n\n// =============================================================================\n// ANALYTICS\n// =============================================================================\n\nexport interface DateFilter {\n from?: string;\n to?: string;\n}\n\nexport interface AnalyticsDataResponse {\n data: unknown[];\n metadata: ResponseMetadata;\n}\n\nexport async function getAgentChatsAnalyticsApi(\n params: { date_filter: DateFilter; agent_id?: string },\n options: ApiClientOptions\n): Promise<ApiResponse<AnalyticsDataResponse>> {\n return browserApiRequest(\"/api/v1/analytics/agents/chats\", {\n method: \"POST\",\n body: params,\n ...options,\n });\n}\n\nexport async function getAgentCSATAnalyticsApi(\n params: { date_filter: DateFilter; agent_id?: string },\n options: ApiClientOptions\n): Promise<ApiResponse<AnalyticsDataResponse>> {\n return browserApiRequest(\"/api/v1/analytics/agents/csat\", {\n method: \"POST\",\n body: params,\n ...options,\n });\n}\n\nexport async function getAgentListAnalyticsApi(\n options: ApiClientOptions\n): Promise<ApiResponse<AnalyticsDataResponse>> {\n return browserApiRequest(\"/api/v1/analytics/agents\", {\n method: \"GET\",\n ...options,\n });\n}\n\nexport async function getTaskOutcomesApi(\n params: { date_filter: DateFilter },\n options: ApiClientOptions\n): Promise<ApiResponse<AnalyticsDataResponse>> {\n return browserApiRequest(\"/api/v1/analytics/tasks\", {\n method: \"POST\",\n body: params,\n ...options,\n });\n}\n\n// =============================================================================\n// TOOL DEFINITIONS\n// =============================================================================\n\nexport async function listToolDefinitionsApi(\n options: ApiClientOptions & { onlySystem?: boolean; enabled?: boolean; limit?: number; offset?: number }\n): Promise<ApiResponse<ToolDefinitionsListResponse>> {\n const params = new URLSearchParams();\n if (options.onlySystem !== undefined) params.set(\"onlySystem\", String(options.onlySystem));\n if (options.enabled !== undefined) params.set(\"enabled\", String(options.enabled));\n if (options.limit !== undefined) params.set(\"limit\", String(options.limit));\n if (options.offset !== undefined) params.set(\"offset\", String(options.offset));\n const queryString = params.toString();\n return browserApiRequest(`/api/v1/tool-definitions${queryString ? `?${queryString}` : \"\"}`, { method: \"GET\", ...options });\n}\n\nexport async function getToolDefinitionApi(toolDefId: string, options: ApiClientOptions): Promise<ApiResponse<ToolDefinitionResponse>> {\n return browserApiRequest(`/api/v1/tool-definitions/${toolDefId}`, { method: \"GET\", ...options });\n}\n\nexport async function getToolDefinitionsByIdsApi(ids: string[], options: ApiClientOptions): Promise<ApiResponse<GetToolDefinitionsByIDsResponse>> {\n return browserApiRequest(\"/api/v1/tool-definitions/by-ids\", { method: \"POST\", body: { ids }, ...options });\n}\n\nexport async function createToolDefinitionApi(toolDefinition: Partial<ToolDefinition>, options: ApiClientOptions): Promise<ApiResponse<ToolDefinitionResponse>> {\n return browserApiRequest(\"/api/v1/tool-definitions\", { method: \"POST\", body: { toolDefinition }, ...options });\n}\n\nexport async function updateToolDefinitionApi(toolDefId: string, toolDefinition: Partial<ToolDefinition>, options: ApiClientOptions): Promise<ApiResponse<ToolDefinitionResponse>> {\n return browserApiRequest(`/api/v1/tool-definitions/${toolDefId}`, { method: \"PUT\", body: { toolDefinition }, ...options });\n}\n\nexport async function deleteToolDefinitionApi(toolDefId: string, options: ApiClientOptions): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/tool-definitions/${toolDefId}`, { method: \"DELETE\", ...options });\n}\n\n// =============================================================================\n// AGENT JOBS\n// =============================================================================\n\nexport async function listAgentJobsApi(\n options: ApiClientOptions & {\n agentId?: string;\n ownerId?: string;\n scope?: string;\n status?: string;\n frequency?: string;\n limit?: number;\n offset?: number;\n }\n): Promise<ApiResponse<AgentJobsListResponse>> {\n const params = new URLSearchParams();\n if (options.agentId) params.set(\"agentId\", options.agentId);\n if (options.ownerId) params.set(\"ownerId\", options.ownerId);\n if (options.scope) params.set(\"scope\", options.scope);\n if (options.status) params.set(\"status\", options.status);\n if (options.frequency) params.set(\"frequency\", options.frequency);\n if (options.limit !== undefined) params.set(\"limit\", String(options.limit));\n if (options.offset !== undefined) params.set(\"offset\", String(options.offset));\n const queryString = params.toString();\n return browserApiRequest(`/api/v1/agent-jobs${queryString ? `?${queryString}` : \"\"}`, { method: \"GET\", ...options });\n}\n\nexport async function getAgentJobApi(jobId: string, options: ApiClientOptions): Promise<ApiResponse<AgentJobResponse>> {\n return browserApiRequest(`/api/v1/agent-jobs/${jobId}`, { method: \"GET\", ...options });\n}\n\nexport async function createAgentJobApi(job: Partial<AgentJob>, options: ApiClientOptions): Promise<ApiResponse<AgentJobResponse>> {\n return browserApiRequest(\"/api/v1/agent-jobs\", { method: \"POST\", body: { job }, ...options });\n}\n\nexport async function updateAgentJobApi(jobId: string, job: Partial<AgentJob>, options: ApiClientOptions): Promise<ApiResponse<AgentJobResponse>> {\n return browserApiRequest(`/api/v1/agent-jobs/${jobId}`, { method: \"PUT\", body: { job }, ...options });\n}\n\nexport async function deleteAgentJobApi(jobId: string, options: ApiClientOptions): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/agent-jobs/${jobId}`, { method: \"DELETE\", ...options });\n}\n\nexport async function pauseAgentJobApi(jobId: string, options: ApiClientOptions): Promise<ApiResponse<AgentJobResponse>> {\n return browserApiRequest(`/api/v1/agent-jobs/${jobId}/pause`, { method: \"POST\", ...options });\n}\n\nexport async function resumeAgentJobApi(jobId: string, options: ApiClientOptions): Promise<ApiResponse<AgentJobResponse>> {\n return browserApiRequest(`/api/v1/agent-jobs/${jobId}/resume`, { method: \"POST\", ...options });\n}\n\n// =============================================================================\n// BACKGROUND AGENT TRIGGER\n// =============================================================================\n\nexport async function triggerBackgroundAgentApi(\n request: Pick<TriggerBackgroundAgentRequest, \"name\" | \"prompt\" | \"agentName\" | \"context\" | \"enableSSE\" | \"frequency\" | \"cron\" | \"timezone\" | \"scope\" | \"description\">,\n options: ApiClientOptions\n): Promise<ApiResponse<TriggerBackgroundAgentResponse>> {\n return browserApiRequest(\"/api/v1/agent-jobs/trigger\", { method: \"POST\", body: request, ...options });\n}\n\nexport async function checkBackgroundAgentStatusApi(\n jobId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<BackgroundAgentStatusResponse>> {\n return browserApiRequest(`/api/v1/agent-jobs/${jobId}/status`, { method: \"GET\", ...options });\n}\n\n// =============================================================================\n// BACKGROUND CHAT (Chat Service via API Gateway)\n// =============================================================================\n\nexport interface CreateBackgroundChatRequest {\n agentName: string;\n background: boolean;\n metadata?: Record<string, unknown>;\n}\n\nexport interface CreateBackgroundChatResponse {\n chatKey: string;\n}\n\nexport interface SendChatMessageRequest {\n chatKey: string;\n message: {\n role: string;\n content: string;\n };\n}\n\nexport interface SendChatMessageResponse {\n success: boolean;\n}\n\n// Re-export chat types from @elqnt/chat for convenience\nexport type { ChatMessage, Attachment } from \"@elqnt/chat/models\";\nimport type { ChatMessage } from \"@elqnt/chat/models\";\n\nexport interface LoadChatResponse {\n chat: {\n key: string;\n orgId: string;\n title?: string;\n status?: string;\n messages?: ChatMessage[];\n metadata?: Record<string, unknown>;\n lastUpdated?: number;\n };\n}\n\n/**\n * Create a background chat session via the chat service.\n * Uses the existing /v1/chat/create endpoint with background agent metadata.\n */\nexport async function createBackgroundChatApi(\n request: CreateBackgroundChatRequest,\n options: ApiClientOptions\n): Promise<ApiResponse<CreateBackgroundChatResponse>> {\n return browserApiRequest(\"/api/v1/chat/create\", {\n method: \"POST\",\n body: {\n orgId: options.orgId,\n metadata: {\n agentName: request.agentName,\n background: request.background,\n ...request.metadata,\n },\n },\n ...options,\n });\n}\n\n/**\n * Send a message to a chat session via the chat service.\n */\nexport async function sendChatMessageApi(\n request: SendChatMessageRequest,\n options: ApiClientOptions\n): Promise<ApiResponse<SendChatMessageResponse>> {\n return browserApiRequest(\"/api/v1/chat/send\", {\n method: \"POST\",\n body: {\n orgId: options.orgId,\n chatKey: request.chatKey,\n type: \"message\",\n message: request.message,\n },\n ...options,\n });\n}\n\n/**\n * Load a chat session including its messages via the chat service.\n */\nexport async function loadChatApi(\n chatKey: string,\n options: ApiClientOptions\n): Promise<ApiResponse<LoadChatResponse>> {\n return browserApiRequest(\"/api/v1/chat/load\", {\n method: \"POST\",\n body: {\n orgId: options.orgId,\n chatKey,\n },\n ...options,\n });\n}\n\n// =============================================================================\n// SKILL CATEGORIES\n// =============================================================================\n\nexport interface SkillCategoriesResponse {\n categories: string[];\n metadata: ResponseMetadata;\n}\n\nexport async function getSkillCategoriesApi(options: ApiClientOptions): Promise<ApiResponse<SkillCategoriesResponse>> {\n return browserApiRequest(\"/api/v1/skills/categories\", { method: \"GET\", ...options });\n}\n\n// =============================================================================\n// PROVISIONING\n// =============================================================================\n\nexport interface ProvisionAgentsResponse {\n agents?: Agent[];\n agentsCreated: number;\n subAgentsCreated: number;\n toolsCreated: number;\n skillsCreated: number;\n success: boolean;\n metadata: ResponseMetadata;\n}\n\n/**\n * Provision default agents for an organization.\n * Creates or updates agents, tools, sub-agents, and skills in bulk.\n *\n * @param definitions - Array of DefaultDefinitions to provision\n * @param options - API client options (baseUrl, orgId)\n */\nexport async function provisionAgentsApi(\n definitions: unknown[],\n options: ApiClientOptions\n): Promise<ApiResponse<ProvisionAgentsResponse>> {\n return browserApiRequest(\"/api/v1/admin/provision/agents\", {\n method: \"POST\",\n body: { definitions },\n ...options,\n });\n}\n\n// =============================================================================\n// INTEGRATIONS\n// =============================================================================\n\nimport type {\n UserIntegration,\n ListUserIntegrationsResponse,\n GetUserIntegrationResponse,\n ConnectIntegrationResponse,\n IntegrationCallbackResponse,\n DisconnectIntegrationResponse,\n RefreshIntegrationResponse,\n UpdateTriageEnabledResponse,\n RunEmailTriageResponse,\n IntegrationProviderTS,\n IntegrationTypeTS,\n} from \"../models\";\n\nexport async function listIntegrationsApi(\n options: ApiClientOptions\n): Promise<ApiResponse<ListUserIntegrationsResponse>> {\n return browserApiRequest(\"/api/v1/integrations\", { method: \"GET\", ...options });\n}\n\nexport async function getIntegrationApi(\n provider: IntegrationProviderTS,\n integrationType: IntegrationTypeTS,\n options: ApiClientOptions\n): Promise<ApiResponse<GetUserIntegrationResponse>> {\n return browserApiRequest(`/api/v1/integrations/${provider}/${integrationType}`, {\n method: \"GET\",\n ...options,\n });\n}\n\nexport async function connectIntegrationApi(\n params: {\n provider: IntegrationProviderTS;\n integrationType: IntegrationTypeTS;\n redirectUri: string;\n },\n options: ApiClientOptions\n): Promise<ApiResponse<ConnectIntegrationResponse>> {\n return browserApiRequest(\"/api/v1/integrations/connect\", {\n method: \"POST\",\n body: {\n provider: params.provider,\n integration_type: params.integrationType,\n redirect_uri: params.redirectUri,\n },\n ...options,\n });\n}\n\nexport async function integrationCallbackApi(\n params: {\n state: string;\n code: string;\n error?: string;\n },\n options: ApiClientOptions\n): Promise<ApiResponse<IntegrationCallbackResponse>> {\n return browserApiRequest(\"/api/v1/integrations/callback\", {\n method: \"POST\",\n body: params,\n ...options,\n });\n}\n\nexport async function disconnectIntegrationApi(\n params: {\n provider: IntegrationProviderTS;\n integrationType: IntegrationTypeTS;\n },\n options: ApiClientOptions\n): Promise<ApiResponse<DisconnectIntegrationResponse>> {\n return browserApiRequest(\"/api/v1/integrations/disconnect\", {\n method: \"POST\",\n body: {\n provider: params.provider,\n integration_type: params.integrationType,\n },\n ...options,\n });\n}\n\nexport async function refreshIntegrationApi(\n params: {\n provider: IntegrationProviderTS;\n integrationType: IntegrationTypeTS;\n },\n options: ApiClientOptions\n): Promise<ApiResponse<RefreshIntegrationResponse>> {\n return browserApiRequest(\"/api/v1/integrations/refresh\", {\n method: \"POST\",\n body: {\n provider: params.provider,\n integration_type: params.integrationType,\n },\n ...options,\n });\n}\n\nexport async function updateIntegrationTriageApi(\n params: {\n provider: IntegrationProviderTS;\n integrationType: IntegrationTypeTS;\n triageEnabled: boolean;\n },\n options: ApiClientOptions\n): Promise<ApiResponse<UpdateTriageEnabledResponse>> {\n return browserApiRequest(\"/api/v1/integrations/triage\", {\n method: \"PUT\",\n body: {\n provider: params.provider,\n integration_type: params.integrationType,\n triage_enabled: params.triageEnabled,\n },\n ...options,\n });\n}\n\nexport async function runEmailTriageApi(\n options: ApiClientOptions\n): Promise<ApiResponse<RunEmailTriageResponse>> {\n return browserApiRequest(\"/api/v1/integrations/triage/run\", {\n method: \"POST\",\n body: {},\n ...options,\n });\n}\n\n// =============================================================================\n// SANDBOX\n// =============================================================================\n\nimport type {\n Sandbox,\n CreateSandboxRequest,\n CreateSandboxResponse,\n GetSandboxResponse,\n UpdateSandboxRequest,\n UpdateSandboxResponse,\n ListSandboxesResponse,\n DeleteSandboxResponse,\n} from \"../models\";\n\n/**\n * Create a new sandbox from a prompt\n */\nexport async function createSandboxApi(\n request: Omit<CreateSandboxRequest, \"orgId\">,\n options: ApiClientOptions\n): Promise<ApiResponse<CreateSandboxResponse>> {\n return browserApiRequest(\"/api/v1/sandbox\", {\n method: \"POST\",\n body: request,\n timeout: 60000, // Sandbox generation can take time\n ...options,\n });\n}\n\n/**\n * Get a sandbox by ID\n */\nexport async function getSandboxApi(\n sandboxId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<GetSandboxResponse>> {\n return browserApiRequest(`/api/v1/sandbox/${sandboxId}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Update a sandbox via prompt\n */\nexport async function updateSandboxApi(\n sandboxId: string,\n request: Omit<UpdateSandboxRequest, \"id\" | \"orgId\">,\n options: ApiClientOptions\n): Promise<ApiResponse<UpdateSandboxResponse>> {\n return browserApiRequest(`/api/v1/sandbox/${sandboxId}`, {\n method: \"PUT\",\n body: request,\n timeout: 60000,\n ...options,\n });\n}\n\n/**\n * List sandboxes for the current user\n */\nexport async function listSandboxesApi(\n options: ApiClientOptions & { limit?: number }\n): Promise<ApiResponse<ListSandboxesResponse>> {\n const params = new URLSearchParams();\n if (options.limit) params.set(\"limit\", String(options.limit));\n const queryString = params.toString();\n return browserApiRequest(`/api/v1/sandbox${queryString ? `?${queryString}` : \"\"}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Delete a sandbox\n */\nexport async function deleteSandboxApi(\n sandboxId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<DeleteSandboxResponse>> {\n return browserApiRequest(`/api/v1/sandbox/${sandboxId}`, {\n method: \"DELETE\",\n ...options,\n });\n}\n\n// =============================================================================\n// SCHEDULER - TASKS\n// =============================================================================\n\nexport interface SchedulerTask {\n id: string;\n orgId: string;\n name?: string;\n description?: string;\n subject: string;\n fields?: Record<string, unknown>;\n status: \"scheduled\" | \"running\" | \"in-progress\" | \"completed\" | \"failed\" | \"cancelled\";\n progress: number;\n runAt: number;\n delay?: { amount?: number; unit?: string };\n recurring?: boolean;\n cronExpr?: string;\n maxRetries?: number;\n retryCount?: number;\n lastError?: string;\n metadata?: Record<string, unknown>;\n createdAt: string;\n updatedAt: string;\n completedAt?: string;\n createdBy?: string;\n updatedBy?: string;\n}\n\nexport interface SchedulerTaskResponse {\n task?: SchedulerTask;\n metadata: ResponseMetadata;\n}\n\nexport interface SchedulerTaskListResponse {\n tasks: SchedulerTask[];\n metadata: ResponseMetadata;\n}\n\nexport interface SchedulerSchedule {\n id: string;\n orgId: string;\n userId: string;\n userEmail: string;\n name: string;\n description?: string;\n cronExpression: string;\n timezone?: string;\n status: \"active\" | \"paused\" | \"failed\" | \"deleted\";\n action: {\n type: string;\n emailQuery?: string;\n taskTemplate?: {\n titleTemplate: string;\n descriptionTemplate?: string;\n type: string;\n priority: string;\n projectId: string;\n assignedTo?: string;\n };\n };\n lastRunAt?: string;\n nextRunAt?: string;\n runCount: number;\n lastError?: string;\n createdAt: string;\n updatedAt: string;\n}\n\nexport interface SchedulerScheduleResponse {\n schedule?: SchedulerSchedule;\n metadata: ResponseMetadata;\n}\n\nexport interface SchedulerScheduleListResponse {\n schedules: SchedulerSchedule[];\n metadata: ResponseMetadata;\n}\n\n/**\n * List scheduler tasks\n */\nexport async function listSchedulerTasksApi(\n options: ApiClientOptions & { status?: string; limit?: number; offset?: number }\n): Promise<ApiResponse<SchedulerTaskListResponse>> {\n const params = new URLSearchParams();\n if (options.status) params.set(\"status\", options.status);\n if (options.limit) params.set(\"limit\", String(options.limit));\n if (options.offset) params.set(\"offset\", String(options.offset));\n const queryString = params.toString();\n return browserApiRequest(`/api/v1/scheduler/tasks${queryString ? `?${queryString}` : \"\"}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Create a scheduler task\n */\nexport async function createSchedulerTaskApi(\n task: Partial<SchedulerTask>,\n options: ApiClientOptions\n): Promise<ApiResponse<SchedulerTaskResponse>> {\n return browserApiRequest(\"/api/v1/scheduler/tasks\", {\n method: \"POST\",\n body: { task },\n ...options,\n });\n}\n\n/**\n * Get a scheduler task by ID\n */\nexport async function getSchedulerTaskApi(\n taskId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<SchedulerTaskResponse>> {\n return browserApiRequest(`/api/v1/scheduler/tasks/${taskId}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Update a scheduler task\n */\nexport async function updateSchedulerTaskApi(\n taskId: string,\n task: Partial<SchedulerTask>,\n options: ApiClientOptions\n): Promise<ApiResponse<SchedulerTaskResponse>> {\n return browserApiRequest(`/api/v1/scheduler/tasks/${taskId}`, {\n method: \"PUT\",\n body: { task },\n ...options,\n });\n}\n\n/**\n * Delete a scheduler task\n */\nexport async function deleteSchedulerTaskApi(\n taskId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/scheduler/tasks/${taskId}`, {\n method: \"DELETE\",\n ...options,\n });\n}\n\n/**\n * Snooze a scheduler task\n */\nexport async function snoozeSchedulerTaskApi(\n taskId: string,\n delay: { amount: number; unit: string },\n options: ApiClientOptions\n): Promise<ApiResponse<SchedulerTaskResponse>> {\n return browserApiRequest(`/api/v1/scheduler/tasks/${taskId}/snooze`, {\n method: \"POST\",\n body: { delay },\n ...options,\n });\n}\n\n/**\n * Mark a scheduler task as complete\n */\nexport async function completeSchedulerTaskApi(\n taskId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<SchedulerTaskResponse>> {\n return browserApiRequest(`/api/v1/scheduler/tasks/${taskId}/complete`, {\n method: \"POST\",\n body: {},\n ...options,\n });\n}\n\n/**\n * Start a scheduler task manually\n */\nexport async function startSchedulerTaskApi(\n taskId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<SchedulerTaskResponse>> {\n return browserApiRequest(`/api/v1/scheduler/tasks/${taskId}/start`, {\n method: \"POST\",\n body: {},\n ...options,\n });\n}\n\n// =============================================================================\n// SCHEDULER - SCHEDULES\n// =============================================================================\n\n/**\n * List schedules\n */\nexport async function listSchedulesApi(\n options: ApiClientOptions & { status?: string; limit?: number; offset?: number }\n): Promise<ApiResponse<SchedulerScheduleListResponse>> {\n const params = new URLSearchParams();\n if (options.status) params.set(\"status\", options.status);\n if (options.limit) params.set(\"limit\", String(options.limit));\n if (options.offset) params.set(\"offset\", String(options.offset));\n const queryString = params.toString();\n return browserApiRequest(`/api/v1/scheduler/schedules${queryString ? `?${queryString}` : \"\"}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Create a schedule\n */\nexport async function createScheduleApi(\n schedule: Partial<SchedulerSchedule>,\n options: ApiClientOptions\n): Promise<ApiResponse<SchedulerScheduleResponse>> {\n return browserApiRequest(\"/api/v1/scheduler/schedules\", {\n method: \"POST\",\n body: { schedule },\n ...options,\n });\n}\n\n/**\n * Get a schedule by ID\n */\nexport async function getScheduleApi(\n scheduleId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<SchedulerScheduleResponse>> {\n return browserApiRequest(`/api/v1/scheduler/schedules/${scheduleId}`, {\n method: \"GET\",\n ...options,\n });\n}\n\n/**\n * Update a schedule\n */\nexport async function updateScheduleApi(\n scheduleId: string,\n schedule: Partial<SchedulerSchedule>,\n options: ApiClientOptions\n): Promise<ApiResponse<SchedulerScheduleResponse>> {\n return browserApiRequest(`/api/v1/scheduler/schedules/${scheduleId}`, {\n method: \"PUT\",\n body: { schedule },\n ...options,\n });\n}\n\n/**\n * Delete a schedule\n */\nexport async function deleteScheduleApi(\n scheduleId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<{ success: boolean; metadata: ResponseMetadata }>> {\n return browserApiRequest(`/api/v1/scheduler/schedules/${scheduleId}`, {\n method: \"DELETE\",\n ...options,\n });\n}\n\n/**\n * Pause a schedule\n */\nexport async function pauseScheduleApi(\n scheduleId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<SchedulerScheduleResponse>> {\n return browserApiRequest(`/api/v1/scheduler/schedules/${scheduleId}/pause`, {\n method: \"POST\",\n body: {},\n ...options,\n });\n}\n\n/**\n * Resume a paused schedule\n */\nexport async function resumeScheduleApi(\n scheduleId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<SchedulerScheduleResponse>> {\n return browserApiRequest(`/api/v1/scheduler/schedules/${scheduleId}/resume`, {\n method: \"POST\",\n body: {},\n ...options,\n });\n}\n\n/**\n * Run a schedule immediately\n */\nexport async function runScheduleApi(\n scheduleId: string,\n options: ApiClientOptions\n): Promise<ApiResponse<SchedulerScheduleResponse>> {\n return browserApiRequest(`/api/v1/scheduler/schedules/${scheduleId}/run`, {\n method: \"POST\",\n body: {},\n ...options,\n });\n}\n\n// Re-export types from models\nexport type {\n Agent,\n AgentSummary,\n Skill,\n SubAgent,\n AgentWidget,\n SkillUserConfig,\n SkillUserConfigResponse,\n SkillUserConfigListResponse,\n ResolveSkillConfigResponse,\n ToolDefinition,\n ToolDefinitionResponse,\n ToolDefinitionsListResponse,\n GetToolDefinitionsByIDsResponse,\n AgentJob,\n AgentJobResponse,\n AgentJobsListResponse,\n // Integration types\n UserIntegration,\n ListUserIntegrationsResponse,\n GetUserIntegrationResponse,\n ConnectIntegrationResponse,\n IntegrationCallbackResponse,\n DisconnectIntegrationResponse,\n RefreshIntegrationResponse,\n UpdateTriageEnabledResponse,\n RunEmailTriageResponse,\n IntegrationProviderTS,\n IntegrationTypeTS,\n // Sandbox types\n Sandbox,\n CreateSandboxRequest,\n CreateSandboxResponse,\n GetSandboxResponse,\n UpdateSandboxRequest,\n UpdateSandboxResponse,\n ListSandboxesResponse,\n DeleteSandboxResponse,\n} from \"../models\";\n"]}
|
|
@@ -227,6 +227,48 @@ async function pauseAgentJobApi(jobId, options) {
|
|
|
227
227
|
async function resumeAgentJobApi(jobId, options) {
|
|
228
228
|
return browserApiRequest(`/api/v1/agent-jobs/${jobId}/resume`, { method: "POST", ...options });
|
|
229
229
|
}
|
|
230
|
+
async function triggerBackgroundAgentApi(request, options) {
|
|
231
|
+
return browserApiRequest("/api/v1/agent-jobs/trigger", { method: "POST", body: request, ...options });
|
|
232
|
+
}
|
|
233
|
+
async function checkBackgroundAgentStatusApi(jobId, options) {
|
|
234
|
+
return browserApiRequest(`/api/v1/agent-jobs/${jobId}/status`, { method: "GET", ...options });
|
|
235
|
+
}
|
|
236
|
+
async function createBackgroundChatApi(request, options) {
|
|
237
|
+
return browserApiRequest("/api/v1/chat/create", {
|
|
238
|
+
method: "POST",
|
|
239
|
+
body: {
|
|
240
|
+
orgId: options.orgId,
|
|
241
|
+
metadata: {
|
|
242
|
+
agentName: request.agentName,
|
|
243
|
+
background: request.background,
|
|
244
|
+
...request.metadata
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
...options
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
async function sendChatMessageApi(request, options) {
|
|
251
|
+
return browserApiRequest("/api/v1/chat/send", {
|
|
252
|
+
method: "POST",
|
|
253
|
+
body: {
|
|
254
|
+
orgId: options.orgId,
|
|
255
|
+
chatKey: request.chatKey,
|
|
256
|
+
type: "message",
|
|
257
|
+
message: request.message
|
|
258
|
+
},
|
|
259
|
+
...options
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
async function loadChatApi(chatKey, options) {
|
|
263
|
+
return browserApiRequest("/api/v1/chat/load", {
|
|
264
|
+
method: "POST",
|
|
265
|
+
body: {
|
|
266
|
+
orgId: options.orgId,
|
|
267
|
+
chatKey
|
|
268
|
+
},
|
|
269
|
+
...options
|
|
270
|
+
});
|
|
271
|
+
}
|
|
230
272
|
async function getSkillCategoriesApi(options) {
|
|
231
273
|
return browserApiRequest("/api/v1/skills/categories", { method: "GET", ...options });
|
|
232
274
|
}
|
|
@@ -509,6 +551,11 @@ export {
|
|
|
509
551
|
deleteAgentJobApi,
|
|
510
552
|
pauseAgentJobApi,
|
|
511
553
|
resumeAgentJobApi,
|
|
554
|
+
triggerBackgroundAgentApi,
|
|
555
|
+
checkBackgroundAgentStatusApi,
|
|
556
|
+
createBackgroundChatApi,
|
|
557
|
+
sendChatMessageApi,
|
|
558
|
+
loadChatApi,
|
|
512
559
|
getSkillCategoriesApi,
|
|
513
560
|
provisionAgentsApi,
|
|
514
561
|
listIntegrationsApi,
|
|
@@ -541,4 +588,4 @@ export {
|
|
|
541
588
|
resumeScheduleApi,
|
|
542
589
|
runScheduleApi
|
|
543
590
|
};
|
|
544
|
-
//# sourceMappingURL=chunk-
|
|
591
|
+
//# sourceMappingURL=chunk-GOHHT3ET.mjs.map
|