@copilotkitnext/angular 0.0.15 → 0.0.17-alpha.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.
@@ -1,4 +1,4 @@
1
- import { DestroyRef, Injectable, inject, signal, computed } from "@angular/core";
1
+ import { DestroyRef, Injectable, inject, signal, computed, } from "@angular/core";
2
2
  import { CopilotKit } from "./copilotkit";
3
3
  import { DEFAULT_AGENT_ID } from "@copilotkitnext/shared";
4
4
  import * as i0 from "@angular/core";
@@ -70,4 +70,4 @@ export function injectAgentStore(agentId) {
70
70
  const agentIdSignal = typeof agentId === "function" ? agentId : computed(() => agentId);
71
71
  return agentFactory.createAgentStoreSignal(agentIdSignal, destroyRef);
72
72
  }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2FnZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRTFELE1BQU0sT0FBTyxVQUFVO0lBQ1osYUFBYSxDQUVwQjtJQUNPLFVBQVUsR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDcEMsU0FBUyxHQUFHLE1BQU0sQ0FBWSxFQUFFLENBQUMsQ0FBQztJQUNsQyxNQUFNLEdBQUcsTUFBTSxDQUFNLFNBQVMsQ0FBQyxDQUFDO0lBRWhDLEtBQUssQ0FBZ0I7SUFDckIsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDekMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdkMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFMUMsWUFBWSxhQUE0QixFQUFFLFVBQXNCO1FBQzlELElBQUksQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDO1FBRTNCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQztZQUMzQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3QyxDQUFDO1lBQ0QsY0FBYyxFQUFFLEdBQUcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7WUFDRCxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLENBQUM7WUFDRCxjQUFjLEVBQUUsR0FBRyxFQUFFO2dCQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixDQUFDO1lBQ0QsV0FBVyxFQUFFLEdBQUcsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUVILFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBR0QsTUFBTSxPQUFPLHNCQUFzQjtJQUN4QixXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRTFDLHNCQUFzQixDQUFDLE9BQW1DLEVBQUUsVUFBc0I7UUFDaEYsSUFBSSxjQUFzQyxDQUFDO1FBRTNDLE9BQU8sUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBRTFCLElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQ25CLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDMUIsY0FBYyxHQUFHLFNBQVMsQ0FBQztZQUM3QixDQUFDO1lBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksZ0JBQWdCLENBQUMsQ0FBQztZQUMvRSxJQUFJLENBQUMsYUFBYTtnQkFBRSxPQUFPLFNBQVMsQ0FBQztZQUVyQyxjQUFjLEdBQUcsSUFBSSxVQUFVLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzNELE9BQU8sY0FBYyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0FwQlUsc0JBQXNCOzRHQUF0QixzQkFBc0IsY0FEVCxNQUFNOzs0RkFDbkIsc0JBQXNCO2tCQURsQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUF3QmxDLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxPQUE0QztJQUMzRSxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNwRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEMsTUFBTSxhQUFhLEdBQUcsT0FBTyxPQUFPLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV4RixPQUFPLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDeEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIEluamVjdGFibGUsIGluamVjdCwgc2lnbmFsLCBjb21wdXRlZCwgU2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvcGlsb3RLaXQgfSBmcm9tIFwiLi9jb3BpbG90a2l0XCI7XG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0QWdlbnQgfSBmcm9tIFwiQGFnLXVpL2NsaWVudFwiO1xuaW1wb3J0IHR5cGUgeyBNZXNzYWdlIH0gZnJvbSBcIkBhZy11aS9jbGllbnRcIjtcbmltcG9ydCB7IERFRkFVTFRfQUdFTlRfSUQgfSBmcm9tIFwiQGNvcGlsb3RraXRuZXh0L3NoYXJlZFwiO1xuXG5leHBvcnQgY2xhc3MgQWdlbnRTdG9yZSB7XG4gIHJlYWRvbmx5ICNzdWJzY3JpcHRpb24/OiB7XG4gICAgdW5zdWJzY3JpYmU6ICgpID0+IHZvaWQ7XG4gIH07XG4gIHJlYWRvbmx5ICNpc1J1bm5pbmcgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSAjbWVzc2FnZXMgPSBzaWduYWw8TWVzc2FnZVtdPihbXSk7XG4gIHJlYWRvbmx5ICNzdGF0ZSA9IHNpZ25hbDxhbnk+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgYWdlbnQ6IEFic3RyYWN0QWdlbnQ7XG4gIHJlYWRvbmx5IGlzUnVubmluZyA9IHRoaXMuI2lzUnVubmluZy5hc1JlYWRvbmx5KCk7XG4gIHJlYWRvbmx5IG1lc3NhZ2VzID0gdGhpcy4jbWVzc2FnZXMuYXNSZWFkb25seSgpO1xuICByZWFkb25seSBzdGF0ZSA9IHRoaXMuI3N0YXRlLmFzUmVhZG9ubHkoKTtcblxuICBjb25zdHJ1Y3RvcihhYnN0cmFjdEFnZW50OiBBYnN0cmFjdEFnZW50LCBkZXN0cm95UmVmOiBEZXN0cm95UmVmKSB7XG4gICAgdGhpcy5hZ2VudCA9IGFic3RyYWN0QWdlbnQ7XG5cbiAgICB0aGlzLiNzdWJzY3JpcHRpb24gPSBhYnN0cmFjdEFnZW50LnN1YnNjcmliZSh7XG4gICAgICBvbk1lc3NhZ2VzQ2hhbmdlZDogKCkgPT4ge1xuICAgICAgICB0aGlzLiNtZXNzYWdlcy5zZXQoYWJzdHJhY3RBZ2VudC5tZXNzYWdlcyk7XG4gICAgICB9LFxuICAgICAgb25TdGF0ZUNoYW5nZWQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy4jc3RhdGUuc2V0KGFic3RyYWN0QWdlbnQuc3RhdGUpO1xuICAgICAgfSxcbiAgICAgIG9uUnVuSW5pdGlhbGl6ZWQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy4jaXNSdW5uaW5nLnNldCh0cnVlKTtcbiAgICAgIH0sXG4gICAgICBvblJ1bkZpbmFsaXplZDogKCkgPT4ge1xuICAgICAgICB0aGlzLiNpc1J1bm5pbmcuc2V0KGZhbHNlKTtcbiAgICAgIH0sXG4gICAgICBvblJ1bkZhaWxlZDogKCkgPT4ge1xuICAgICAgICB0aGlzLiNpc1J1bm5pbmcuc2V0KGZhbHNlKTtcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBkZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgICB0aGlzLnRlYXJkb3duKCk7XG4gICAgfSk7XG4gIH1cblxuICB0ZWFyZG93bigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jc3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLiNzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiBcInJvb3RcIiB9KVxuZXhwb3J0IGNsYXNzIENvcGlsb3RraXRBZ2VudEZhY3Rvcnkge1xuICByZWFkb25seSAjY29waWxvdGtpdCA9IGluamVjdChDb3BpbG90S2l0KTtcblxuICBjcmVhdGVBZ2VudFN0b3JlU2lnbmFsKGFnZW50SWQ6IFNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+LCBkZXN0cm95UmVmOiBEZXN0cm95UmVmKTogU2lnbmFsPEFnZW50U3RvcmUgfCB1bmRlZmluZWQ+IHtcbiAgICBsZXQgbGFzdEFnZW50U3RvcmU6IEFnZW50U3RvcmUgfCB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgdGhpcy4jY29waWxvdGtpdC5hZ2VudHMoKTtcblxuICAgICAgaWYgKGxhc3RBZ2VudFN0b3JlKSB7XG4gICAgICAgIGxhc3RBZ2VudFN0b3JlLnRlYXJkb3duKCk7XG4gICAgICAgIGxhc3RBZ2VudFN0b3JlID0gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBhYnN0cmFjdEFnZW50ID0gdGhpcy4jY29waWxvdGtpdC5nZXRBZ2VudChhZ2VudElkKCkgfHwgREVGQVVMVF9BR0VOVF9JRCk7XG4gICAgICBpZiAoIWFic3RyYWN0QWdlbnQpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAgIGxhc3RBZ2VudFN0b3JlID0gbmV3IEFnZW50U3RvcmUoYWJzdHJhY3RBZ2VudCwgZGVzdHJveVJlZik7XG4gICAgICByZXR1cm4gbGFzdEFnZW50U3RvcmU7XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEFnZW50U3RvcmUoYWdlbnRJZDogc3RyaW5nIHwgU2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD4pOiBTaWduYWw8QWdlbnRTdG9yZSB8IHVuZGVmaW5lZD4ge1xuICBjb25zdCBhZ2VudEZhY3RvcnkgPSBpbmplY3QoQ29waWxvdGtpdEFnZW50RmFjdG9yeSk7XG4gIGNvbnN0IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIGNvbnN0IGFnZW50SWRTaWduYWwgPSB0eXBlb2YgYWdlbnRJZCA9PT0gXCJmdW5jdGlvblwiID8gYWdlbnRJZCA6IGNvbXB1dGVkKCgpID0+IGFnZW50SWQpO1xuXG4gIHJldHVybiBhZ2VudEZhY3RvcnkuY3JlYXRlQWdlbnRTdG9yZVNpZ25hbChhZ2VudElkU2lnbmFsLCBkZXN0cm95UmVmKTtcbn1cbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2FnZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFDTixNQUFNLEVBQ04sUUFBUSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRTFELE1BQU0sT0FBTyxVQUFVO0lBQ1osYUFBYSxDQUVwQjtJQUNPLFVBQVUsR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDcEMsU0FBUyxHQUFHLE1BQU0sQ0FBWSxFQUFFLENBQUMsQ0FBQztJQUNsQyxNQUFNLEdBQUcsTUFBTSxDQUFNLFNBQVMsQ0FBQyxDQUFDO0lBRWhDLEtBQUssQ0FBZ0I7SUFDckIsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDekMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdkMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFMUMsWUFBWSxhQUE0QixFQUFFLFVBQXNCO1FBQzlELElBQUksQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDO1FBRTNCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQztZQUMzQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3QyxDQUFDO1lBQ0QsY0FBYyxFQUFFLEdBQUcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7WUFDRCxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLENBQUM7WUFDRCxjQUFjLEVBQUUsR0FBRyxFQUFFO2dCQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixDQUFDO1lBQ0QsV0FBVyxFQUFFLEdBQUcsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUVILFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBR0QsTUFBTSxPQUFPLHNCQUFzQjtJQUN4QixXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRTFDLHNCQUFzQixDQUNwQixPQUFtQyxFQUNuQyxVQUFzQjtRQUV0QixJQUFJLGNBQXNDLENBQUM7UUFFM0MsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFMUIsSUFBSSxjQUFjLEVBQUUsQ0FBQztnQkFDbkIsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUMxQixjQUFjLEdBQUcsU0FBUyxDQUFDO1lBQzdCLENBQUM7WUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FDN0MsT0FBTyxFQUFFLElBQUksZ0JBQWdCLENBQzlCLENBQUM7WUFDRixJQUFJLENBQUMsYUFBYTtnQkFBRSxPQUFPLFNBQVMsQ0FBQztZQUVyQyxjQUFjLEdBQUcsSUFBSSxVQUFVLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzNELE9BQU8sY0FBYyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0F6QlUsc0JBQXNCOzRHQUF0QixzQkFBc0IsY0FEVCxNQUFNOzs0RkFDbkIsc0JBQXNCO2tCQURsQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUE2QmxDLE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsT0FBNEM7SUFFNUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDcEQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sYUFBYSxHQUNqQixPQUFPLE9BQU8sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXBFLE9BQU8sWUFBWSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUN4RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGVzdHJveVJlZixcbiAgSW5qZWN0YWJsZSxcbiAgaW5qZWN0LFxuICBzaWduYWwsXG4gIGNvbXB1dGVkLFxuICBTaWduYWwsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb3BpbG90S2l0IH0gZnJvbSBcIi4vY29waWxvdGtpdFwiO1xuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdEFnZW50IH0gZnJvbSBcIkBhZy11aS9jbGllbnRcIjtcbmltcG9ydCB0eXBlIHsgTWVzc2FnZSB9IGZyb20gXCJAYWctdWkvY2xpZW50XCI7XG5pbXBvcnQgeyBERUZBVUxUX0FHRU5UX0lEIH0gZnJvbSBcIkBjb3BpbG90a2l0bmV4dC9zaGFyZWRcIjtcblxuZXhwb3J0IGNsYXNzIEFnZW50U3RvcmUge1xuICByZWFkb25seSAjc3Vic2NyaXB0aW9uPzoge1xuICAgIHVuc3Vic2NyaWJlOiAoKSA9PiB2b2lkO1xuICB9O1xuICByZWFkb25seSAjaXNSdW5uaW5nID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgI21lc3NhZ2VzID0gc2lnbmFsPE1lc3NhZ2VbXT4oW10pO1xuICByZWFkb25seSAjc3RhdGUgPSBzaWduYWw8YW55Pih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IGFnZW50OiBBYnN0cmFjdEFnZW50O1xuICByZWFkb25seSBpc1J1bm5pbmcgPSB0aGlzLiNpc1J1bm5pbmcuYXNSZWFkb25seSgpO1xuICByZWFkb25seSBtZXNzYWdlcyA9IHRoaXMuI21lc3NhZ2VzLmFzUmVhZG9ubHkoKTtcbiAgcmVhZG9ubHkgc3RhdGUgPSB0aGlzLiNzdGF0ZS5hc1JlYWRvbmx5KCk7XG5cbiAgY29uc3RydWN0b3IoYWJzdHJhY3RBZ2VudDogQWJzdHJhY3RBZ2VudCwgZGVzdHJveVJlZjogRGVzdHJveVJlZikge1xuICAgIHRoaXMuYWdlbnQgPSBhYnN0cmFjdEFnZW50O1xuXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9uID0gYWJzdHJhY3RBZ2VudC5zdWJzY3JpYmUoe1xuICAgICAgb25NZXNzYWdlc0NoYW5nZWQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy4jbWVzc2FnZXMuc2V0KGFic3RyYWN0QWdlbnQubWVzc2FnZXMpO1xuICAgICAgfSxcbiAgICAgIG9uU3RhdGVDaGFuZ2VkOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuI3N0YXRlLnNldChhYnN0cmFjdEFnZW50LnN0YXRlKTtcbiAgICAgIH0sXG4gICAgICBvblJ1bkluaXRpYWxpemVkOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuI2lzUnVubmluZy5zZXQodHJ1ZSk7XG4gICAgICB9LFxuICAgICAgb25SdW5GaW5hbGl6ZWQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy4jaXNSdW5uaW5nLnNldChmYWxzZSk7XG4gICAgICB9LFxuICAgICAgb25SdW5GYWlsZWQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy4jaXNSdW5uaW5nLnNldChmYWxzZSk7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgdGhpcy50ZWFyZG93bigpO1xuICAgIH0pO1xuICB9XG5cbiAgdGVhcmRvd24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI3N1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy4jc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogXCJyb290XCIgfSlcbmV4cG9ydCBjbGFzcyBDb3BpbG90a2l0QWdlbnRGYWN0b3J5IHtcbiAgcmVhZG9ubHkgI2NvcGlsb3RraXQgPSBpbmplY3QoQ29waWxvdEtpdCk7XG5cbiAgY3JlYXRlQWdlbnRTdG9yZVNpZ25hbChcbiAgICBhZ2VudElkOiBTaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPixcbiAgICBkZXN0cm95UmVmOiBEZXN0cm95UmVmXG4gICk6IFNpZ25hbDxBZ2VudFN0b3JlIHwgdW5kZWZpbmVkPiB7XG4gICAgbGV0IGxhc3RBZ2VudFN0b3JlOiBBZ2VudFN0b3JlIHwgdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIGNvbXB1dGVkKCgpID0+IHtcbiAgICAgIHRoaXMuI2NvcGlsb3RraXQuYWdlbnRzKCk7XG5cbiAgICAgIGlmIChsYXN0QWdlbnRTdG9yZSkge1xuICAgICAgICBsYXN0QWdlbnRTdG9yZS50ZWFyZG93bigpO1xuICAgICAgICBsYXN0QWdlbnRTdG9yZSA9IHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYWJzdHJhY3RBZ2VudCA9IHRoaXMuI2NvcGlsb3RraXQuZ2V0QWdlbnQoXG4gICAgICAgIGFnZW50SWQoKSB8fCBERUZBVUxUX0FHRU5UX0lEXG4gICAgICApO1xuICAgICAgaWYgKCFhYnN0cmFjdEFnZW50KSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgICBsYXN0QWdlbnRTdG9yZSA9IG5ldyBBZ2VudFN0b3JlKGFic3RyYWN0QWdlbnQsIGRlc3Ryb3lSZWYpO1xuICAgICAgcmV0dXJuIGxhc3RBZ2VudFN0b3JlO1xuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RBZ2VudFN0b3JlKFxuICBhZ2VudElkOiBzdHJpbmcgfCBTaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPlxuKTogU2lnbmFsPEFnZW50U3RvcmUgfCB1bmRlZmluZWQ+IHtcbiAgY29uc3QgYWdlbnRGYWN0b3J5ID0gaW5qZWN0KENvcGlsb3RraXRBZ2VudEZhY3RvcnkpO1xuICBjb25zdCBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBjb25zdCBhZ2VudElkU2lnbmFsID1cbiAgICB0eXBlb2YgYWdlbnRJZCA9PT0gXCJmdW5jdGlvblwiID8gYWdlbnRJZCA6IGNvbXB1dGVkKCgpID0+IGFnZW50SWQpO1xuXG4gIHJldHVybiBhZ2VudEZhY3RvcnkuY3JlYXRlQWdlbnRTdG9yZVNpZ25hbChhZ2VudElkU2lnbmFsLCBkZXN0cm95UmVmKTtcbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { CopilotKitCore } from "@copilotkitnext/core";
2
- import { Injectable, Injector, runInInjectionContext, signal, inject } from "@angular/core";
2
+ import { Injectable, Injector, runInInjectionContext, signal, inject, } from "@angular/core";
3
3
  import { injectCopilotKitConfig } from "./config";
4
4
  import { HumanInTheLoop } from "./human-in-the-loop";
5
5
  import * as i0 from "@angular/core";
@@ -49,22 +49,27 @@ export class CopilotKit {
49
49
  });
50
50
  }
51
51
  #bindClientTool(clientToolWithInjector) {
52
- const { injector, handler, args, description, name, agentId } = clientToolWithInjector;
52
+ const { injector, handler, ...frontendCandidate } = clientToolWithInjector;
53
53
  return {
54
- description,
55
- name,
56
- agentId,
54
+ ...frontendCandidate,
57
55
  handler: (args) => runInInjectionContext(injector, () => handler(args)),
58
- parameters: args,
59
56
  };
60
57
  }
61
58
  addFrontendTool(clientToolWithInjector) {
62
59
  const tool = this.#bindClientTool(clientToolWithInjector);
63
60
  this.core.addTool(tool);
64
- this.#clientToolCallRenderConfigs.update((current) => [...current, clientToolWithInjector]);
61
+ this.#clientToolCallRenderConfigs.update((current) => [
62
+ ...current,
63
+ // Erase generic parameter for storage without using `any`.
64
+ clientToolWithInjector,
65
+ ]);
65
66
  }
66
67
  addRenderToolCall(renderConfig) {
67
- this.#toolCallRenderConfigs.update((current) => [...current, renderConfig]);
68
+ this.#toolCallRenderConfigs.update((current) => [
69
+ ...current,
70
+ // Erase generic parameter for storage without using `any`.
71
+ renderConfig,
72
+ ]);
68
73
  }
69
74
  #bindHumanInTheLoopTool(humanInTheLoopTool) {
70
75
  return {
@@ -75,7 +80,11 @@ export class CopilotKit {
75
80
  };
76
81
  }
77
82
  addHumanInTheLoop(humanInTheLoopTool) {
78
- this.#humanInTheLoopToolRenderConfigs.update((current) => [...current, humanInTheLoopTool]);
83
+ this.#humanInTheLoopToolRenderConfigs.update((current) => [
84
+ ...current,
85
+ // Erase generic parameter for storage without using `any`.
86
+ humanInTheLoopTool,
87
+ ]);
79
88
  const tool = this.#bindHumanInTheLoopTool(humanInTheLoopTool);
80
89
  this.core.addTool(tool);
81
90
  }
@@ -87,9 +96,12 @@ export class CopilotKit {
87
96
  }
88
97
  removeTool(toolName, agentId) {
89
98
  this.core.removeTool(toolName);
90
- this.#clientToolCallRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName && this.#isSameAgentId(renderConfig, agentId)));
91
- this.#humanInTheLoopToolRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName && this.#isSameAgentId(renderConfig, agentId)));
92
- this.#toolCallRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName && this.#isSameAgentId(renderConfig, agentId)));
99
+ this.#clientToolCallRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName &&
100
+ this.#isSameAgentId(renderConfig, agentId)));
101
+ this.#humanInTheLoopToolRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName &&
102
+ this.#isSameAgentId(renderConfig, agentId)));
103
+ this.#toolCallRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName &&
104
+ this.#isSameAgentId(renderConfig, agentId)));
93
105
  }
94
106
  getAgent(agentId) {
95
107
  return this.core.getAgent(agentId);
@@ -115,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
115
127
  type: Injectable,
116
128
  args: [{ providedIn: "root" }]
117
129
  }], ctorParameters: () => [] });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdGtpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY29waWxvdGtpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWdCLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUEwQixxQkFBcUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBR3JELE1BQU0sT0FBTyxVQUFVO0lBQ1osT0FBTyxHQUFHLHNCQUFzQixFQUFFLENBQUM7SUFDbkMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMvQixhQUFhLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLE9BQU8sR0FBRyxNQUFNLENBQWdDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRW5DLElBQUksR0FBRyxJQUFJLGNBQWMsQ0FBQztRQUNqQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVO1FBQ25DLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87UUFDN0IsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVTtRQUNuQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07UUFDNUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSztLQUMxQixDQUFDLENBQUM7SUFFTSxzQkFBc0IsR0FBMkMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLDRCQUE0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UUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7d0dBbkpVLFVBQVU7NEdBQVYsVUFBVSxjQURHLE1BQU07OzRGQUNuQixVQUFVO2tCQUR0QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0QWdlbnQgfSBmcm9tIFwiQGFnLXVpL2NsaWVudFwiO1xuaW1wb3J0IHsgRnJvbnRlbmRUb29sLCBDb3BpbG90S2l0Q29yZSB9IGZyb20gXCJAY29waWxvdGtpdG5leHQvY29yZVwiO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIFNpZ25hbCwgV3JpdGFibGVTaWduYWwsIHJ1bkluSW5qZWN0aW9uQ29udGV4dCwgc2lnbmFsLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRnJvbnRlbmRUb29sQ29uZmlnLCBIdW1hbkluVGhlTG9vcENvbmZpZywgUmVuZGVyVG9vbENhbGxDb25maWcgfSBmcm9tIFwiLi90b29sc1wiO1xuaW1wb3J0IHsgaW5qZWN0Q29waWxvdEtpdENvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xuaW1wb3J0IHsgSHVtYW5JblRoZUxvb3AgfSBmcm9tIFwiLi9odW1hbi1pbi10aGUtbG9vcFwiO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46IFwicm9vdFwiIH0pXG5leHBvcnQgY2xhc3MgQ29waWxvdEtpdCB7XG4gIHJlYWRvbmx5ICNjb25maWcgPSBpbmplY3RDb3BpbG90S2l0Q29uZmlnKCk7XG4gIHJlYWRvbmx5ICNoaXRsID0gaW5qZWN0KEh1bWFuSW5UaGVMb29wKTtcbiAgcmVhZG9ubHkgI3Jvb3RJbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHJlYWRvbmx5ICNhZ2VudHMgPSBzaWduYWw8UmVjb3JkPHN0cmluZywgQWJzdHJhY3RBZ2VudD4+KHRoaXMuI2NvbmZpZy5hZ2VudHMgPz8ge30pO1xuICByZWFkb25seSBhZ2VudHMgPSB0aGlzLiNhZ2VudHMuYXNSZWFkb25seSgpO1xuXG4gIHJlYWRvbmx5IGNvcmUgPSBuZXcgQ29waWxvdEtpdENvcmUoe1xuICAgIHJ1bnRpbWVVcmw6IHRoaXMuI2NvbmZpZy5ydW50aW1lVXJsLFxuICAgIGhlYWRlcnM6IHRoaXMuI2NvbmZpZy5oZWFkZXJzLFxuICAgIHByb3BlcnRpZXM6IHRoaXMuI2NvbmZpZy5wcm9wZXJ0aWVzLFxuICAgIGFnZW50c19fdW5zYWZlX2Rldl9vbmx5OiB0aGlzLiNjb25maWcuYWdlbnRzLFxuICAgIHRvb2xzOiB0aGlzLiNjb25maWcudG9vbHMsXG4gIH0pO1xuXG4gIHJlYWRvbmx5ICN0b29sQ2FsbFJlbmRlckNvbmZpZ3M6IFdyaXRhYmxlU2lnbmFsPFJlbmRlclRvb2xDYWxsQ29uZmlnW10+ID0gc2lnbmFsKFtdKTtcbiAgcmVhZG9ubHkgI2NsaWVudFRvb2xDYWxsUmVuZGVyQ29uZmlnczogV3JpdGFibGVTaWduYWw8RnJvbnRlbmRUb29sQ29uZmlnW10+ID0gc2lnbmFsKFtdKTtcbiAgcmVhZG9ubHkgI2h1bWFuSW5UaGVMb29wVG9vbFJlbmRlckNvbmZpZ3M6IFdyaXRhYmxlU2lnbmFsPEh1bWFuSW5UaGVMb29wQ29uZmlnW10+ID0gc2lnbmFsKFtdKTtcblxuICByZWFkb25seSB0b29sQ2FsbFJlbmRlckNvbmZpZ3M6IFNpZ25hbDxSZW5kZXJUb29sQ2FsbENvbmZpZ1tdPiA9IHRoaXMuI3Rvb2xDYWxsUmVuZGVyQ29uZmlncy5hc1JlYWRvbmx5KCk7XG4gIHJlYWRvbmx5IGNsaWVudFRvb2xDYWxsUmVuZGVyQ29uZmlnczogU2lnbmFsPEZyb250ZW5kVG9vbENvbmZpZ1tdPiA9IHRoaXMuI2NsaWVudFRvb2xDYWxsUmVuZGVyQ29uZmlncy5hc1JlYWRvbmx5KCk7XG4gIHJlYWRvbmx5IGh1bWFuSW5UaGVMb29wVG9vbFJlbmRlckNvbmZpZ3M6IFNpZ25hbDxIdW1hbkluVGhlTG9vcENvbmZpZ1tdPiA9XG4gICAgdGhpcy4jaHVtYW5JblRoZUxvb3BUb29sUmVuZGVyQ29uZmlncy5hc1JlYWRvbmx5KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4jY29uZmlnLnJlbmRlclRvb2xDYWxscz8uZm9yRWFjaCgocmVuZGVyQ29uZmlnKSA9PiB7XG4gICAgICB0aGlzLmFkZFJlbmRlclRvb2xDYWxsKHJlbmRlckNvbmZpZyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLiNjb25maWcudG9vbHM/LmZvckVhY2goKHRvb2wpID0+IHtcbiAgICAgIGlmICh0b29sLnJlbmRlcmVyICYmIHRvb2wucGFyYW1ldGVycykge1xuICAgICAgICB0aGlzLmFkZFJlbmRlclRvb2xDYWxsKHtcbiAgICAgICAgICBuYW1lOiB0b29sLm5hbWUsXG4gICAgICAgICAgYXJnczogdG9vbC5wYXJhbWV0ZXJzLFxuICAgICAgICAgIGNvbXBvbmVudDogdG9vbC5yZW5kZXJlcixcbiAgICAgICAgICBhZ2VudElkOiB0b29sLmFnZW50SWQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy4jY29uZmlnLmZyb250ZW5kVG9vbHM/LmZvckVhY2goKGNsaWVudFRvb2wpID0+IHtcbiAgICAgIHRoaXMuYWRkRnJvbnRlbmRUb29sKHsgLi4uY2xpZW50VG9vbCwgaW5qZWN0b3I6IHRoaXMuI3Jvb3RJbmplY3RvciB9KTtcbiAgICB9KTtcblxuICAgIHRoaXMuI2NvbmZpZy5odW1hbkluVGhlTG9vcD8uZm9yRWFjaCgoaHVtYW5JblRoZUxvb3BUb29sKSA9PiB7XG4gICAgICB0aGlzLmFkZEh1bWFuSW5UaGVMb29wKGh1bWFuSW5UaGVMb29wVG9vbCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNvcmUuc3Vic2NyaWJlKHtcbiAgICAgIG9uQWdlbnRzQ2hhbmdlZDogKCkgPT4ge1xuICAgICAgICB0aGlzLiNhZ2VudHMuc2V0KHRoaXMuY29yZS5hZ2VudHMpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gICNiaW5kQ2xpZW50VG9vbChcbiAgICBjbGllbnRUb29sV2l0aEluamVjdG9yOiBGcm9udGVuZFRvb2xDb25maWcgJiB7XG4gICAgICBpbmplY3RvcjogSW5qZWN0b3I7XG4gICAgfSxcbiAgKTogRnJvbnRlbmRUb29sIHtcbiAgICBjb25zdCB7IGluamVjdG9yLCBoYW5kbGVyLCBhcmdzLCBkZXNjcmlwdGlvbiwgbmFtZSwgYWdlbnRJZCB9ID0gY2xpZW50VG9vbFdpdGhJbmplY3RvcjtcblxuICAgIHJldHVybiB7XG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIG5hbWUsXG4gICAgICBhZ2VudElkLFxuICAgICAgaGFuZGxlcjogKGFyZ3MpID0+IHJ1bkluSW5qZWN0aW9uQ29udGV4dChpbmplY3RvciwgKCkgPT4gaGFuZGxlcihhcmdzKSksXG4gICAgICBwYXJhbWV0ZXJzOiBhcmdzLFxuICAgIH07XG4gIH1cblxuICBhZGRGcm9udGVuZFRvb2woXG4gICAgY2xpZW50VG9vbFdpdGhJbmplY3RvcjogRnJvbnRlbmRUb29sQ29uZmlnICYge1xuICAgICAgaW5qZWN0b3I6IEluamVjdG9yO1xuICAgIH0sXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHRvb2wgPSB0aGlzLiNiaW5kQ2xpZW50VG9vbChjbGllbnRUb29sV2l0aEluamVjdG9yKTtcblxuICAgIHRoaXMuY29yZS5hZGRUb29sKHRvb2wpO1xuXG4gICAgdGhpcy4jY2xpZW50VG9vbENhbGxSZW5kZXJDb25maWdzLnVwZGF0ZSgoY3VycmVudCkgPT4gWy4uLmN1cnJlbnQsIGNsaWVudFRvb2xXaXRoSW5qZWN0b3JdKTtcbiAgfVxuXG4gIGFkZFJlbmRlclRvb2xDYWxsKHJlbmRlckNvbmZpZzogUmVuZGVyVG9vbENhbGxDb25maWcpOiB2b2lkIHtcbiAgICB0aGlzLiN0b29sQ2FsbFJlbmRlckNvbmZpZ3MudXBkYXRlKChjdXJyZW50KSA9PiBbLi4uY3VycmVudCwgcmVuZGVyQ29uZmlnXSk7XG4gIH1cblxuICAjYmluZEh1bWFuSW5UaGVMb29wVG9vbChodW1hbkluVGhlTG9vcFRvb2w6IEh1bWFuSW5UaGVMb29wQ29uZmlnKTogRnJvbnRlbmRUb29sIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uaHVtYW5JblRoZUxvb3BUb29sLFxuICAgICAgaGFuZGxlcjogKGFyZ3MsIHRvb2xDYWxsKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLiNoaXRsLm9uUmVzdWx0KHRvb2xDYWxsLmlkLCBodW1hbkluVGhlTG9vcFRvb2wubmFtZSk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBhZGRIdW1hbkluVGhlTG9vcChodW1hbkluVGhlTG9vcFRvb2w6IEh1bWFuSW5UaGVMb29wQ29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy4jaHVtYW5JblRoZUxvb3BUb29sUmVuZGVyQ29uZmlncy51cGRhdGUoKGN1cnJlbnQpID0+IFsuLi5jdXJyZW50LCBodW1hbkluVGhlTG9vcFRvb2xdKTtcblxuICAgIGNvbnN0IHRvb2wgPSB0aGlzLiNiaW5kSHVtYW5JblRoZUxvb3BUb29sKGh1bWFuSW5UaGVMb29wVG9vbCk7XG5cbiAgICB0aGlzLmNvcmUuYWRkVG9vbCh0b29sKTtcbiAgfVxuXG4gICNpc1NhbWVBZ2VudElkPFQgZXh0ZW5kcyB7IGFnZW50SWQ/OiBzdHJpbmcgfT4odGFyZ2V0OiBULCBhZ2VudElkPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKGFnZW50SWQpIHtcbiAgICAgIHJldHVybiB0YXJnZXQuYWdlbnRJZCA9PT0gYWdlbnRJZDtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJlbW92ZVRvb2wodG9vbE5hbWU6IHN0cmluZywgYWdlbnRJZD86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY29yZS5yZW1vdmVUb29sKHRvb2xOYW1lKTtcbiAgICB0aGlzLiNjbGllbnRUb29sQ2FsbFJlbmRlckNvbmZpZ3MudXBkYXRlKChjdXJyZW50KSA9PlxuICAgICAgY3VycmVudC5maWx0ZXIoKHJlbmRlckNvbmZpZykgPT4gcmVuZGVyQ29uZmlnLm5hbWUgIT09IHRvb2xOYW1lICYmIHRoaXMuI2lzU2FtZUFnZW50SWQocmVuZGVyQ29uZmlnLCBhZ2VudElkKSksXG4gICAgKTtcbiAgICB0aGlzLiNodW1hbkluVGhlTG9vcFRvb2xSZW5kZXJDb25maWdzLnVwZGF0ZSgoY3VycmVudCkgPT5cbiAgICAgIGN1cnJlbnQuZmlsdGVyKChyZW5kZXJDb25maWcpID0+IHJlbmRlckNvbmZpZy5uYW1lICE9PSB0b29sTmFtZSAmJiB0aGlzLiNpc1NhbWVBZ2VudElkKHJlbmRlckNvbmZpZywgYWdlbnRJZCkpLFxuICAgICk7XG4gICAgdGhpcy4jdG9vbENhbGxSZW5kZXJDb25maWdzLnVwZGF0ZSgoY3VycmVudCkgPT5cbiAgICAgIGN1cnJlbnQuZmlsdGVyKChyZW5kZXJDb25maWcpID0+IHJlbmRlckNvbmZpZy5uYW1lICE9PSB0b29sTmFtZSAmJiB0aGlzLiNpc1NhbWVBZ2VudElkKHJlbmRlckNvbmZpZywgYWdlbnRJZCkpLFxuICAgICk7XG4gIH1cblxuICBnZXRBZ2VudChhZ2VudElkOiBzdHJpbmcpOiBBYnN0cmFjdEFnZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jb3JlLmdldEFnZW50KGFnZW50SWQpO1xuICB9XG5cbiAgdXBkYXRlUnVudGltZShvcHRpb25zOiB7XG4gICAgcnVudGltZVVybD86IHN0cmluZztcbiAgICBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICBwcm9wZXJ0aWVzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgYWdlbnRzPzogUmVjb3JkPHN0cmluZywgQWJzdHJhY3RBZ2VudD47XG4gIH0pOiB2b2lkIHtcbiAgICBpZiAob3B0aW9ucy5ydW50aW1lVXJsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY29yZS5zZXRSdW50aW1lVXJsKG9wdGlvbnMucnVudGltZVVybCk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLmhlYWRlcnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jb3JlLnNldEhlYWRlcnMob3B0aW9ucy5oZWFkZXJzKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMucHJvcGVydGllcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNvcmUuc2V0UHJvcGVydGllcyhvcHRpb25zLnByb3BlcnRpZXMpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5hZ2VudHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jb3JlLnNldEFnZW50c19fdW5zYWZlX2Rldl9vbmx5KG9wdGlvbnMuYWdlbnRzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdGtpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY29waWxvdGtpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWdCLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFDTCxVQUFVLEVBQ1YsUUFBUSxFQUdSLHFCQUFxQixFQUNyQixNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBR3JELE1BQU0sT0FBTyxVQUFVO0lBQ1osT0FBTyxHQUFHLHNCQUFzQixFQUFFLENBQUM7SUFDbkMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMvQixhQUFhLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLE9BQU8sR0FBRyxNQUFNLENBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FDMUIsQ0FBQztJQUNPLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRW5DLElBQUksR0FBRyxJQUFJLGNBQWMsQ0FBQztRQUNqQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVO1FBQ25DLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87UUFDN0IsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVTtRQUNuQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07UUFDNUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSztLQUMxQixDQUFDLENBQUM7SUFFTSxzQkFBc0IsR0FDN0IsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ0osNEJBQTRC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QUFPLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDSCxDQUFDO3dHQXJMVSxVQUFVOzRHQUFWLFVBQVUsY0FERyxNQUFNOzs0RkFDbkIsVUFBVTtrQkFEdEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdEFnZW50IH0gZnJvbSBcIkBhZy11aS9jbGllbnRcIjtcbmltcG9ydCB7IEZyb250ZW5kVG9vbCwgQ29waWxvdEtpdENvcmUgfSBmcm9tIFwiQGNvcGlsb3RraXRuZXh0L2NvcmVcIjtcbmltcG9ydCB7XG4gIEluamVjdGFibGUsXG4gIEluamVjdG9yLFxuICBTaWduYWwsXG4gIFdyaXRhYmxlU2lnbmFsLFxuICBydW5JbkluamVjdGlvbkNvbnRleHQsXG4gIHNpZ25hbCxcbiAgaW5qZWN0LFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgRnJvbnRlbmRUb29sQ29uZmlnLFxuICBIdW1hbkluVGhlTG9vcENvbmZpZyxcbiAgUmVuZGVyVG9vbENhbGxDb25maWcsXG59IGZyb20gXCIuL3Rvb2xzXCI7XG5pbXBvcnQgeyBpbmplY3RDb3BpbG90S2l0Q29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XG5pbXBvcnQgeyBIdW1hbkluVGhlTG9vcCB9IGZyb20gXCIuL2h1bWFuLWluLXRoZS1sb29wXCI7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogXCJyb290XCIgfSlcbmV4cG9ydCBjbGFzcyBDb3BpbG90S2l0IHtcbiAgcmVhZG9ubHkgI2NvbmZpZyA9IGluamVjdENvcGlsb3RLaXRDb25maWcoKTtcbiAgcmVhZG9ubHkgI2hpdGwgPSBpbmplY3QoSHVtYW5JblRoZUxvb3ApO1xuICByZWFkb25seSAjcm9vdEluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgcmVhZG9ubHkgI2FnZW50cyA9IHNpZ25hbDxSZWNvcmQ8c3RyaW5nLCBBYnN0cmFjdEFnZW50Pj4oXG4gICAgdGhpcy4jY29uZmlnLmFnZW50cyA/PyB7fVxuICApO1xuICByZWFkb25seSBhZ2VudHMgPSB0aGlzLiNhZ2VudHMuYXNSZWFkb25seSgpO1xuXG4gIHJlYWRvbmx5IGNvcmUgPSBuZXcgQ29waWxvdEtpdENvcmUoe1xuICAgIHJ1bnRpbWVVcmw6IHRoaXMuI2NvbmZpZy5ydW50aW1lVXJsLFxuICAgIGhlYWRlcnM6IHRoaXMuI2NvbmZpZy5oZWFkZXJzLFxuICAgIHByb3BlcnRpZXM6IHRoaXMuI2NvbmZpZy5wcm9wZXJ0aWVzLFxuICAgIGFnZW50c19fdW5zYWZlX2Rldl9vbmx5OiB0aGlzLiNjb25maWcuYWdlbnRzLFxuICAgIHRvb2xzOiB0aGlzLiNjb25maWcudG9vbHMsXG4gIH0pO1xuXG4gIHJlYWRvbmx5ICN0b29sQ2FsbFJlbmRlckNvbmZpZ3M6IFdyaXRhYmxlU2lnbmFsPFJlbmRlclRvb2xDYWxsQ29uZmlnW10+ID1cbiAgICBzaWduYWwoW10pO1xuICByZWFkb25seSAjY2xpZW50VG9vbENhbGxSZW5kZXJDb25maWdzOiBXcml0YWJsZVNpZ25hbDxGcm9udGVuZFRvb2xDb25maWdbXT4gPVxuICAgIHNpZ25hbChbXSk7XG4gIHJlYWRvbmx5ICNodW1hbkluVGhlTG9vcFRvb2xSZW5kZXJDb25maWdzOiBXcml0YWJsZVNpZ25hbDxcbiAgICBIdW1hbkluVGhlTG9vcENvbmZpZ1tdXG4gID4gPSBzaWduYWwoW10pO1xuXG4gIHJlYWRvbmx5IHRvb2xDYWxsUmVuZGVyQ29uZmlnczogU2lnbmFsPFJlbmRlclRvb2xDYWxsQ29uZmlnW10+ID1cbiAgICB0aGlzLiN0b29sQ2FsbFJlbmRlckNvbmZpZ3MuYXNSZWFkb25seSgpO1xuICByZWFkb25seSBjbGllbnRUb29sQ2FsbFJlbmRlckNvbmZpZ3M6IFNpZ25hbDxGcm9udGVuZFRvb2xDb25maWdbXT4gPVxuICAgIHRoaXMuI2NsaWVudFRvb2xDYWxsUmVuZGVyQ29uZmlncy5hc1JlYWRvbmx5KCk7XG4gIHJlYWRvbmx5IGh1bWFuSW5UaGVMb29wVG9vbFJlbmRlckNvbmZpZ3M6IFNpZ25hbDxIdW1hbkluVGhlTG9vcENvbmZpZ1tdPiA9XG4gICAgdGhpcy4jaHVtYW5JblRoZUxvb3BUb29sUmVuZGVyQ29uZmlncy5hc1JlYWRvbmx5KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4jY29uZmlnLnJlbmRlclRvb2xDYWxscz8uZm9yRWFjaCgocmVuZGVyQ29uZmlnKSA9PiB7XG4gICAgICB0aGlzLmFkZFJlbmRlclRvb2xDYWxsKHJlbmRlckNvbmZpZyk7XG4gICAgfSk7XG5cbiAgICB0aGlzLiNjb25maWcudG9vbHM/LmZvckVhY2goKHRvb2wpID0+IHtcbiAgICAgIGlmICh0b29sLnJlbmRlcmVyICYmIHRvb2wucGFyYW1ldGVycykge1xuICAgICAgICB0aGlzLmFkZFJlbmRlclRvb2xDYWxsKHtcbiAgICAgICAgICBuYW1lOiB0b29sLm5hbWUsXG4gICAgICAgICAgYXJnczogdG9vbC5wYXJhbWV0ZXJzLFxuICAgICAgICAgIGNvbXBvbmVudDogdG9vbC5yZW5kZXJlcixcbiAgICAgICAgICBhZ2VudElkOiB0b29sLmFnZW50SWQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy4jY29uZmlnLmZyb250ZW5kVG9vbHM/LmZvckVhY2goKGNsaWVudFRvb2wpID0+IHtcbiAgICAgIHRoaXMuYWRkRnJvbnRlbmRUb29sKHsgLi4uY2xpZW50VG9vbCwgaW5qZWN0b3I6IHRoaXMuI3Jvb3RJbmplY3RvciB9KTtcbiAgICB9KTtcblxuICAgIHRoaXMuI2NvbmZpZy5odW1hbkluVGhlTG9vcD8uZm9yRWFjaCgoaHVtYW5JblRoZUxvb3BUb29sKSA9PiB7XG4gICAgICB0aGlzLmFkZEh1bWFuSW5UaGVMb29wKGh1bWFuSW5UaGVMb29wVG9vbCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNvcmUuc3Vic2NyaWJlKHtcbiAgICAgIG9uQWdlbnRzQ2hhbmdlZDogKCkgPT4ge1xuICAgICAgICB0aGlzLiNhZ2VudHMuc2V0KHRoaXMuY29yZS5hZ2VudHMpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gICNiaW5kQ2xpZW50VG9vbDxBcmdzIGV4dGVuZHMgb2JqZWN0PihcbiAgICBjbGllbnRUb29sV2l0aEluamVjdG9yOiBGcm9udGVuZFRvb2xDb25maWc8QXJncz4gJiB7XG4gICAgICBpbmplY3RvcjogSW5qZWN0b3I7XG4gICAgfVxuICApOiBGcm9udGVuZFRvb2w8QXJncz4ge1xuICAgIGNvbnN0IHsgaW5qZWN0b3IsIGhhbmRsZXIsIC4uLmZyb250ZW5kQ2FuZGlkYXRlIH0gPSBjbGllbnRUb29sV2l0aEluamVjdG9yO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmZyb250ZW5kQ2FuZGlkYXRlLFxuICAgICAgaGFuZGxlcjogKGFyZ3MpID0+IHJ1bkluSW5qZWN0aW9uQ29udGV4dChpbmplY3RvciwgKCkgPT4gaGFuZGxlcihhcmdzIGFzIEFyZ3MpKSxcbiAgICB9O1xuICB9XG5cbiAgYWRkRnJvbnRlbmRUb29sPEFyZ3MgZXh0ZW5kcyBvYmplY3Q+KFxuICAgIGNsaWVudFRvb2xXaXRoSW5qZWN0b3I6IEZyb250ZW5kVG9vbENvbmZpZzxBcmdzPiAmIHtcbiAgICAgIGluamVjdG9yOiBJbmplY3RvcjtcbiAgICB9XG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHRvb2wgPSB0aGlzLiNiaW5kQ2xpZW50VG9vbChjbGllbnRUb29sV2l0aEluamVjdG9yKTtcblxuICAgIHRoaXMuY29yZS5hZGRUb29sKHRvb2wpO1xuXG4gICAgdGhpcy4jY2xpZW50VG9vbENhbGxSZW5kZXJDb25maWdzLnVwZGF0ZSgoY3VycmVudCkgPT4gW1xuICAgICAgLi4uY3VycmVudCxcbiAgICAgIC8vIEVyYXNlIGdlbmVyaWMgcGFyYW1ldGVyIGZvciBzdG9yYWdlIHdpdGhvdXQgdXNpbmcgYGFueWAuXG4gICAgICBjbGllbnRUb29sV2l0aEluamVjdG9yIGFzIEZyb250ZW5kVG9vbENvbmZpZyxcbiAgICBdKTtcbiAgfVxuXG4gIGFkZFJlbmRlclRvb2xDYWxsPEFyZ3MgZXh0ZW5kcyBvYmplY3Q+KHJlbmRlckNvbmZpZzogUmVuZGVyVG9vbENhbGxDb25maWc8QXJncz4pOiB2b2lkIHtcbiAgICB0aGlzLiN0b29sQ2FsbFJlbmRlckNvbmZpZ3MudXBkYXRlKChjdXJyZW50KSA9PiBbXG4gICAgICAuLi5jdXJyZW50LFxuICAgICAgLy8gRXJhc2UgZ2VuZXJpYyBwYXJhbWV0ZXIgZm9yIHN0b3JhZ2Ugd2l0aG91dCB1c2luZyBgYW55YC5cbiAgICAgIHJlbmRlckNvbmZpZyBhcyBSZW5kZXJUb29sQ2FsbENvbmZpZyxcbiAgICBdKTtcbiAgfVxuXG4gICNiaW5kSHVtYW5JblRoZUxvb3BUb29sPEFyZ3MgZXh0ZW5kcyBvYmplY3Q+KFxuICAgIGh1bWFuSW5UaGVMb29wVG9vbDogSHVtYW5JblRoZUxvb3BDb25maWc8QXJncz5cbiAgKTogRnJvbnRlbmRUb29sPEFyZ3M+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uaHVtYW5JblRoZUxvb3BUb29sLFxuICAgICAgaGFuZGxlcjogKGFyZ3MsIHRvb2xDYWxsKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLiNoaXRsLm9uUmVzdWx0KHRvb2xDYWxsLmlkLCBodW1hbkluVGhlTG9vcFRvb2wubmFtZSk7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBhZGRIdW1hbkluVGhlTG9vcDxBcmdzIGV4dGVuZHMgb2JqZWN0PihodW1hbkluVGhlTG9vcFRvb2w6IEh1bWFuSW5UaGVMb29wQ29uZmlnPEFyZ3M+KTogdm9pZCB7XG4gICAgdGhpcy4jaHVtYW5JblRoZUxvb3BUb29sUmVuZGVyQ29uZmlncy51cGRhdGUoKGN1cnJlbnQpID0+IFtcbiAgICAgIC4uLmN1cnJlbnQsXG4gICAgICAvLyBFcmFzZSBnZW5lcmljIHBhcmFtZXRlciBmb3Igc3RvcmFnZSB3aXRob3V0IHVzaW5nIGBhbnlgLlxuICAgICAgaHVtYW5JblRoZUxvb3BUb29sIGFzIEh1bWFuSW5UaGVMb29wQ29uZmlnLFxuICAgIF0pO1xuXG4gICAgY29uc3QgdG9vbCA9IHRoaXMuI2JpbmRIdW1hbkluVGhlTG9vcFRvb2woaHVtYW5JblRoZUxvb3BUb29sKTtcblxuICAgIHRoaXMuY29yZS5hZGRUb29sKHRvb2wpO1xuICB9XG5cbiAgI2lzU2FtZUFnZW50SWQ8VCBleHRlbmRzIHsgYWdlbnRJZD86IHN0cmluZyB9PihcbiAgICB0YXJnZXQ6IFQsXG4gICAgYWdlbnRJZD86IHN0cmluZ1xuICApOiBib29sZWFuIHtcbiAgICBpZiAoYWdlbnRJZCkge1xuICAgICAgcmV0dXJuIHRhcmdldC5hZ2VudElkID09PSBhZ2VudElkO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmVtb3ZlVG9vbCh0b29sTmFtZTogc3RyaW5nLCBhZ2VudElkPzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb3JlLnJlbW92ZVRvb2wodG9vbE5hbWUpO1xuICAgIHRoaXMuI2NsaWVudFRvb2xDYWxsUmVuZGVyQ29uZmlncy51cGRhdGUoKGN1cnJlbnQpID0+XG4gICAgICBjdXJyZW50LmZpbHRlcihcbiAgICAgICAgKHJlbmRlckNvbmZpZykgPT5cbiAgICAgICAgICByZW5kZXJDb25maWcubmFtZSAhPT0gdG9vbE5hbWUgJiZcbiAgICAgICAgICB0aGlzLiNpc1NhbWVBZ2VudElkKHJlbmRlckNvbmZpZywgYWdlbnRJZClcbiAgICAgIClcbiAgICApO1xuICAgIHRoaXMuI2h1bWFuSW5UaGVMb29wVG9vbFJlbmRlckNvbmZpZ3MudXBkYXRlKChjdXJyZW50KSA9PlxuICAgICAgY3VycmVudC5maWx0ZXIoXG4gICAgICAgIChyZW5kZXJDb25maWcpID0+XG4gICAgICAgICAgcmVuZGVyQ29uZmlnLm5hbWUgIT09IHRvb2xOYW1lICYmXG4gICAgICAgICAgdGhpcy4jaXNTYW1lQWdlbnRJZChyZW5kZXJDb25maWcsIGFnZW50SWQpXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLiN0b29sQ2FsbFJlbmRlckNvbmZpZ3MudXBkYXRlKChjdXJyZW50KSA9PlxuICAgICAgY3VycmVudC5maWx0ZXIoXG4gICAgICAgIChyZW5kZXJDb25maWcpID0+XG4gICAgICAgICAgcmVuZGVyQ29uZmlnLm5hbWUgIT09IHRvb2xOYW1lICYmXG4gICAgICAgICAgdGhpcy4jaXNTYW1lQWdlbnRJZChyZW5kZXJDb25maWcsIGFnZW50SWQpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGdldEFnZW50KGFnZW50SWQ6IHN0cmluZyk6IEFic3RyYWN0QWdlbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNvcmUuZ2V0QWdlbnQoYWdlbnRJZCk7XG4gIH1cblxuICB1cGRhdGVSdW50aW1lKG9wdGlvbnM6IHtcbiAgICBydW50aW1lVXJsPzogc3RyaW5nO1xuICAgIGhlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIHByb3BlcnRpZXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICBhZ2VudHM/OiBSZWNvcmQ8c3RyaW5nLCBBYnN0cmFjdEFnZW50PjtcbiAgfSk6IHZvaWQge1xuICAgIGlmIChvcHRpb25zLnJ1bnRpbWVVcmwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jb3JlLnNldFJ1bnRpbWVVcmwob3B0aW9ucy5ydW50aW1lVXJsKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuaGVhZGVycyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNvcmUuc2V0SGVhZGVycyhvcHRpb25zLmhlYWRlcnMpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5wcm9wZXJ0aWVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY29yZS5zZXRQcm9wZXJ0aWVzKG9wdGlvbnMucHJvcGVydGllcyk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLmFnZW50cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNvcmUuc2V0QWdlbnRzX191bnNhZmVfZGV2X29ubHkob3B0aW9ucy5hZ2VudHMpO1xuICAgIH1cbiAgfVxufSJdfQ==
@@ -28,4 +28,4 @@ export function registerHumanInTheLoop(humanInTheLoop) {
28
28
  copilotKit.removeTool(humanInTheLoop.name);
29
29
  });
30
30
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Rvb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFnQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQXlGMUMsTUFBTSxVQUFVLHNCQUFzQixDQUVwQyxjQUEwQztJQUMxQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXRDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUU3QyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUN4QixVQUFVLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JFLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FFbEMsWUFBc0M7SUFDdEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFdEMsVUFBVSxDQUFDLGVBQWUsQ0FBQztRQUN6QixHQUFJLFlBQW1DO1FBQ3ZDLFFBQVE7S0FDVCxDQUFDLENBQUM7SUFFSCxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUN4QixVQUFVLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBRXBDLGNBQTBDO0lBQzFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFdEMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRTdDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ3hCLFVBQVUsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIEluamVjdG9yLCBTaWduYWwsIFR5cGUsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGcm9udGVuZFRvb2wgfSBmcm9tIFwiQGNvcGlsb3RraXRuZXh0L2NvcmVcIjtcbmltcG9ydCB7IHogfSBmcm9tIFwiem9kXCI7XG5pbXBvcnQgeyBDb3BpbG90S2l0IH0gZnJvbSBcIi4vY29waWxvdGtpdFwiO1xuXG5leHBvcnQgdHlwZSBBbmd1bGFyVG9vbENhbGw8XG4gIEFyZ3MgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiA9XG4gIHwge1xuICAgICAgYXJnczogUGFydGlhbDxBcmdzPjtcbiAgICAgIHN0YXR1czogXCJpbi1wcm9ncmVzc1wiO1xuICAgICAgcmVzdWx0OiB1bmRlZmluZWQ7XG4gICAgfVxuICB8IHtcbiAgICAgIGFyZ3M6IEFyZ3M7XG4gICAgICBzdGF0dXM6IFwiZXhlY3V0aW5nXCI7XG4gICAgICByZXN1bHQ6IHVuZGVmaW5lZDtcbiAgICB9XG4gIHwge1xuICAgICAgYXJnczogQXJncztcbiAgICAgIHN0YXR1czogXCJjb21wbGV0ZVwiO1xuICAgICAgcmVzdWx0OiBzdHJpbmc7XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgSHVtYW5JblRoZUxvb3BUb29sQ2FsbDxcbiAgQXJncyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+ID1cbiAgfCB7XG4gICAgICBhcmdzOiBQYXJ0aWFsPEFyZ3M+O1xuICAgICAgc3RhdHVzOiBcImluLXByb2dyZXNzXCI7XG4gICAgICByZXN1bHQ6IHVuZGVmaW5lZDtcbiAgICB9XG4gIHwge1xuICAgICAgYXJnczogQXJncztcbiAgICAgIHN0YXR1czogXCJleGVjdXRpbmdcIjtcbiAgICAgIHJlc3VsdDogdW5kZWZpbmVkO1xuICAgICAgcmVzcG9uZDogKHJlc3VsdDogdW5rbm93bikgPT4gdm9pZDtcbiAgICB9XG4gIHwge1xuICAgICAgYXJnczogQXJncztcbiAgICAgIHN0YXR1czogXCJjb21wbGV0ZVwiO1xuICAgICAgcmVzdWx0OiBzdHJpbmc7XG4gICAgfTtcblxuZXhwb3J0IGludGVyZmFjZSBUb29sUmVuZGVyZXI8XG4gIEFyZ3MgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiB7XG4gIHRvb2xDYWxsOiBTaWduYWw8QW5ndWxhclRvb2xDYWxsPEFyZ3M+Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdW1hbkluVGhlTG9vcFRvb2xSZW5kZXJlcjxcbiAgQXJncyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+IHtcbiAgdG9vbENhbGw6IFNpZ25hbDxIdW1hbkluVGhlTG9vcFRvb2xDYWxsPEFyZ3M+Pjtcbn1cblxuZXhwb3J0IHR5cGUgQ2xpZW50VG9vbDxcbiAgQXJncyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+ID0gT21pdDxGcm9udGVuZFRvb2w8QXJncz4sIFwiaGFuZGxlclwiPiAmIHtcbiAgcmVuZGVyZXI/OiBUeXBlPFRvb2xSZW5kZXJlcjxBcmdzPj47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlbmRlclRvb2xDYWxsQ29uZmlnPFxuICBBcmdzIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGFyZ3M6IHouWm9kVHlwZTxBcmdzPjtcbiAgY29tcG9uZW50OiBUeXBlPFRvb2xSZW5kZXJlcjxBcmdzPj47XG4gIGFnZW50SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnJvbnRlbmRUb29sQ29uZmlnPFxuICBBcmdzIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGFyZ3M6IHouWm9kVHlwZTxBcmdzPjtcbiAgY29tcG9uZW50OiBUeXBlPFRvb2xSZW5kZXJlcjxBcmdzPj47XG4gIGhhbmRsZXI6IChhcmdzOiBBcmdzKSA9PiBQcm9taXNlPHVua25vd24+O1xuICBhZ2VudElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEh1bWFuSW5UaGVMb29wQ29uZmlnPFxuICBBcmdzIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGFyZ3M6IHouWm9kVHlwZTxBcmdzPjtcbiAgY29tcG9uZW50OiBUeXBlPEh1bWFuSW5UaGVMb29wVG9vbFJlbmRlcmVyPEFyZ3M+PjtcbiAgdG9vbENhbGw6IFNpZ25hbDxIdW1hbkluVGhlTG9vcFRvb2xDYWxsPEFyZ3M+PjtcbiAgYWdlbnRJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyUmVuZGVyVG9vbENhbGw8XG4gIEFyZ3MgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPihyZW5kZXJUb29sQ2FsbDogUmVuZGVyVG9vbENhbGxDb25maWc8QXJncz4pOiB2b2lkIHtcbiAgY29uc3QgY29waWxvdEtpdCA9IGluamVjdChDb3BpbG90S2l0KTtcbiAgY29uc3QgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBjb3BpbG90S2l0LmFkZFJlbmRlclRvb2xDYWxsKHJlbmRlclRvb2xDYWxsKTtcblxuICBkZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgY29waWxvdEtpdC5yZW1vdmVUb29sKHJlbmRlclRvb2xDYWxsLm5hbWUsIHJlbmRlclRvb2xDYWxsLmFnZW50SWQpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRnJvbnRlbmRUb29sPFxuICBBcmdzIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4oZnJvbnRlbmRUb29sOiBGcm9udGVuZFRvb2xDb25maWc8QXJncz4pOiB2b2lkIHtcbiAgY29uc3QgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICBjb25zdCBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBjb25zdCBjb3BpbG90S2l0ID0gaW5qZWN0KENvcGlsb3RLaXQpO1xuXG4gIGNvcGlsb3RLaXQuYWRkRnJvbnRlbmRUb29sKHtcbiAgICAuLi4oZnJvbnRlbmRUb29sIGFzIEZyb250ZW5kVG9vbENvbmZpZyksXG4gICAgaW5qZWN0b3IsXG4gIH0pO1xuXG4gIGRlc3Ryb3lSZWYub25EZXN0cm95KCgpID0+IHtcbiAgICBjb3BpbG90S2l0LnJlbW92ZVRvb2woZnJvbnRlbmRUb29sLm5hbWUpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVySHVtYW5JblRoZUxvb3A8XG4gIEFyZ3MgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPihodW1hbkluVGhlTG9vcDogSHVtYW5JblRoZUxvb3BDb25maWc8QXJncz4pOiB2b2lkIHtcbiAgY29uc3QgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgY29uc3QgY29waWxvdEtpdCA9IGluamVjdChDb3BpbG90S2l0KTtcblxuICBjb3BpbG90S2l0LmFkZEh1bWFuSW5UaGVMb29wKGh1bWFuSW5UaGVMb29wKTtcblxuICBkZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgY29waWxvdEtpdC5yZW1vdmVUb29sKGh1bWFuSW5UaGVMb29wLm5hbWUpO1xuICB9KTtcbn1cbiJdfQ==
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3Rvb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFnQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQXlGMUMsTUFBTSxVQUFVLHNCQUFzQixDQUVwQyxjQUEwQztJQUMxQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXRDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUU3QyxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUN4QixVQUFVLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JFLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FFbEMsWUFBc0M7SUFDdEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFdEMsVUFBVSxDQUFDLGVBQWUsQ0FBQztRQUN6QixHQUFJLFlBQW1DO1FBQ3ZDLFFBQVE7S0FDVCxDQUFDLENBQUM7SUFFSCxVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUN4QixVQUFVLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBRXBDLGNBQTBDO0lBQzFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFdEMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRTdDLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ3hCLFVBQVUsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIEluamVjdG9yLCBTaWduYWwsIFR5cGUsIGluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGcm9udGVuZFRvb2wgfSBmcm9tIFwiQGNvcGlsb3RraXRuZXh0L2NvcmVcIjtcbmltcG9ydCB7IHogfSBmcm9tIFwiem9kXCI7XG5pbXBvcnQgeyBDb3BpbG90S2l0IH0gZnJvbSBcIi4vY29waWxvdGtpdFwiO1xuXG5leHBvcnQgdHlwZSBBbmd1bGFyVG9vbENhbGw8XG4gIEFyZ3MgZXh0ZW5kcyBvYmplY3QgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPVxuICB8IHtcbiAgICAgIGFyZ3M6IFBhcnRpYWw8QXJncz47XG4gICAgICBzdGF0dXM6IFwiaW4tcHJvZ3Jlc3NcIjtcbiAgICAgIHJlc3VsdDogdW5kZWZpbmVkO1xuICAgIH1cbiAgfCB7XG4gICAgICBhcmdzOiBBcmdzO1xuICAgICAgc3RhdHVzOiBcImV4ZWN1dGluZ1wiO1xuICAgICAgcmVzdWx0OiB1bmRlZmluZWQ7XG4gICAgfVxuICB8IHtcbiAgICAgIGFyZ3M6IEFyZ3M7XG4gICAgICBzdGF0dXM6IFwiY29tcGxldGVcIjtcbiAgICAgIHJlc3VsdDogc3RyaW5nO1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIEh1bWFuSW5UaGVMb29wVG9vbENhbGw8XG4gIEFyZ3MgZXh0ZW5kcyBvYmplY3QgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPVxuICB8IHtcbiAgICAgIGFyZ3M6IFBhcnRpYWw8QXJncz47XG4gICAgICBzdGF0dXM6IFwiaW4tcHJvZ3Jlc3NcIjtcbiAgICAgIHJlc3VsdDogdW5kZWZpbmVkO1xuICAgIH1cbiAgfCB7XG4gICAgICBhcmdzOiBBcmdzO1xuICAgICAgc3RhdHVzOiBcImV4ZWN1dGluZ1wiO1xuICAgICAgcmVzdWx0OiB1bmRlZmluZWQ7XG4gICAgICByZXNwb25kOiAocmVzdWx0OiB1bmtub3duKSA9PiB2b2lkO1xuICAgIH1cbiAgfCB7XG4gICAgICBhcmdzOiBBcmdzO1xuICAgICAgc3RhdHVzOiBcImNvbXBsZXRlXCI7XG4gICAgICByZXN1bHQ6IHN0cmluZztcbiAgICB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRvb2xSZW5kZXJlcjxcbiAgQXJncyBleHRlbmRzIG9iamVjdCA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiB7XG4gIHRvb2xDYWxsOiBTaWduYWw8QW5ndWxhclRvb2xDYWxsPEFyZ3M+Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdW1hbkluVGhlTG9vcFRvb2xSZW5kZXJlcjxcbiAgQXJncyBleHRlbmRzIG9iamVjdCA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiB7XG4gIHRvb2xDYWxsOiBTaWduYWw8SHVtYW5JblRoZUxvb3BUb29sQ2FsbDxBcmdzPj47XG59XG5cbmV4cG9ydCB0eXBlIENsaWVudFRvb2w8XG4gIEFyZ3MgZXh0ZW5kcyBvYmplY3QgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSBPbWl0PEZyb250ZW5kVG9vbDxBcmdzPiwgXCJoYW5kbGVyXCI+ICYge1xuICByZW5kZXJlcj86IFR5cGU8VG9vbFJlbmRlcmVyPEFyZ3M+Pjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVuZGVyVG9vbENhbGxDb25maWc8XG4gIEFyZ3MgZXh0ZW5kcyBvYmplY3QgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGFyZ3M6IHouWm9kVHlwZTxBcmdzPjtcbiAgY29tcG9uZW50OiBUeXBlPFRvb2xSZW5kZXJlcjxBcmdzPj47XG4gIGFnZW50SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnJvbnRlbmRUb29sQ29uZmlnPFxuICBBcmdzIGV4dGVuZHMgb2JqZWN0ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+IHtcbiAgbmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBhcmdzOiB6LlpvZFR5cGU8QXJncz47XG4gIGNvbXBvbmVudDogVHlwZTxUb29sUmVuZGVyZXI8QXJncz4+O1xuICBoYW5kbGVyOiAoYXJnczogQXJncykgPT4gUHJvbWlzZTx1bmtub3duPjtcbiAgYWdlbnRJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdW1hbkluVGhlTG9vcENvbmZpZzxcbiAgQXJncyBleHRlbmRzIG9iamVjdCA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiB7XG4gIG5hbWU6IHN0cmluZztcbiAgYXJnczogei5ab2RUeXBlPEFyZ3M+O1xuICBjb21wb25lbnQ6IFR5cGU8SHVtYW5JblRoZUxvb3BUb29sUmVuZGVyZXI8QXJncz4+O1xuICB0b29sQ2FsbDogU2lnbmFsPEh1bWFuSW5UaGVMb29wVG9vbENhbGw8QXJncz4+O1xuICBhZ2VudElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJSZW5kZXJUb29sQ2FsbDxcbiAgQXJncyBleHRlbmRzIG9iamVjdCA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPihyZW5kZXJUb29sQ2FsbDogUmVuZGVyVG9vbENhbGxDb25maWc8QXJncz4pOiB2b2lkIHtcbiAgY29uc3QgY29waWxvdEtpdCA9IGluamVjdChDb3BpbG90S2l0KTtcbiAgY29uc3QgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBjb3BpbG90S2l0LmFkZFJlbmRlclRvb2xDYWxsKHJlbmRlclRvb2xDYWxsKTtcblxuICBkZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgY29waWxvdEtpdC5yZW1vdmVUb29sKHJlbmRlclRvb2xDYWxsLm5hbWUsIHJlbmRlclRvb2xDYWxsLmFnZW50SWQpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRnJvbnRlbmRUb29sPFxuICBBcmdzIGV4dGVuZHMgb2JqZWN0ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+KGZyb250ZW5kVG9vbDogRnJvbnRlbmRUb29sQ29uZmlnPEFyZ3M+KTogdm9pZCB7XG4gIGNvbnN0IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgY29uc3QgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgY29uc3QgY29waWxvdEtpdCA9IGluamVjdChDb3BpbG90S2l0KTtcblxuICBjb3BpbG90S2l0LmFkZEZyb250ZW5kVG9vbCh7XG4gICAgLi4uKGZyb250ZW5kVG9vbCBhcyBGcm9udGVuZFRvb2xDb25maWcpLFxuICAgIGluamVjdG9yLFxuICB9KTtcblxuICBkZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgY29waWxvdEtpdC5yZW1vdmVUb29sKGZyb250ZW5kVG9vbC5uYW1lKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3Rlckh1bWFuSW5UaGVMb29wPFxuICBBcmdzIGV4dGVuZHMgb2JqZWN0ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+KGh1bWFuSW5UaGVMb29wOiBIdW1hbkluVGhlTG9vcENvbmZpZzxBcmdzPik6IHZvaWQge1xuICBjb25zdCBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBjb25zdCBjb3BpbG90S2l0ID0gaW5qZWN0KENvcGlsb3RLaXQpO1xuXG4gIGNvcGlsb3RLaXQuYWRkSHVtYW5JblRoZUxvb3AoaHVtYW5JblRoZUxvb3ApO1xuXG4gIGRlc3Ryb3lSZWYub25EZXN0cm95KCgpID0+IHtcbiAgICBjb3BpbG90S2l0LnJlbW92ZVRvb2woaHVtYW5JblRoZUxvb3AubmFtZSk7XG4gIH0pO1xufVxuIl19
@@ -90,22 +90,27 @@ class CopilotKit {
90
90
  });
91
91
  }
92
92
  #bindClientTool(clientToolWithInjector) {
93
- const { injector, handler, args, description, name, agentId } = clientToolWithInjector;
93
+ const { injector, handler, ...frontendCandidate } = clientToolWithInjector;
94
94
  return {
95
- description,
96
- name,
97
- agentId,
95
+ ...frontendCandidate,
98
96
  handler: (args) => runInInjectionContext(injector, () => handler(args)),
99
- parameters: args,
100
97
  };
101
98
  }
102
99
  addFrontendTool(clientToolWithInjector) {
103
100
  const tool = this.#bindClientTool(clientToolWithInjector);
104
101
  this.core.addTool(tool);
105
- this.#clientToolCallRenderConfigs.update((current) => [...current, clientToolWithInjector]);
102
+ this.#clientToolCallRenderConfigs.update((current) => [
103
+ ...current,
104
+ // Erase generic parameter for storage without using `any`.
105
+ clientToolWithInjector,
106
+ ]);
106
107
  }
107
108
  addRenderToolCall(renderConfig) {
108
- this.#toolCallRenderConfigs.update((current) => [...current, renderConfig]);
109
+ this.#toolCallRenderConfigs.update((current) => [
110
+ ...current,
111
+ // Erase generic parameter for storage without using `any`.
112
+ renderConfig,
113
+ ]);
109
114
  }
110
115
  #bindHumanInTheLoopTool(humanInTheLoopTool) {
111
116
  return {
@@ -116,7 +121,11 @@ class CopilotKit {
116
121
  };
117
122
  }
118
123
  addHumanInTheLoop(humanInTheLoopTool) {
119
- this.#humanInTheLoopToolRenderConfigs.update((current) => [...current, humanInTheLoopTool]);
124
+ this.#humanInTheLoopToolRenderConfigs.update((current) => [
125
+ ...current,
126
+ // Erase generic parameter for storage without using `any`.
127
+ humanInTheLoopTool,
128
+ ]);
120
129
  const tool = this.#bindHumanInTheLoopTool(humanInTheLoopTool);
121
130
  this.core.addTool(tool);
122
131
  }
@@ -128,9 +137,12 @@ class CopilotKit {
128
137
  }
129
138
  removeTool(toolName, agentId) {
130
139
  this.core.removeTool(toolName);
131
- this.#clientToolCallRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName && this.#isSameAgentId(renderConfig, agentId)));
132
- this.#humanInTheLoopToolRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName && this.#isSameAgentId(renderConfig, agentId)));
133
- this.#toolCallRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName && this.#isSameAgentId(renderConfig, agentId)));
140
+ this.#clientToolCallRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName &&
141
+ this.#isSameAgentId(renderConfig, agentId)));
142
+ this.#humanInTheLoopToolRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName &&
143
+ this.#isSameAgentId(renderConfig, agentId)));
144
+ this.#toolCallRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName &&
145
+ this.#isSameAgentId(renderConfig, agentId)));
134
146
  }
135
147
  getAgent(agentId) {
136
148
  return this.core.getAgent(agentId);