@kb-labs/agent-entry 2.93.0 → 2.96.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/cli/commands/diff.js +4 -4
  2. package/dist/cli/commands/diff.js.map +1 -1
  3. package/dist/cli/commands/history.js +6 -6
  4. package/dist/cli/commands/history.js.map +1 -1
  5. package/dist/cli/commands/quality-report.js +3 -3
  6. package/dist/cli/commands/quality-report.js.map +1 -1
  7. package/dist/cli/commands/rollback.js +1 -1
  8. package/dist/cli/commands/rollback.js.map +1 -1
  9. package/dist/cli/commands/run.js +24 -7
  10. package/dist/cli/commands/run.js.map +1 -1
  11. package/dist/cli/commands/trace-context.js +3 -3
  12. package/dist/cli/commands/trace-context.js.map +1 -1
  13. package/dist/cli/commands/trace-diagnose.js +3 -3
  14. package/dist/cli/commands/trace-diagnose.js.map +1 -1
  15. package/dist/cli/commands/trace-stats.js +3 -3
  16. package/dist/cli/commands/trace-stats.js.map +1 -1
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.js +40 -35
  19. package/dist/index.js.map +1 -1
  20. package/dist/manifest.d.ts +62 -7
  21. package/dist/manifest.js +40 -35
  22. package/dist/manifest.js.map +1 -1
  23. package/dist/rest/handlers/approve-handler.js +51 -47
  24. package/dist/rest/handlers/approve-handler.js.map +1 -1
  25. package/dist/rest/handlers/approve-session-plan-handler.js +38 -34
  26. package/dist/rest/handlers/approve-session-plan-handler.js.map +1 -1
  27. package/dist/rest/handlers/correct-handler.js +49 -45
  28. package/dist/rest/handlers/correct-handler.js.map +1 -1
  29. package/dist/rest/handlers/create-session-handler.js +17 -13
  30. package/dist/rest/handlers/create-session-handler.js.map +1 -1
  31. package/dist/rest/handlers/execute-session-plan-handler.js +216 -208
  32. package/dist/rest/handlers/execute-session-plan-handler.js.map +1 -1
  33. package/dist/rest/handlers/generate-spec-handler.js +103 -98
  34. package/dist/rest/handlers/generate-spec-handler.js.map +1 -1
  35. package/dist/rest/handlers/get-file-diff-handler.js +35 -31
  36. package/dist/rest/handlers/get-file-diff-handler.js.map +1 -1
  37. package/dist/rest/handlers/get-session-handler.js +15 -11
  38. package/dist/rest/handlers/get-session-handler.js.map +1 -1
  39. package/dist/rest/handlers/get-session-plan-handler.js +28 -24
  40. package/dist/rest/handlers/get-session-plan-handler.js.map +1 -1
  41. package/dist/rest/handlers/get-session-turns-handler.js +27 -23
  42. package/dist/rest/handlers/get-session-turns-handler.js.map +1 -1
  43. package/dist/rest/handlers/get-spec-handler.js +22 -18
  44. package/dist/rest/handlers/get-spec-handler.js.map +1 -1
  45. package/dist/rest/handlers/list-file-changes-handler.js +25 -21
  46. package/dist/rest/handlers/list-file-changes-handler.js.map +1 -1
  47. package/dist/rest/handlers/list-sessions-handler.js +16 -12
  48. package/dist/rest/handlers/list-sessions-handler.js.map +1 -1
  49. package/dist/rest/handlers/rollback-handler.js +73 -69
  50. package/dist/rest/handlers/rollback-handler.js.map +1 -1
  51. package/dist/rest/handlers/run-handler.js +151 -147
  52. package/dist/rest/handlers/run-handler.js.map +1 -1
  53. package/dist/rest/handlers/sessions-handler.js +47 -35
  54. package/dist/rest/handlers/sessions-handler.js.map +1 -1
  55. package/dist/rest/handlers/status-handler.js +33 -29
  56. package/dist/rest/handlers/status-handler.js.map +1 -1
  57. package/dist/rest/handlers/stop-handler.js +37 -33
  58. package/dist/rest/handlers/stop-handler.js.map +1 -1
  59. package/dist/widgets/117.js +24 -1
  60. package/dist/widgets/{300.js → 215.js} +1 -1
  61. package/dist/widgets/370.js +1 -1
  62. package/dist/widgets/{805.js → 46.js} +92 -92
  63. package/dist/widgets/50.js +1 -1
  64. package/dist/widgets/62.js +96 -0
  65. package/dist/widgets/648.js +1 -0
  66. package/dist/widgets/669.js +1 -1
  67. package/dist/widgets/775.js +1 -1
  68. package/dist/widgets/78.js +1 -0
  69. package/dist/widgets/968.js +2 -2
  70. package/dist/widgets/__federation_expose_AgentsPage.js +1 -1
  71. package/dist/widgets/mf-manifest.json +31 -31
  72. package/dist/widgets/mf-stats.json +39 -39
  73. package/dist/widgets/remoteEntry.js +2 -2
  74. package/dist/ws/session-stream-handler.js +17 -6
  75. package/dist/ws/session-stream-handler.js.map +1 -1
  76. package/package.json +16 -15
  77. package/dist/widgets/418.js +0 -38
  78. package/dist/widgets/451.js +0 -1
  79. package/dist/widgets/694.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/rest/run-manager.ts","../../../src/rest/handlers/stop-handler.ts"],"names":["run"],"mappings":";;;;AAaA,IAAM,YAAA,GAAe,YAAA;AACrB,IAAM,kBAAA,GAAqB,eAAA;AAC3B,IAAM,SAAA,GAAY,IAAA;AAqClB,IAAM,iBAAN,MAAqB;AAAA;AAAA,EAEX,UAAA,uBAAyC,GAAA,EAAI;AAAA;AAAA,EAG7C,gBAAA,uBAA6D,GAAA,EAAI;AAAA;AAAA,EAGjE,aAAA,uBAAyC,GAAA,EAAI;AAAA;AAAA;AAAA;AAAA,EAKrD,aAAA,GAAwB;AACtB,IAAA,OAAO,CAAA,IAAA,EAAO,IAAA,CAAK,GAAA,EAAK,IAAI,IAAA,CAAK,MAAA,EAAO,CAAE,QAAA,CAAS,EAAE,CAAA,CAAE,KAAA,CAAM,CAAA,EAAG,CAAC,CAAC,CAAA,CAAA;AAAA,EACpE;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,QAAA,CACJ,KAAA,EACA,IAAA,EACA,KAAA,EACA,gBACA,SAAA,EACoB;AACpB,IAAA,MAAM,GAAA,GAAA,iBAAM,IAAI,IAAA,EAAK,EAAE,WAAA,EAAY;AAEnC,IAAA,MAAM,GAAA,GAAiB;AAAA,MACrB,KAAA;AAAA,MACA,IAAA;AAAA,MACA,MAAA,EAAQ,SAAA;AAAA,MACR,KAAA;AAAA,MACA,cAAA;AAAA,MACA,SAAA,EAAW,GAAA;AAAA,MACX,SAAA,sBAAe,GAAA,EAAI;AAAA,MACnB,OAAA,EAAS,CAAA;AAAA,MACT,aAAa;AAAC,KAChB;AAGA,IAAA,IAAA,CAAK,UAAA,CAAW,GAAA,CAAI,KAAA,EAAO,GAAG,CAAA;AAG9B,IAAA,IAAI,SAAA,EAAW;AACb,MAAA,IAAA,CAAK,aAAA,CAAc,GAAA,CAAI,KAAA,EAAO,SAAS,CAAA;AAAA,IACzC;AAGA,IAAA,MAAM,IAAA,CAAK,YAAY,GAAG,CAAA;AAE1B,IAAA,OAAO,GAAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,KAAA,EAAsC;AACxC,IAAA,OAAO,IAAA,CAAK,UAAA,CAAW,GAAA,CAAI,KAAK,CAAA;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAAO,KAAA,EAAiC;AAE5C,IAAA,IAAI,IAAA,CAAK,UAAA,CAAW,GAAA,CAAI,KAAK,CAAA,EAAG;AAC9B,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,MAAM,KAAA,GAAQ,MAAM,IAAA,CAAK,QAAA,CAAS,KAAK,CAAA;AACvC,IAAA,OAAO,KAAA,KAAU,IAAA;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,SAAS,KAAA,EAAyC;AACtD,IAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,IAAA,IAAI,CAAC,KAAA,EAAO;AAAC,MAAA,OAAO,IAAA;AAAA,IAAK;AAEzB,IAAA,OAAO,MAAM,GAAA,CAAc,CAAA,EAAG,YAAY,CAAA,EAAG,KAAK,CAAA,CAAE,CAAA;AAAA,EACtD;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,YAAA,CAAa,KAAA,EAAe,MAAA,EAAmB,KAAA,EAA0C;AAC7F,IAAA,MAAM,GAAA,GAAM,IAAA,CAAK,UAAA,CAAW,GAAA,CAAI,KAAK,CAAA;AACrC,IAAA,IAAI,GAAA,EAAK;AACP,MAAA,GAAA,CAAI,MAAA,GAAS,MAAA;AACb,MAAA,IAAI,KAAA,EAAO;AACT,QAAA,MAAA,CAAO,MAAA,CAAO,KAAK,KAAK,CAAA;AAAA,MAC1B;AACA,MAAA,MAAM,IAAA,CAAK,YAAY,GAAG,CAAA;AAAA,IAC5B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAc,YAAY,GAAA,EAA+B;AACvD,IAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,IAAA,IAAI,CAAC,KAAA,EAAO;AAAC,MAAA;AAAA,IAAO;AAEpB,IAAA,MAAM,KAAA,GAAkB;AAAA,MACtB,OAAO,GAAA,CAAI,KAAA;AAAA,MACX,MAAM,GAAA,CAAI,IAAA;AAAA,MACV,QAAQ,GAAA,CAAI,MAAA;AAAA,MACZ,WAAW,GAAA,CAAI,SAAA;AAAA,MACf,aAAa,GAAA,CAAI,WAAA;AAAA,MACjB,YAAY,GAAA,CAAI,UAAA;AAAA,MAChB,SAAS,GAAA,CAAI,OAAA;AAAA,MACb,OAAO,GAAA,CAAI;AAAA,KACb;AAEA,IAAA,MAAM,KAAA,CAAM,IAAI,CAAA,EAAG,YAAY,GAAG,GAAA,CAAI,KAAK,CAAA,CAAA,EAAI,KAAA,EAAO,SAAS,CAAA;AAAA,EACjE;AAAA;AAAA,EAGQ,aAAA,uBAAsE,GAAA,EAAI;AAAA;AAAA;AAAA;AAAA,EAKlF,WAAA,CAAY,OAAe,QAAA,EAAuC;AAChE,IAAA,MAAM,WAAW,WAAA,EAAY;AAC7B,IAAA,IAAI,CAAC,UAAU,QAAA,EAAU;AAEvB,MAAA,MAAMA,IAAAA,GAAM,IAAA,CAAK,UAAA,CAAW,GAAA,CAAI,KAAK,CAAA;AACrC,MAAA,IAAIA,IAAAA,EAAK;AACP,QAAAA,IAAAA,CAAI,SAAA,CAAU,GAAA,CAAI,QAAQ,CAAA;AAC1B,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,KAAA;AAAA,IACT;AAGA,IAAA,MAAM,KAAA,GAAQ,CAAA,EAAG,kBAAkB,CAAA,EAAG,KAAK,CAAA,CAAA;AAC3C,IAAA,MAAM,cAAc,QAAA,CAAS,QAAA,CAAS,SAAA,CAAsB,KAAA,EAAO,OAAO,KAAA,KAAU;AAClF,MAAA,IAAI;AACF,QAAA,QAAA,CAAS,KAAK,CAAA;AAAA,MAChB,CAAA,CAAA,MAAQ;AAAA,MAER;AAAA,IACF,CAAC,CAAA;AAGD,IAAA,IAAI,CAAC,IAAA,CAAK,aAAA,CAAc,GAAA,CAAI,KAAK,CAAA,EAAG;AAClC,MAAA,IAAA,CAAK,aAAA,CAAc,GAAA,CAAI,KAAA,kBAAO,IAAI,KAAK,CAAA;AAAA,IACzC;AACA,IAAA,IAAA,CAAK,cAAc,GAAA,CAAI,KAAK,CAAA,CAAG,GAAA,CAAI,UAAU,WAAW,CAAA;AAGxD,IAAA,MAAM,GAAA,GAAM,IAAA,CAAK,UAAA,CAAW,GAAA,CAAI,KAAK,CAAA;AACrC,IAAA,IAAI,GAAA,EAAK;AACP,MAAA,GAAA,CAAI,SAAA,CAAU,IAAI,QAAQ,CAAA;AAAA,IAC5B;AAEA,IAAA,OAAO,IAAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,cAAA,CAAe,OAAe,QAAA,EAAoC;AAEhE,IAAA,MAAM,OAAA,GAAU,IAAA,CAAK,aAAA,CAAc,GAAA,CAAI,KAAK,CAAA;AAC5C,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,MAAM,WAAA,GAAc,OAAA,CAAQ,GAAA,CAAI,QAAQ,CAAA;AACxC,MAAA,IAAI,WAAA,EAAa;AACf,QAAA,WAAA,EAAY;AACZ,QAAA,OAAA,CAAQ,OAAO,QAAQ,CAAA;AAAA,MACzB;AACA,MAAA,IAAI,OAAA,CAAQ,SAAS,CAAA,EAAG;AACtB,QAAA,IAAA,CAAK,aAAA,CAAc,OAAO,KAAK,CAAA;AAAA,MACjC;AAAA,IACF;AAGA,IAAA,MAAM,GAAA,GAAM,IAAA,CAAK,UAAA,CAAW,GAAA,CAAI,KAAK,CAAA;AACrC,IAAA,IAAI,GAAA,EAAK;AACP,MAAA,GAAA,CAAI,SAAA,CAAU,OAAO,QAAQ,CAAA;AAAA,IAC/B;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAA,CAAU,OAAe,KAAA,EAA+B;AACtD,IAAA,MAAM,WAAW,WAAA,EAAY;AAC7B,IAAA,MAAM,GAAA,GAAM,IAAA,CAAK,UAAA,CAAW,GAAA,CAAI,KAAK,CAAA;AAGrC,IAAA,IAAI,QAAA,GAAW,KAAA;AACf,IAAA,IAAI,GAAA,EAAK;AACP,MAAA,GAAA,CAAI,OAAA,EAAA;AACJ,MAAA,QAAA,GAAW,EAAE,GAAG,KAAA,EAAO,GAAA,EAAK,GAAA,CAAI,SAAS,KAAA,EAAM;AAG/C,MAAA,GAAA,CAAI,WAAA,CAAY,KAAK,QAAQ,CAAA;AAAA,IAC/B;AAGA,IAAA,IAAI,UAAU,QAAA,EAAU;AACtB,MAAA,MAAM,KAAA,GAAQ,CAAA,EAAG,kBAAkB,CAAA,EAAG,KAAK,CAAA,CAAA;AAC3C,MAAA,QAAA,CAAS,SAAS,OAAA,CAAQ,KAAA,EAAO,QAAQ,CAAA,CAAE,MAAM,MAAM;AAAA,MAEvD,CAAC,CAAA;AAAA,IACH;AAGA,IAAA,IAAI,GAAA,EAAK;AACP,MAAA,KAAA,MAAW,QAAA,IAAY,IAAI,SAAA,EAAW;AACpC,QAAA,IAAI;AACF,UAAA,QAAA,CAAS,QAAQ,CAAA;AAAA,QACnB,CAAA,CAAA,MAAQ;AAAA,QAER;AAAA,MACF;AAAA,IACF;AAGA,IAAA,MAAM,SAAA,GAAY,IAAA,CAAK,aAAA,CAAc,GAAA,CAAI,KAAK,CAAA;AAC9C,IAAA,IAAI,SAAA,EAAW;AACb,MAAA,MAAM,UAAA,GAAa,IAAA,CAAK,gBAAA,CAAiB,GAAA,CAAI,SAAS,CAAA;AACtD,MAAA,IAAI,UAAA,EAAY;AACd,QAAA,KAAA,MAAW,YAAY,UAAA,EAAY;AACjC,UAAA,IAAI;AACF,YAAA,QAAA,CAAS,QAAQ,CAAA;AAAA,UACnB,CAAA,CAAA,MAAQ;AAAA,UAER;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,IAAA,OAAO,QAAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,kBAAA,CAAmB,WAAmB,QAAA,EAAoC;AACxE,IAAA,IAAI,CAAC,IAAA,CAAK,gBAAA,CAAiB,GAAA,CAAI,SAAS,CAAA,EAAG;AACzC,MAAA,IAAA,CAAK,gBAAA,CAAiB,GAAA,CAAI,SAAA,kBAAW,IAAI,KAAK,CAAA;AAAA,IAChD;AACA,IAAA,IAAA,CAAK,gBAAA,CAAiB,GAAA,CAAI,SAAS,CAAA,CAAG,IAAI,QAAQ,CAAA;AAAA,EACpD;AAAA;AAAA;AAAA;AAAA,EAKA,qBAAA,CAAsB,WAAmB,QAAA,EAAoC;AAC3E,IAAA,MAAM,SAAA,GAAY,IAAA,CAAK,gBAAA,CAAiB,GAAA,CAAI,SAAS,CAAA;AACrD,IAAA,IAAI,SAAA,EAAW;AACb,MAAA,SAAA,CAAU,OAAO,QAAQ,CAAA;AACzB,MAAA,IAAI,SAAA,CAAU,SAAS,CAAA,EAAG;AACxB,QAAA,IAAA,CAAK,gBAAA,CAAiB,OAAO,SAAS,CAAA;AAAA,MACxC;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,cAAA,CAAe,OAAe,QAAA,EAAiC;AAC7D,IAAA,MAAM,GAAA,GAAM,IAAA,CAAK,UAAA,CAAW,GAAA,CAAI,KAAK,CAAA;AACrC,IAAA,IAAI,CAAC,GAAA,EAAK;AAAC,MAAA,OAAO,EAAC;AAAA,IAAE;AAErB,IAAA,IAAI,YAAY,IAAA,EAAM;AACpB,MAAA,OAAO,GAAA,CAAI,WAAA,CAAY,MAAA,CAAO,CAAC,CAAA,KAAM,EAAE,GAAA,IAAO,IAAA,IAAQ,CAAA,CAAE,GAAA,GAAM,QAAQ,CAAA;AAAA,IACxE;AACA,IAAA,OAAO,CAAC,GAAG,GAAA,CAAI,WAAW,CAAA;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA,EAKA,UAAA,GAA2F;AACzF,IAAA,OAAO,KAAA,CAAM,KAAK,IAAA,CAAK,UAAA,CAAW,QAAQ,CAAA,CAAE,IAAI,CAAA,CAAA,MAAM;AAAA,MACpD,OAAO,CAAA,CAAE,KAAA;AAAA,MACT,MAAM,CAAA,CAAE,IAAA;AAAA,MACR,QAAQ,CAAA,CAAE,MAAA;AAAA,MACV,WAAW,CAAA,CAAE;AAAA,KACf,CAAE,CAAA;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAY,KAAA,EAAwB;AAClC,IAAA,MAAM,GAAA,GAAM,IAAA,CAAK,UAAA,CAAW,GAAA,CAAI,KAAK,CAAA;AACrC,IAAA,IAAI,CAAC,GAAA,IAAO,GAAA,CAAI,WAAW,SAAA,IAAa,CAAC,IAAI,KAAA,EAAO;AAClD,MAAA,OAAO,KAAA;AAAA,IACT;AACA,IAAA,GAAA,CAAI,MAAM,WAAA,EAAY;AACtB,IAAA,OAAO,IAAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,OAAA,GAAgB;AACd,IAAA,KAAA,MAAW,CAAC,KAAA,EAAO,GAAG,CAAA,IAAK,KAAK,UAAA,EAAY;AAC1C,MAAA,IAAI,GAAA,CAAI,WAAW,WAAA,IAAe,GAAA,CAAI,WAAW,QAAA,IAAY,GAAA,CAAI,WAAW,SAAA,EAAW;AAErF,QAAA,IAAA,CAAK,UAAA,CAAW,OAAO,KAAK,CAAA;AAAA,MAC9B;AAAA,IACF;AAAA,EACF;AACF,CAAA;AAQA,IAAM,UAAA,GAAa,0BAAA;AACnB,IAAI,CAAE,UAAA,CAAuC,UAAU,CAAA,EAAG;AACxD,EAAC,UAAA,CAAuC,UAAU,CAAA,GAAI,IAAI,cAAA,EAAe;AAC3E;AACO,IAAM,UAAA,GAAc,WAAuC,UAAU,CAAA;;;AClX5E,IAAO,uBAAQ,aAAA,CAAc;AAAA,EAC3B,MAAM,OAAA,CACJ,GAAA,EACA,KAAA,EACuB;AACvB,IAAA,MAAM,EAAE,KAAA,EAAM,GAAI,KAAA,CAAM,MAAA;AACxB,IAAA,MAAM,OAAO,KAAA,CAAM,IAAA;AACnB,IAAA,MAAM,SAAS,IAAA,EAAM,MAAA;AAErB,IAAA,GAAA,CAAI,QAAA,CAAS,MAAA,CAAO,IAAA,CAAK,CAAA,sCAAA,EAAyC,KAAK,CAAA,EAAG,MAAA,GAAS,CAAA,EAAA,EAAK,MAAM,CAAA,CAAA,GAAK,EAAE,CAAA,CAAE,CAAA;AAEvG,IAAA,MAAM,GAAA,GAAM,UAAA,CAAW,GAAA,CAAI,KAAK,CAAA;AAEhC,IAAA,IAAI,CAAC,GAAA,EAAK;AACR,MAAA,OAAO;AAAA,QACL,OAAA,EAAS,KAAA;AAAA,QACT,KAAA;AAAA,QACA,WAAA,EAAa;AAAA,OACf;AAAA,IACF;AAEA,IAAA,IAAI,GAAA,CAAI,WAAW,WAAA,IAAe,GAAA,CAAI,WAAW,QAAA,IAAY,GAAA,CAAI,WAAW,SAAA,EAAW;AACrF,MAAA,OAAO;AAAA,QACL,OAAA,EAAS,KAAA;AAAA,QACT,KAAA;AAAA,QACA,WAAA,EAAa;AAAA,OACf;AAAA,IACF;AAGA,IAAA,UAAA,CAAW,YAAY,KAAK,CAAA;AAG5B,IAAA,MAAM,UAAA,CAAW,YAAA,CAAa,KAAA,EAAO,SAAA,EAAW;AAAA,MAC9C,WAAA,EAAA,iBAAa,IAAI,IAAA,EAAK,EAAE,WAAA,EAAY;AAAA,MACpC,UAAA,EAAY,KAAK,GAAA,EAAI,GAAI,IAAI,IAAA,CAAK,GAAA,CAAI,SAAS,CAAA,CAAE,OAAA,EAAQ;AAAA,MACzD,OAAA,EAAS,MAAA,GAAS,CAAA,iBAAA,EAAoB,MAAM,CAAA,CAAA,GAAK;AAAA,KAClD,CAAA;AAGD,IAAA,MAAM,YAAY,YAAA,EAAa;AAC/B,IAAA,MAAM,SAAA,EAAW,KAAA,CAAM,sBAAA,CAAuB,WAAA,EAAa;AAAA,MACzD,KAAA;AAAA,MACA,UAAA,EAAY,KAAK,GAAA,EAAI,GAAI,IAAI,IAAA,CAAK,GAAA,CAAI,SAAS,CAAA,CAAE,OAAA,EAAQ;AAAA,MACzD,MAAA,EAAQ,MAAA,EAAQ,KAAA,CAAM,CAAA,EAAG,GAAG;AAAA,KAC7B,CAAA;AAED,IAAA,GAAA,CAAI,QAAA,CAAS,MAAA,CAAO,IAAA,CAAK,CAAA,mBAAA,EAAsB,KAAK,CAAA,QAAA,CAAU,CAAA;AAE9D,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,IAAA;AAAA,MACT,KAAA;AAAA,MACA,WAAA,EAAa;AAAA,KACf;AAAA,EACF;AACF,CAAC","file":"stop-handler.js","sourcesContent":["/**\n * Run Manager - tracks active agent runs for REST/WS API\n *\n * Uses platform cache for persistence and in-memory Map for active agents.\n * Cache stores serializable run state, Map stores live agent references.\n * Uses platform eventBus for cross-process event broadcasting.\n */\n\nimport type { IAgentRunner } from '@kb-labs/agent-sdk';\nimport type { SessionManager } from '@kb-labs/agent-core';\nimport type { AgentEvent, AgentEventCallback } from '@kb-labs/agent-contracts';\nimport { useCache, usePlatform } from '@kb-labs/sdk';\n\nconst CACHE_PREFIX = 'agent:run:';\nconst EVENT_TOPIC_PREFIX = 'agent:events:';\nconst CACHE_TTL = 3600000; // 1 hour\n\n/**\n * Run status\n */\nexport type RunStatus = 'pending' | 'running' | 'completed' | 'failed' | 'stopped';\n\n/**\n * Serializable run state (stored in cache)\n */\nexport interface RunState {\n runId: string;\n task: string;\n status: RunStatus;\n startedAt: string;\n completedAt?: string;\n durationMs?: number;\n summary?: string;\n error?: string;\n}\n\n/**\n * Active run with live agent (in-memory only)\n */\nexport interface ActiveRun extends RunState {\n agent?: IAgentRunner;\n sessionManager: SessionManager;\n listeners: Set<AgentEventCallback>;\n /** Monotonic sequence counter for event ordering */\n lastSeq: number;\n /** Replay buffer: all events emitted since run start (for late WS connections) */\n eventBuffer: AgentEvent[];\n}\n\n/**\n * Run Manager implementation\n */\nclass RunManagerImpl {\n /** Live agents and listeners (not cacheable) */\n private activeRuns: Map<string, ActiveRun> = new Map();\n\n /** Session-level listeners: sessionId → Set<callback> — receive events from ALL runs in session */\n private sessionListeners: Map<string, Set<AgentEventCallback>> = new Map();\n\n /** sessionId per runId — set when run is registered */\n private runSessionMap: Map<string, string> = new Map();\n\n /**\n * Generate unique run ID\n */\n generateRunId(): string {\n return `run-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`;\n }\n\n /**\n * Register a new run\n */\n async register(\n runId: string,\n task: string,\n agent: IAgentRunner | undefined,\n sessionManager: SessionManager,\n sessionId?: string\n ): Promise<ActiveRun> {\n const now = new Date().toISOString();\n\n const run: ActiveRun = {\n runId,\n task,\n status: 'pending',\n agent,\n sessionManager,\n startedAt: now,\n listeners: new Set(),\n lastSeq: 0,\n eventBuffer: [],\n };\n\n // Store in memory (for live agent)\n this.activeRuns.set(runId, run);\n\n // Track sessionId → runId mapping for session-level listeners\n if (sessionId) {\n this.runSessionMap.set(runId, sessionId);\n }\n\n // Store serializable state in cache\n await this.saveToCache(run);\n\n return run;\n }\n\n /**\n * Get run by ID (from memory first, then cache for state)\n */\n get(runId: string): ActiveRun | undefined {\n return this.activeRuns.get(runId);\n }\n\n /**\n * Check if run exists (in memory or cache)\n */\n async exists(runId: string): Promise<boolean> {\n // Check memory first\n if (this.activeRuns.has(runId)) {\n return true;\n }\n // Fallback to cache\n const state = await this.getState(runId);\n return state !== null;\n }\n\n /**\n * Get run state from cache (for completed runs or cross-process access)\n */\n async getState(runId: string): Promise<RunState | null> {\n const cache = useCache();\n if (!cache) {return null;}\n\n return cache.get<RunState>(`${CACHE_PREFIX}${runId}`);\n }\n\n /**\n * Update run status\n */\n async updateStatus(runId: string, status: RunStatus, extra?: Partial<RunState>): Promise<void> {\n const run = this.activeRuns.get(runId);\n if (run) {\n run.status = status;\n if (extra) {\n Object.assign(run, extra);\n }\n await this.saveToCache(run);\n }\n }\n\n /**\n * Save run state to cache\n */\n private async saveToCache(run: ActiveRun): Promise<void> {\n const cache = useCache();\n if (!cache) {return;}\n\n const state: RunState = {\n runId: run.runId,\n task: run.task,\n status: run.status,\n startedAt: run.startedAt,\n completedAt: run.completedAt,\n durationMs: run.durationMs,\n summary: run.summary,\n error: run.error,\n };\n\n await cache.set(`${CACHE_PREFIX}${run.runId}`, state, CACHE_TTL);\n }\n\n /** Track subscriptions for cleanup */\n private subscriptions: Map<string, Map<AgentEventCallback, () => void>> = new Map();\n\n /**\n * Add event listener to run (uses eventBus for cross-process)\n */\n addListener(runId: string, callback: AgentEventCallback): boolean {\n const platform = usePlatform();\n if (!platform?.eventBus) {\n // Fallback to in-memory only\n const run = this.activeRuns.get(runId);\n if (run) {\n run.listeners.add(callback);\n return true;\n }\n return false;\n }\n\n // Subscribe to eventBus topic for this run\n const topic = `${EVENT_TOPIC_PREFIX}${runId}`;\n const unsubscribe = platform.eventBus.subscribe<AgentEvent>(topic, async (event) => {\n try {\n callback(event);\n } catch {\n // Ignore callback errors\n }\n });\n\n // Track subscription for cleanup\n if (!this.subscriptions.has(runId)) {\n this.subscriptions.set(runId, new Map());\n }\n this.subscriptions.get(runId)!.set(callback, unsubscribe);\n\n // Also add to in-memory if run exists locally\n const run = this.activeRuns.get(runId);\n if (run) {\n run.listeners.add(callback);\n }\n\n return true;\n }\n\n /**\n * Remove event listener from run\n */\n removeListener(runId: string, callback: AgentEventCallback): void {\n // Unsubscribe from eventBus\n const runSubs = this.subscriptions.get(runId);\n if (runSubs) {\n const unsubscribe = runSubs.get(callback);\n if (unsubscribe) {\n unsubscribe();\n runSubs.delete(callback);\n }\n if (runSubs.size === 0) {\n this.subscriptions.delete(runId);\n }\n }\n\n // Also remove from in-memory\n const run = this.activeRuns.get(runId);\n if (run) {\n run.listeners.delete(callback);\n }\n }\n\n /**\n * Broadcast event to all listeners of a run (uses eventBus for cross-process)\n * Assigns monotonic sequence number for reliable ordering\n * @returns The event with seq assigned (for persistence)\n */\n broadcast(runId: string, event: AgentEvent): AgentEvent {\n const platform = usePlatform();\n const run = this.activeRuns.get(runId);\n\n // Assign sequence number for ordering\n let seqEvent = event;\n if (run) {\n run.lastSeq++;\n seqEvent = { ...event, seq: run.lastSeq, runId };\n\n // Store in replay buffer (for late WS connections)\n run.eventBuffer.push(seqEvent);\n }\n\n // Publish to eventBus for cross-process delivery\n if (platform?.eventBus) {\n const topic = `${EVENT_TOPIC_PREFIX}${runId}`;\n platform.eventBus.publish(topic, seqEvent).catch(() => {\n // Ignore publish errors\n });\n }\n\n // Also notify local in-memory listeners (for same-process)\n if (run) {\n for (const listener of run.listeners) {\n try {\n listener(seqEvent);\n } catch {\n // Ignore listener errors\n }\n }\n }\n\n // Notify session-level listeners (persistent connections)\n const sessionId = this.runSessionMap.get(runId);\n if (sessionId) {\n const sListeners = this.sessionListeners.get(sessionId);\n if (sListeners) {\n for (const listener of sListeners) {\n try {\n listener(seqEvent);\n } catch {\n // Ignore listener errors\n }\n }\n }\n }\n\n return seqEvent;\n }\n\n /**\n * Add a session-level listener — receives events from ALL runs in this session.\n */\n addSessionListener(sessionId: string, callback: AgentEventCallback): void {\n if (!this.sessionListeners.has(sessionId)) {\n this.sessionListeners.set(sessionId, new Set());\n }\n this.sessionListeners.get(sessionId)!.add(callback);\n }\n\n /**\n * Remove a session-level listener.\n */\n removeSessionListener(sessionId: string, callback: AgentEventCallback): void {\n const listeners = this.sessionListeners.get(sessionId);\n if (listeners) {\n listeners.delete(callback);\n if (listeners.size === 0) {\n this.sessionListeners.delete(sessionId);\n }\n }\n }\n\n /**\n * Get replay buffer for a run (all events emitted since start).\n * Used by WS handler to send missed events on late connection.\n * Optionally filter by afterSeq to only get events the client hasn't seen.\n */\n getEventBuffer(runId: string, afterSeq?: number): AgentEvent[] {\n const run = this.activeRuns.get(runId);\n if (!run) {return [];}\n\n if (afterSeq != null) {\n return run.eventBuffer.filter((e) => e.seq != null && e.seq > afterSeq);\n }\n return [...run.eventBuffer];\n }\n\n /**\n * List all active runs\n */\n listActive(): Array<{ runId: string; task: string; status: RunStatus; startedAt: string }> {\n return Array.from(this.activeRuns.values()).map(r => ({\n runId: r.runId,\n task: r.task,\n status: r.status,\n startedAt: r.startedAt,\n }));\n }\n\n /**\n * Request graceful stop of a running agent (and its child agents via propagated AbortSignal).\n * Agent finishes its current tool call then exits at the next iteration boundary.\n */\n requestStop(runId: string): boolean {\n const run = this.activeRuns.get(runId);\n if (!run || run.status !== 'running' || !run.agent) {\n return false;\n }\n run.agent.requestStop();\n return true;\n }\n\n /**\n * Clean up completed runs from memory (cache handles its own TTL)\n */\n cleanup(): void {\n for (const [runId, run] of this.activeRuns) {\n if (run.status === 'completed' || run.status === 'failed' || run.status === 'stopped') {\n // Remove from memory but keep in cache\n this.activeRuns.delete(runId);\n }\n }\n }\n}\n\n/**\n * Singleton instance — stored on globalThis so all bundled modules share one instance.\n * When tsup compiles multiple entry points, each gets its own module scope,\n * so a plain `export const RunManager = new RunManagerImpl()` creates separate instances.\n * Using globalThis ensures run-handler.js and session-stream-handler.js share one RunManager.\n */\nconst GLOBAL_KEY = '__kb_agent_run_manager__';\nif (!(globalThis as Record<string, unknown>)[GLOBAL_KEY]) {\n (globalThis as Record<string, unknown>)[GLOBAL_KEY] = new RunManagerImpl();\n}\nexport const RunManager = (globalThis as Record<string, unknown>)[GLOBAL_KEY] as RunManagerImpl;\n","/**\n * POST /run/:runId/stop handler\n *\n * Stops a running agent execution\n */\n\nimport { defineHandler, useAnalytics, type RestInput, type PluginContextV3 } from '@kb-labs/sdk';\nimport type { StopRequest, StopResponse } from '@kb-labs/agent-contracts';\nimport { AGENT_ANALYTICS_EVENTS } from '@kb-labs/agent-contracts';\nimport { RunManager } from '../run-manager.js';\n\nexport default defineHandler({\n async execute(\n ctx: PluginContextV3,\n input: RestInput<StopRequest>\n ): Promise<StopResponse> {\n const { runId } = input.params as { runId: string };\n const body = input.body as StopRequest | undefined;\n const reason = body?.reason;\n\n ctx.platform.logger.info(`[stop-handler] Stop requested for run ${runId}${reason ? `: ${reason}` : ''}`);\n\n const run = RunManager.get(runId);\n\n if (!run) {\n return {\n stopped: false,\n runId,\n finalStatus: 'not_found',\n };\n }\n\n if (run.status === 'completed' || run.status === 'failed' || run.status === 'stopped') {\n return {\n stopped: false,\n runId,\n finalStatus: 'already_completed',\n };\n }\n\n // Signal the agent to stop after its current tool call finishes\n RunManager.requestStop(runId);\n\n // Update status optimistically — agent:end event will also update it async\n await RunManager.updateStatus(runId, 'stopped', {\n completedAt: new Date().toISOString(),\n durationMs: Date.now() - new Date(run.startedAt).getTime(),\n summary: reason ? `Stopped by user: ${reason}` : 'Stopped by user',\n });\n\n // Track stop\n const analytics = useAnalytics();\n await analytics?.track(AGENT_ANALYTICS_EVENTS.RUN_STOPPED, {\n runId,\n durationMs: Date.now() - new Date(run.startedAt).getTime(),\n reason: reason?.slice(0, 200),\n });\n\n ctx.platform.logger.info(`[stop-handler] Run ${runId} stopped`);\n\n return {\n stopped: true,\n runId,\n finalStatus: 'stopped',\n };\n },\n});\n"]}
1
+ {"version":3,"sources":["../../../src/rest/run-manager.ts","../../../src/rest/handlers/stop-handler.ts"],"names":["run"],"mappings":"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","file":"stop-handler.js","sourcesContent":["/**\n * Run Manager - tracks active agent runs for REST/WS API\n *\n * Uses platform cache for persistence and in-memory Map for active agents.\n * Cache stores serializable run state, Map stores live agent references.\n * Uses platform eventBus for cross-process event broadcasting.\n */\n\nimport type { IAgentRunner } from '@kb-labs/agent-sdk';\nimport type { SessionManager } from '@kb-labs/agent-core';\nimport type { AgentEvent, AgentEventCallback } from '@kb-labs/agent-contracts';\nimport { useCache, usePlatform } from '@kb-labs/sdk';\n\nconst CACHE_PREFIX = 'agent:run:';\nconst EVENT_TOPIC_PREFIX = 'agent:events:';\nconst CACHE_TTL = 3600000; // 1 hour\n\n/**\n * Run status\n */\nexport type RunStatus = 'pending' | 'running' | 'completed' | 'failed' | 'stopped';\n\n/**\n * Serializable run state (stored in cache)\n */\nexport interface RunState {\n runId: string;\n task: string;\n status: RunStatus;\n startedAt: string;\n completedAt?: string;\n durationMs?: number;\n summary?: string;\n error?: string;\n}\n\n/**\n * Active run with live agent (in-memory only)\n */\nexport interface ActiveRun extends RunState {\n agent?: IAgentRunner;\n sessionManager: SessionManager;\n listeners: Set<AgentEventCallback>;\n /** Monotonic sequence counter for event ordering */\n lastSeq: number;\n /** Replay buffer: all events emitted since run start (for late WS connections) */\n eventBuffer: AgentEvent[];\n}\n\n/**\n * Run Manager implementation\n */\nclass RunManagerImpl {\n /** Live agents and listeners (not cacheable) */\n private activeRuns: Map<string, ActiveRun> = new Map();\n\n /** Session-level listeners: sessionId → Set<callback> — receive events from ALL runs in session */\n private sessionListeners: Map<string, Set<AgentEventCallback>> = new Map();\n\n /** sessionId per runId — set when run is registered */\n private runSessionMap: Map<string, string> = new Map();\n\n /**\n * Generate unique run ID\n */\n generateRunId(): string {\n return `run-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`;\n }\n\n /**\n * Register a new run\n */\n async register(\n runId: string,\n task: string,\n agent: IAgentRunner | undefined,\n sessionManager: SessionManager,\n sessionId?: string\n ): Promise<ActiveRun> {\n const now = new Date().toISOString();\n\n const run: ActiveRun = {\n runId,\n task,\n status: 'pending',\n agent,\n sessionManager,\n startedAt: now,\n listeners: new Set(),\n lastSeq: 0,\n eventBuffer: [],\n };\n\n // Store in memory (for live agent)\n this.activeRuns.set(runId, run);\n\n // Track sessionId → runId mapping for session-level listeners\n if (sessionId) {\n this.runSessionMap.set(runId, sessionId);\n }\n\n // Store serializable state in cache\n await this.saveToCache(run);\n\n return run;\n }\n\n /**\n * Get run by ID (from memory first, then cache for state)\n */\n get(runId: string): ActiveRun | undefined {\n return this.activeRuns.get(runId);\n }\n\n /**\n * Check if run exists (in memory or cache)\n */\n async exists(runId: string): Promise<boolean> {\n // Check memory first\n if (this.activeRuns.has(runId)) {\n return true;\n }\n // Fallback to cache\n const state = await this.getState(runId);\n return state !== null;\n }\n\n /**\n * Get run state from cache (for completed runs or cross-process access)\n */\n async getState(runId: string): Promise<RunState | null> {\n const cache = useCache();\n if (!cache) {return null;}\n\n return cache.get<RunState>(`${CACHE_PREFIX}${runId}`);\n }\n\n /**\n * Update run status\n */\n async updateStatus(runId: string, status: RunStatus, extra?: Partial<RunState>): Promise<void> {\n const run = this.activeRuns.get(runId);\n if (run) {\n run.status = status;\n if (extra) {\n Object.assign(run, extra);\n }\n await this.saveToCache(run);\n }\n }\n\n /**\n * Save run state to cache\n */\n private async saveToCache(run: ActiveRun): Promise<void> {\n const cache = useCache();\n if (!cache) {return;}\n\n const state: RunState = {\n runId: run.runId,\n task: run.task,\n status: run.status,\n startedAt: run.startedAt,\n completedAt: run.completedAt,\n durationMs: run.durationMs,\n summary: run.summary,\n error: run.error,\n };\n\n await cache.set(`${CACHE_PREFIX}${run.runId}`, state, CACHE_TTL);\n }\n\n /** Track subscriptions for cleanup */\n private subscriptions: Map<string, Map<AgentEventCallback, () => void>> = new Map();\n\n /**\n * Add event listener to run (uses eventBus for cross-process)\n */\n addListener(runId: string, callback: AgentEventCallback): boolean {\n const platform = usePlatform();\n if (!platform?.eventBus) {\n // Fallback to in-memory only\n const run = this.activeRuns.get(runId);\n if (run) {\n run.listeners.add(callback);\n return true;\n }\n return false;\n }\n\n // Subscribe to eventBus topic for this run\n const topic = `${EVENT_TOPIC_PREFIX}${runId}`;\n const unsubscribe = platform.eventBus.subscribe<AgentEvent>(topic, async (event) => {\n try {\n callback(event);\n } catch {\n // Ignore callback errors\n }\n });\n\n // Track subscription for cleanup\n if (!this.subscriptions.has(runId)) {\n this.subscriptions.set(runId, new Map());\n }\n this.subscriptions.get(runId)!.set(callback, unsubscribe);\n\n // Also add to in-memory if run exists locally\n const run = this.activeRuns.get(runId);\n if (run) {\n run.listeners.add(callback);\n }\n\n return true;\n }\n\n /**\n * Remove event listener from run\n */\n removeListener(runId: string, callback: AgentEventCallback): void {\n // Unsubscribe from eventBus\n const runSubs = this.subscriptions.get(runId);\n if (runSubs) {\n const unsubscribe = runSubs.get(callback);\n if (unsubscribe) {\n unsubscribe();\n runSubs.delete(callback);\n }\n if (runSubs.size === 0) {\n this.subscriptions.delete(runId);\n }\n }\n\n // Also remove from in-memory\n const run = this.activeRuns.get(runId);\n if (run) {\n run.listeners.delete(callback);\n }\n }\n\n /**\n * Broadcast event to all listeners of a run (uses eventBus for cross-process)\n * Assigns monotonic sequence number for reliable ordering\n * @returns The event with seq assigned (for persistence)\n */\n broadcast(runId: string, event: AgentEvent): AgentEvent {\n const platform = usePlatform();\n const run = this.activeRuns.get(runId);\n\n // Assign sequence number for ordering\n let seqEvent = event;\n if (run) {\n run.lastSeq++;\n seqEvent = { ...event, seq: run.lastSeq, runId };\n\n // Store in replay buffer (for late WS connections)\n run.eventBuffer.push(seqEvent);\n }\n\n // Publish to eventBus for cross-process delivery\n if (platform?.eventBus) {\n const topic = `${EVENT_TOPIC_PREFIX}${runId}`;\n platform.eventBus.publish(topic, seqEvent).catch(() => {\n // Ignore publish errors\n });\n }\n\n // Also notify local in-memory listeners (for same-process)\n if (run) {\n for (const listener of run.listeners) {\n try {\n listener(seqEvent);\n } catch {\n // Ignore listener errors\n }\n }\n }\n\n // Notify session-level listeners (persistent connections)\n const sessionId = this.runSessionMap.get(runId);\n if (sessionId) {\n const sListeners = this.sessionListeners.get(sessionId);\n if (sListeners) {\n for (const listener of sListeners) {\n try {\n listener(seqEvent);\n } catch {\n // Ignore listener errors\n }\n }\n }\n }\n\n return seqEvent;\n }\n\n /**\n * Add a session-level listener — receives events from ALL runs in this session.\n */\n addSessionListener(sessionId: string, callback: AgentEventCallback): void {\n if (!this.sessionListeners.has(sessionId)) {\n this.sessionListeners.set(sessionId, new Set());\n }\n this.sessionListeners.get(sessionId)!.add(callback);\n }\n\n /**\n * Remove a session-level listener.\n */\n removeSessionListener(sessionId: string, callback: AgentEventCallback): void {\n const listeners = this.sessionListeners.get(sessionId);\n if (listeners) {\n listeners.delete(callback);\n if (listeners.size === 0) {\n this.sessionListeners.delete(sessionId);\n }\n }\n }\n\n /**\n * Get replay buffer for a run (all events emitted since start).\n * Used by WS handler to send missed events on late connection.\n * Optionally filter by afterSeq to only get events the client hasn't seen.\n */\n getEventBuffer(runId: string, afterSeq?: number): AgentEvent[] {\n const run = this.activeRuns.get(runId);\n if (!run) {return [];}\n\n if (afterSeq != null) {\n return run.eventBuffer.filter((e) => e.seq != null && e.seq > afterSeq);\n }\n return [...run.eventBuffer];\n }\n\n /**\n * List all active runs\n */\n listActive(): Array<{ runId: string; task: string; status: RunStatus; startedAt: string }> {\n return Array.from(this.activeRuns.values()).map(r => ({\n runId: r.runId,\n task: r.task,\n status: r.status,\n startedAt: r.startedAt,\n }));\n }\n\n /**\n * Request graceful stop of a running agent (and its child agents via propagated AbortSignal).\n * Agent finishes its current tool call then exits at the next iteration boundary.\n */\n requestStop(runId: string): boolean {\n const run = this.activeRuns.get(runId);\n if (!run || run.status !== 'running' || !run.agent) {\n return false;\n }\n run.agent.requestStop();\n return true;\n }\n\n /**\n * Clean up completed runs from memory (cache handles its own TTL)\n */\n cleanup(): void {\n for (const [runId, run] of this.activeRuns) {\n if (run.status === 'completed' || run.status === 'failed' || run.status === 'stopped') {\n // Remove from memory but keep in cache\n this.activeRuns.delete(runId);\n }\n }\n }\n}\n\n/**\n * Singleton instance — stored on globalThis so all bundled modules share one instance.\n * When tsup compiles multiple entry points, each gets its own module scope,\n * so a plain `export const RunManager = new RunManagerImpl()` creates separate instances.\n * Using globalThis ensures run-handler.js and session-stream-handler.js share one RunManager.\n */\nconst GLOBAL_KEY = '__kb_agent_run_manager__';\nif (!(globalThis as Record<string, unknown>)[GLOBAL_KEY]) {\n (globalThis as Record<string, unknown>)[GLOBAL_KEY] = new RunManagerImpl();\n}\nexport const RunManager = (globalThis as Record<string, unknown>)[GLOBAL_KEY] as RunManagerImpl;\n","/**\n * POST /run/:runId/stop handler\n *\n * Stops a running agent execution\n */\n\nimport { defineHandler, rethrowForRest, useAnalytics, type RestInput, type PluginContextV3 } from '@kb-labs/sdk';\nimport type { StopRequest, StopResponse } from '@kb-labs/agent-contracts';\nimport { AGENT_ANALYTICS_EVENTS } from '@kb-labs/agent-contracts';\nimport { RunManager } from '../run-manager.js';\n\nexport default defineHandler({\n async execute(\n ctx: PluginContextV3,\n input: RestInput<StopRequest>\n ): Promise<StopResponse> {\n try {\n const { runId } = input.params as { runId: string };\n const body = input.body as StopRequest | undefined;\n const reason = body?.reason;\n\n ctx.platform.logger.info(`[stop-handler] Stop requested for run ${runId}${reason ? `: ${reason}` : ''}`);\n\n const run = RunManager.get(runId);\n\n if (!run) {\n return {\n stopped: false,\n runId,\n finalStatus: 'not_found',\n };\n }\n\n if (run.status === 'completed' || run.status === 'failed' || run.status === 'stopped') {\n return {\n stopped: false,\n runId,\n finalStatus: 'already_completed',\n };\n }\n\n // Signal the agent to stop after its current tool call finishes\n RunManager.requestStop(runId);\n\n // Update status optimistically — agent:end event will also update it async\n await RunManager.updateStatus(runId, 'stopped', {\n completedAt: new Date().toISOString(),\n durationMs: Date.now() - new Date(run.startedAt).getTime(),\n summary: reason ? `Stopped by user: ${reason}` : 'Stopped by user',\n });\n\n // Track stop\n const analytics = useAnalytics();\n await analytics?.track(AGENT_ANALYTICS_EVENTS.RUN_STOPPED, {\n runId,\n durationMs: Date.now() - new Date(run.startedAt).getTime(),\n reason: reason?.slice(0, 200),\n });\n\n ctx.platform.logger.info(`[stop-handler] Run ${runId} stopped`);\n\n return {\n stopped: true,\n runId,\n finalStatus: 'stopped',\n };\n } catch (err) {\n rethrowForRest(err);\n }\n },\n});\n"]}
@@ -1 +1,24 @@
1
- "use strict";(self.rspackChunk_kb_labs_agent_entry=self.rspackChunk_kb_labs_agent_entry||[]).push([[117],{2924(e,r,n){n.r(r),n.d(r,{UIAccordion:()=>eV,UIAlert:()=>e7,UIAreaChart:()=>ei,UIAvatar:()=>G,UIAvatarGroup:()=>X,UIBadge:()=>w,UIBarChart:()=>ec,UIBox:()=>m,UIBreadcrumb:()=>eX,UIButton:()=>M,UICard:()=>z,UICheckbox:()=>ez,UICheckboxGroup:()=>eF,UICol:()=>T,UIColumnChart:()=>eo,UIDatePicker:()=>eD,UIDescriptions:()=>ep,UIDescriptionsItem:()=>ex,UIDiffViewer:()=>rM,UIDivider:()=>k,UIDrawer:()=>rb,UIDropdown:()=>eY,UIDropdownButton:()=>eJ,UIEmptyState:()=>e9,UIErrorState:()=>rr,UIFlex:()=>h,UIForm:()=>eB,UIFormItem:()=>eM,UIFormList:()=>eP,UIHeader:()=>e6,UIIcon:()=>_,UIIconButton:()=>H,UIInput:()=>eU,UIInputNumber:()=>eL,UIInputPassword:()=>eT,UIInputSearch:()=>eC,UIInputTextArea:()=>ek,UIJsonViewer:()=>rC,UILineChart:()=>er,UIList:()=>eb,UIListItem:()=>eS,UIListItemMeta:()=>ev,UIMarkdownViewer:()=>rT,UIMenu:()=>eZ,UIMessage:()=>rd,UIMetricCard:()=>J,UIModal:()=>rp,UIModalConfirm:()=>rx,UIModalError:()=>ry,UIModalInfo:()=>rm,UIModalSuccess:()=>rh,UIModalWarning:()=>rj,UINotification:()=>rg,UIPage:()=>e1,UIPageHeader:()=>e4,UIPageSection:()=>e5,UIPieChart:()=>ea,UIPopconfirm:()=>rS,UIPopover:()=>rv,UIProgress:()=>ef,UIRadio:()=>eW,UIRadioGroup:()=>eN,UIRangePicker:()=>eR,UIResult:()=>rc,UIRow:()=>U,UISegmented:()=>eq,UISelect:()=>ew,UIShimmerText:()=>V,UISkeleton:()=>rn,UISkeletonButton:()=>ro,UISkeletonImage:()=>ri,UISkeletonInput:()=>rt,UISkeletonNode:()=>rl,UISkeletonText:()=>ra,UISlider:()=>eG,UISpace:()=>S,UISpaceCompact:()=>v,UISpin:()=>rs,UIStack:()=>b,UIStatistic:()=>eu,UIStatisticCountdown:()=>eg,UIStatisticsChart:()=>ed,UISteps:()=>eQ,UISwitch:()=>eA,UITable:()=>q,UITabs:()=>eO,UITag:()=>A,UIText:()=>x,UITimePicker:()=>e$,UITimeline:()=>em,UITimelineItem:()=>eh,UITitle:()=>R,UITooltip:()=>rI,UITree:()=>ey,UITreeDirectoryTree:()=>ej,UITreeNode:()=>eI,UITypographyLink:()=>I,UITypographyParagraph:()=>j,UITypographyText:()=>y,UIUpload:()=>e_,UIUploadDragger:()=>eH,createFillFunction:()=>Z,registerIconRenderer:()=>N,useChartColors:()=>Q,useUIForm:()=>eE,useUIMessage:()=>ru,useUINotification:()=>rf,useUITheme:()=>K});var o=n(296),t=n(5783),i=n(4552),l=n(2913),a=n(5505),s=n(5793),c=n(7346),d=n(1499),u=n(3292),g=n(6911),f=n(6831),{useToken:p}=o.theme;function x({children:e,size:r="base",weight:n="normal",color:o="primary",as:l="span",className:a,style:s}){let{token:c}=p(),d={primary:c.colorText,secondary:c.colorTextSecondary,success:c.colorSuccess,warning:c.colorWarning,error:c.colorError,info:c.colorInfo},u={...{fontSize:t.typography.fontSize[r][0],lineHeight:t.typography.fontSize[r][1].lineHeight,fontWeight:t.typography.fontWeight[n],color:d[o]},...s};return(0,i.jsx)(l,{style:u,className:a,children:e})}function m({children:e,p:r,pt:n,pr:o,pb:l,pl:a,m:s,mt:c,mr:d,mb:u,ml:g,as:f="div",className:p,style:x}){let h={...void 0!==r&&{padding:t.spacing[r]},...void 0!==n&&{paddingTop:t.spacing[n]},...void 0!==o&&{paddingRight:t.spacing[o]},...void 0!==l&&{paddingBottom:t.spacing[l]},...void 0!==a&&{paddingLeft:t.spacing[a]},...void 0!==s&&{margin:t.spacing[s]},...void 0!==c&&{marginTop:t.spacing[c]},...void 0!==d&&{marginRight:t.spacing[d]},...void 0!==u&&{marginBottom:t.spacing[u]},...void 0!==g&&{marginLeft:t.spacing[g]},...x};return(0,i.jsx)(f,{style:h,className:p,children:e})}function h({children:e,direction:r="row",justify:n="start",align:o="stretch",gap:l,wrap:a="nowrap",as:s="div",className:c,style:d}){let u={display:"flex",flexDirection:r,justifyContent:{start:"flex-start",end:"flex-end",center:"center",between:"space-between",around:"space-around",evenly:"space-evenly"}[n],alignItems:{start:"flex-start",end:"flex-end",center:"center",baseline:"baseline",stretch:"stretch"}[o],flexWrap:a,...void 0!==l&&{gap:t.spacing[l]},...d};return(0,i.jsx)(s,{style:u,className:c,children:e})}function y(e){return(0,i.jsx)(o.Typography.Text,{...e})}function j(e){return(0,i.jsx)(o.Typography.Paragraph,{...e})}function I(e){return(0,i.jsx)(o.Typography.Link,{...e})}function b({direction:e="vertical",spacing:r=2,align:n,children:o,as:t,className:l,style:a}){return(0,i.jsx)(h,{direction:"vertical"===e?"column":"row",gap:r,align:n,as:t,className:l,style:a,children:o})}function S(e){return(0,i.jsx)(o.Space,{...e})}function v(e){return(0,i.jsx)(o.Space.Compact,{...e})}function U(e){return(0,i.jsx)(o.Row,{...e})}function T(e){return(0,i.jsx)(o.Col,{...e})}function k(e){return(0,i.jsx)(o.Divider,{...e})}var{useToken:C}=o.theme;function w({variant:e="default",children:r,...n}){let{token:t}=C(),l={success:t.colorSuccess,warning:t.colorWarning,error:t.colorError,info:t.colorInfo,default:t.colorTextSecondary};return r?(0,i.jsx)(o.Badge,{color:l[e],text:r,...n}):(0,i.jsx)(o.Badge,{status:{success:"success",warning:"warning",error:"error",info:"processing",default:"default"}[e],...n})}var B={},M=l.forwardRef(function({variant:e="default",className:r,...n},t){let l=[B.uiButton,r].filter(Boolean).join(" ");return(0,i.jsx)(o.Button,{ref:t,type:e,className:l,...n})}),{useToken:E}=o.theme,P={default:{tint:"transparent",accent:"transparent",border:"var(--border-primary, #e8eaed)"},success:{tint:"rgba(82,196,26,0.07)",accent:"#52c41a",border:"rgba(82,196,26,0.25)"},warning:{tint:"rgba(250,173,20,0.08)",accent:"#faad14",border:"rgba(250,173,20,0.30)"},error:{tint:"rgba(255,77,79,0.07)",accent:"#ff4d4f",border:"rgba(255,77,79,0.25)"},info:{tint:"rgba(12,102,255,0.07)",accent:"#0c66ff",border:"rgba(12,102,255,0.20)"}};function z({title:e,subtitle:r,extra:n,footer:t,children:l,size:a="default",bordered:s=!0,hoverable:c=!1,loading:d=!1,status:u="default",...g}){let{token:f}=E(),p=P[u],h=e||r?(0,i.jsxs)(m,{children:[e&&("string"==typeof e?(0,i.jsx)(x,{size:"lg",weight:"semibold",as:"div",children:e}):e),r&&(0,i.jsx)(x,{size:"sm",color:"secondary",as:"div",style:{marginTop:f.marginXXS},children:r})]}):void 0;return(0,i.jsxs)(o.Card,{title:h,extra:n,size:a,variant:s?"outlined":"borderless",hoverable:c,loading:d,...g,style:{boxShadow:c?"0 4px 16px rgba(0,0,0,0.08)":"0 1px 3px rgba(0,0,0,0.06)",transition:"box-shadow 200ms ease, transform 200ms ease",backgroundColor:"default"!==u?p.tint:void 0,borderColor:p.border,borderTopColor:"default"!==u?p.accent:p.border,borderTopWidth:"default"!==u?3:1,overflow:"hidden",...g.style},children:[l,t&&(0,i.jsx)(m,{mt:3,pt:3,style:{borderTop:`1px solid ${f.colorBorder}`},children:t})]})}var{useToken:F}=o.theme;function A({variant:e="default",color:r,children:n,closable:t,onClose:l,icon:a,...s}){let{token:c}=F(),d={success:c.colorSuccess,warning:c.colorWarning,error:c.colorError,info:c.colorInfo,default:c.colorPrimary,neutral:c.colorTextSecondary};return(0,i.jsx)(o.Tag,{color:r??d[e],closable:t,onClose:l,icon:a,...s,children:n})}var{Title:D}=o.Typography,{useToken:$}=o.theme;function R({level:e=1,children:r,subtitle:n,className:o,style:l}){let{token:a}=$();return n?(0,i.jsxs)(m,{mb:n?2:3,children:[(0,i.jsx)(D,{level:e,className:o,style:{margin:0,...l},children:r}),(0,i.jsx)(x,{size:"base",color:"secondary",as:"div",style:{marginTop:t.spacing["1"]},children:n})]}):(0,i.jsx)(D,{level:e,className:o,style:{marginBottom:t.spacing["3"],...l},children:r})}var L={},W=null;function N(e){W=e}function _({icon:e,name:r,size:n="base",color:o="inherit",spin:t=!1,onClick:a,className:s,style:c}){let d=[L.uiIcon,"anticon",L[`size-${n}`],L[`color-${o}`],t&&L.spin,a&&L.clickable,s].filter(Boolean).join(" "),u=null,g=r||("string"==typeof e?e:null);return(g?W?u=W(g):(console.warn(`Icon "${g}" could not be loaded. Call registerIconRenderer() at app startup.`),u=null):l.isValidElement(e)&&(u=e),u)?(0,i.jsx)("span",{className:d,style:c,onClick:a,role:a?"button":void 0,tabIndex:a?0:void 0,onKeyDown:a?e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),a())}:void 0,children:u}):null}var H=({icon:e,name:r,onClick:n,size:o="base",color:t="primary",...l})=>(0,i.jsx)(_,{icon:e,name:r,size:o,color:t,onClick:n,style:{cursor:"pointer",transition:"opacity 0.2s",...l.style},...l});function G(e){return(0,i.jsx)(o.Avatar,{...e})}function X(e){return(0,i.jsx)(o.Avatar.Group,{...e})}function K(){return o.theme.useToken()}var O={};function V({children:e,color:r="var(--text-secondary, #9CA3AF)",highlight:n="var(--text-primary, #111827)",duration:o="2s",className:t,style:l}){return(0,i.jsx)("span",{className:[O.shimmer,t].filter(Boolean).join(" "),style:{"--shimmer-color-1":r,"--shimmer-color-2":r,"--shimmer-highlight":n,"--shimmer-duration":o,...l},children:e})}var{useToken:Y}=o.theme;function J({label:e,value:r,trend:n="neutral",delta:t,unit:l,size:a="default",showDelta:s=!0,loading:c=!1}){let{token:d}=Y(),u="up"===n?d.colorSuccess:"down"===n?d.colorError:d.colorText;return(0,i.jsx)(o.Card,{size:a,loading:c,style:{height:"100%"},children:(0,i.jsxs)(m,{children:[(0,i.jsx)(x,{size:"sm",color:"secondary",as:"div",children:e}),(0,i.jsxs)(h,{align:"baseline",gap:2,style:{marginTop:d.marginXS},children:[(0,i.jsx)(x,{size:"2xl",weight:"bold",as:"div",style:{color:u},children:r}),l&&(0,i.jsx)(x,{size:"base",color:"secondary",children:l})]}),s&&void 0!==t&&(0,i.jsx)(h,{align:"center",gap:1,style:{marginTop:d.marginXS},children:(0,i.jsxs)(x,{size:"sm",style:{color:t>=0?d.colorSuccess:d.colorError},children:["up"===n?"↑":"down"===n?"↓":""," ",Math.abs(t),"%"]})})]})})}function q({columns:e,dataSource:r,rowKey:n="id",loading:t,pagination:l,rowSelection:a,onRow:s,size:c="middle",bordered:d=!1,expandable:u,className:g,style:f,scroll:p}){return(0,i.jsx)(o.Table,{columns:e,dataSource:r,rowKey:n,loading:t,pagination:l,rowSelection:a,onRow:s,size:c,bordered:d,expandable:u,className:g,style:f,scroll:p})}function Q(){return(0,l.useMemo)(()=>{let e=["#1677ff","#52c41a","#faad14","#ff4d4f","#1890ff","#722ed1","#eb2f96","#13c2c2","#fa8c16","#2f54eb"];console.log("[useChartColors] Created palette:",{colors:e});let r=[...e,"#e6f4ff","#f6ffed","#fffbe6","#fff2f0","#e6f4ff","#f759ab","#9254de","#40a9ff","#73d13d","#ffc53d"],n=r=>e[r%e.length]||"#1890ff";return{colors:e,extendedColors:r,getColor:n,mapColors:(e,r)=>{let o=Array.from(new Set(e.map(e=>String(e[r]??"")))),t={};return o.forEach((e,r)=>{t[e]=n(r)}),t}}},[])}function Z(e,r){return n=>{let o=String(n[r]??""),t=Object.keys(e)[0];return e[o]||(t?e[t]:"#1890ff")||"#1890ff"}}var{useToken:ee}=o.theme;function er({colors:e,disableAutoColors:r,...n}){let o=function(){let{token:e}=ee();return l.useMemo(()=>({defaultColor:e.colorPrimary,styleSheet:{backgroundColor:e.colorBgContainer,fontFamily:e.fontFamily,fontSize:e.fontSize,color:e.colorText}}),[e])}(),t=Q(),s=l.useMemo(()=>{let o=n.colorField||n.seriesField;if(console.log("[UILineChart] Debug info:",{hasColorField:o,colorField:n.colorField,seriesField:n.seriesField,disableAutoColors:r,hasData:!!n.data,dataLength:n.data?.length,customColors:e,paletteColors:t.colors}),r||!o||!n.data)return console.log("[UILineChart] Skipping auto-colors:",{disableAutoColors:r,hasColorField:o,hasData:!!n.data}),n;let i=e||t.colors;return console.log("[UILineChart] Applying colors:",{source:e?"custom":"palette",colors:i}),{...n,scale:{...n.scale,color:{range:i}}}},[n,e,t.colors,r]);return(0,i.jsx)(a.A,{...s,theme:o})}var{useToken:en}=o.theme;function eo({colors:e,...r}){let n=function(){let{token:e}=en();return l.useMemo(()=>({defaultColor:e.colorPrimary,colors10:[e.colorInfo,e.colorSuccess,e.colorWarning,e.colorError,e.colorPrimary,e.colorInfoBg,e.colorSuccessBg,e.colorWarningBg,e.colorErrorBg,e.colorPrimaryBg],colors20:[e.colorInfo,e.colorSuccess,e.colorWarning,e.colorError,e.colorPrimary,e.colorInfoBg,e.colorSuccessBg,e.colorWarningBg,e.colorErrorBg,e.colorPrimaryBg,e.colorInfoBorder,e.colorSuccessBorder,e.colorWarningBorder,e.colorErrorBorder,e.colorPrimaryBorder,e.colorInfoText,e.colorSuccessText,e.colorWarningText,e.colorErrorText,e.colorPrimaryText],styleSheet:{backgroundColor:e.colorBgContainer,fontFamily:e.fontFamily,fontSize:e.fontSize,color:e.colorText}}),[e])}(),o=e?{...n,colors10:e,colors20:e}:n;return(0,i.jsx)(s.A,{...r,theme:o})}var{useToken:et}=o.theme;function ei({colors:e,disableAutoColors:r,...n}){let o=function(){let{token:e}=et();return l.useMemo(()=>({defaultColor:e.colorPrimary,styleSheet:{backgroundColor:e.colorBgContainer,fontFamily:e.fontFamily,fontSize:e.fontSize,color:e.colorText}}),[e])}(),t=Q(),a=l.useMemo(()=>{if(r||!n.colorField||!n.data)return n;let o=e||t.colors;return{...n,scale:{...n.scale,color:{range:o}}}},[n,e,t.colors,r]);return(0,i.jsx)(c.A,{...a,theme:o})}var{useToken:el}=o.theme;function ea({colors:e,disableAutoColors:r,...n}){let o=function(){let{token:e}=el();return l.useMemo(()=>({defaultColor:e.colorPrimary,styleSheet:{backgroundColor:e.colorBgContainer,fontFamily:e.fontFamily,fontSize:e.fontSize,color:e.colorText}}),[e])}(),t=Q(),a=l.useMemo(()=>{if(r||!n.colorField||!n.data)return n;let o=e||t.colors;return{...n,scale:{...n.scale,color:{range:o}}}},[n,e,t.colors,r]);return(0,i.jsx)(d.A,{...a,theme:o})}var{useToken:es}=o.theme;function ec({colors:e,disableAutoColors:r,...n}){let o=function(){let{token:e}=es();return l.useMemo(()=>({defaultColor:e.colorPrimary,styleSheet:{backgroundColor:e.colorBgContainer,fontFamily:e.fontFamily,fontSize:e.fontSize,color:e.colorText}}),[e])}(),t=Q(),a=l.useMemo(()=>{if(r||!n.seriesField||!n.data)return n;let o=e||t.colors;return{...n,scale:{...n.scale,color:{range:o}}}},[n,e,t.colors,r]);return(0,i.jsx)(u.A,{...a,theme:o})}function ed({data:e,loading:r=!1,title:n,metrics:t=[],xField:a="date",yField:s="value",colorField:c="category",style:d,height:u=350,showLegend:f=!0,chartProps:p}){let m=Q(),h=l.useMemo(()=>m.colors.slice(0,Math.max(t.length,3)),[m.colors,t.length]),y=l.useMemo(()=>e?0===t.length?e:e.flatMap(e=>{let r=[];for(let n of t){let o;o=n.key in e&&"number"==typeof e[n.key]?e[n.key]:e.metrics&&n.key in e.metrics?e.metrics[n.key]:0,n.transform&&(o=n.transform(o)),r.push({[a]:e.date?g(e.date).format("YYYY-MM-DD"):e[a],[c]:n.label,[s]:o})}return r}):[],[e,t,a,s,c]),j=()=>(0,i.jsxs)(i.Fragment,{children:[r&&(0,i.jsx)("div",{style:{textAlign:"center",padding:"40px 0"},children:(0,i.jsx)(x,{color:"secondary",children:"Loading chart data..."})}),!r&&(!y||0===y.length)&&(0,i.jsx)("div",{style:{textAlign:"center",padding:"40px 0"},children:(0,i.jsx)(x,{color:"secondary",children:"No data available for the selected date range"})}),!r&&y&&y.length>0&&(0,i.jsxs)("div",{children:[f&&0!==t.length?(0,i.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginBottom:12,gap:16},children:t.map((e,r)=>(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,i.jsx)("span",{style:{display:"inline-block",width:10,height:10,borderRadius:"50%",backgroundColor:h[r%h.length]}}),(0,i.jsx)("span",{style:{fontSize:13,fontWeight:500},children:e.label})]},e.label))}):null,(0,i.jsx)(er,{data:y,xField:a,yField:s,colorField:c,height:u,colors:h,scale:{color:{range:h}},axis:{x:{label:{autoRotate:!1}},y:{label:{formatter:e=>{let r=Number(e);return r>=1e6?`${(r/1e6).toFixed(1)}M`:r>=1e3?`${(r/1e3).toFixed(1)}K`:r.toLocaleString()}}}},style:{shape:"smooth",lineWidth:2},legend:!1,tooltip:{title:e=>e[a],items:[e=>{let r=t.find(r=>r.label===e[c]),n=t.findIndex(r=>r.label===e[c]),o=e[s]?.toLocaleString()||"0";return r?.format&&null!=e[s]&&(o=r.format(e[s])),{name:e[c],value:o,color:h[n>=0?n:0]}}]},...p})]})]});return n?(0,i.jsx)(o.Card,{title:n,style:{marginTop:16,...d},children:j()}):(0,i.jsx)("div",{style:d,children:j()})}function eu(e){return(0,i.jsx)(o.Statistic,{...e})}function eg(e){return(0,i.jsx)(o.Statistic.Countdown,{...e})}function ef(e){return(0,i.jsx)(o.Progress,{...e})}function ep(e){return(0,i.jsx)(o.Descriptions,{...e})}function ex(e){return(0,i.jsx)(o.Descriptions.Item,{...e})}function em(e){return(0,i.jsx)(o.Timeline,{...e})}function eh(e){return(0,i.jsx)(o.Timeline.Item,{...e})}function ey(e){return(0,i.jsx)(o.Tree,{...e})}function ej(e){return(0,i.jsx)(o.Tree.DirectoryTree,{...e})}function eI(e){return(0,i.jsx)(o.Tree.TreeNode,{...e})}function eb(e){return(0,i.jsx)(o.List,{...e})}function eS(e){return(0,i.jsx)(o.List.Item,{...e})}function ev(e){return(0,i.jsx)(o.List.Item.Meta,{...e})}function eU({value:e,defaultValue:r,placeholder:n,disabled:t,prefix:l,suffix:a,maxLength:s,showCount:c,allowClear:d,onChange:u,onPressEnter:g,...f}){return(0,i.jsx)(o.Input,{value:e,defaultValue:r,placeholder:n,disabled:t,prefix:l,suffix:a,maxLength:s,showCount:c,allowClear:d,onChange:e=>{u?.(e.target.value)},onPressEnter:g,...f})}function eT(e){return(0,i.jsx)(o.Input.Password,{...e})}function ek(e){return(0,i.jsx)(o.Input.TextArea,{...e})}function eC(e){return(0,i.jsx)(o.Input.Search,{...e})}function ew({options:e=[],value:r,defaultValue:n,placeholder:t,disabled:l,loading:a,allowClear:s,showSearch:c,mode:d,onChange:u,...g}){let f=e.map(e=>({label:e.icon||e.description?(0,i.jsxs)(h,{align:"center",gap:2,style:{width:"100%"},children:[e.icon&&(0,i.jsx)("span",{children:e.icon}),(0,i.jsx)("span",{style:{flex:1},children:e.label}),e.description&&(0,i.jsx)("span",{style:{fontSize:"0.85em",opacity:.7},children:e.description})]}):e.label,value:e.value,disabled:e.disabled}));return(0,i.jsx)(o.Select,{options:f,value:r,defaultValue:n,placeholder:t,disabled:l,loading:a,allowClear:s,showSearch:c,mode:d,onChange:u,...g})}function eB({layout:e="vertical",onFinish:r,onFinishFailed:n,initialValues:t,children:l,...a}){return(0,i.jsx)(o.Form,{layout:e,onFinish:r,onFinishFailed:n,initialValues:t,...a,children:l})}function eM(e){return(0,i.jsx)(o.Form.Item,{...e})}var eE=o.Form.useForm;function eP(e){return(0,i.jsx)(o.Form.List,{...e})}function ez({children:e,checked:r,defaultChecked:n,disabled:t,indeterminate:l,onChange:a,...s}){return(0,i.jsx)(o.Checkbox,{checked:r,defaultChecked:n,disabled:t,indeterminate:l,onChange:e=>{a?.(e.target.checked)},...s,children:e})}function eF({options:e,value:r,defaultValue:n,disabled:l,gap:a=2,onChange:s}){return(0,i.jsx)(o.Checkbox.Group,{value:r,defaultValue:n,disabled:l,onChange:s,children:(0,i.jsx)(m,{children:e.map((r,n)=>(0,i.jsxs)(m,{mb:n<e.length-1?a:0,children:[(0,i.jsx)(o.Checkbox,{value:r.value,disabled:r.disabled,children:r.label}),r.description&&(0,i.jsx)(x,{size:"sm",color:"secondary",as:"div",style:{marginLeft:t.spacing["6"],marginTop:t.spacing["1"]},children:r.description})]},r.value))})})}function eA({checked:e,defaultChecked:r,disabled:n,loading:t,size:l="default",label:a,labelPosition:s="right",checkedChildren:c,unCheckedChildren:d,onChange:u,...g}){let f=(0,i.jsx)(o.Switch,{checked:e,defaultChecked:r,disabled:n,loading:t,size:l,checkedChildren:c,unCheckedChildren:d,onChange:u,...g});return a?(0,i.jsxs)(h,{align:"center",gap:2,children:["left"===s&&(0,i.jsx)(x,{children:a}),f,"right"===s&&(0,i.jsx)(x,{children:a})]}):f}function eD({value:e,defaultValue:r,placeholder:n,disabled:t,format:l,allowClear:a=!0,showTime:s,onChange:c,...d}){return(0,i.jsx)(o.DatePicker,{value:e,defaultValue:r,placeholder:n,disabled:t,format:l,allowClear:a,showTime:s,onChange:c,...d})}function e$({value:e,defaultValue:r,placeholder:n,disabled:t,format:l,allowClear:a=!0,onChange:s,...c}){return(0,i.jsx)(o.TimePicker,{value:e,defaultValue:r,placeholder:n,disabled:t,format:l,allowClear:a,onChange:s,...c})}function eR(e){return(0,i.jsx)(o.DatePicker.RangePicker,{...e})}function eL(e){return(0,i.jsx)(o.InputNumber,{...e})}function eW(e){return(0,i.jsx)(o.Radio,{...e})}function eN(e){return(0,i.jsx)(o.Radio.Group,{...e})}function e_(e){return(0,i.jsx)(o.Upload,{...e})}function eH(e){return(0,i.jsx)(o.Upload.Dragger,{...e})}function eG(e){return(0,i.jsx)(o.Slider,{...e})}function eX({items:e,separator:r,className:n}){let t=e.map(e=>({title:e.icon?(0,i.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:"4px"},children:[e.icon,(0,i.jsx)("span",{children:e.title})]}):e.title,href:e.href,onClick:e.onClick}));return(0,i.jsx)(o.Breadcrumb,{items:t,separator:r,className:n})}function eK({items:e,syncUrl:r,activeKey:n,defaultActiveKey:t,tabPosition:l="top",type:a="line",size:s="middle",onChange:c,onEdit:d,className:u,style:g}){let[p,x]=(0,f.useSearchParams)(),m=(0,f.useNavigate)(),h=(0,f.useParams)(),y=e[0]?.key??"",j=n,I=!0===r||"search"===r,b=r&&"object"==typeof r&&"path"===r.mode;I?j=p.get("tab")??y:b&&(j=h.tab??y);let S=e.map(e=>({key:e.key,label:e.icon?(0,i.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[e.icon,(0,i.jsx)("span",{children:e.label})]}):e.label,children:e.children,disabled:e.disabled,closable:e.closable}));return(0,i.jsx)(o.Tabs,{items:S,activeKey:j,defaultActiveKey:r?void 0:t,tabPosition:l,type:a,size:s,onChange:e=>{I?x(e===y?{}:{tab:e}):b&&"object"==typeof r&&m(e===y?r.basePath:`${r.basePath}/${e}`),c?.(e)},onEdit:d?(e,r)=>{d("string"==typeof e?e:"",r)}:void 0,className:u,style:g})}function eO(e){return(0,i.jsx)(eK,{...e})}function eV({items:e,activeKey:r,defaultActiveKey:n,accordion:t=!1,bordered:l=!0,ghost:a=!1,size:s="middle",onChange:c,className:d,style:u}){let g=e.map(e=>({key:e.key,label:e.label,children:e.children,extra:e.extra,showArrow:e.showArrow,collapsible:e.collapsible}));return(0,i.jsx)(o.Collapse,{items:g,activeKey:r,defaultActiveKey:n,accordion:t,bordered:l,ghost:a,size:s,onChange:c,className:d,style:u})}function eY(e){return(0,i.jsx)(o.Dropdown,{...e})}function eJ(e){return(0,i.jsx)(o.Dropdown.Button,{...e})}function eq(e){return(0,i.jsx)(o.Segmented,{...e})}function eQ(e){return(0,i.jsx)(o.Steps,{...e})}function eZ(e){return(0,i.jsx)(o.Menu,{...e})}var{useToken:e0}=o.theme;function e1({children:e,width:r="default",variant:n="default",className:o,style:t}){let{token:l}=e0(),a="document"===n,s={maxWidth:{default:"1280px",wide:"1600px",full:"100%"}[r],margin:"0 auto",padding:l.padding,...a&&{backgroundColor:l.colorBgContainer,borderRadius:l.borderRadiusLG,boxShadow:"0 1px 3px rgba(0,0,0,0.06)"},minHeight:a?void 0:"100%",...t};return(0,i.jsx)(m,{as:"main",className:o,style:s,children:e})}var{useToken:e2}=o.theme;function e6({title:e,subtitle:r,breadcrumb:n,actions:o,className:l,style:a}){let{token:s}=e2(),c={borderBottom:`1px solid ${s.colorBorder}`,paddingBottom:t.spacing["4"],marginBottom:t.spacing["6"],...a};return(0,i.jsxs)(m,{className:l,style:c,children:[n&&(0,i.jsx)(m,{mb:2,children:n}),(0,i.jsxs)(h,{justify:"between",align:"start",gap:4,children:[(0,i.jsxs)(m,{style:{flex:1},children:[(0,i.jsx)(R,{level:1,style:{marginBottom:r?t.spacing["2"]:0},children:e}),r&&(0,i.jsx)(x,{size:"base",color:"secondary",children:r})]}),o&&(0,i.jsx)(m,{style:{flexShrink:0},children:o})]})]})}var{useToken:e3}=o.theme;function e4({title:e,description:r,icon:n,breadcrumbs:o,actions:t,tabs:l,onBack:a,children:s}){let{token:c}=e3(),d=!!l;return(0,i.jsxs)("div",{style:{marginBottom:24*!d},children:[(a||o&&o.length>0)&&(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:c.marginXS,marginBottom:c.marginXS},children:[a&&(0,i.jsx)(M,{variant:"text",size:"small",icon:(0,i.jsx)(_,{name:"ArrowLeftOutlined"}),onClick:a,style:{padding:"0 4px"}}),o&&o.length>0&&(0,i.jsx)(eX,{items:o.map(e=>({title:e.title,...e.href?{href:e.href}:{}}))})]}),(0,i.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:c.marginSM},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:c.marginSM,minWidth:0},children:[n&&(0,i.jsx)("span",{style:{fontSize:24,color:c.colorPrimary,flexShrink:0,display:"flex",alignItems:"center"},children:n}),(0,i.jsxs)("div",{style:{minWidth:0},children:["string"==typeof e?(0,i.jsx)("h2",{style:{margin:0,fontSize:c.fontSizeHeading3,fontWeight:c.fontWeightStrong,color:c.colorTextHeading,lineHeight:1.3},children:e}):e,r&&(0,i.jsx)("div",{style:{marginTop:4},children:"string"==typeof r?(0,i.jsx)(x,{color:"secondary",size:"sm",children:r}):r})]})]}),t&&(0,i.jsx)("div",{style:{display:"flex",alignItems:"center",gap:c.marginXS,flexShrink:0},children:t})]}),s&&(0,i.jsx)("div",{style:{marginTop:c.marginSM},children:s}),d&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(k,{style:{marginBottom:0}}),l]})]})}function e5({children:e,gap:r=24,style:n,...o}){return(0,i.jsx)("div",{style:{marginBottom:r,...n},...o,children:e})}function e7({variant:e="info",title:r,message:n,description:t,showIcon:l,closable:a,onClose:s,action:c,icon:d,className:u,style:g}){return(0,i.jsx)(o.Alert,{type:e,message:r||n,description:r?t||n:t,showIcon:l,closable:a,onClose:s,action:c,icon:d,className:u,style:g})}var{useToken:e8}=o.theme;function e9({icon:e,title:r,description:n,action:l,children:a,useDefaultImage:s,image:c,className:d,style:u}){let{token:g}=e8(),f=a??l;if(s||void 0!==c)return(0,i.jsx)(o.Empty,{description:n,image:c,className:d,style:u,children:f});let p={padding:t.spacing["8"],textAlign:"center",...u};return(0,i.jsx)(m,{className:d,style:p,children:(0,i.jsxs)(h,{direction:"column",align:"center",gap:3,children:[e&&(0,i.jsx)(m,{style:{fontSize:"48px",color:g.colorTextSecondary},children:e}),r&&(0,i.jsx)(x,{size:"lg",weight:"semibold",children:r}),n&&(0,i.jsx)(x,{size:"base",color:"secondary",children:n}),f&&(0,i.jsx)(m,{mt:2,children:f})]})})}e9.PRESENTED_IMAGE_SIMPLE=o.Empty.PRESENTED_IMAGE_SIMPLE,e9.PRESENTED_IMAGE_DEFAULT=o.Empty.PRESENTED_IMAGE_DEFAULT;var{useToken:re}=o.theme;function rr({icon:e,title:r="Something went wrong",description:n,details:o,showRetry:l=!1,retryText:a="Try again",onRetry:s,action:c,className:d,style:u}){let{token:g}=re(),f={padding:t.spacing["8"],textAlign:"center",...u};return(0,i.jsx)(m,{className:d,style:f,children:(0,i.jsxs)(h,{direction:"column",align:"center",gap:3,children:[e&&(0,i.jsx)(m,{style:{fontSize:"48px",color:g.colorError},children:e}),(0,i.jsx)(x,{size:"lg",weight:"semibold",color:"error",children:r}),n&&(0,i.jsx)(x,{size:"base",color:"secondary",children:n}),o&&(0,i.jsx)(m,{p:3,style:{backgroundColor:g.colorErrorBg,borderRadius:g.borderRadius,maxWidth:"600px",width:"100%"},children:(0,i.jsx)(x,{size:"sm",as:"pre",style:{margin:0,textAlign:"left",whiteSpace:"pre-wrap"},children:o})}),(l||c)&&(0,i.jsx)(m,{mt:2,children:c||(0,i.jsx)(M,{variant:"primary",onClick:s,children:a})})]})})}function rn({loading:e=!0,children:r,avatar:n,avatarShape:t="circle",lines:l=3,title:a=!0,active:s=!0,className:c,style:d}){return(0,i.jsx)(o.Skeleton,{loading:e,avatar:!!n&&{shape:t},paragraph:{rows:l},title:a,active:s,className:c,style:d,children:r})}function ro(e){return(0,i.jsx)(o.Skeleton.Button,{...e})}function rt(e){return(0,i.jsx)(o.Skeleton.Input,{...e})}function ri(e){return(0,i.jsx)(o.Skeleton.Image,{...e})}function rl(e){return(0,i.jsx)(o.Skeleton.Node,{...e})}function ra({width:e="100%",height:r="1em",gap:n=6,className:t,style:l}){let a=Array.isArray(e)?e:[e];return(0,i.jsx)("span",{className:t,style:{display:"inline-flex",flexDirection:"column",gap:n,...l},children:a.map((e,n)=>(0,i.jsx)("span",{style:{display:"inline-block",width:e,height:r,overflow:"hidden",borderRadius:4,flexShrink:0},children:(0,i.jsx)(o.Skeleton.Input,{active:!0,size:"small",style:{width:"100%",minWidth:"unset",height:"100%",display:"block"}})},n))})}function rs(e){return(0,i.jsx)(o.Spin,{...e})}function rc(e){return(0,i.jsx)(o.Result,{...e})}var rd=o.message;function ru(){return o.message.useMessage()}var rg=o.notification;function rf(){return o.notification.useNotification()}function rp({open:e,title:r,children:n,width:t="default",closable:l=!0,maskClosable:a=!0,footer:s,okText:c,cancelText:d,confirmLoading:u,onOk:g,onCancel:f,onClose:p,className:x,style:m}){let h={small:416,default:520,large:800,full:window.innerWidth-64},y="number"==typeof t?t:h[t];return(0,i.jsx)(o.Modal,{open:e,title:r,width:y,closable:l,maskClosable:a,footer:s,okText:c,cancelText:d,confirmLoading:u,onOk:g,onCancel:f||p,className:x,style:m,children:n})}var rx=o.Modal.confirm,rm=o.Modal.info,rh=o.Modal.success,ry=o.Modal.error,rj=o.Modal.warning;function rI({title:e,children:r,placement:n="top",arrow:t=!0,trigger:l="hover",open:a,className:s}){return(0,i.jsx)(o.Tooltip,{title:e,placement:n,arrow:t,trigger:l,open:a,className:s,children:r})}function rb(e){return(0,i.jsx)(o.Drawer,{...e})}function rS(e){return(0,i.jsx)(o.Popconfirm,{...e})}function rv(e){return(0,i.jsx)(o.Popover,{...e})}var{useToken:rU}=o.theme;function rT({content:e,className:r,style:n}){let o,{token:t}=rU(),l={padding:t.padding,backgroundColor:t.colorBgContainer,borderRadius:t.borderRadius,border:`1px solid ${t.colorBorder}`,lineHeight:1.6,...n},a={fontFamily:t.fontFamily,fontSize:t.fontSize,color:t.colorText};return(0,i.jsx)(m,{className:r,style:l,children:(0,i.jsx)("div",{style:a,dangerouslySetInnerHTML:{__html:(o=(o=(o=(o=(o=(o=(o=e.replace(/^### (.*$)/gim,"<h3>$1</h3>")).replace(/^## (.*$)/gim,"<h2>$1</h2>")).replace(/^# (.*$)/gim,"<h1>$1</h1>")).replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>")).replace(/\*(.*?)\*/g,"<em>$1</em>")).replace(/`(.*?)`/g,"<code>$1</code>")).replace(/\[([^\]]+)\]\(([^)]+)\)/g,'<a href="$2">$1</a>')).replace(/\n/g,"<br />")}})})}var{useToken:rk}=o.theme;function rC({data:e,collapsed:r=!1,indent:n=2,showLineNumbers:o=!1,className:t,style:a}){let{token:s}=rk(),c=l.useMemo(()=>{try{return JSON.stringify(e,null,n)}catch(e){return`Error: ${e instanceof Error?e.message:"Invalid JSON"}`}},[e,n]),d=c.split("\n"),u={backgroundColor:s.colorBgContainer,borderRadius:s.borderRadius,border:`1px solid ${s.colorBorder}`,overflow:"auto",maxHeight:"600px",...a},g={display:"block",fontFamily:'Consolas, Monaco, "Courier New", monospace',fontSize:"13px",lineHeight:"1.6",padding:s.padding,margin:0,whiteSpace:"pre",color:s.colorText},f={display:"inline-block",width:"40px",color:s.colorTextSecondary,userSelect:"none",textAlign:"right",marginRight:s.marginSM},p=rw(c,s);return(0,i.jsx)(m,{className:t,style:u,children:(0,i.jsx)("pre",{style:g,children:o?d.map((e,r)=>(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{style:f,children:r+1}),(0,i.jsx)("span",{dangerouslySetInnerHTML:{__html:rw(e,s)}})]},r)):(0,i.jsx)("span",{dangerouslySetInnerHTML:{__html:p}})})})}function rw(e,r){return(e=(e=(e=(e=e.replace(/"([^"]+)":/g,`<span style="color: ${r.colorPrimary}">"$1"</span>:`)).replace(/: "([^"]*)"/g,`: <span style="color: ${r.colorSuccess}">"$1"</span>`)).replace(/: (\d+)/g,`: <span style="color: ${r.colorWarning}">$1</span>`)).replace(/: (true|false)/g,`: <span style="color: ${r.colorInfo}">$1</span>`)).replace(/: (null)/g,`: <span style="color: ${r.colorTextSecondary}">$1</span>`)}var rB={add:{bg:"rgba(22, 163, 74, 0.12)",border:"var(--success, #16a34a)",color:"var(--success, #16a34a)"},remove:{bg:"rgba(220, 38, 38, 0.12)",border:"var(--error, #dc2626)",color:"var(--error, #dc2626)"},header:{bg:"var(--bg-tertiary, rgba(0,0,0,0.04))",border:"transparent",color:"var(--text-secondary, #6b7280)"},context:{bg:"transparent",border:"transparent",color:"inherit"}};function rM({diff:e,showLineNumbers:r=!0,maxHeight:n=500,className:o,style:t}){if(!e||""===e.trim())return(0,i.jsx)("div",{style:{padding:16,textAlign:"center"},children:(0,i.jsx)(y,{type:"secondary",children:"No changes to display"})});let l=e.split("\n");return(0,i.jsx)("div",{className:o,style:{background:"var(--bg-tertiary, rgba(0,0,0,0.02))",border:"1px solid var(--border-primary, rgba(0,0,0,0.1))",borderRadius:"var(--radius-md, 6px)",fontFamily:'Monaco, Menlo, "Courier New", monospace',fontSize:13,lineHeight:1.5,maxHeight:n,overflow:"auto",...t},children:l.map((e,n)=>{let o=e.startsWith("@@")?"header":e.startsWith("+")?"add":e.startsWith("-")?"remove":"context",t=rB[o],l="add"===o||"remove"===o;return(0,i.jsxs)("div",{style:{display:"flex",background:t.bg,borderLeft:l?`3px solid ${t.border}`:"none",paddingLeft:l?8:11},children:[r&&(0,i.jsx)("span",{style:{minWidth:44,textAlign:"right",paddingRight:12,userSelect:"none",color:"var(--text-secondary, #6c757d)",fontSize:12},children:n+1}),(0,i.jsx)("pre",{style:{margin:0,padding:0,color:t.color,whiteSpace:"pre",flex:1},children:e})]},n)})})}}}]);
1
+ "use strict";(self.rspackChunk_kb_labs_agent_entry=self.rspackChunk_kb_labs_agent_entry||[]).push([[117],{2924(e,r,o){o.r(r);var n=o(296),t=o(3234),i=o(4552),l=o(2913),a=o(5505),s=o(5793),c=o(7346),d=o(1499),u=o(3292),g=o(6911),f=o(6831),m=o(3781),{useToken:p}=n.theme;function x({children:e,size:r="base",weight:o="normal",color:n="primary",as:l="span",className:a,style:s}){let{token:c}=p(),d={primary:c.colorText,secondary:c.colorTextSecondary,success:c.colorSuccess,warning:c.colorWarning,error:c.colorError,info:c.colorInfo},u={...{fontSize:t.typography.fontSize[r][0],lineHeight:t.typography.fontSize[r][1].lineHeight,fontWeight:t.typography.fontWeight[o],color:d[n]},...s};return(0,i.jsx)(l,{style:u,className:a,children:e})}function h({children:e,p:r,pt:o,pr:n,pb:l,pl:a,m:s,mt:c,mr:d,mb:u,ml:g,as:f="div",className:m,style:p}){let x={...void 0!==r&&{padding:t.spacing[r]},...void 0!==o&&{paddingTop:t.spacing[o]},...void 0!==n&&{paddingRight:t.spacing[n]},...void 0!==l&&{paddingBottom:t.spacing[l]},...void 0!==a&&{paddingLeft:t.spacing[a]},...void 0!==s&&{margin:t.spacing[s]},...void 0!==c&&{marginTop:t.spacing[c]},...void 0!==d&&{marginRight:t.spacing[d]},...void 0!==u&&{marginBottom:t.spacing[u]},...void 0!==g&&{marginLeft:t.spacing[g]},...p};return(0,i.jsx)(f,{style:x,className:m,children:e})}function y({children:e,direction:r="row",justify:o="start",align:n="stretch",gap:l,wrap:a="nowrap",as:s="div",className:c,style:d}){let u={display:"flex",flexDirection:r,justifyContent:{start:"flex-start",end:"flex-end",center:"center",between:"space-between",around:"space-around",evenly:"space-evenly"}[o],alignItems:{start:"flex-start",end:"flex-end",center:"center",baseline:"baseline",stretch:"stretch"}[n],flexWrap:a,...void 0!==l&&{gap:t.spacing[l]},...d};return(0,i.jsx)(s,{style:u,className:c,children:e})}function b(e){return(0,i.jsx)(n.Typography.Text,{...e})}function j(e){return(0,i.jsx)(n.Typography.Paragraph,{...e})}function I(e){return(0,i.jsx)(n.Typography.Link,{...e})}function S({direction:e="vertical",spacing:r=2,align:o,children:n,as:t,className:l,style:a}){return(0,i.jsx)(y,{direction:"vertical"===e?"column":"row",gap:r,align:o,as:t,className:l,style:a,children:n})}function k(e){return(0,i.jsx)(n.Space,{...e})}function v(e){return(0,i.jsx)(n.Space.Compact,{...e})}function U(e){return(0,i.jsx)(n.Row,{...e})}function T(e){return(0,i.jsx)(n.Col,{...e})}function w(e){return(0,i.jsx)(n.Divider,{...e})}var{useToken:C}=n.theme;function B({variant:e="default",children:r,...o}){let{token:t}=C(),l={success:t.colorSuccess,warning:t.colorWarning,error:t.colorError,info:t.colorInfo,default:t.colorTextSecondary};return r?(0,i.jsx)(n.Badge,{color:l[e],text:r,...o}):(0,i.jsx)(n.Badge,{status:{success:"success",warning:"warning",error:"error",info:"processing",default:"default"}[e],...o})}var M={},$=l.forwardRef(function({variant:e="default",className:r,...o},t){let l=[M.uiButton,r].filter(Boolean).join(" ");return(0,i.jsx)(n.Button,{ref:t,type:e,className:l,...o})}),{useToken:z}=n.theme,E={default:{tint:"transparent",accent:"transparent",border:"var(--border-primary, #e8eaed)"},success:{tint:"rgba(82,196,26,0.07)",accent:"#52c41a",border:"rgba(82,196,26,0.25)"},warning:{tint:"rgba(250,173,20,0.08)",accent:"#faad14",border:"rgba(250,173,20,0.30)"},error:{tint:"rgba(255,77,79,0.07)",accent:"#ff4d4f",border:"rgba(255,77,79,0.25)"},info:{tint:"rgba(12,102,255,0.07)",accent:"#0c66ff",border:"rgba(12,102,255,0.20)"}};function F({title:e,subtitle:r,extra:o,footer:t,children:l,size:a="default",bordered:s=!0,hoverable:c=!1,loading:d=!1,status:u="default",...g}){let{token:f}=z(),m=E[u],p=e||r?(0,i.jsxs)(h,{children:[e&&("string"==typeof e?(0,i.jsx)(x,{size:"lg",weight:"semibold",as:"div",children:e}):e),r&&(0,i.jsx)(x,{size:"sm",color:"secondary",as:"div",style:{marginTop:f.marginXXS},children:r})]}):void 0;return(0,i.jsxs)(n.Card,{title:p,extra:o,size:a,variant:s?"outlined":"borderless",hoverable:c,loading:d,...g,style:{boxShadow:c?"0 4px 16px rgba(0,0,0,0.08)":"0 1px 3px rgba(0,0,0,0.06)",transition:"box-shadow 200ms ease, transform 200ms ease",backgroundColor:"default"!==u?m.tint:void 0,borderColor:m.border,borderTopColor:"default"!==u?m.accent:m.border,borderTopWidth:"default"!==u?3:1,overflow:"hidden",...g.style},children:[l,t&&(0,i.jsx)(h,{mt:3,pt:3,style:{borderTop:`1px solid ${f.colorBorder}`},children:t})]})}var{useToken:P}=n.theme;function A({variant:e="default",color:r,children:o,closable:t,onClose:l,icon:a,className:s,onClick:c,...d}){let{token:u}=P(),g={success:u.colorSuccess,warning:u.colorWarning,error:u.colorError,info:u.colorInfo,default:u.colorPrimary,neutral:u.colorTextSecondary},f=["kb-ui-tag",s].filter(Boolean).join(" ");return(0,i.jsx)(n.Tag,{color:r??g[e],closable:t,onClose:l,icon:a,className:f,onClick:c,style:c?{cursor:"pointer"}:void 0,...d,children:o})}var{Title:R}=n.Typography,{useToken:D}=n.theme;function L({level:e=1,children:r,subtitle:o,className:n,style:l}){let{token:a}=D();return o?(0,i.jsxs)(h,{mb:o?2:3,children:[(0,i.jsx)(R,{level:e,className:n,style:{margin:0,...l},children:r}),(0,i.jsx)(x,{size:"base",color:"secondary",as:"div",style:{marginTop:t.spacing["1"]},children:o})]}):(0,i.jsx)(R,{level:e,className:n,style:{marginBottom:t.spacing["3"],...l},children:r})}var W={},N=null;function _(e){N=e}function H({icon:e,name:r,size:o="base",color:n="inherit",spin:t=!1,onClick:a,className:s,style:c}){let d=[W.uiIcon,"anticon",W[`size-${o}`],W[`color-${n}`],t&&W.spin,a&&W.clickable,s].filter(Boolean).join(" "),u=null,g=r||("string"==typeof e?e:null);return(g?N?u=N(g):(console.warn(`Icon "${g}" could not be loaded. Call registerIconRenderer() at app startup.`),u=null):l.isValidElement(e)&&(u=e),u)?(0,i.jsx)("span",{className:d,style:c,onClick:a,role:a?"button":void 0,tabIndex:a?0:void 0,onKeyDown:a?e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),a())}:void 0,children:u}):null}var G=({icon:e,name:r,onClick:o,size:n="base",color:t="primary",...l})=>(0,i.jsx)(H,{icon:e,name:r,size:n,color:t,onClick:o,style:{cursor:"pointer",transition:"opacity 0.2s",...l.style},...l});function O(e){return(0,i.jsx)(n.Avatar,{...e})}function X(e){return(0,i.jsx)(n.Avatar.Group,{...e})}function K(){return n.theme.useToken()}var V={};function Y({children:e,color:r="var(--text-secondary, #9CA3AF)",highlight:o="var(--text-primary, #111827)",duration:n="2s",className:t,style:l}){return(0,i.jsx)("span",{className:[V.shimmer,t].filter(Boolean).join(" "),style:{"--shimmer-color-1":r,"--shimmer-color-2":r,"--shimmer-highlight":o,"--shimmer-duration":n,...l},children:e})}function J({value:e,size:r="small",label:o,style:n,...t}){let[a,s]=l.useState(!1);return(0,i.jsx)($,{variant:"text",size:r,icon:(0,i.jsx)(H,{name:a?"CheckOutlined":"CopyOutlined",style:{color:a?"#52c41a":void 0,transition:"color 150ms ease"}}),onClick:r=>{r.stopPropagation(),navigator.clipboard.writeText(e).then(()=>{s(!0),setTimeout(()=>s(!1),1500)})},style:{transition:"opacity 150ms ease",...n},...t,children:o})}var{useToken:Q}=n.theme;function q({label:e,value:r,icon:o,status:t="default",trend:l="neutral",delta:a,unit:s,size:c="default",showDelta:d=!0,loading:u=!1}){let{token:g}=Q(),f={default:g.colorFillSecondary,info:g.colorInfoBg,success:g.colorSuccessBg,warning:g.colorWarningBg,error:g.colorErrorBg},m={default:g.colorTextSecondary,info:g.colorInfo,success:g.colorSuccess,warning:g.colorWarning,error:g.colorError};return"up"===l?g.colorSuccess:"down"===l?g.colorError:g.colorTextSecondary,(0,i.jsx)(n.Card,{size:c,loading:u,style:{height:"100%"},children:(0,i.jsxs)(h,{children:[o&&(0,i.jsx)("div",{style:{width:36,height:36,borderRadius:g.borderRadiusSM,backgroundColor:f[t],display:"flex",alignItems:"center",justifyContent:"center",color:m[t],fontSize:16,marginBottom:g.marginSM},children:o}),(0,i.jsx)(x,{size:"sm",color:"secondary",as:"div",children:e}),(0,i.jsx)(n.Tooltip,{title:String(r),mouseEnterDelay:.6,children:(0,i.jsxs)(y,{align:"baseline",gap:2,style:{marginTop:4,overflow:"hidden"},children:[(0,i.jsx)(x,{size:"2xl",weight:"bold",as:"div",style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0},children:r}),s&&(0,i.jsx)(x,{size:"base",color:"secondary",style:{flexShrink:0},children:s})]})}),d&&void 0!==a&&(0,i.jsx)(y,{align:"center",gap:1,style:{marginTop:g.marginXS},children:(0,i.jsxs)(x,{size:"sm",style:{color:a>=0?g.colorSuccess:g.colorError},children:["up"===l?"↑":"down"===l?"↓":""," ",Math.abs(a),"%"]})})]})})}function Z({columns:e,dataSource:r,rowKey:o="id",loading:t,pagination:l,rowSelection:a,onRow:s,size:c="middle",bordered:d=!1,expandable:u,className:g,style:f,scroll:m}){return(0,i.jsx)(n.Table,{columns:e,dataSource:r,rowKey:o,loading:t,pagination:l,rowSelection:a,onRow:s,size:c,bordered:d,expandable:u,className:g,style:f,scroll:m})}function ee(){return(0,l.useMemo)(()=>{let e=["#1677ff","#52c41a","#faad14","#ff4d4f","#1890ff","#722ed1","#eb2f96","#13c2c2","#fa8c16","#2f54eb"];console.log("[useChartColors] Created palette:",{colors:e});let r=[...e,"#e6f4ff","#f6ffed","#fffbe6","#fff2f0","#e6f4ff","#f759ab","#9254de","#40a9ff","#73d13d","#ffc53d"],o=r=>e[r%e.length]||"#1890ff";return{colors:e,extendedColors:r,getColor:o,mapColors:(e,r)=>{let n=Array.from(new Set(e.map(e=>String(e[r]??"")))),t={};return n.forEach((e,r)=>{t[e]=o(r)}),t}}},[])}function er(e,r){return o=>{let n=String(o[r]??""),t=Object.keys(e)[0];return e[n]||(t?e[t]:"#1890ff")||"#1890ff"}}var{useToken:eo}=n.theme;function en({colors:e,disableAutoColors:r,...o}){let n=function(){let{token:e}=eo();return l.useMemo(()=>({defaultColor:e.colorPrimary,styleSheet:{backgroundColor:e.colorBgContainer,fontFamily:e.fontFamily,fontSize:e.fontSize,color:e.colorText}}),[e])}(),t=ee(),s=l.useMemo(()=>{let n=o.colorField||o.seriesField;if(console.log("[UILineChart] Debug info:",{hasColorField:n,colorField:o.colorField,seriesField:o.seriesField,disableAutoColors:r,hasData:!!o.data,dataLength:o.data?.length,customColors:e,paletteColors:t.colors}),r||!n||!o.data)return console.log("[UILineChart] Skipping auto-colors:",{disableAutoColors:r,hasColorField:n,hasData:!!o.data}),o;let i=e||t.colors;return console.log("[UILineChart] Applying colors:",{source:e?"custom":"palette",colors:i}),{...o,scale:{...o.scale,color:{range:i}}}},[o,e,t.colors,r]);return(0,i.jsx)(a.A,{...s,theme:n})}var{useToken:et}=n.theme;function ei({colors:e,...r}){let o=function(){let{token:e}=et();return l.useMemo(()=>({defaultColor:e.colorPrimary,colors10:[e.colorInfo,e.colorSuccess,e.colorWarning,e.colorError,e.colorPrimary,e.colorInfoBg,e.colorSuccessBg,e.colorWarningBg,e.colorErrorBg,e.colorPrimaryBg],colors20:[e.colorInfo,e.colorSuccess,e.colorWarning,e.colorError,e.colorPrimary,e.colorInfoBg,e.colorSuccessBg,e.colorWarningBg,e.colorErrorBg,e.colorPrimaryBg,e.colorInfoBorder,e.colorSuccessBorder,e.colorWarningBorder,e.colorErrorBorder,e.colorPrimaryBorder,e.colorInfoText,e.colorSuccessText,e.colorWarningText,e.colorErrorText,e.colorPrimaryText],styleSheet:{backgroundColor:e.colorBgContainer,fontFamily:e.fontFamily,fontSize:e.fontSize,color:e.colorText}}),[e])}(),n=e?{...o,colors10:e,colors20:e}:o;return(0,i.jsx)(s.A,{...r,theme:n})}var{useToken:el}=n.theme;function ea({colors:e,disableAutoColors:r,...o}){let n=function(){let{token:e}=el();return l.useMemo(()=>({defaultColor:e.colorPrimary,styleSheet:{backgroundColor:e.colorBgContainer,fontFamily:e.fontFamily,fontSize:e.fontSize,color:e.colorText}}),[e])}(),t=ee(),a=l.useMemo(()=>{if(r||!o.colorField||!o.data)return o;let n=e||t.colors;return{...o,scale:{...o.scale,color:{range:n}}}},[o,e,t.colors,r]);return(0,i.jsx)(c.A,{...a,theme:n})}var{useToken:es}=n.theme;function ec({colors:e,disableAutoColors:r,...o}){let n=function(){let{token:e}=es();return l.useMemo(()=>({defaultColor:e.colorPrimary,styleSheet:{backgroundColor:e.colorBgContainer,fontFamily:e.fontFamily,fontSize:e.fontSize,color:e.colorText}}),[e])}(),t=ee(),a=l.useMemo(()=>{if(r||!o.colorField||!o.data)return o;let n=e||t.colors;return{...o,scale:{...o.scale,color:{range:n}}}},[o,e,t.colors,r]);return(0,i.jsx)(d.A,{...a,theme:n})}var{useToken:ed}=n.theme;function eu({colors:e,disableAutoColors:r,...o}){let n=function(){let{token:e}=ed();return l.useMemo(()=>({defaultColor:e.colorPrimary,styleSheet:{backgroundColor:e.colorBgContainer,fontFamily:e.fontFamily,fontSize:e.fontSize,color:e.colorText}}),[e])}(),t=ee(),a=l.useMemo(()=>{if(r||!o.seriesField||!o.data)return o;let n=e||t.colors;return{...o,scale:{...o.scale,color:{range:n}}}},[o,e,t.colors,r]);return(0,i.jsx)(u.A,{...a,theme:n})}function eg({data:e,loading:r=!1,title:o,metrics:t=[],xField:a="date",yField:s="value",colorField:c="category",style:d,height:u=350,showLegend:f=!0,chartProps:m}){let p=ee(),h=l.useMemo(()=>p.colors.slice(0,Math.max(t.length,3)),[p.colors,t.length]),y=l.useMemo(()=>e?0===t.length?e:e.flatMap(e=>{let r=[];for(let o of t){let n;n=o.key in e&&"number"==typeof e[o.key]?e[o.key]:e.metrics&&o.key in e.metrics?e.metrics[o.key]:0,o.transform&&(n=o.transform(n)),r.push({[a]:e.date?g(e.date).format("YYYY-MM-DD"):e[a],[c]:o.label,[s]:n})}return r}):[],[e,t,a,s,c]),b=()=>(0,i.jsxs)(i.Fragment,{children:[r&&(0,i.jsx)("div",{style:{textAlign:"center",padding:"40px 0"},children:(0,i.jsx)(x,{color:"secondary",children:"Loading chart data..."})}),!r&&(!y||0===y.length)&&(0,i.jsx)("div",{style:{textAlign:"center",padding:"40px 0"},children:(0,i.jsx)(x,{color:"secondary",children:"No data available for the selected date range"})}),!r&&y&&y.length>0&&(0,i.jsxs)("div",{children:[f&&0!==t.length?(0,i.jsx)("div",{style:{display:"flex",justifyContent:"flex-end",marginBottom:12,gap:16},children:t.map((e,r)=>(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6},children:[(0,i.jsx)("span",{style:{display:"inline-block",width:10,height:10,borderRadius:"50%",backgroundColor:h[r%h.length]}}),(0,i.jsx)("span",{style:{fontSize:13,fontWeight:500},children:e.label})]},e.label))}):null,(0,i.jsx)(en,{data:y,xField:a,yField:s,colorField:c,height:u,colors:h,scale:{color:{range:h}},axis:{x:{label:{autoRotate:!1}},y:{label:{formatter:e=>{let r=Number(e);return r>=1e6?`${(r/1e6).toFixed(1)}M`:r>=1e3?`${(r/1e3).toFixed(1)}K`:r.toLocaleString()}}}},style:{shape:"smooth",lineWidth:2},legend:!1,tooltip:{title:e=>e[a],items:[e=>{let r=t.find(r=>r.label===e[c]),o=t.findIndex(r=>r.label===e[c]),n=e[s]?.toLocaleString()||"0";return r?.format&&null!=e[s]&&(n=r.format(e[s])),{name:e[c],value:n,color:h[o>=0?o:0]}}]},...m})]})]});return o?(0,i.jsx)(n.Card,{title:o,style:{marginTop:16,...d},children:b()}):(0,i.jsx)("div",{style:d,children:b()})}function ef(e){return(0,i.jsx)(n.Statistic,{...e})}function em(e){return(0,i.jsx)(n.Statistic.Countdown,{...e})}function ep(e){return(0,i.jsx)(n.Progress,{...e})}function ex(e){return(0,i.jsx)(n.Descriptions,{...e})}function eh(e){return(0,i.jsx)(n.Descriptions.Item,{...e})}function ey(e){return(0,i.jsx)(n.Timeline,{...e})}function eb(e){return(0,i.jsx)(n.Timeline.Item,{...e})}function ej(e){return(0,i.jsx)(n.Tree,{...e})}function eI(e){return(0,i.jsx)(n.Tree.DirectoryTree,{...e})}function eS(e){return(0,i.jsx)(n.Tree.TreeNode,{...e})}function ek(e){return(0,i.jsx)(n.List,{...e})}function ev(e){return(0,i.jsx)(n.List.Item,{...e})}function eU(e){return(0,i.jsx)(n.List.Item.Meta,{...e})}function eT({value:e,defaultValue:r,placeholder:o,disabled:t,prefix:l,suffix:a,maxLength:s,showCount:c,allowClear:d,onChange:u,onPressEnter:g,...f}){return(0,i.jsx)(n.Input,{value:e,defaultValue:r,placeholder:o,disabled:t,prefix:l,suffix:a,maxLength:s,showCount:c,allowClear:d,onChange:e=>{u?.(e.target.value)},onPressEnter:g,...f})}function ew(e){return(0,i.jsx)(n.Input.Password,{...e})}function eC(e){return(0,i.jsx)(n.Input.TextArea,{...e})}function eB(e){return(0,i.jsx)(n.Input.Search,{...e})}function eM({options:e=[],value:r,defaultValue:o,placeholder:t,disabled:l,loading:a,allowClear:s,showSearch:c,mode:d,onChange:u,...g}){let f=e.map(e=>({label:e.icon||e.description?(0,i.jsxs)(y,{align:"center",gap:2,style:{width:"100%"},children:[e.icon&&(0,i.jsx)("span",{children:e.icon}),(0,i.jsx)("span",{style:{flex:1},children:e.label}),e.description&&(0,i.jsx)("span",{style:{fontSize:"0.85em",opacity:.7},children:e.description})]}):e.label,value:e.value,disabled:e.disabled}));return(0,i.jsx)(n.Select,{options:f,value:r,defaultValue:o,placeholder:t,disabled:l,loading:a,allowClear:s,showSearch:c,mode:d,onChange:u,...g})}function e$({layout:e="vertical",onFinish:r,onFinishFailed:o,initialValues:t,children:l,...a}){return(0,i.jsx)(n.Form,{layout:e,onFinish:r,onFinishFailed:o,initialValues:t,...a,children:l})}function ez(e){return(0,i.jsx)(n.Form.Item,{...e})}var eE=n.Form.useForm;function eF(e){return(0,i.jsx)(n.Form.List,{...e})}function eP({children:e,checked:r,defaultChecked:o,disabled:t,indeterminate:l,onChange:a,...s}){return(0,i.jsx)(n.Checkbox,{checked:r,defaultChecked:o,disabled:t,indeterminate:l,onChange:e=>{a?.(e.target.checked)},...s,children:e})}function eA({options:e,value:r,defaultValue:o,disabled:l,gap:a=2,onChange:s}){return(0,i.jsx)(n.Checkbox.Group,{value:r,defaultValue:o,disabled:l,onChange:s,children:(0,i.jsx)(h,{children:e.map((r,o)=>(0,i.jsxs)(h,{mb:o<e.length-1?a:0,children:[(0,i.jsx)(n.Checkbox,{value:r.value,disabled:r.disabled,children:r.label}),r.description&&(0,i.jsx)(x,{size:"sm",color:"secondary",as:"div",style:{marginLeft:t.spacing["6"],marginTop:t.spacing["1"]},children:r.description})]},r.value))})})}function eR({checked:e,defaultChecked:r,disabled:o,loading:t,size:l="default",label:a,labelPosition:s="right",checkedChildren:c,unCheckedChildren:d,onChange:u,...g}){let f=(0,i.jsx)(n.Switch,{checked:e,defaultChecked:r,disabled:o,loading:t,size:l,checkedChildren:c,unCheckedChildren:d,onChange:u,...g});return a?(0,i.jsxs)(y,{align:"center",gap:2,children:["left"===s&&(0,i.jsx)(x,{children:a}),f,"right"===s&&(0,i.jsx)(x,{children:a})]}):f}function eD({value:e,defaultValue:r,placeholder:o,disabled:t,format:l,allowClear:a=!0,showTime:s,onChange:c,...d}){return(0,i.jsx)(n.DatePicker,{value:e,defaultValue:r,placeholder:o,disabled:t,format:l,allowClear:a,showTime:s,onChange:c,...d})}function eL({value:e,defaultValue:r,placeholder:o,disabled:t,format:l,allowClear:a=!0,onChange:s,...c}){return(0,i.jsx)(n.TimePicker,{value:e,defaultValue:r,placeholder:o,disabled:t,format:l,allowClear:a,onChange:s,...c})}function eW(e){return(0,i.jsx)(n.DatePicker.RangePicker,{...e})}function eN(e){return(0,i.jsx)(n.InputNumber,{...e})}function e_(e){return(0,i.jsx)(n.Radio,{...e})}function eH(e){return(0,i.jsx)(n.Radio.Group,{...e})}function eG(e){return(0,i.jsx)(n.Upload,{...e})}function eO(e){return(0,i.jsx)(n.Upload.Dragger,{...e})}function eX(e){return(0,i.jsx)(n.Slider,{...e})}function eK({items:e,separator:r,className:o}){let t=e.map(e=>({title:e.icon?(0,i.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:"4px"},children:[e.icon,(0,i.jsx)("span",{children:e.title})]}):e.title,href:e.href,onClick:e.onClick}));return(0,i.jsx)(n.Breadcrumb,{items:t,separator:r,className:o})}function eV({items:e,syncUrl:r,activeKey:o,defaultActiveKey:t,tabPosition:l="top",type:a="line",size:s="middle",onChange:c,onEdit:d,className:u,style:g}){let[m,p]=(0,f.useSearchParams)(),x=(0,f.useNavigate)(),h=(0,f.useParams)(),y=e[0]?.key??"",b=o,j=!0===r||"search"===r,I=r&&"object"==typeof r&&"path"===r.mode;j?b=m.get("tab")??y:I&&(b=h.tab??y);let S=e.map(e=>({key:e.key,label:e.icon?(0,i.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:"6px"},children:[e.icon,(0,i.jsx)("span",{children:e.label})]}):e.label,children:e.children,disabled:e.disabled,closable:e.closable}));return(0,i.jsx)(n.Tabs,{items:S,activeKey:b,defaultActiveKey:r?void 0:t,tabPosition:l,type:a,size:s,onChange:e=>{j?p(e===y?{}:{tab:e}):I&&"object"==typeof r&&x(e===y?r.basePath:`${r.basePath}/${e}`),c?.(e)},onEdit:d?(e,r)=>{d("string"==typeof e?e:"",r)}:void 0,className:u,style:g})}function eY(e){return(0,i.jsx)(eV,{...e})}function eJ({items:e,activeKey:r,defaultActiveKey:o,accordion:t=!1,bordered:l=!0,ghost:a=!1,size:s="middle",onChange:c,className:d,style:u}){let g=e.map(e=>({key:e.key,label:e.label,children:e.children,extra:e.extra,showArrow:e.showArrow,collapsible:e.collapsible}));return(0,i.jsx)(n.Collapse,{items:g,activeKey:r,defaultActiveKey:o,accordion:t,bordered:l,ghost:a,size:s,onChange:c,className:d,style:u})}function eQ(e){return(0,i.jsx)(n.Dropdown,{...e})}function eq(e){return(0,i.jsx)(n.Dropdown.Button,{...e})}function eZ(e){return(0,i.jsx)(n.Segmented,{...e})}function e0(e){return(0,i.jsx)(n.Steps,{...e})}function e1(e){return(0,i.jsx)(n.Menu,{...e})}var{useToken:e2}=n.theme;function e6({children:e,width:r="default",variant:o="default",className:n,style:t}){let{token:l}=e2(),a="document"===o,s={maxWidth:{default:"1280px",wide:"1600px",full:"100%"}[r],margin:"0 auto",padding:l.padding,...a&&{backgroundColor:l.colorBgContainer,borderRadius:l.borderRadiusLG,boxShadow:"0 1px 3px rgba(0,0,0,0.06)"},minHeight:a?void 0:"100%",...t};return(0,i.jsx)(h,{as:"main",className:n,style:s,children:e})}var{useToken:e5}=n.theme;function e3({title:e,subtitle:r,breadcrumb:o,actions:n,className:l,style:a}){let{token:s}=e5(),c={borderBottom:`1px solid ${s.colorBorder}`,paddingBottom:t.spacing["4"],marginBottom:t.spacing["6"],...a};return(0,i.jsxs)(h,{className:l,style:c,children:[o&&(0,i.jsx)(h,{mb:2,children:o}),(0,i.jsxs)(y,{justify:"between",align:"start",gap:4,children:[(0,i.jsxs)(h,{style:{flex:1},children:[(0,i.jsx)(L,{level:1,style:{marginBottom:r?t.spacing["2"]:0},children:e}),r&&(0,i.jsx)(x,{size:"base",color:"secondary",children:r})]}),n&&(0,i.jsx)(h,{style:{flexShrink:0},children:n})]})]})}var{useToken:e4}=n.theme;function e7({title:e,description:r,icon:o,breadcrumbs:n,actions:t,tabs:l,onBack:a,children:s}){let{token:c}=e4(),d=!!l;return(0,i.jsxs)("div",{style:{marginBottom:24*!d},children:[(a||n&&n.length>0)&&(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:c.marginXS,marginBottom:c.marginXS},children:[a&&(0,i.jsx)($,{variant:"text",size:"small",icon:(0,i.jsx)(H,{name:"ArrowLeftOutlined"}),onClick:a,style:{padding:"0 4px"}}),n&&n.length>0&&(0,i.jsx)(eK,{items:n.map(e=>({title:e.title,...e.href?{href:e.href}:{}}))})]}),(0,i.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:c.marginSM},children:[(0,i.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:c.marginSM,minWidth:0},children:[o&&(0,i.jsx)("span",{style:{fontSize:24,color:c.colorPrimary,flexShrink:0,display:"flex",alignItems:"center"},children:o}),(0,i.jsxs)("div",{style:{minWidth:0},children:["string"==typeof e?(0,i.jsx)("h2",{style:{margin:0,fontSize:c.fontSizeHeading3,fontWeight:c.fontWeightStrong,color:c.colorTextHeading,lineHeight:1.3},children:e}):e,r&&(0,i.jsx)("div",{style:{marginTop:4},children:"string"==typeof r?(0,i.jsx)(x,{color:"secondary",size:"sm",children:r}):r})]})]}),t&&(0,i.jsx)("div",{style:{display:"flex",alignItems:"center",gap:c.marginXS,flexShrink:0},children:t})]}),s&&(0,i.jsx)("div",{style:{marginTop:c.marginSM},children:s}),d&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(w,{style:{marginBottom:0}}),l]})]})}function e8({children:e,gap:r=24,style:o,...n}){return(0,i.jsx)("div",{style:{marginBottom:r,...o},...n,children:e})}function e9({variant:e="info",title:r,message:o,description:t,showIcon:l,closable:a,onClose:s,action:c,icon:d,className:u,style:g}){return(0,i.jsx)(n.Alert,{type:e,message:r||o,description:r?t||o:t,showIcon:l,closable:a,onClose:s,action:c,icon:d,className:u,style:g})}var{useToken:re}=n.theme;function rr({icon:e,title:r,description:o,action:l,children:a,useDefaultImage:s,image:c,className:d,style:u}){let{token:g}=re(),f=a??l;if(s||void 0!==c)return(0,i.jsx)(n.Empty,{description:o,image:c,className:d,style:u,children:f});let m={padding:t.spacing["8"],textAlign:"center",...u};return(0,i.jsx)(h,{className:d,style:m,children:(0,i.jsxs)(y,{direction:"column",align:"center",gap:3,children:[e&&(0,i.jsx)(h,{style:{fontSize:"48px",color:g.colorTextSecondary},children:e}),r&&(0,i.jsx)(x,{size:"lg",weight:"semibold",children:r}),o&&(0,i.jsx)(x,{size:"base",color:"secondary",children:o}),f&&(0,i.jsx)(h,{mt:2,children:f})]})})}rr.PRESENTED_IMAGE_SIMPLE=n.Empty.PRESENTED_IMAGE_SIMPLE,rr.PRESENTED_IMAGE_DEFAULT=n.Empty.PRESENTED_IMAGE_DEFAULT;var{useToken:ro}=n.theme;function rn({icon:e,title:r="Something went wrong",description:o,details:n,showRetry:l=!1,retryText:a="Try again",onRetry:s,action:c,className:d,style:u}){let{token:g}=ro(),f={padding:t.spacing["8"],textAlign:"center",...u};return(0,i.jsx)(h,{className:d,style:f,children:(0,i.jsxs)(y,{direction:"column",align:"center",gap:3,children:[e&&(0,i.jsx)(h,{style:{fontSize:"48px",color:g.colorError},children:e}),(0,i.jsx)(x,{size:"lg",weight:"semibold",color:"error",children:r}),o&&(0,i.jsx)(x,{size:"base",color:"secondary",children:o}),n&&(0,i.jsx)(h,{p:3,style:{backgroundColor:g.colorErrorBg,borderRadius:g.borderRadius,maxWidth:"600px",width:"100%"},children:(0,i.jsx)(x,{size:"sm",as:"pre",style:{margin:0,textAlign:"left",whiteSpace:"pre-wrap"},children:n})}),(l||c)&&(0,i.jsx)(h,{mt:2,children:c||(0,i.jsx)($,{variant:"primary",onClick:s,children:a})})]})})}var rt={};function ri({loading:e=!0,children:r,avatar:o,avatarShape:t="circle",lines:l=3,title:a=!0,active:s=!0,className:c,style:d}){return(0,i.jsx)(n.Skeleton,{loading:e,avatar:!!o&&{shape:t},paragraph:{rows:l},title:a,active:s,className:c,style:d,children:r})}function rl(e){return(0,i.jsx)(n.Skeleton.Button,{...e})}function ra(e){return(0,i.jsx)(n.Skeleton.Input,{...e})}function rs(e){return(0,i.jsx)(n.Skeleton.Image,{...e})}function rc(e){return(0,i.jsx)(n.Skeleton.Node,{...e})}function rd({width:e="100%",height:r="1em",gap:o=6,className:t,style:l}){let{token:a}=n.theme.useToken(),s=Array.isArray(e),c=s?e:[e],d=s?"100%":"number"==typeof e?`${e}px`:e;return(0,i.jsx)("span",{className:t,style:{display:"inline-flex",flexDirection:"column",gap:o,width:d,...l},children:c.map((e,o)=>(0,i.jsx)("span",{className:rt.skeletonText,style:{display:"block",width:s?"number"==typeof e?`${e}px`:e:"100%",height:"number"==typeof r?`${r}px`:r,borderRadius:a.borderRadiusSM,flexShrink:0,backgroundImage:`linear-gradient(90deg, ${a.colorBorder} 25%, ${a.colorBgLayout} 50%, ${a.colorBorder} 75%)`,backgroundSize:"400% 100%"}},o))})}function ru(e){return(0,i.jsx)(n.Spin,{...e})}function rg(e){return(0,i.jsx)(n.Result,{...e})}var rf=n.message;function rm(){return n.message.useMessage()}var rp=n.notification;function rx(){return n.notification.useNotification()}function rh({open:e,title:r,children:o,width:t="default",closable:l=!0,maskClosable:a=!0,footer:s,okText:c,cancelText:d,confirmLoading:u,onOk:g,onCancel:f,onClose:m,className:p,style:x}){let h={small:416,default:520,large:800,full:window.innerWidth-64},y="number"==typeof t?t:h[t];return(0,i.jsx)(n.Modal,{open:e,title:r,width:y,closable:l,maskClosable:a,footer:s,okText:c,cancelText:d,confirmLoading:u,onOk:g,onCancel:f||m,className:p,style:x,children:o})}var ry=n.Modal.confirm,rb=n.Modal.info,rj=n.Modal.success,rI=n.Modal.error,rS=n.Modal.warning;function rk({title:e,children:r,placement:o="top",arrow:t=!0,trigger:l="hover",open:a,className:s}){return(0,i.jsx)(n.Tooltip,{title:e,placement:o,arrow:t,trigger:l,open:a,className:s,children:r})}function rv(e){return(0,i.jsx)(n.Drawer,{...e})}function rU(e){return(0,i.jsx)(n.Popconfirm,{...e})}function rT(e){return(0,i.jsx)(n.Popover,{...e})}var{useToken:rw}=n.theme;function rC({content:e,className:r,style:o}){let{token:n}=rw(),t=`
2
+ .kb-md { font-size: ${n.fontSize}px; line-height: 1.75; color: ${n.colorText}; font-family: ${n.fontFamily}; }
3
+ .kb-md h1,.kb-md h2,.kb-md h3,.kb-md h4,.kb-md h5,.kb-md h6 { font-weight:600; line-height:1.3; margin:1.5em 0 0.5em; color:${n.colorTextHeading}; }
4
+ .kb-md h1 { font-size:${n.fontSizeHeading1}px; padding-bottom:0.3em; border-bottom:1px solid ${n.colorBorderSecondary}; }
5
+ .kb-md h2 { font-size:${n.fontSizeHeading2}px; padding-bottom:0.2em; border-bottom:1px solid ${n.colorBorderSecondary}; }
6
+ .kb-md h3 { font-size:${n.fontSizeHeading3}px; }
7
+ .kb-md h4 { font-size:${n.fontSizeHeading4}px; }
8
+ .kb-md p { margin:0.75em 0; }
9
+ .kb-md a { color:${n.colorPrimary}; text-decoration:none; }
10
+ .kb-md a:hover { text-decoration:underline; }
11
+ .kb-md code { font-family:${n.fontFamilyCode}; font-size:0.875em; background:${n.colorFillTertiary}; color:${n.colorTextSecondary}; padding:0.15em 0.4em; border-radius:${n.borderRadiusSM}px; }
12
+ .kb-md pre { background:${n.colorFillQuaternary}; border:1px solid ${n.colorBorderSecondary}; border-radius:${n.borderRadius}px; padding:16px; overflow-x:auto; margin:1em 0; }
13
+ .kb-md pre code { background:none; padding:0; font-size:0.85em; color:${n.colorText}; }
14
+ .kb-md ul,.kb-md ol { padding-left:1.75em; margin:0.75em 0; }
15
+ .kb-md li { margin:0.25em 0; }
16
+ .kb-md blockquote { margin:1em 0; padding:0.5em 1em; border-left:4px solid ${n.colorPrimaryBorder}; background:${n.colorFillQuaternary}; color:${n.colorTextSecondary}; border-radius:0 ${n.borderRadiusSM}px ${n.borderRadiusSM}px 0; }
17
+ .kb-md blockquote p { margin:0; }
18
+ .kb-md hr { border:none; border-top:1px solid ${n.colorBorderSecondary}; margin:1.5em 0; }
19
+ .kb-md table { width:100%; border-collapse:collapse; margin:1em 0; font-size:0.9em; }
20
+ .kb-md th,.kb-md td { border:1px solid ${n.colorBorderSecondary}; padding:8px 12px; text-align:left; }
21
+ .kb-md th { background:${n.colorFillTertiary}; font-weight:600; }
22
+ .kb-md tr:nth-child(even) td { background:${n.colorFillQuaternary}; }
23
+ .kb-md img { max-width:100%; border-radius:${n.borderRadius}px; }
24
+ `;return(0,i.jsxs)(h,{className:r,style:{padding:n.padding,...o},children:[(0,i.jsx)("style",{children:t}),(0,i.jsx)("div",{className:"kb-md",dangerouslySetInnerHTML:{__html:(0,m.xI)(e)}})]})}var{useToken:rB}=n.theme;function rM({data:e,collapsed:r=!1,indent:o=2,showLineNumbers:n=!1,className:t,style:a}){let{token:s}=rB(),c=l.useMemo(()=>{try{return JSON.stringify(e,null,o)}catch(e){return`Error: ${e instanceof Error?e.message:"Invalid JSON"}`}},[e,o]),d=c.split("\n"),u={backgroundColor:s.colorBgContainer,borderRadius:s.borderRadius,border:`1px solid ${s.colorBorder}`,overflow:"auto",maxHeight:"600px",...a},g={display:"block",fontFamily:'Consolas, Monaco, "Courier New", monospace',fontSize:"13px",lineHeight:"1.6",padding:s.padding,margin:0,whiteSpace:"pre",color:s.colorText},f={display:"inline-block",width:"40px",color:s.colorTextSecondary,userSelect:"none",textAlign:"right",marginRight:s.marginSM},m=r$(c,s);return(0,i.jsx)(h,{className:t,style:u,children:(0,i.jsx)("pre",{style:g,children:n?d.map((e,r)=>(0,i.jsxs)("div",{children:[(0,i.jsx)("span",{style:f,children:r+1}),(0,i.jsx)("span",{dangerouslySetInnerHTML:{__html:r$(e,s)}})]},r)):(0,i.jsx)("span",{dangerouslySetInnerHTML:{__html:m}})})})}function r$(e,r){return(e=(e=(e=(e=e.replace(/"([^"]+)":/g,`<span style="color: ${r.colorPrimary}">"$1"</span>:`)).replace(/: "([^"]*)"/g,`: <span style="color: ${r.colorSuccess}">"$1"</span>`)).replace(/: (\d+)/g,`: <span style="color: ${r.colorWarning}">$1</span>`)).replace(/: (true|false)/g,`: <span style="color: ${r.colorInfo}">$1</span>`)).replace(/: (null)/g,`: <span style="color: ${r.colorTextSecondary}">$1</span>`)}var rz={add:{bg:"rgba(22, 163, 74, 0.12)",border:"var(--success, #16a34a)",color:"var(--success, #16a34a)"},remove:{bg:"rgba(220, 38, 38, 0.12)",border:"var(--error, #dc2626)",color:"var(--error, #dc2626)"},header:{bg:"var(--bg-tertiary, rgba(0,0,0,0.04))",border:"transparent",color:"var(--text-secondary, #6b7280)"},context:{bg:"transparent",border:"transparent",color:"inherit"}};function rE({diff:e,showLineNumbers:r=!0,maxHeight:o=500,className:n,style:t}){if(!e||""===e.trim())return(0,i.jsx)("div",{style:{padding:16,textAlign:"center"},children:(0,i.jsx)(b,{type:"secondary",children:"No changes to display"})});let l=e.split("\n");return(0,i.jsx)("div",{className:n,style:{background:"var(--bg-tertiary, rgba(0,0,0,0.02))",border:"1px solid var(--border-primary, rgba(0,0,0,0.1))",borderRadius:"var(--radius-md, 6px)",fontFamily:'Monaco, Menlo, "Courier New", monospace',fontSize:13,lineHeight:1.5,maxHeight:o,overflow:"auto",...t},children:l.map((e,o)=>{let n=e.startsWith("@@")?"header":e.startsWith("+")?"add":e.startsWith("-")?"remove":"context",t=rz[n],l="add"===n||"remove"===n;return(0,i.jsxs)("div",{style:{display:"flex",background:t.bg,borderLeft:l?`3px solid ${t.border}`:"none",paddingLeft:l?8:11},children:[r&&(0,i.jsx)("span",{style:{minWidth:44,textAlign:"right",paddingRight:12,userSelect:"none",color:"var(--text-secondary, #6c757d)",fontSize:12},children:o+1}),(0,i.jsx)("pre",{style:{margin:0,padding:0,color:t.color,whiteSpace:"pre",flex:1},children:e})]},o)})})}o.d(r,{UIAccordion:()=>eJ,UIAlert:()=>e9,UIAreaChart:()=>ea,UIAvatar:()=>O,UIAvatarGroup:()=>X,UIBadge:()=>B,UIBarChart:()=>eu,UIBox:()=>h,UIBreadcrumb:()=>eK,UIButton:()=>$,UICard:()=>F,UICheckbox:()=>eP,UICheckboxGroup:()=>eA,UICol:()=>T,UIColumnChart:()=>ei,UICopyButton:()=>J,UIDatePicker:()=>eD,UIDescriptions:()=>ex,UIDescriptionsItem:()=>eh,UIDiffViewer:()=>rE,UIDivider:()=>w,UIDrawer:()=>rv,UIDropdown:()=>eQ,UIDropdownButton:()=>eq,UIEmptyState:()=>rr,UIErrorState:()=>rn,UIFlex:()=>y,UIForm:()=>e$,UIFormItem:()=>ez,UIFormList:()=>eF,UIHeader:()=>e3,UIIcon:()=>H,UIIconButton:()=>G,UIInput:()=>eT,UIInputNumber:()=>eN,UIInputPassword:()=>ew,UIInputSearch:()=>eB,UIInputTextArea:()=>eC,UIJsonViewer:()=>rM,UILineChart:()=>en,UIList:()=>ek,UIListItem:()=>ev,UIListItemMeta:()=>eU,UIMarkdownViewer:()=>rC,UIMenu:()=>e1,UIMessage:()=>rf,UIMetricCard:()=>q,UIModal:()=>rh,UIModalConfirm:()=>ry,UIModalError:()=>rI,UIModalInfo:()=>rb,UIModalSuccess:()=>rj,UIModalWarning:()=>rS,UINotification:()=>rp,UIPage:()=>e6,UIPageHeader:()=>e7,UIPageSection:()=>e8,UIPieChart:()=>ec,UIPopconfirm:()=>rU,UIPopover:()=>rT,UIProgress:()=>ep,UIRadio:()=>e_,UIRadioGroup:()=>eH,UIRangePicker:()=>eW,UIResult:()=>rg,UIRow:()=>U,UISegmented:()=>eZ,UISelect:()=>eM,UIShimmerText:()=>Y,UISkeleton:()=>ri,UISkeletonButton:()=>rl,UISkeletonImage:()=>rs,UISkeletonInput:()=>ra,UISkeletonNode:()=>rc,UISkeletonText:()=>rd,UISlider:()=>eX,UISpace:()=>k,UISpaceCompact:()=>v,UISpin:()=>ru,UIStack:()=>S,UIStatistic:()=>ef,UIStatisticCountdown:()=>em,UIStatisticsChart:()=>eg,UISteps:()=>e0,UISwitch:()=>eR,UITable:()=>Z,UITabs:()=>eY,UITag:()=>A,UIText:()=>x,UITimePicker:()=>eL,UITimeline:()=>ey,UITimelineItem:()=>eb,UITitle:()=>L,UITooltip:()=>rk,UITree:()=>ej,UITreeDirectoryTree:()=>eI,UITreeNode:()=>eS,UITypographyLink:()=>I,UITypographyParagraph:()=>j,UITypographyText:()=>b,UIUpload:()=>eG,UIUploadDragger:()=>eO,createFillFunction:()=>er,registerIconRenderer:()=>_,useChartColors:()=>ee,useUIForm:()=>eE,useUIMessage:()=>rm,useUINotification:()=>rx,useUITheme:()=>K})}}]);