@copilotkitnext/angular 0.0.14 → 0.0.15

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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2FnZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFDTixNQUFNLEVBQ04sUUFBUSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRTFELE1BQU0sT0FBTyxVQUFVO0lBQ1osYUFBYSxDQUVwQjtJQUNPLFVBQVUsR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDcEMsU0FBUyxHQUFHLE1BQU0sQ0FBWSxFQUFFLENBQUMsQ0FBQztJQUNsQyxNQUFNLEdBQUcsTUFBTSxDQUFNLFNBQVMsQ0FBQyxDQUFDO0lBRWhDLEtBQUssQ0FBZ0I7SUFDckIsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDekMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdkMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFMUMsWUFBWSxhQUE0QixFQUFFLFVBQXNCO1FBQzlELElBQUksQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDO1FBRTNCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQztZQUMzQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3QyxDQUFDO1lBQ0QsY0FBYyxFQUFFLEdBQUcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7WUFDRCxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLENBQUM7WUFDRCxjQUFjLEVBQUUsR0FBRyxFQUFFO2dCQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixDQUFDO1lBQ0QsV0FBVyxFQUFFLEdBQUcsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUVILFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBR0QsTUFBTSxPQUFPLHNCQUFzQjtJQUN4QixXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRTFDLHNCQUFzQixDQUNwQixPQUFtQyxFQUNuQyxVQUFzQjtRQUV0QixJQUFJLGNBQXNDLENBQUM7UUFFM0MsT0FBTyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7WUFFMUIsSUFBSSxjQUFjLEVBQUUsQ0FBQztnQkFDbkIsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUMxQixjQUFjLEdBQUcsU0FBUyxDQUFDO1lBQzdCLENBQUM7WUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FDN0MsT0FBTyxFQUFFLElBQUksZ0JBQWdCLENBQzlCLENBQUM7WUFDRixJQUFJLENBQUMsYUFBYTtnQkFBRSxPQUFPLFNBQVMsQ0FBQztZQUVyQyxjQUFjLEdBQUcsSUFBSSxVQUFVLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzNELE9BQU8sY0FBYyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0F6QlUsc0JBQXNCOzRHQUF0QixzQkFBc0IsY0FEVCxNQUFNOzs0RkFDbkIsc0JBQXNCO2tCQURsQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUE2QmxDLE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsT0FBNEM7SUFFNUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDcEQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sYUFBYSxHQUNqQixPQUFPLE9BQU8sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXBFLE9BQU8sWUFBWSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUN4RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGVzdHJveVJlZixcbiAgSW5qZWN0YWJsZSxcbiAgaW5qZWN0LFxuICBzaWduYWwsXG4gIGNvbXB1dGVkLFxuICBTaWduYWwsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb3BpbG90S2l0IH0gZnJvbSBcIi4vY29waWxvdGtpdFwiO1xuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdEFnZW50IH0gZnJvbSBcIkBhZy11aS9jbGllbnRcIjtcbmltcG9ydCB0eXBlIHsgTWVzc2FnZSB9IGZyb20gXCJAYWctdWkvY2xpZW50XCI7XG5pbXBvcnQgeyBERUZBVUxUX0FHRU5UX0lEIH0gZnJvbSBcIkBjb3BpbG90a2l0bmV4dC9zaGFyZWRcIjtcblxuZXhwb3J0IGNsYXNzIEFnZW50U3RvcmUge1xuICByZWFkb25seSAjc3Vic2NyaXB0aW9uPzoge1xuICAgIHVuc3Vic2NyaWJlOiAoKSA9PiB2b2lkO1xuICB9O1xuICByZWFkb25seSAjaXNSdW5uaW5nID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgI21lc3NhZ2VzID0gc2lnbmFsPE1lc3NhZ2VbXT4oW10pO1xuICByZWFkb25seSAjc3RhdGUgPSBzaWduYWw8YW55Pih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IGFnZW50OiBBYnN0cmFjdEFnZW50O1xuICByZWFkb25seSBpc1J1bm5pbmcgPSB0aGlzLiNpc1J1bm5pbmcuYXNSZWFkb25seSgpO1xuICByZWFkb25seSBtZXNzYWdlcyA9IHRoaXMuI21lc3NhZ2VzLmFzUmVhZG9ubHkoKTtcbiAgcmVhZG9ubHkgc3RhdGUgPSB0aGlzLiNzdGF0ZS5hc1JlYWRvbmx5KCk7XG5cbiAgY29uc3RydWN0b3IoYWJzdHJhY3RBZ2VudDogQWJzdHJhY3RBZ2VudCwgZGVzdHJveVJlZjogRGVzdHJveVJlZikge1xuICAgIHRoaXMuYWdlbnQgPSBhYnN0cmFjdEFnZW50O1xuXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9uID0gYWJzdHJhY3RBZ2VudC5zdWJzY3JpYmUoe1xuICAgICAgb25NZXNzYWdlc0NoYW5nZWQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy4jbWVzc2FnZXMuc2V0KGFic3RyYWN0QWdlbnQubWVzc2FnZXMpO1xuICAgICAgfSxcbiAgICAgIG9uU3RhdGVDaGFuZ2VkOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuI3N0YXRlLnNldChhYnN0cmFjdEFnZW50LnN0YXRlKTtcbiAgICAgIH0sXG4gICAgICBvblJ1bkluaXRpYWxpemVkOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuI2lzUnVubmluZy5zZXQodHJ1ZSk7XG4gICAgICB9LFxuICAgICAgb25SdW5GaW5hbGl6ZWQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy4jaXNSdW5uaW5nLnNldChmYWxzZSk7XG4gICAgICB9LFxuICAgICAgb25SdW5GYWlsZWQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy4jaXNSdW5uaW5nLnNldChmYWxzZSk7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgdGhpcy50ZWFyZG93bigpO1xuICAgIH0pO1xuICB9XG5cbiAgdGVhcmRvd24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI3N1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy4jc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogXCJyb290XCIgfSlcbmV4cG9ydCBjbGFzcyBDb3BpbG90a2l0QWdlbnRGYWN0b3J5IHtcbiAgcmVhZG9ubHkgI2NvcGlsb3RraXQgPSBpbmplY3QoQ29waWxvdEtpdCk7XG5cbiAgY3JlYXRlQWdlbnRTdG9yZVNpZ25hbChcbiAgICBhZ2VudElkOiBTaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPixcbiAgICBkZXN0cm95UmVmOiBEZXN0cm95UmVmXG4gICk6IFNpZ25hbDxBZ2VudFN0b3JlIHwgdW5kZWZpbmVkPiB7XG4gICAgbGV0IGxhc3RBZ2VudFN0b3JlOiBBZ2VudFN0b3JlIHwgdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIGNvbXB1dGVkKCgpID0+IHtcbiAgICAgIHRoaXMuI2NvcGlsb3RraXQuYWdlbnRzKCk7XG5cbiAgICAgIGlmIChsYXN0QWdlbnRTdG9yZSkge1xuICAgICAgICBsYXN0QWdlbnRTdG9yZS50ZWFyZG93bigpO1xuICAgICAgICBsYXN0QWdlbnRTdG9yZSA9IHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYWJzdHJhY3RBZ2VudCA9IHRoaXMuI2NvcGlsb3RraXQuZ2V0QWdlbnQoXG4gICAgICAgIGFnZW50SWQoKSB8fCBERUZBVUxUX0FHRU5UX0lEXG4gICAgICApO1xuICAgICAgaWYgKCFhYnN0cmFjdEFnZW50KSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgICBsYXN0QWdlbnRTdG9yZSA9IG5ldyBBZ2VudFN0b3JlKGFic3RyYWN0QWdlbnQsIGRlc3Ryb3lSZWYpO1xuICAgICAgcmV0dXJuIGxhc3RBZ2VudFN0b3JlO1xuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RBZ2VudFN0b3JlKFxuICBhZ2VudElkOiBzdHJpbmcgfCBTaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPlxuKTogU2lnbmFsPEFnZW50U3RvcmUgfCB1bmRlZmluZWQ+IHtcbiAgY29uc3QgYWdlbnRGYWN0b3J5ID0gaW5qZWN0KENvcGlsb3RraXRBZ2VudEZhY3RvcnkpO1xuICBjb25zdCBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBjb25zdCBhZ2VudElkU2lnbmFsID1cbiAgICB0eXBlb2YgYWdlbnRJZCA9PT0gXCJmdW5jdGlvblwiID8gYWdlbnRJZCA6IGNvbXB1dGVkKCgpID0+IGFnZW50SWQpO1xuXG4gIHJldHVybiBhZ2VudEZhY3RvcnkuY3JlYXRlQWdlbnRTdG9yZVNpZ25hbChhZ2VudElkU2lnbmFsLCBkZXN0cm95UmVmKTtcbn1cbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2FnZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRTFELE1BQU0sT0FBTyxVQUFVO0lBQ1osYUFBYSxDQUVwQjtJQUNPLFVBQVUsR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDcEMsU0FBUyxHQUFHLE1BQU0sQ0FBWSxFQUFFLENBQUMsQ0FBQztJQUNsQyxNQUFNLEdBQUcsTUFBTSxDQUFNLFNBQVMsQ0FBQyxDQUFDO0lBRWhDLEtBQUssQ0FBZ0I7SUFDckIsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDekMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDdkMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFMUMsWUFBWSxhQUE0QixFQUFFLFVBQXNCO1FBQzlELElBQUksQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDO1FBRTNCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQztZQUMzQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3QyxDQUFDO1lBQ0QsY0FBYyxFQUFFLEdBQUcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7WUFDRCxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLENBQUM7WUFDRCxjQUFjLEVBQUUsR0FBRyxFQUFFO2dCQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixDQUFDO1lBQ0QsV0FBVyxFQUFFLEdBQUcsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUVILFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBR0QsTUFBTSxPQUFPLHNCQUFzQjtJQUN4QixXQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRTFDLHNCQUFzQixDQUFDLE9BQW1DLEVBQUUsVUFBc0I7UUFDaEYsSUFBSSxjQUFzQyxDQUFDO1FBRTNDLE9BQU8sUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBRTFCLElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQ25CLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDMUIsY0FBYyxHQUFHLFNBQVMsQ0FBQztZQUM3QixDQUFDO1lBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksZ0JBQWdCLENBQUMsQ0FBQztZQUMvRSxJQUFJLENBQUMsYUFBYTtnQkFBRSxPQUFPLFNBQVMsQ0FBQztZQUVyQyxjQUFjLEdBQUcsSUFBSSxVQUFVLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQzNELE9BQU8sY0FBYyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzt3R0FwQlUsc0JBQXNCOzRHQUF0QixzQkFBc0IsY0FEVCxNQUFNOzs0RkFDbkIsc0JBQXNCO2tCQURsQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUF3QmxDLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxPQUE0QztJQUMzRSxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNwRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEMsTUFBTSxhQUFhLEdBQUcsT0FBTyxPQUFPLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV4RixPQUFPLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDeEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIEluamVjdGFibGUsIGluamVjdCwgc2lnbmFsLCBjb21wdXRlZCwgU2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvcGlsb3RLaXQgfSBmcm9tIFwiLi9jb3BpbG90a2l0XCI7XG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0QWdlbnQgfSBmcm9tIFwiQGFnLXVpL2NsaWVudFwiO1xuaW1wb3J0IHR5cGUgeyBNZXNzYWdlIH0gZnJvbSBcIkBhZy11aS9jbGllbnRcIjtcbmltcG9ydCB7IERFRkFVTFRfQUdFTlRfSUQgfSBmcm9tIFwiQGNvcGlsb3RraXRuZXh0L3NoYXJlZFwiO1xuXG5leHBvcnQgY2xhc3MgQWdlbnRTdG9yZSB7XG4gIHJlYWRvbmx5ICNzdWJzY3JpcHRpb24/OiB7XG4gICAgdW5zdWJzY3JpYmU6ICgpID0+IHZvaWQ7XG4gIH07XG4gIHJlYWRvbmx5ICNpc1J1bm5pbmcgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSAjbWVzc2FnZXMgPSBzaWduYWw8TWVzc2FnZVtdPihbXSk7XG4gIHJlYWRvbmx5ICNzdGF0ZSA9IHNpZ25hbDxhbnk+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgYWdlbnQ6IEFic3RyYWN0QWdlbnQ7XG4gIHJlYWRvbmx5IGlzUnVubmluZyA9IHRoaXMuI2lzUnVubmluZy5hc1JlYWRvbmx5KCk7XG4gIHJlYWRvbmx5IG1lc3NhZ2VzID0gdGhpcy4jbWVzc2FnZXMuYXNSZWFkb25seSgpO1xuICByZWFkb25seSBzdGF0ZSA9IHRoaXMuI3N0YXRlLmFzUmVhZG9ubHkoKTtcblxuICBjb25zdHJ1Y3RvcihhYnN0cmFjdEFnZW50OiBBYnN0cmFjdEFnZW50LCBkZXN0cm95UmVmOiBEZXN0cm95UmVmKSB7XG4gICAgdGhpcy5hZ2VudCA9IGFic3RyYWN0QWdlbnQ7XG5cbiAgICB0aGlzLiNzdWJzY3JpcHRpb24gPSBhYnN0cmFjdEFnZW50LnN1YnNjcmliZSh7XG4gICAgICBvbk1lc3NhZ2VzQ2hhbmdlZDogKCkgPT4ge1xuICAgICAgICB0aGlzLiNtZXNzYWdlcy5zZXQoYWJzdHJhY3RBZ2VudC5tZXNzYWdlcyk7XG4gICAgICB9LFxuICAgICAgb25TdGF0ZUNoYW5nZWQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy4jc3RhdGUuc2V0KGFic3RyYWN0QWdlbnQuc3RhdGUpO1xuICAgICAgfSxcbiAgICAgIG9uUnVuSW5pdGlhbGl6ZWQ6ICgpID0+IHtcbiAgICAgICAgdGhpcy4jaXNSdW5uaW5nLnNldCh0cnVlKTtcbiAgICAgIH0sXG4gICAgICBvblJ1bkZpbmFsaXplZDogKCkgPT4ge1xuICAgICAgICB0aGlzLiNpc1J1bm5pbmcuc2V0KGZhbHNlKTtcbiAgICAgIH0sXG4gICAgICBvblJ1bkZhaWxlZDogKCkgPT4ge1xuICAgICAgICB0aGlzLiNpc1J1bm5pbmcuc2V0KGZhbHNlKTtcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBkZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgICB0aGlzLnRlYXJkb3duKCk7XG4gICAgfSk7XG4gIH1cblxuICB0ZWFyZG93bigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jc3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLiNzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiBcInJvb3RcIiB9KVxuZXhwb3J0IGNsYXNzIENvcGlsb3RraXRBZ2VudEZhY3Rvcnkge1xuICByZWFkb25seSAjY29waWxvdGtpdCA9IGluamVjdChDb3BpbG90S2l0KTtcblxuICBjcmVhdGVBZ2VudFN0b3JlU2lnbmFsKGFnZW50SWQ6IFNpZ25hbDxzdHJpbmcgfCB1bmRlZmluZWQ+LCBkZXN0cm95UmVmOiBEZXN0cm95UmVmKTogU2lnbmFsPEFnZW50U3RvcmUgfCB1bmRlZmluZWQ+IHtcbiAgICBsZXQgbGFzdEFnZW50U3RvcmU6IEFnZW50U3RvcmUgfCB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgdGhpcy4jY29waWxvdGtpdC5hZ2VudHMoKTtcblxuICAgICAgaWYgKGxhc3RBZ2VudFN0b3JlKSB7XG4gICAgICAgIGxhc3RBZ2VudFN0b3JlLnRlYXJkb3duKCk7XG4gICAgICAgIGxhc3RBZ2VudFN0b3JlID0gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBhYnN0cmFjdEFnZW50ID0gdGhpcy4jY29waWxvdGtpdC5nZXRBZ2VudChhZ2VudElkKCkgfHwgREVGQVVMVF9BR0VOVF9JRCk7XG4gICAgICBpZiAoIWFic3RyYWN0QWdlbnQpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAgIGxhc3RBZ2VudFN0b3JlID0gbmV3IEFnZW50U3RvcmUoYWJzdHJhY3RBZ2VudCwgZGVzdHJveVJlZik7XG4gICAgICByZXR1cm4gbGFzdEFnZW50U3RvcmU7XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEFnZW50U3RvcmUoYWdlbnRJZDogc3RyaW5nIHwgU2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD4pOiBTaWduYWw8QWdlbnRTdG9yZSB8IHVuZGVmaW5lZD4ge1xuICBjb25zdCBhZ2VudEZhY3RvcnkgPSBpbmplY3QoQ29waWxvdGtpdEFnZW50RmFjdG9yeSk7XG4gIGNvbnN0IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIGNvbnN0IGFnZW50SWRTaWduYWwgPSB0eXBlb2YgYWdlbnRJZCA9PT0gXCJmdW5jdGlvblwiID8gYWdlbnRJZCA6IGNvbXB1dGVkKCgpID0+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,19 +49,19 @@ export class CopilotKit {
49
49
  });
50
50
  }
51
51
  #bindClientTool(clientToolWithInjector) {
52
- const { injector, handler, ...frontendCandidate } = clientToolWithInjector;
52
+ const { injector, handler, args, description, name, agentId } = clientToolWithInjector;
53
53
  return {
54
- ...frontendCandidate,
54
+ description,
55
+ name,
56
+ agentId,
55
57
  handler: (args) => runInInjectionContext(injector, () => handler(args)),
58
+ parameters: args,
56
59
  };
57
60
  }
58
61
  addFrontendTool(clientToolWithInjector) {
59
62
  const tool = this.#bindClientTool(clientToolWithInjector);
60
63
  this.core.addTool(tool);
61
- this.#clientToolCallRenderConfigs.update((current) => [
62
- ...current,
63
- clientToolWithInjector,
64
- ]);
64
+ this.#clientToolCallRenderConfigs.update((current) => [...current, clientToolWithInjector]);
65
65
  }
66
66
  addRenderToolCall(renderConfig) {
67
67
  this.#toolCallRenderConfigs.update((current) => [...current, renderConfig]);
@@ -75,10 +75,7 @@ export class CopilotKit {
75
75
  };
76
76
  }
77
77
  addHumanInTheLoop(humanInTheLoopTool) {
78
- this.#humanInTheLoopToolRenderConfigs.update((current) => [
79
- ...current,
80
- humanInTheLoopTool,
81
- ]);
78
+ this.#humanInTheLoopToolRenderConfigs.update((current) => [...current, humanInTheLoopTool]);
82
79
  const tool = this.#bindHumanInTheLoopTool(humanInTheLoopTool);
83
80
  this.core.addTool(tool);
84
81
  }
@@ -90,12 +87,9 @@ export class CopilotKit {
90
87
  }
91
88
  removeTool(toolName, agentId) {
92
89
  this.core.removeTool(toolName);
93
- this.#clientToolCallRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName &&
94
- this.#isSameAgentId(renderConfig, agentId)));
95
- this.#humanInTheLoopToolRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName &&
96
- this.#isSameAgentId(renderConfig, agentId)));
97
- this.#toolCallRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName &&
98
- this.#isSameAgentId(renderConfig, agentId)));
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
93
  }
100
94
  getAgent(agentId) {
101
95
  return this.core.getAgent(agentId);
@@ -121,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
121
115
  type: Injectable,
122
116
  args: [{ providedIn: "root" }]
123
117
  }], ctorParameters: () => [] });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdGtpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY29waWxvdGtpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWdCLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BFLE9BQU8sRUFDTCxVQUFVLEVBQ1YsUUFBUSxFQUdSLHFCQUFxQixFQUNyQixNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBR3JELE1BQU0sT0FBTyxVQUFVO0lBQ1osT0FBTyxHQUFHLHNCQUFzQixFQUFFLENBQUM7SUFDbkMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMvQixhQUFhLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLE9BQU8sR0FBRyxNQUFNLENBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FDMUIsQ0FBQztJQUNPLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRW5DLElBQUksR0FBRyxJQUFJLGNBQWMsQ0FBQztRQUNqQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVO1FBQ25DLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87UUFDN0IsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVTtRQUNuQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07UUFDNUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSztLQUMxQixDQUFDLENBQUM7SUFFTSxzQkFBc0IsR0FDN0IsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ0osNEJBQTRC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SSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkQsQ0FBQztJQUNILENBQUM7d0dBL0tVLFVBQVU7NEdBQVYsVUFBVSxjQURHLE1BQU07OzRGQUNuQixVQUFVO2tCQUR0QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0QWdlbnQgfSBmcm9tIFwiQGFnLXVpL2NsaWVudFwiO1xuaW1wb3J0IHsgRnJvbnRlbmRUb29sLCBDb3BpbG90S2l0Q29yZSB9IGZyb20gXCJAY29waWxvdGtpdG5leHQvY29yZVwiO1xuaW1wb3J0IHtcbiAgSW5qZWN0YWJsZSxcbiAgSW5qZWN0b3IsXG4gIFNpZ25hbCxcbiAgV3JpdGFibGVTaWduYWwsXG4gIHJ1bkluSW5qZWN0aW9uQ29udGV4dCxcbiAgc2lnbmFsLFxuICBpbmplY3QsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBGcm9udGVuZFRvb2xDb25maWcsXG4gIEh1bWFuSW5UaGVMb29wQ29uZmlnLFxuICBSZW5kZXJUb29sQ2FsbENvbmZpZyxcbn0gZnJvbSBcIi4vdG9vbHNcIjtcbmltcG9ydCB7IGluamVjdENvcGlsb3RLaXRDb25maWcgfSBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCB7IEh1bWFuSW5UaGVMb29wIH0gZnJvbSBcIi4vaHVtYW4taW4tdGhlLWxvb3BcIjtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiBcInJvb3RcIiB9KVxuZXhwb3J0IGNsYXNzIENvcGlsb3RLaXQge1xuICByZWFkb25seSAjY29uZmlnID0gaW5qZWN0Q29waWxvdEtpdENvbmZpZygpO1xuICByZWFkb25seSAjaGl0bCA9IGluamVjdChIdW1hbkluVGhlTG9vcCk7XG4gIHJlYWRvbmx5ICNyb290SW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuICByZWFkb25seSAjYWdlbnRzID0gc2lnbmFsPFJlY29yZDxzdHJpbmcsIEFic3RyYWN0QWdlbnQ+PihcbiAgICB0aGlzLiNjb25maWcuYWdlbnRzID8/IHt9XG4gICk7XG4gIHJlYWRvbmx5IGFnZW50cyA9IHRoaXMuI2FnZW50cy5hc1JlYWRvbmx5KCk7XG5cbiAgcmVhZG9ubHkgY29yZSA9IG5ldyBDb3BpbG90S2l0Q29yZSh7XG4gICAgcnVudGltZVVybDogdGhpcy4jY29uZmlnLnJ1bnRpbWVVcmwsXG4gICAgaGVhZGVyczogdGhpcy4jY29uZmlnLmhlYWRlcnMsXG4gICAgcHJvcGVydGllczogdGhpcy4jY29uZmlnLnByb3BlcnRpZXMsXG4gICAgYWdlbnRzX191bnNhZmVfZGV2X29ubHk6IHRoaXMuI2NvbmZpZy5hZ2VudHMsXG4gICAgdG9vbHM6IHRoaXMuI2NvbmZpZy50b29scyxcbiAgfSk7XG5cbiAgcmVhZG9ubHkgI3Rvb2xDYWxsUmVuZGVyQ29uZmlnczogV3JpdGFibGVTaWduYWw8UmVuZGVyVG9vbENhbGxDb25maWdbXT4gPVxuICAgIHNpZ25hbChbXSk7XG4gIHJlYWRvbmx5ICNjbGllbnRUb29sQ2FsbFJlbmRlckNvbmZpZ3M6IFdyaXRhYmxlU2lnbmFsPEZyb250ZW5kVG9vbENvbmZpZ1tdPiA9XG4gICAgc2lnbmFsKFtdKTtcbiAgcmVhZG9ubHkgI2h1bWFuSW5UaGVMb29wVG9vbFJlbmRlckNvbmZpZ3M6IFdyaXRhYmxlU2lnbmFsPFxuICAgIEh1bWFuSW5UaGVMb29wQ29uZmlnW11cbiAgPiA9IHNpZ25hbChbXSk7XG5cbiAgcmVhZG9ubHkgdG9vbENhbGxSZW5kZXJDb25maWdzOiBTaWduYWw8UmVuZGVyVG9vbENhbGxDb25maWdbXT4gPVxuICAgIHRoaXMuI3Rvb2xDYWxsUmVuZGVyQ29uZmlncy5hc1JlYWRvbmx5KCk7XG4gIHJlYWRvbmx5IGNsaWVudFRvb2xDYWxsUmVuZGVyQ29uZmlnczogU2lnbmFsPEZyb250ZW5kVG9vbENvbmZpZ1tdPiA9XG4gICAgdGhpcy4jY2xpZW50VG9vbENhbGxSZW5kZXJDb25maWdzLmFzUmVhZG9ubHkoKTtcbiAgcmVhZG9ubHkgaHVtYW5JblRoZUxvb3BUb29sUmVuZGVyQ29uZmlnczogU2lnbmFsPEh1bWFuSW5UaGVMb29wQ29uZmlnW10+ID1cbiAgICB0aGlzLiNodW1hbkluVGhlTG9vcFRvb2xSZW5kZXJDb25maWdzLmFzUmVhZG9ubHkoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiNjb25maWcucmVuZGVyVG9vbENhbGxzPy5mb3JFYWNoKChyZW5kZXJDb25maWcpID0+IHtcbiAgICAgIHRoaXMuYWRkUmVuZGVyVG9vbENhbGwocmVuZGVyQ29uZmlnKTtcbiAgICB9KTtcblxuICAgIHRoaXMuI2NvbmZpZy50b29scz8uZm9yRWFjaCgodG9vbCkgPT4ge1xuICAgICAgaWYgKHRvb2wucmVuZGVyZXIgJiYgdG9vbC5wYXJhbWV0ZXJzKSB7XG4gICAgICAgIHRoaXMuYWRkUmVuZGVyVG9vbENhbGwoe1xuICAgICAgICAgIG5hbWU6IHRvb2wubmFtZSxcbiAgICAgICAgICBhcmdzOiB0b29sLnBhcmFtZXRlcnMsXG4gICAgICAgICAgY29tcG9uZW50OiB0b29sLnJlbmRlcmVyLFxuICAgICAgICAgIGFnZW50SWQ6IHRvb2wuYWdlbnRJZCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLiNjb25maWcuZnJvbnRlbmRUb29scz8uZm9yRWFjaCgoY2xpZW50VG9vbCkgPT4ge1xuICAgICAgdGhpcy5hZGRGcm9udGVuZFRvb2woeyAuLi5jbGllbnRUb29sLCBpbmplY3RvcjogdGhpcy4jcm9vdEluamVjdG9yIH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy4jY29uZmlnLmh1bWFuSW5UaGVMb29wPy5mb3JFYWNoKChodW1hbkluVGhlTG9vcFRvb2wpID0+IHtcbiAgICAgIHRoaXMuYWRkSHVtYW5JblRoZUxvb3AoaHVtYW5JblRoZUxvb3BUb29sKTtcbiAgICB9KTtcblxuICAgIHRoaXMuY29yZS5zdWJzY3JpYmUoe1xuICAgICAgb25BZ2VudHNDaGFuZ2VkOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuI2FnZW50cy5zZXQodGhpcy5jb3JlLmFnZW50cyk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgI2JpbmRDbGllbnRUb29sKFxuICAgIGNsaWVudFRvb2xXaXRoSW5qZWN0b3I6IEZyb250ZW5kVG9vbENvbmZpZyAmIHtcbiAgICAgIGluamVjdG9yOiBJbmplY3RvcjtcbiAgICB9XG4gICk6IEZyb250ZW5kVG9vbCB7XG4gICAgY29uc3QgeyBpbmplY3RvciwgaGFuZGxlciwgLi4uZnJvbnRlbmRDYW5kaWRhdGUgfSA9IGNsaWVudFRvb2xXaXRoSW5qZWN0b3I7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uZnJvbnRlbmRDYW5kaWRhdGUsXG4gICAgICBoYW5kbGVyOiAoYXJncykgPT4gcnVuSW5JbmplY3Rpb25Db250ZXh0KGluamVjdG9yLCAoKSA9PiBoYW5kbGVyKGFyZ3MpKSxcbiAgICB9O1xuICB9XG5cbiAgYWRkRnJvbnRlbmRUb29sKFxuICAgIGNsaWVudFRvb2xXaXRoSW5qZWN0b3I6IEZyb250ZW5kVG9vbENvbmZpZyAmIHtcbiAgICAgIGluamVjdG9yOiBJbmplY3RvcjtcbiAgICB9XG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHRvb2wgPSB0aGlzLiNiaW5kQ2xpZW50VG9vbChjbGllbnRUb29sV2l0aEluamVjdG9yKTtcblxuICAgIHRoaXMuY29yZS5hZGRUb29sKHRvb2wpO1xuXG4gICAgdGhpcy4jY2xpZW50VG9vbENhbGxSZW5kZXJDb25maWdzLnVwZGF0ZSgoY3VycmVudCkgPT4gW1xuICAgICAgLi4uY3VycmVudCxcbiAgICAgIGNsaWVudFRvb2xXaXRoSW5qZWN0b3IsXG4gICAgXSk7XG4gIH1cblxuICBhZGRSZW5kZXJUb29sQ2FsbChyZW5kZXJDb25maWc6IFJlbmRlclRvb2xDYWxsQ29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy4jdG9vbENhbGxSZW5kZXJDb25maWdzLnVwZGF0ZSgoY3VycmVudCkgPT4gWy4uLmN1cnJlbnQsIHJlbmRlckNvbmZpZ10pO1xuICB9XG5cbiAgI2JpbmRIdW1hbkluVGhlTG9vcFRvb2woXG4gICAgaHVtYW5JblRoZUxvb3BUb29sOiBIdW1hbkluVGhlTG9vcENvbmZpZ1xuICApOiBGcm9udGVuZFRvb2wge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5odW1hbkluVGhlTG9vcFRvb2wsXG4gICAgICBoYW5kbGVyOiAoYXJncywgdG9vbENhbGwpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI2hpdGwub25SZXN1bHQodG9vbENhbGwuaWQsIGh1bWFuSW5UaGVMb29wVG9vbC5uYW1lKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGFkZEh1bWFuSW5UaGVMb29wKGh1bWFuSW5UaGVMb29wVG9vbDogSHVtYW5JblRoZUxvb3BDb25maWcpOiB2b2lkIHtcbiAgICB0aGlzLiNodW1hbkluVGhlTG9vcFRvb2xSZW5kZXJDb25maWdzLnVwZGF0ZSgoY3VycmVudCkgPT4gW1xuICAgICAgLi4uY3VycmVudCxcbiAgICAgIGh1bWFuSW5UaGVMb29wVG9vbCxcbiAgICBdKTtcblxuICAgIGNvbnN0IHRvb2wgPSB0aGlzLiNiaW5kSHVtYW5JblRoZUxvb3BUb29sKGh1bWFuSW5UaGVMb29wVG9vbCk7XG5cbiAgICB0aGlzLmNvcmUuYWRkVG9vbCh0b29sKTtcbiAgfVxuXG4gICNpc1NhbWVBZ2VudElkPFQgZXh0ZW5kcyB7IGFnZW50SWQ/OiBzdHJpbmcgfT4oXG4gICAgdGFyZ2V0OiBULFxuICAgIGFnZW50SWQ/OiBzdHJpbmdcbiAgKTogYm9vbGVhbiB7XG4gICAgaWYgKGFnZW50SWQpIHtcbiAgICAgIHJldHVybiB0YXJnZXQuYWdlbnRJZCA9PT0gYWdlbnRJZDtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJlbW92ZVRvb2wodG9vbE5hbWU6IHN0cmluZywgYWdlbnRJZD86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY29yZS5yZW1vdmVUb29sKHRvb2xOYW1lKTtcbiAgICB0aGlzLiNjbGllbnRUb29sQ2FsbFJlbmRlckNvbmZpZ3MudXBkYXRlKChjdXJyZW50KSA9PlxuICAgICAgY3VycmVudC5maWx0ZXIoXG4gICAgICAgIChyZW5kZXJDb25maWcpID0+XG4gICAgICAgICAgcmVuZGVyQ29uZmlnLm5hbWUgIT09IHRvb2xOYW1lICYmXG4gICAgICAgICAgdGhpcy4jaXNTYW1lQWdlbnRJZChyZW5kZXJDb25maWcsIGFnZW50SWQpXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLiNodW1hbkluVGhlTG9vcFRvb2xSZW5kZXJDb25maWdzLnVwZGF0ZSgoY3VycmVudCkgPT5cbiAgICAgIGN1cnJlbnQuZmlsdGVyKFxuICAgICAgICAocmVuZGVyQ29uZmlnKSA9PlxuICAgICAgICAgIHJlbmRlckNvbmZpZy5uYW1lICE9PSB0b29sTmFtZSAmJlxuICAgICAgICAgIHRoaXMuI2lzU2FtZUFnZW50SWQocmVuZGVyQ29uZmlnLCBhZ2VudElkKVxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy4jdG9vbENhbGxSZW5kZXJDb25maWdzLnVwZGF0ZSgoY3VycmVudCkgPT5cbiAgICAgIGN1cnJlbnQuZmlsdGVyKFxuICAgICAgICAocmVuZGVyQ29uZmlnKSA9PlxuICAgICAgICAgIHJlbmRlckNvbmZpZy5uYW1lICE9PSB0b29sTmFtZSAmJlxuICAgICAgICAgIHRoaXMuI2lzU2FtZUFnZW50SWQocmVuZGVyQ29uZmlnLCBhZ2VudElkKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBnZXRBZ2VudChhZ2VudElkOiBzdHJpbmcpOiBBYnN0cmFjdEFnZW50IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jb3JlLmdldEFnZW50KGFnZW50SWQpO1xuICB9XG5cbiAgdXBkYXRlUnVudGltZShvcHRpb25zOiB7XG4gICAgcnVudGltZVVybD86IHN0cmluZztcbiAgICBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICBwcm9wZXJ0aWVzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgYWdlbnRzPzogUmVjb3JkPHN0cmluZywgQWJzdHJhY3RBZ2VudD47XG4gIH0pOiB2b2lkIHtcbiAgICBpZiAob3B0aW9ucy5ydW50aW1lVXJsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY29yZS5zZXRSdW50aW1lVXJsKG9wdGlvbnMucnVudGltZVVybCk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLmhlYWRlcnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jb3JlLnNldEhlYWRlcnMob3B0aW9ucy5oZWFkZXJzKTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMucHJvcGVydGllcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNvcmUuc2V0UHJvcGVydGllcyhvcHRpb25zLnByb3BlcnRpZXMpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5hZ2VudHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jb3JlLnNldEFnZW50c19fdW5zYWZlX2Rldl9vbmx5KG9wdGlvbnMuYWdlbnRzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
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==
@@ -90,19 +90,19 @@ class CopilotKit {
90
90
  });
91
91
  }
92
92
  #bindClientTool(clientToolWithInjector) {
93
- const { injector, handler, ...frontendCandidate } = clientToolWithInjector;
93
+ const { injector, handler, args, description, name, agentId } = clientToolWithInjector;
94
94
  return {
95
- ...frontendCandidate,
95
+ description,
96
+ name,
97
+ agentId,
96
98
  handler: (args) => runInInjectionContext(injector, () => handler(args)),
99
+ parameters: args,
97
100
  };
98
101
  }
99
102
  addFrontendTool(clientToolWithInjector) {
100
103
  const tool = this.#bindClientTool(clientToolWithInjector);
101
104
  this.core.addTool(tool);
102
- this.#clientToolCallRenderConfigs.update((current) => [
103
- ...current,
104
- clientToolWithInjector,
105
- ]);
105
+ this.#clientToolCallRenderConfigs.update((current) => [...current, clientToolWithInjector]);
106
106
  }
107
107
  addRenderToolCall(renderConfig) {
108
108
  this.#toolCallRenderConfigs.update((current) => [...current, renderConfig]);
@@ -116,10 +116,7 @@ class CopilotKit {
116
116
  };
117
117
  }
118
118
  addHumanInTheLoop(humanInTheLoopTool) {
119
- this.#humanInTheLoopToolRenderConfigs.update((current) => [
120
- ...current,
121
- humanInTheLoopTool,
122
- ]);
119
+ this.#humanInTheLoopToolRenderConfigs.update((current) => [...current, humanInTheLoopTool]);
123
120
  const tool = this.#bindHumanInTheLoopTool(humanInTheLoopTool);
124
121
  this.core.addTool(tool);
125
122
  }
@@ -131,12 +128,9 @@ class CopilotKit {
131
128
  }
132
129
  removeTool(toolName, agentId) {
133
130
  this.core.removeTool(toolName);
134
- this.#clientToolCallRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName &&
135
- this.#isSameAgentId(renderConfig, agentId)));
136
- this.#humanInTheLoopToolRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName &&
137
- this.#isSameAgentId(renderConfig, agentId)));
138
- this.#toolCallRenderConfigs.update((current) => current.filter((renderConfig) => renderConfig.name !== toolName &&
139
- this.#isSameAgentId(renderConfig, agentId)));
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
134
  }
141
135
  getAgent(agentId) {
142
136
  return this.core.getAgent(agentId);