From 5a51fc96115cd09e313b1563f8a4de070bf201d9 Mon Sep 17 00:00:00 2001 From: diberry <41597107+diberry@users.noreply.github.com> Date: Sun, 20 Sep 2026 09:26:22 -0700 Subject: [PATCH 1/4] Add blog post on agent-skill boundary evaluator --- ...0-how-to-build-an-agent-skill-evaluator.md | 231 ++++++++++++++++++ .../evaluator-flow.svg | 61 +++++ .../hero-decision.svg | 53 ++++ .../ownership-roles.svg | 47 ++++ 4 files changed, 392 insertions(+) create mode 100644 website/blog/2026-09-20-how-to-build-an-agent-skill-evaluator.md create mode 100644 website/blog/media/2026-09-20-agent-skill-boundary-evaluator/evaluator-flow.svg create mode 100644 website/blog/media/2026-09-20-agent-skill-boundary-evaluator/hero-decision.svg create mode 100644 website/blog/media/2026-09-20-agent-skill-boundary-evaluator/ownership-roles.svg diff --git a/website/blog/2026-09-20-how-to-build-an-agent-skill-evaluator.md b/website/blog/2026-09-20-how-to-build-an-agent-skill-evaluator.md new file mode 100644 index 0000000..94e9f18 --- /dev/null +++ b/website/blog/2026-09-20-how-to-build-an-agent-skill-evaluator.md @@ -0,0 +1,231 @@ +--- +slug: /2026-09-20-how-to-build-an-agent-skill-evaluator +date: 2026-09-20 +canonical_url: https://dfberry.github.io/blog/2026-09-20-how-to-build-an-agent-skill-evaluator +custom_edit_url: null +sidebar_label: "2026.09.20 Skill or agent?" +title: "How I Would Build an Evaluator for the Agent-Skill Boundary" +description: "A practical way to decide whether work belongs in a skill, an agent, or a skill used inside an agent by comparing the same task under different designs." +tags: + - ai + - agents + - skills + - copilot + - evaluation + - workflow design +keywords: + - skill vs agent + - agent skill boundary + - evaluator design + - copilot customization + - agent workflow design + - skill architecture +image: ./media/2026-09-20-agent-skill-boundary-evaluator/hero-decision.svg +--- + +# How I would build an evaluator for the agent-skill boundary + +When I see a task handed to an AI system, I keep asking the same question: is this a skill, an agent, or a skill being used inside an agent? + +That sounds simple, but it matters a lot. The answer changes who owns the process, what the system is allowed to decide on its own, how reusable the work is, and what kind of failure you're willing to tolerate. + +A skill is usually the reusable playbook: a clear procedure, good examples, and a well-defined outcome. An agent is the specialist working through a task with its own boundaries, tools, and decision-making. A combined design uses both: the agent owns the goals and coordination, while the skill supplies the detailed procedure. + +The real problem is that this is easy to describe in theory and hard to judge in practice. So if I wanted to build an evaluator for this boundary, I would make it compare the same task through several candidate designs and then score them using the same evidence. + +![Diagram showing one task evaluated under a skill-only design, an agent-only design, and a skill-plus-agent design](./media/2026-09-20-agent-skill-boundary-evaluator/hero-decision.svg) + +*The evaluator treats the same task as the same input problem, then measures which design yields the best fit without just guessing from the naming alone.* + +## Why a boundary evaluator helps + +The confusion usually starts because people use the words "agent" and "skill" interchangeably. That creates a few predictable mistakes. + +- A skill becomes a giant catch-all prompt because the author wants to avoid making a real architectural decision. +- An agent gets used for work that is really a reusable procedure and should be a skill. +- A task is over-engineered by combining everything into a custom agent when a smaller reusable skill would be easier to test and maintain. +- The team ends up with a mix of helpful behavior and hard-to-explain custom logic that no one can confidently support. + +An evaluator helps because it forces the decision to be evidence-based. Instead of arguing semantics, it compares the task across candidate designs and asks: which one has the best mix of correctness, maintainability, reusability, and safety? + +## The evaluation model I would use + +I would design it around one core idea: run the same task under a few candidate architectures and compare the results with the same standards. + +The candidate set should not be broad or magical. It should be small and explicit: + +- **Skill-only**: a reusable playbook that executes the workflow. +- **Agent-only**: an autonomous specialist that handles the task directly. +- **Agent + skill**: the agent coordinates and selects the skill for the mechanical or reusable steps. + +This gives me three real design options, not just an opinionated label. + +I would also separate two different concerns: + +1. **Ownership of the work** — skill, agent, or combined design. +2. **Execution topology** — local execution, MCP-backed execution, or some external connector. + +Those are different axes. A task can be owned by a skill and still run locally, or be coordinated by an agent while the actual data access happens through an MCP tool. The topology does not decide whether work belongs in a skill or an agent. + +## What the evaluator should measure + +Any serious evaluator needs to capture more than "the model liked the output." It needs structured evidence. + +I would score the candidate designs on a few dimensions: + +- **Correctness**: Did it perform the task accurately and safely? +- **Reusability**: Can the workflow be used again without rewriting the instructions? +- **Clarity of ownership**: Is the role boundary clear enough for a human to maintain? +- **Operational burden**: Is the process too fragile to repeat? +- **Safety and guardrails**: Does it avoid the wrong tool, wrong scope, or wrong automation boundary? +- **Explainability**: Can the owner understand why this design was chosen? + +The output should say something like: "This task is better as a skill because the process is repeatable and reusable; this task is better as an agent because it needs context, judgment, and tool switching; this task is best as an agent plus skill because the agent owns goals but the skill owns the repeatable method." + +That is far more useful than a vague verdict like "use a skill" or "use an agent." The point is to explain the tradeoff, not hide it. + +## The evaluator architecture + +I would keep the evaluator intentionally simple and grounded. + +![Diagram showing the evaluator flow: input, normalize, generate candidate designs, run comparison, score against evidence, and produce a recommendation with citations](./media/2026-09-20-agent-skill-boundary-evaluator/evaluator-flow.svg) + +*This is the kind of pipeline I would want: intake the source, normalize it, generate the design options, score them, and attach evidence to the final recommendation.* + +### 1. Intake the source + +A task or capability can come from several places: + +- a repository-level agent definition +- a skill file such as `SKILL.md` +- a custom prompt or workflow doc +- a plugin package with a mix of agents and skills +- a task description from a human owner + +The evaluator should record the original source and whether it is a supplied file or a generated counterfactual. This matters because a real file and a synthetic generated version are not the same thing. + +### 2. Normalize the source + +The evaluator should parse only the parts that matter: the description, persona, workflow intent, tools, and any explicit operating constraints. I would avoid making up capabilities that are not stated. If the source is a skill, I would read the activation description and route it from there. If the source is an agent, I would read the persona and procedure boundaries. If there is no matching counterpart, the evaluator can generate a small counterfactual for comparison, but it should clearly label that produced content as generated and lower-confidence. + +### 3. Build the candidate designs + +Then I would create three realistic versions of the same capability: + +- **S**: skill-first design +- **A**: agent-first design +- **H**: hybrid design (agent + skill) + +The important part is that they are not arbitrary. They are grounded in the source task and the available tool or procedural context. The generated counterparts should be small, deterministic, and explicitly marked as synthetic. + +### 4. Score against outcome and operating constraints + +This is where the evaluator becomes useful. I would grade each design against a fixed rubric: + +- How well does it match the task's real need? +- Is the output reusable or highly specialized? +- Does the institution understand who owns the procedure? +- Can the design be safely repeated without hidden coupling? +- Does it create a fragile, over-privileged agent or a narrowly scoped reusable skill? + +This score should be transparent. The evaluator should not just say "the agent wins." It should explain why the hybrid design is better because the work is goal-driven, but repeated steps are stable enough to become a skill. + +## A practical rule of thumb + +I still want a few simple heuristics for human owners because the evaluator should not create more complexity than it solves. + +Use a **skill** when the work is: + +- reusable and repeatable +- procedure-driven +- easy to validate with a known output +- best run by a known sequence of steps + +Use an **agent** when the work is: + +- highly contextual +- decision-heavy +- sensitive to shifting goals or partial information +- dependent on tool selection and stateful iteration + +Use an **agent plus skill** when the work is: + +- goal-driven in the agent +- procedural in the skill +- reusable enough to deserve a playbook but context-rich enough to require a coordinator + +This is the design pattern I come back to most often. + +## The local-vs-MCP distinction + +One subtle but important point is that the execution location is not the same as the ownership model. + +A skill can run locally. An agent can also run locally. An MCP-backed tool can still be called by either one. The question is not "where is it running?" The question is "what is the durable responsibility boundary?" + +This separation matters because a lot of bad design comes from collapsing separate concerns into a single abstraction. A local workflow is not automatically better or worse than an MCP-backed one. It is simply a different runtime topology. + +![Diagram showing that skill owns a reusable playbook, agent owns goals and coordination, and MCP or connector owns external access](./media/2026-09-20-agent-skill-boundary-evaluator/ownership-roles.svg) + +*The responsibility boundary is different from the execution topology. The decision about role ownership should remain stable even when the runtime changes.* + +The evaluator should therefore treat runtime topology as a separate axis from role ownership. The recommendation should state something like: "This workflow belongs in a skill, regardless of whether it is executed locally or behind an MCP layer; the connector is a runtime detail, not the architectural owner." + +## What makes this trustworthy + +The evaluator should be explicit about what is evidence and what is guesswork. + +A trustworthy system should: + +- record the source file and version +- keep the original source immutable +- label generated counterfactuals as generated +- avoid inventing missing capabilities +- compare only equivalent tasks +- use deterministic scoring for structural checks +- reserve model-based grading for softer judgments like clarity or maintainability + +This prevents the evaluator from becoming a style guessing machine that only mirrors whatever the model thought sounded best. + +## The output I would want + +The final report should not be a vague verdict. It should identify: + +- the recommended design +- the evidence that supported it +- the alternative designs that were considered +- the exact tradeoff and the owner guidance +- the confidence level and any limits of the evidence + +A final output should read like a design recommendation, not a slogan. + +If the recommendation says "better as a skill,” it should tell the owner why the process is stable, reusable, and testable. If it says "agent + skill,” it should explain that the agent owns the goal and the skill owns the procedure. If it says "agent-only,” it should explain why the problem needs judgment, state, or improvisation that a skill would hide. + +## The practical value + +This does not create a universal rule for every AI workflow. It creates a repeatable decision-making process. + +That is the real win. It turns a fuzzy design argument into a reusable evaluation loop. + +Instead of someone asking, "Should this be a skill or an agent?" and getting a hand-wavy answer, the owner gets a grounded recommendation with evidence attached. That changes the conversation from tribal preference to architecture. + +And once you can evaluate the boundary consistently, you can start improving the boundary itself. The result is better routing, less accidental complexity, and stronger habits for building AI systems that are maintainable rather than just impressive. + +## My practical checklist + +Before I decide on a design, I ask these questions: + +1. Is the task essentially a reusable procedure or a specialist role? +2. Do we need one clear sequence of steps or a flow that keeps changing based on context? +3. Is this something that should be reusable by other workflows or only used in one context? +4. Does the owner need a strong boundary, or is this a flexible orchestrator problem? +5. Will the result be easier to maintain if the procedure is separated from the coordinator? + +If I can answer those clearly, the architecture decision becomes much easier. + +When the answer is still messy, I do not force a binary decision. I treat it as a hybrid design until the evidence proves otherwise. + +--- + +One thing I have learned is that good AI design is rarely about choosing one magical abstraction. It is about making the ownership boundaries visible and honest enough that a human can maintain them. + +That is why I would build the evaluator this way: not to replace judgment, but to make the judgment easier to explain, reuse, and improve. diff --git a/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/evaluator-flow.svg b/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/evaluator-flow.svg new file mode 100644 index 0000000..5e52888 --- /dev/null +++ b/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/evaluator-flow.svg @@ -0,0 +1,61 @@ + + Evaluator flow for agent-skill design decisions + A flowchart showing source intake, normalization, candidate generation, comparison, scoring, and recommendation output. + + + + + + + + How the evaluator works + + + Source + agent, skill, + or task description + + + Normalize + description, scope, + tools, constraints + + + Build candidates + S, A, H + with provenance + + + Compare + same task, + same evidence + + + Recommendation + clear owner, + confidence, tradeoff + + + + + + + + Evidence model + • source provenance + • deterministic checks + • generated counterfactuals labeled as generated + • guardrails, accuracy, reuse, and ownership scores + • clear final explanation + • confidence cap for synthetic evidence + • separation of runtime topology from design ownership + diff --git a/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/hero-decision.svg b/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/hero-decision.svg new file mode 100644 index 0000000..5e0ad45 --- /dev/null +++ b/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/hero-decision.svg @@ -0,0 +1,53 @@ + + Three candidate designs for the same AI task + A diagram showing skill-only, agent-only, and agent-plus-skill designs as three alternate routes for the same task. + + + + + + + + One task. Three candidate designs. + + + + Skill-only + Reusable playbook + Procedure, examples, checks + Best when the work is + repeatable, teachable, and stable + + + + Agent-only + Specialist role + Owns goal, context, and choices + Best when the work is + context-heavy and adaptive + + + + Agent + skill + Coordinator and playbook + Goal in the agent; procedure in the skill + Best when the work needs + both judgment and repeatability + + + + + + The evaluator compares all three against the same evidence. + diff --git a/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/ownership-roles.svg b/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/ownership-roles.svg new file mode 100644 index 0000000..0691143 --- /dev/null +++ b/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/ownership-roles.svg @@ -0,0 +1,47 @@ + + Ownership boundary between skills, agents, and external connectors + A diagram showing that a skill owns a reusable playbook, an agent owns goals and coordination, and an MCP connector owns external system access. + + + + + + Clear ownership makes the decision easier + + + + Skill + Reusable playbook + Procedure and examples + Stable repeatable steps + + + + Agent + Goal owner + Context and coordination + Judgment and handoff + + + + Connector + MCP or external access + Typed interface + Not the role owner + + + + + The same task can run locally or through MCP without changing the ownership model. + From dc5033d0c7b3c5b8e807a5419c6c7ffe9dbf67ab Mon Sep 17 00:00:00 2001 From: diberry <41597107+diberry@users.noreply.github.com> Date: Sun, 20 Sep 2026 09:33:50 -0700 Subject: [PATCH 2/4] Fix diagram label placement in agent-skill boundary blog --- ...0-how-to-build-an-agent-skill-evaluator.md | 8 +- .../evaluator-flow.png | Bin 0 -> 31505 bytes .../hero-decision.png | Bin 0 -> 29529 bytes .../ownership-roles.png | Bin 0 -> 37043 bytes .../ownership-roles.svg | 87 ++++++++++-------- 5 files changed, 53 insertions(+), 42 deletions(-) create mode 100644 website/blog/media/2026-09-20-agent-skill-boundary-evaluator/evaluator-flow.png create mode 100644 website/blog/media/2026-09-20-agent-skill-boundary-evaluator/hero-decision.png create mode 100644 website/blog/media/2026-09-20-agent-skill-boundary-evaluator/ownership-roles.png diff --git a/website/blog/2026-09-20-how-to-build-an-agent-skill-evaluator.md b/website/blog/2026-09-20-how-to-build-an-agent-skill-evaluator.md index 94e9f18..97a788c 100644 --- a/website/blog/2026-09-20-how-to-build-an-agent-skill-evaluator.md +++ b/website/blog/2026-09-20-how-to-build-an-agent-skill-evaluator.md @@ -20,7 +20,7 @@ keywords: - copilot customization - agent workflow design - skill architecture -image: ./media/2026-09-20-agent-skill-boundary-evaluator/hero-decision.svg +image: ./media/2026-09-20-agent-skill-boundary-evaluator/hero-decision.png --- # How I would build an evaluator for the agent-skill boundary @@ -33,7 +33,7 @@ A skill is usually the reusable playbook: a clear procedure, good examples, and The real problem is that this is easy to describe in theory and hard to judge in practice. So if I wanted to build an evaluator for this boundary, I would make it compare the same task through several candidate designs and then score them using the same evidence. -![Diagram showing one task evaluated under a skill-only design, an agent-only design, and a skill-plus-agent design](./media/2026-09-20-agent-skill-boundary-evaluator/hero-decision.svg) +![Diagram showing one task evaluated under a skill-only design, an agent-only design, and a skill-plus-agent design](./media/2026-09-20-agent-skill-boundary-evaluator/hero-decision.png) *The evaluator treats the same task as the same input problem, then measures which design yields the best fit without just guessing from the naming alone.* @@ -88,7 +88,7 @@ That is far more useful than a vague verdict like "use a skill" or "use an agent I would keep the evaluator intentionally simple and grounded. -![Diagram showing the evaluator flow: input, normalize, generate candidate designs, run comparison, score against evidence, and produce a recommendation with citations](./media/2026-09-20-agent-skill-boundary-evaluator/evaluator-flow.svg) +![Diagram showing the evaluator flow: input, normalize, generate candidate designs, run comparison, score against evidence, and produce a recommendation with citations](./media/2026-09-20-agent-skill-boundary-evaluator/evaluator-flow.png) *This is the kind of pipeline I would want: intake the source, normalize it, generate the design options, score them, and attach evidence to the final recommendation.* @@ -164,7 +164,7 @@ A skill can run locally. An agent can also run locally. An MCP-backed tool can s This separation matters because a lot of bad design comes from collapsing separate concerns into a single abstraction. A local workflow is not automatically better or worse than an MCP-backed one. It is simply a different runtime topology. -![Diagram showing that skill owns a reusable playbook, agent owns goals and coordination, and MCP or connector owns external access](./media/2026-09-20-agent-skill-boundary-evaluator/ownership-roles.svg) +![Diagram showing that skill owns a reusable playbook, agent owns goals and coordination, and MCP or connector owns external access](./media/2026-09-20-agent-skill-boundary-evaluator/ownership-roles.png) *The responsibility boundary is different from the execution topology. The decision about role ownership should remain stable even when the runtime changes.* diff --git a/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/evaluator-flow.png b/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/evaluator-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..63aa3c214a786a35d7f34e8799ee2d38d8c93d6b GIT binary patch literal 31505 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 literal 0 HcmV?d00001 diff --git a/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/hero-decision.png b/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/hero-decision.png new file mode 100644 index 0000000000000000000000000000000000000000..008d823d8853f35cd10de9ce55ff0307e77e3194 GIT binary patch literal 29529 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 J5|5p``akeTDYXCq literal 0 HcmV?d00001 diff --git a/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/ownership-roles.png b/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/ownership-roles.png new file mode 100644 index 0000000000000000000000000000000000000000..6d3e25f0306e7910f6fea5033803bff2ee995ab1 GIT binary patch literal 37043 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 literal 0 HcmV?d00001 diff --git a/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/ownership-roles.svg b/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/ownership-roles.svg index 0691143..b992023 100644 --- a/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/ownership-roles.svg +++ b/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/ownership-roles.svg @@ -1,47 +1,58 @@ - - Ownership boundary between skills, agents, and external connectors - A diagram showing that a skill owns a reusable playbook, an agent owns goals and coordination, and an MCP connector owns external system access. + + Split responsibilities between overloaded agent file, skill, agent, MCP, and hook layers + A diagram showing that a difficult task is split by moving reusable procedures to a skill, coordination to an agent, external access to MCP, and guarding rules to a hook. - + + + - - Clear ownership makes the decision easier - - - Skill - Reusable playbook - Procedure and examples - Stable repeatable steps + + Move each responsibility to the layer that owns it - - - Agent - Goal owner - Context and coordination - Judgment and handoff + + Overloaded agent file + • Specialist role + • Repeatable procedure + • External service calls + • Mandatory safety checks + • Templates and examples + • Tool and handoff policy - - - Connector - MCP or external access - Typed interface - Not the role owner + split + - - - - The same task can run locally or through MCP without changing the ownership model. + + Agent + Role, tools, context + and handoff + + + Skill + Procedure, templates + and examples + + + MCP + External system + access + + + Hook + Mandatory checks + and blocking rules From c4fdd86b3558d052ed5fc1f7dd250a5069e4601b Mon Sep 17 00:00:00 2001 From: diberry <41597107+diberry@users.noreply.github.com> Date: Sun, 20 Sep 2026 14:27:58 -0700 Subject: [PATCH 3/4] Fix blog diagram layout and evaluation visuals Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- ...0-how-to-build-an-agent-skill-evaluator.md | 6 +- .../evaluator-flow.svg | 62 +- .../hero-decision.svg | 54 +- .../ownership-roles.svg | 59 +- ...kill-boundary-evaluator-evaluator-flow.mmd | 6 + ...skill-boundary-evaluator-hero-decision.mmd | 8 + ...ill-boundary-evaluator-ownership-roles.mmd | 19 + website/docusaurus.config.js | 7 +- website/package-lock.json | 1411 +++++++++++++++-- website/package.json | 1 + website/src/css/custom.css | 18 + 11 files changed, 1353 insertions(+), 298 deletions(-) create mode 100644 website/blog/mermaid/2026-09-20-agent-skill-boundary-evaluator-evaluator-flow.mmd create mode 100644 website/blog/mermaid/2026-09-20-agent-skill-boundary-evaluator-hero-decision.mmd create mode 100644 website/blog/mermaid/2026-09-20-agent-skill-boundary-evaluator-ownership-roles.mmd diff --git a/website/blog/2026-09-20-how-to-build-an-agent-skill-evaluator.md b/website/blog/2026-09-20-how-to-build-an-agent-skill-evaluator.md index 97a788c..695a021 100644 --- a/website/blog/2026-09-20-how-to-build-an-agent-skill-evaluator.md +++ b/website/blog/2026-09-20-how-to-build-an-agent-skill-evaluator.md @@ -33,7 +33,7 @@ A skill is usually the reusable playbook: a clear procedure, good examples, and The real problem is that this is easy to describe in theory and hard to judge in practice. So if I wanted to build an evaluator for this boundary, I would make it compare the same task through several candidate designs and then score them using the same evidence. -![Diagram showing one task evaluated under a skill-only design, an agent-only design, and a skill-plus-agent design](./media/2026-09-20-agent-skill-boundary-evaluator/hero-decision.png) +![Diagram showing one task evaluated under a skill-only design, an agent-only design, and a skill-plus-agent design](./media/2026-09-20-agent-skill-boundary-evaluator/hero-decision.svg) *The evaluator treats the same task as the same input problem, then measures which design yields the best fit without just guessing from the naming alone.* @@ -88,7 +88,7 @@ That is far more useful than a vague verdict like "use a skill" or "use an agent I would keep the evaluator intentionally simple and grounded. -![Diagram showing the evaluator flow: input, normalize, generate candidate designs, run comparison, score against evidence, and produce a recommendation with citations](./media/2026-09-20-agent-skill-boundary-evaluator/evaluator-flow.png) +![Diagram showing the evaluator flow: input, normalize, generate candidate designs, run comparison, score against evidence, and produce a recommendation with citations](./media/2026-09-20-agent-skill-boundary-evaluator/evaluator-flow.svg) *This is the kind of pipeline I would want: intake the source, normalize it, generate the design options, score them, and attach evidence to the final recommendation.* @@ -164,7 +164,7 @@ A skill can run locally. An agent can also run locally. An MCP-backed tool can s This separation matters because a lot of bad design comes from collapsing separate concerns into a single abstraction. A local workflow is not automatically better or worse than an MCP-backed one. It is simply a different runtime topology. -![Diagram showing that skill owns a reusable playbook, agent owns goals and coordination, and MCP or connector owns external access](./media/2026-09-20-agent-skill-boundary-evaluator/ownership-roles.png) +![Diagram showing that skill owns a reusable playbook, agent owns goals and coordination, and MCP or connector owns external access](./media/2026-09-20-agent-skill-boundary-evaluator/ownership-roles.svg) *The responsibility boundary is different from the execution topology. The decision about role ownership should remain stable even when the runtime changes.* diff --git a/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/evaluator-flow.svg b/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/evaluator-flow.svg index 5e52888..0dda1c1 100644 --- a/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/evaluator-flow.svg +++ b/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/evaluator-flow.svg @@ -1,61 +1 @@ - - Evaluator flow for agent-skill design decisions - A flowchart showing source intake, normalization, candidate generation, comparison, scoring, and recommendation output. - - - - - - - - How the evaluator works - - - Source - agent, skill, - or task description - - - Normalize - description, scope, - tools, constraints - - - Build candidates - S, A, H - with provenance - - - Compare - same task, - same evidence - - - Recommendation - clear owner, - confidence, tradeoff - - - - - - - - Evidence model - • source provenance - • deterministic checks - • generated counterfactuals labeled as generated - • guardrails, accuracy, reuse, and ownership scores - • clear final explanation - • confidence cap for synthetic evidence - • separation of runtime topology from design ownership - +

Source

Normalize

Candidate designs

Score against evidence

Recommendation with citations

\ No newline at end of file diff --git a/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/hero-decision.svg b/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/hero-decision.svg index 5e0ad45..10ae587 100644 --- a/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/hero-decision.svg +++ b/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/hero-decision.svg @@ -1,53 +1 @@ - - Three candidate designs for the same AI task - A diagram showing skill-only, agent-only, and agent-plus-skill designs as three alternate routes for the same task. - - - - - - - - One task. Three candidate designs. - - - - Skill-only - Reusable playbook - Procedure, examples, checks - Best when the work is - repeatable, teachable, and stable - - - - Agent-only - Specialist role - Owns goal, context, and choices - Best when the work is - context-heavy and adaptive - - - - Agent + skill - Coordinator and playbook - Goal in the agent; procedure in the skill - Best when the work needs - both judgment and repeatability - - - - - - The evaluator compares all three against the same evidence. - +

Same task
Same evidence

Skill-only
Reusable procedure

Agent-only
Context + judgment

Agent + skill
Goal + playbook

Best fit
By evidence

\ No newline at end of file diff --git a/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/ownership-roles.svg b/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/ownership-roles.svg index b992023..f18260f 100644 --- a/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/ownership-roles.svg +++ b/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/ownership-roles.svg @@ -1,58 +1 @@ - - Split responsibilities between overloaded agent file, skill, agent, MCP, and hook layers - A diagram showing that a difficult task is split by moving reusable procedures to a skill, coordination to an agent, external access to MCP, and guarding rules to a hook. - - - - - - - - - Move each responsibility to the layer that owns it - - - Overloaded agent file - • Specialist role - • Repeatable procedure - • External service calls - • Mandatory safety checks - • Templates and examples - • Tool and handoff policy - - split - - - - Agent - Role, tools, context - and handoff - - - Skill - Procedure, templates - and examples - - - MCP - External system - access - - - Hook - Mandatory checks - and blocking rules - +

Runtime topology

Ownership boundary

Method

Decision + orchestration

Skill
Reusable playbook

Agent
Goals + coordination

Local execution

MCP / connector

\ No newline at end of file diff --git a/website/blog/mermaid/2026-09-20-agent-skill-boundary-evaluator-evaluator-flow.mmd b/website/blog/mermaid/2026-09-20-agent-skill-boundary-evaluator-evaluator-flow.mmd new file mode 100644 index 0000000..5a5f39a --- /dev/null +++ b/website/blog/mermaid/2026-09-20-agent-skill-boundary-evaluator-evaluator-flow.mmd @@ -0,0 +1,6 @@ +%%{init: {"theme": "base", "themeVariables": {"fontFamily": "Inter, ui-sans-serif, system-ui", "primaryColor": "#f5e6d3", "primaryTextColor": "#3d2817", "primaryBorderColor": "#d4896b", "lineColor": "#c9956b", "secondaryColor": "#fdf4e8", "tertiaryColor": "#f9ead8", "textColor": "#3d2817", "fontSize": "20px"}}}%% +flowchart LR + source["Source"] --> normalize["Normalize"] + normalize --> candidates["Candidate designs"] + candidates --> score["Score against evidence"] + score --> recommendation["Recommendation with citations"] diff --git a/website/blog/mermaid/2026-09-20-agent-skill-boundary-evaluator-hero-decision.mmd b/website/blog/mermaid/2026-09-20-agent-skill-boundary-evaluator-hero-decision.mmd new file mode 100644 index 0000000..88c2a9c --- /dev/null +++ b/website/blog/mermaid/2026-09-20-agent-skill-boundary-evaluator-hero-decision.mmd @@ -0,0 +1,8 @@ +%%{init: {"theme": "base", "themeVariables": {"fontFamily": "Inter, ui-sans-serif, system-ui", "primaryColor": "#f5e6d3", "primaryTextColor": "#3d2817", "primaryBorderColor": "#d4896b", "lineColor": "#c9956b", "secondaryColor": "#fdf4e8", "tertiaryColor": "#f9ead8", "textColor": "#3d2817", "fontSize": "18px"}}}%% +flowchart LR + task["Same task

Same evidence"] --> skill["Skill-only
Reusable procedure"] + task --> agent["Agent-only
Context + judgment"] + task --> hybrid["Agent + skill
Goal + playbook"] + skill --> verdict["Best fit
By evidence"] + agent --> verdict + hybrid --> verdict diff --git a/website/blog/mermaid/2026-09-20-agent-skill-boundary-evaluator-ownership-roles.mmd b/website/blog/mermaid/2026-09-20-agent-skill-boundary-evaluator-ownership-roles.mmd new file mode 100644 index 0000000..7eabbdd --- /dev/null +++ b/website/blog/mermaid/2026-09-20-agent-skill-boundary-evaluator-ownership-roles.mmd @@ -0,0 +1,19 @@ +%%{init: {"theme": "base", "themeVariables": {"fontFamily": "Inter, ui-sans-serif, system-ui", "primaryColor": "#f5e6d3", "primaryTextColor": "#3d2817", "primaryBorderColor": "#d4896b", "lineColor": "#c9956b", "secondaryColor": "#fdf4e8", "tertiaryColor": "#f9ead8", "textColor": "#3d2817", "fontSize": "18px"}}}%% +flowchart TB + subgraph ownership["Ownership boundary"] + skill["Skill
Reusable playbook"] + agent["Agent
Goals + coordination"] + end + + subgraph runtime["Runtime topology"] + local["Local execution"] + mcp["MCP / connector"] + end + + skill --> local + agent --> local + agent --> mcp + skill --> mcp + + skill -. "Method" .-> agent + agent -. "Decision + orchestration" .-> mcp diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js index eb3f6e2..1b27969 100644 --- a/website/docusaurus.config.js +++ b/website/docusaurus.config.js @@ -20,7 +20,8 @@ const site = require('./site.config'); projectName: site.githubRepo, // Usually your repo name. themes: [ - '@saucelabs/theme-github-codeblock'], + '@saucelabs/theme-github-codeblock', + '@docusaurus/theme-mermaid'], presets: [ [ @@ -85,6 +86,10 @@ const site = require('./site.config'); feedOptions: site.feedOptions }), + markdown: { + mermaid: true, + }, + plugins: [ [ require.resolve("@easyops-cn/docusaurus-search-local"), diff --git a/website/package-lock.json b/website/package-lock.json index ff7841f..fa2a9c1 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -11,6 +11,7 @@ "@docusaurus/core": "^3.0.0", "@docusaurus/plugin-google-gtag": "^3.0.0", "@docusaurus/preset-classic": "^3.0.0", + "@docusaurus/theme-mermaid": "3.9.2", "@easyops-cn/docusaurus-search-local": "^0.52.2", "@mdx-js/react": "^3.0.0", "@saucelabs/theme-github-codeblock": "^0.3.0", @@ -330,6 +331,19 @@ "node": ">= 14.0.0" } }, + "node_modules/@antfu/install-pkg": { + "version": "2.0.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@antfu/install-pkg/-/install-pkg-2.0.1.tgz", + "integrity": "sha1-vbw9Io5vZFxYPtk1RfzdX1ovDKI=", + "license": "MIT", + "dependencies": { + "package-manager-detector": "^1.7.0", + "tinyexec": "^1.2.4" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/@babel/code-frame": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", @@ -2030,6 +2044,51 @@ "node": ">=6.9.0" } }, + "node_modules/@braintree/sanitize-url": { + "version": "7.1.2", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@braintree/sanitize-url/-/sanitize-url-7.1.2.tgz", + "integrity": "sha1-yiA1sP7+lWqGdv8Maa9z5gX82B8=", + "license": "MIT" + }, + "node_modules/@chevrotain/cst-dts-gen": { + "version": "11.1.2", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.1.2.tgz", + "integrity": "sha1-UB6mF3+iHMVyZMeS71zD0LuUEP0=", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/gast": "11.1.2", + "@chevrotain/types": "11.1.2", + "lodash-es": "4.17.23" + } + }, + "node_modules/@chevrotain/gast": { + "version": "11.1.2", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@chevrotain/gast/-/gast-11.1.2.tgz", + "integrity": "sha1-ITOT8rWELovxM2m9wELH/RggGvI=", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/types": "11.1.2", + "lodash-es": "4.17.23" + } + }, + "node_modules/@chevrotain/regexp-to-ast": { + "version": "11.1.2", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.1.2.tgz", + "integrity": "sha1-ausLP9Xj8iCwY7PYVvu67VguTPo=", + "license": "Apache-2.0" + }, + "node_modules/@chevrotain/types": { + "version": "11.1.2", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@chevrotain/types/-/types-11.1.2.tgz", + "integrity": "sha1-6DoaJwTwxeSedZKyFAMaD0o01+U=", + "license": "Apache-2.0" + }, + "node_modules/@chevrotain/utils": { + "version": "11.1.2", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@chevrotain/utils/-/utils-11.1.2.tgz", + "integrity": "sha1-oLE2N6zAopM9ii7eukvx2nicVl0=", + "license": "Apache-2.0" + }, "node_modules/@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", @@ -3975,6 +4034,34 @@ "react-dom": "^18.0.0 || ^19.0.0" } }, + "node_modules/@docusaurus/theme-mermaid": { + "version": "3.9.2", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@docusaurus/theme-mermaid/-/theme-mermaid-3.9.2.tgz", + "integrity": "sha1-8GXktLMZVg3djDvmXOndGc4dXMg=", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.9.2", + "@docusaurus/module-type-aliases": "3.9.2", + "@docusaurus/theme-common": "3.9.2", + "@docusaurus/types": "3.9.2", + "@docusaurus/utils-validation": "3.9.2", + "mermaid": ">=11.6.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=20.0" + }, + "peerDependencies": { + "@mermaid-js/layout-elk": "^0.1.9", + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@mermaid-js/layout-elk": { + "optional": true + } + } + }, "node_modules/@docusaurus/theme-search-algolia": { "version": "3.9.2", "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.9.2.tgz", @@ -4278,6 +4365,23 @@ "@hapi/hoek": "^9.0.0" } }, + "node_modules/@iconify/types": { + "version": "2.0.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@iconify/types/-/types-2.0.0.tgz", + "integrity": "sha1-qw6epoHWyKEhTzDNdB/jogzFf1c=", + "license": "MIT" + }, + "node_modules/@iconify/utils": { + "version": "3.1.7", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@iconify/utils/-/utils-3.1.7.tgz", + "integrity": "sha1-//EcUoSQsRmiUKzjzzWgp44YIxc=", + "license": "MIT", + "dependencies": { + "@antfu/install-pkg": "^2.0.1", + "@iconify/types": "^2.0.0", + "import-meta-resolve": "^4.2.0" + } + }, "node_modules/@jest/schemas": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", @@ -4536,6 +4640,18 @@ "react": ">=16" } }, + "node_modules/@mermaid-js/parser": { + "version": "2.0.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@mermaid-js/parser/-/parser-2.0.0.tgz", + "integrity": "sha512-K8BeapFUfrfxbRAUQAG5oBOCwo1+bNWzaVnPxTCutkfrTBn6T/j91FIhqxWJ32SUeQ9T3iy1zcmPZ5ROZEvDrg==", + "license": "MIT", + "dependencies": { + "@chevrotain/types": "~11.1.2" + }, + "engines": { + "node": ">=22.12.0" + } + }, "node_modules/@napi-rs/wasm-runtime": { "version": "0.2.12", "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", @@ -5280,6 +5396,259 @@ "@types/node": "*" } }, + "node_modules/@types/d3": { + "version": "7.4.3", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3/-/d3-7.4.3.tgz", + "integrity": "sha1-1FUKhdCPSXj68KTDa4SMYeqsB+I=", + "license": "MIT", + "dependencies": { + "@types/d3-array": "*", + "@types/d3-axis": "*", + "@types/d3-brush": "*", + "@types/d3-chord": "*", + "@types/d3-color": "*", + "@types/d3-contour": "*", + "@types/d3-delaunay": "*", + "@types/d3-dispatch": "*", + "@types/d3-drag": "*", + "@types/d3-dsv": "*", + "@types/d3-ease": "*", + "@types/d3-fetch": "*", + "@types/d3-force": "*", + "@types/d3-format": "*", + "@types/d3-geo": "*", + "@types/d3-hierarchy": "*", + "@types/d3-interpolate": "*", + "@types/d3-path": "*", + "@types/d3-polygon": "*", + "@types/d3-quadtree": "*", + "@types/d3-random": "*", + "@types/d3-scale": "*", + "@types/d3-scale-chromatic": "*", + "@types/d3-selection": "*", + "@types/d3-shape": "*", + "@types/d3-time": "*", + "@types/d3-time-format": "*", + "@types/d3-timer": "*", + "@types/d3-transition": "*", + "@types/d3-zoom": "*" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.2", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-array/-/d3-array-3.2.2.tgz", + "integrity": "sha1-4CFRRk0C1KG0RkbQ/NuT+viP3ow=", + "license": "MIT" + }, + "node_modules/@types/d3-axis": { + "version": "3.0.6", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-axis/-/d3-axis-3.0.6.tgz", + "integrity": "sha1-52DldluBiLHe+jK8i7YGL4Hkx5U=", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-brush": { + "version": "3.0.6", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-brush/-/d3-brush-3.0.6.tgz", + "integrity": "sha1-wvQ2KwRdRy4bGGzb7DKbpSva7mw=", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-chord": { + "version": "3.0.6", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-chord/-/d3-chord-3.0.6.tgz", + "integrity": "sha1-FwbKQM9+pZoK3Y9EVu//j4d1eT0=", + "license": "MIT" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha1-NoyWGhjech2oIA6AvzlD+1MTavI=", + "license": "MIT" + }, + "node_modules/@types/d3-contour": { + "version": "3.0.6", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-contour/-/d3-contour-3.0.6.tgz", + "integrity": "sha1-mto/qcTQDjpQk/7QNWx6uSlgQjE=", + "license": "MIT", + "dependencies": { + "@types/d3-array": "*", + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha1-GFwagMyAf92io/6WD3wRxKJ5UuE=", + "license": "MIT" + }, + "node_modules/@types/d3-dispatch": { + "version": "3.0.7", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-dispatch/-/d3-dispatch-3.0.7.tgz", + "integrity": "sha1-7wBNihKARs/OQ00XGC+DTkTvlbI=", + "license": "MIT" + }, + "node_modules/@types/d3-drag": { + "version": "3.0.7", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-drag/-/d3-drag-3.0.7.tgz", + "integrity": "sha1-sTq6iyRCtAaMmp5tHYL4vOp3/AI=", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-dsv": { + "version": "3.0.7", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", + "integrity": "sha1-CjUfmW3Jmzf0+li0ksLRwE49rBc=", + "license": "MIT" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha1-4o2xv7+mFwdvd3DdHZpI6qO2xRs=", + "license": "MIT" + }, + "node_modules/@types/d3-fetch": { + "version": "3.0.7", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", + "integrity": "sha1-wEorTyMYGqN28wrwKD28eztWmYA=", + "license": "MIT", + "dependencies": { + "@types/d3-dsv": "*" + } + }, + "node_modules/@types/d3-force": { + "version": "3.0.10", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-force/-/d3-force-3.0.10.tgz", + "integrity": "sha1-bcj8bh81cE87BXCQvu63rGdL/xo=", + "license": "MIT" + }, + "node_modules/@types/d3-format": { + "version": "3.0.4", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-format/-/d3-format-3.0.4.tgz", + "integrity": "sha1-seRGVkTds/3zomP+uyQKbNYW3pA=", + "license": "MIT" + }, + "node_modules/@types/d3-geo": { + "version": "3.1.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha1-nig68XlgHFSVgWALP+wllBkRMp0=", + "license": "MIT", + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-hierarchy": { + "version": "3.1.7", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz", + "integrity": "sha1-YCP7Oy1GMiny1oD5rEtHRm9x8Xs=", + "license": "MIT" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha1-QSuQ6EhwKF8v+KhGxutgNE8SpBw=", + "license": "MIT", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-path/-/d3-path-3.1.1.tgz", + "integrity": "sha1-9jKzgMOsoduo40qgSbzWpK8j34o=", + "license": "MIT" + }, + "node_modules/@types/d3-polygon": { + "version": "3.0.2", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-polygon/-/d3-polygon-3.0.2.tgz", + "integrity": "sha1-365UptNdGedqyVZbyzKo5UaTGJw=", + "license": "MIT" + }, + "node_modules/@types/d3-quadtree": { + "version": "3.0.6", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", + "integrity": "sha1-1HQLD+NbHFi2bhSI9OftApUvVw8=", + "license": "MIT" + }, + "node_modules/@types/d3-random": { + "version": "3.0.4", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-random/-/d3-random-3.0.4.tgz", + "integrity": "sha1-a9NoO4My/A8B5wWbdja8XH7eczc=", + "license": "MIT" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.9", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-scale/-/d3-scale-4.0.9.tgz", + "integrity": "sha1-V6L3ByQub+Hega17/Myq9gYXmvs=", + "license": "MIT", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha1-3G1Pmpg3bxjqULrWw5U38bVGPDk=", + "license": "MIT" + }, + "node_modules/@types/d3-selection": { + "version": "3.0.11", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-selection/-/d3-selection-3.0.11.tgz", + "integrity": "sha1-vXpF/AqMMWemMWdeYbwsorBY1KM=", + "license": "MIT" + }, + "node_modules/@types/d3-shape": { + "version": "3.2.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha1-Zv80IBHcJDxsIOa4mVI9FIrKQS0=", + "license": "MIT", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.4", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-time/-/d3-time-3.0.4.tgz", + "integrity": "sha1-hHL+7NY5aRRQ3YAA6zPt1EThMj8=", + "license": "MIT" + }, + "node_modules/@types/d3-time-format": { + "version": "4.0.3", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-time-format/-/d3-time-format-4.0.3.tgz", + "integrity": "sha1-1rwea2p9tpzM+73Uw0twYy2enbI=", + "license": "MIT" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha1-cLvad9wjqnJ0E+IuIUr6Pw6FL3A=", + "license": "MIT" + }, + "node_modules/@types/d3-transition": { + "version": "3.0.9", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-transition/-/d3-transition-3.0.9.tgz", + "integrity": "sha1-ETa8V+nds8OQ3MybX/O30rjZRwY=", + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-zoom": { + "version": "3.0.8", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", + "integrity": "sha1-3Msy0cVrHhxuDxGA2ZSJbwOLxAs=", + "license": "MIT", + "dependencies": { + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" + } + }, "node_modules/@types/debug": { "version": "4.1.12", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", @@ -5348,6 +5717,12 @@ "@types/send": "*" } }, + "node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha1-jr5T1p762nBERU4zBcGQF9l87So=", + "license": "MIT" + }, "node_modules/@types/gtag.js": { "version": "0.0.12", "resolved": "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz", @@ -5593,6 +5968,13 @@ "@types/node": "*" } }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha1-usywepcLkXB986PoumiWxX6tLRE=", + "license": "MIT", + "optional": true + }, "node_modules/@types/unist": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", @@ -5629,6 +6011,16 @@ "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", "license": "ISC" }, + "node_modules/@upsetjs/venn.js": { + "version": "2.0.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/@upsetjs/venn.js/-/venn.js-2.0.0.tgz", + "integrity": "sha1-O+GSA4zdqSeqT4siq1Gvgqv0fzQ=", + "license": "MIT", + "optionalDependencies": { + "d3-selection": "^3.0.0", + "d3-transition": "^3.0.1" + } + }, "node_modules/@vercel/oidc": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@vercel/oidc/-/oidc-3.0.5.tgz", @@ -6730,6 +7122,20 @@ "url": "https://github.com/sponsors/fb55" } }, + "node_modules/chevrotain": { + "version": "11.1.2", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/chevrotain/-/chevrotain-11.1.2.tgz", + "integrity": "sha1-HbRGvetj/kLTZlCKNCgMLjwMT2I=", + "license": "Apache-2.0", + "dependencies": { + "@chevrotain/cst-dts-gen": "11.1.2", + "@chevrotain/gast": "11.1.2", + "@chevrotain/regexp-to-ast": "11.1.2", + "@chevrotain/types": "11.1.2", + "@chevrotain/utils": "11.1.2", + "lodash-es": "4.17.23" + } + }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", @@ -7227,6 +7633,15 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "license": "MIT" }, + "node_modules/cose-base": { + "version": "1.0.3", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/cose-base/-/cose-base-1.0.3.tgz", + "integrity": "sha1-ZQM0tBuGlXilQzWLgM2n4Kvgpgo=", + "license": "MIT", + "dependencies": { + "layout-base": "^1.0.0" + } + }, "node_modules/cosmiconfig": { "version": "8.3.6", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", @@ -7564,152 +7979,678 @@ ], "license": "MIT-0" }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", + "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", + "license": "MIT", + "dependencies": { + "cssnano-preset-default": "^6.1.2", + "lilconfig": "^3.1.1" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-preset-advanced": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz", + "integrity": "sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==", + "license": "MIT", + "dependencies": { + "autoprefixer": "^10.4.19", + "browserslist": "^4.23.0", + "cssnano-preset-default": "^6.1.2", + "postcss-discard-unused": "^6.0.5", + "postcss-merge-idents": "^6.0.3", + "postcss-reduce-idents": "^6.0.3", + "postcss-zindex": "^6.0.2" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-preset-default": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", + "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.0", + "css-declaration-sorter": "^7.2.0", + "cssnano-utils": "^4.0.2", + "postcss-calc": "^9.0.1", + "postcss-colormin": "^6.1.0", + "postcss-convert-values": "^6.1.0", + "postcss-discard-comments": "^6.0.2", + "postcss-discard-duplicates": "^6.0.3", + "postcss-discard-empty": "^6.0.3", + "postcss-discard-overridden": "^6.0.2", + "postcss-merge-longhand": "^6.0.5", + "postcss-merge-rules": "^6.1.1", + "postcss-minify-font-values": "^6.1.0", + "postcss-minify-gradients": "^6.0.3", + "postcss-minify-params": "^6.1.0", + "postcss-minify-selectors": "^6.0.4", + "postcss-normalize-charset": "^6.0.2", + "postcss-normalize-display-values": "^6.0.2", + "postcss-normalize-positions": "^6.0.2", + "postcss-normalize-repeat-style": "^6.0.2", + "postcss-normalize-string": "^6.0.2", + "postcss-normalize-timing-functions": "^6.0.2", + "postcss-normalize-unicode": "^6.1.0", + "postcss-normalize-url": "^6.0.2", + "postcss-normalize-whitespace": "^6.0.2", + "postcss-ordered-values": "^6.0.2", + "postcss-reduce-initial": "^6.1.0", + "postcss-reduce-transforms": "^6.0.2", + "postcss-svgo": "^6.0.3", + "postcss-unique-selectors": "^6.0.4" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/cssnano-utils": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", + "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", + "license": "MIT", + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/cytoscape": { + "version": "3.34.3", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/cytoscape/-/cytoscape-3.34.3.tgz", + "integrity": "sha1-FQOZa6C1m5AdhjEKH2EuktxGT1E=", + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/cytoscape-cose-bilkent": { + "version": "4.1.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", + "integrity": "sha1-di+hId+ZMP/rUaSV2HkXxXCsIJs=", + "license": "MIT", + "dependencies": { + "cose-base": "^1.0.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose": { + "version": "2.2.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz", + "integrity": "sha1-5Nb2SQ30+rWK6c6p5cOrjXRy9HE=", + "license": "MIT", + "dependencies": { + "cose-base": "^2.2.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/cose-base": { + "version": "2.2.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/cose-base/-/cose-base-2.2.0.tgz", + "integrity": "sha1-HDlcNbbhC7g/l2nKi4F9YUrdXAE=", + "license": "MIT", + "dependencies": { + "layout-base": "^2.0.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/layout-base": { + "version": "2.0.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/layout-base/-/layout-base-2.0.1.tgz", + "integrity": "sha1-0DN5E1hskPnCwHUpIGn1wtpd0oU=", + "license": "MIT" + }, + "node_modules/d3": { + "version": "7.9.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3/-/d3-7.9.0.tgz", + "integrity": "sha1-V556yz10nK+IYL0XQa6NNxBwzV0=", + "license": "ISC", + "dependencies": { + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "4", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha1-Ff7DOyN/l6xdfJhtx32ic6jtC7U=", + "license": "ISC", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-axis": { + "version": "3.0.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha1-xCpKE+gTHWN7dF/Clzgkz+r5MyI=", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-brush": { + "version": "3.0.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha1-b3Z8Ttjct53n7ePhwPieY+9k0xw=", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-chord": { + "version": "3.0.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha1-0VbWH0hfzoMn5qvzOctB2Mu6aWY=", + "license": "ISC", + "dependencies": { + "d3-path": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha1-OVsoM9+scVB/EqwvevI7+BneJOI=", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-contour": { + "version": "4.0.2", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha1-u5IGO8jFZjrLJCL5nHPLtsauO8w=", + "license": "ISC", + "dependencies": { + "d3-array": "^3.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha1-mBaQOHM6ClurvtpVBU95W7nkpYs=", + "license": "ISC", + "dependencies": { + "delaunator": "5" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha1-X8dShOnCN1w2yDlBGgz1UMv8TV4=", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha1-mUqunNI8cZ9TteEOOgphCMaWB7o=", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha1-xjr5ePTWoNCEpSpnOSK+IWB4m3M=", + "license": "ISC", + "dependencies": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/commander/-/commander-7.2.0.tgz", + "integrity": "sha1-o2y1fQtQHOEI5NIFWaFQo5HZerc=", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/d3-dsv/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha1-pS+AvzjaGVLrXGgXkHGYcaGnJQE=", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha1-llisOKIUDVnTRhYPH2ww/aC9EvQ=", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-fetch": { + "version": "3.0.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha1-gxQb/5hWoO21443onNz+Y9CmCiI=", + "license": "ISC", + "dependencies": { + "d3-dsv": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha1-Piuhph5wiI/j2RlOMNbRTuzhVcQ=", + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.2", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-format/-/d3-format-3.1.2.tgz", + "integrity": "sha1-Af20a1i+sfVbELQq1wtuNE1esq4=", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo": { + "version": "3.1.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha1-YCfPUSRvmy69ZPmeAdx8M2QDOk0=", + "license": "ISC", + "dependencies": { + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha1-sBzULB7tPUbbd6WWbPcm+MCRYMY=", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha1-PEeqWzLFs9+1bvP9Q0IHimMrQA0=", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha1-It+TkDL7WnGuixgA1h3beFHEJSY=", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-polygon": { + "version": "3.0.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha1-C0XT3RxIopyOBX5hNWk+yAvxY5g=", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha1-bco+i+Kzk8mp1RTau9gKkt7vGk8=", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-random": { + "version": "3.0.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha1-1JJjeNMz2cC/0eb6AZTTCuuqIPQ=", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-sankey": { + "version": "0.12.3", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-sankey/-/d3-sankey-0.12.3.tgz", + "integrity": "sha1-s8JoYnvXLl2AM26N5qy/7J0V0B0=", + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "1 - 2", + "d3-shape": "^1.2.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-array": { + "version": "2.12.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha1-4gtBqvzf/fXVCSgATs7PgVpGXoE=", + "license": "BSD-3-Clause", + "dependencies": { + "internmap": "^1.0.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-path": { + "version": "1.0.9", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha1-SMBQux/owmJJOoyvVSTj6VkXAc8=", + "license": "BSD-3-Clause" + }, + "node_modules/d3-sankey/node_modules/d3-shape": { + "version": "1.3.7", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha1-32OAG+B7yYa8VPY3ibT+UCmStdc=", + "license": "BSD-3-Clause", + "dependencies": { + "d3-path": "1" + } + }, + "node_modules/d3-sankey/node_modules/internmap": { + "version": "1.0.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha1-ABfMijuZYF8DAvKxmNJy4BXl35U=", + "license": "ISC" + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha1-grOOjo/3CAdk+Nzsd71L45Nok5Y=", + "license": "ISC", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" }, "engines": { - "node": ">=4" + "node": ">=12" } }, - "node_modules/cssnano": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.1.2.tgz", - "integrity": "sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==", - "license": "MIT", + "node_modules/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha1-NMOdopiyPCDgLxpLI5vQ8i5/ExQ=", + "license": "ISC", "dependencies": { - "cssnano-preset-default": "^6.1.2", - "lilconfig": "^3.1.1" + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/cssnano" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=12" } }, - "node_modules/cssnano-preset-advanced": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.1.2.tgz", - "integrity": "sha512-Nhao7eD8ph2DoHolEzQs5CfRpiEP0xa1HBdnFZ82kvqdmbwVBUr2r1QuQ4t1pi+D1ZpqpcO4T+wy/7RxzJ/WPQ==", - "license": "MIT", + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha1-wlM4IH76csxbm9FFihpBkB8eGzE=", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha1-oag5y9m6RfKGdMadf4Vbz5HfxqU=", + "license": "ISC", "dependencies": { - "autoprefixer": "^10.4.19", - "browserslist": "^4.23.0", - "cssnano-preset-default": "^6.1.2", - "postcss-discard-unused": "^6.0.5", - "postcss-merge-idents": "^6.0.3", - "postcss-reduce-idents": "^6.0.3", - "postcss-zindex": "^6.0.2" + "d3-path": "^3.1.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=12" } }, - "node_modules/cssnano-preset-default": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.1.2.tgz", - "integrity": "sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==", - "license": "MIT", + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha1-kxDbVumS48AXXh7zheVF5Iqbtcc=", + "license": "ISC", "dependencies": { - "browserslist": "^4.23.0", - "css-declaration-sorter": "^7.2.0", - "cssnano-utils": "^4.0.2", - "postcss-calc": "^9.0.1", - "postcss-colormin": "^6.1.0", - "postcss-convert-values": "^6.1.0", - "postcss-discard-comments": "^6.0.2", - "postcss-discard-duplicates": "^6.0.3", - "postcss-discard-empty": "^6.0.3", - "postcss-discard-overridden": "^6.0.2", - "postcss-merge-longhand": "^6.0.5", - "postcss-merge-rules": "^6.1.1", - "postcss-minify-font-values": "^6.1.0", - "postcss-minify-gradients": "^6.0.3", - "postcss-minify-params": "^6.1.0", - "postcss-minify-selectors": "^6.0.4", - "postcss-normalize-charset": "^6.0.2", - "postcss-normalize-display-values": "^6.0.2", - "postcss-normalize-positions": "^6.0.2", - "postcss-normalize-repeat-style": "^6.0.2", - "postcss-normalize-string": "^6.0.2", - "postcss-normalize-timing-functions": "^6.0.2", - "postcss-normalize-unicode": "^6.1.0", - "postcss-normalize-url": "^6.0.2", - "postcss-normalize-whitespace": "^6.0.2", - "postcss-ordered-values": "^6.0.2", - "postcss-reduce-initial": "^6.1.0", - "postcss-reduce-transforms": "^6.0.2", - "postcss-svgo": "^6.0.3", - "postcss-unique-selectors": "^6.0.4" + "d3-array": "2 - 3" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha1-erUlelBB0R7LT+cKXH0WoZW7QIo=", + "license": "ISC", + "dependencies": { + "d3-time": "1 - 3" }, - "peerDependencies": { - "postcss": "^8.4.31" + "engines": { + "node": ">=12" } }, - "node_modules/cssnano-utils": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.2.tgz", - "integrity": "sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==", - "license": "MIT", + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha1-YoTSonCChbGrt+IB7aQ4CvNeY7A=", + "license": "ISC", "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" + "node": ">=12" } }, - "node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", - "license": "MIT", + "node_modules/d3-transition": { + "version": "3.0.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha1-aGn93hRIhoB3/dWYkgDLYbKhZF8=", + "license": "ISC", "dependencies": { - "css-tree": "~2.2.0" + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" + "node": ">=12" + }, + "peerDependencies": { + "d3-selection": "2 - 3" } }, - "node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "license": "MIT", + "node_modules/d3-zoom": { + "version": "3.0.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha1-0T9BZccyF//qpUKVzWlps+eu6PM=", + "license": "ISC", "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" + "node": ">=12" } }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "license": "CC0-1.0" + "node_modules/dagre-d3-es": { + "version": "7.0.14", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/dagre-d3-es/-/dagre-d3-es-7.0.14.tgz", + "integrity": "sha1-EnInbiZFfPO5faxWn48FMewzw3c=", + "license": "MIT", + "dependencies": { + "d3": "^7.9.0", + "lodash-es": "^4.17.21" + } }, - "node_modules/csstype": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "node_modules/dayjs": { + "version": "1.11.23", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/dayjs/-/dayjs-1.11.23.tgz", + "integrity": "sha1-sKNjUG3eXzbPUHXkLr6BFRZajHk=", "license": "MIT" }, "node_modules/debounce": { @@ -7873,6 +8814,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/delaunator": { + "version": "5.1.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/delaunator/-/delaunator-5.1.0.tgz", + "integrity": "sha1-0TJx+/Ov9nU/nqbiNVV/IJAQRuo=", + "license": "ISC", + "dependencies": { + "robust-predicates": "^3.0.2" + } + }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -8011,6 +8961,15 @@ "url": "https://github.com/fb55/domhandler?sponsor=1" } }, + "node_modules/dompurify": { + "version": "3.4.15", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/dompurify/-/dompurify-3.4.15.tgz", + "integrity": "sha1-MDUbNFE4lPQowTvdsov/CgJ66AQ=", + "license": "(MPL-2.0 OR Apache-2.0)", + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, "node_modules/domutils": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", @@ -8097,6 +9056,12 @@ "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", "license": "ISC" }, + "node_modules/elkjs": { + "version": "0.9.3", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/elkjs/-/elkjs-0.9.3.tgz", + "integrity": "sha1-FnEfjOsJ8bErmelxsTioOEpSkWE=", + "license": "EPL-2.0" + }, "node_modules/embedme": { "version": "1.22.1", "resolved": "https://registry.npmjs.org/embedme/-/embedme-1.22.1.tgz", @@ -8262,6 +9227,18 @@ "node": ">= 0.4" } }, + "node_modules/es-toolkit": { + "version": "1.52.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/es-toolkit/-/es-toolkit-1.52.0.tgz", + "integrity": "sha1-cerxqLGINO93Y37Mu4hbpMA81t0=", + "license": "MIT", + "workspaces": [ + "docs", + "benchmarks", + "tests/types", + "tests/browser-compat" + ] + }, "node_modules/esast-util-from-estree": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", @@ -9345,6 +10322,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/hachure-fill": { + "version": "0.5.2", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/hachure-fill/-/hachure-fill-0.5.2.tgz", + "integrity": "sha1-0ZvEzIdQpZYrR/sTAFV6hfz5NMw=", + "license": "MIT" + }, "node_modules/handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", @@ -9984,6 +10967,16 @@ "node": ">=8" } }, + "node_modules/import-meta-resolve": { + "version": "4.2.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", + "integrity": "sha1-CMuFtb037MjrHg9nDcJ2cALUNzQ=", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -10044,6 +11037,15 @@ "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", "license": "MIT" }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha1-ZoXyN1XkPFJOJR0py8lySOMGEAk=", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, "node_modules/invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -10545,6 +11547,31 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/katex": { + "version": "0.16.47", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/katex/-/katex-0.16.47.tgz", + "integrity": "sha1-ChOkLC3rT3TmHxYtRAuRZaVIAw8=", + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "license": "MIT", + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "node_modules/katex/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/commander/-/commander-8.3.0.tgz", + "integrity": "sha1-SDfqGy2me5xhamevuw+v7lZ7ymY=", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", @@ -10554,6 +11581,11 @@ "json-buffer": "3.0.1" } }, + "node_modules/khroma": { + "version": "2.1.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/khroma/-/khroma-2.1.0.tgz", + "integrity": "sha1-RfLOlM4jGkN89bY8LohubrQru7E=" + }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -10606,6 +11638,12 @@ "shell-quote": "^1.8.3" } }, + "node_modules/layout-base": { + "version": "1.0.2", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/layout-base/-/layout-base-1.0.2.tgz", + "integrity": "sha1-EpHilog8Miqd1MXdggY3IbU+JuI=", + "license": "MIT" + }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -10681,6 +11719,12 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "license": "MIT" }, + "node_modules/lodash-es": { + "version": "4.17.23", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha1-WMQ2D9G10zr8bAu9PRFJNJsROOA=", + "license": "MIT" + }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -11271,6 +12315,53 @@ "node": ">= 8" } }, + "node_modules/mermaid": { + "version": "12.0.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/mermaid/-/mermaid-12.0.0.tgz", + "integrity": "sha512-/wQXC9iBxoGV8p3erbvaXs9h77VyLDBH6GdayVjj3hEcSQhFU4N1WUhUppotCEqlIxI2pRMwjwBSwTB1MfZBgQ==", + "license": "MIT", + "dependencies": { + "@braintree/sanitize-url": "^7.1.2", + "@iconify/utils": "^3.0.2", + "@mermaid-js/parser": "^2.0.0", + "@types/d3": "^7.4.3", + "@upsetjs/venn.js": "^2.0.0", + "chevrotain": "~11.1.2", + "cytoscape": "^3.34.0", + "cytoscape-cose-bilkent": "^4.1.0", + "cytoscape-fcose": "^2.2.0", + "d3": "^7.9.0", + "d3-sankey": "^0.12.3", + "dagre-d3-es": "7.0.14", + "dayjs": "^1.11.21", + "dompurify": "^3.4.12", + "elkjs": "^0.9.3", + "es-toolkit": "^1.45.1", + "katex": "^0.16.47", + "khroma": "^2.1.0", + "marked": "^16.3.0", + "roughjs": "^4.6.6", + "stylis": "^4.3.6", + "ts-dedent": "^2.2.0", + "uuid": "^11.1.0 || ^12 || ^13 || ^14.0.0" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/mermaid/node_modules/uuid": { + "version": "14.0.2", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/uuid/-/uuid-14.0.2.tgz", + "integrity": "sha1-1a4D5NsIgchycfiwub1zEtAseZo=", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist-node/bin/uuid" + } + }, "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -13158,9 +14249,9 @@ "license": "ISC" }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha1-WAyI+NVEXyvWqo88re+g3nn71p4=", "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -13653,6 +14744,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/package-manager-detector": { + "version": "1.8.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/package-manager-detector/-/package-manager-detector-1.8.0.tgz", + "integrity": "sha1-cMmixL0aUT3NbK0Aap/OvsIqElM=", + "license": "MIT" + }, "node_modules/param-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", @@ -13792,6 +14889,12 @@ "tslib": "^2.0.3" } }, + "node_modules/path-data-parser": { + "version": "0.1.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/path-data-parser/-/path-data-parser-0.1.0.tgz", + "integrity": "sha1-j1ulzHD8e+yz3O+uoI4mWaumC4w=", + "license": "MIT" + }, "node_modules/path-exists": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", @@ -13883,6 +14986,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/points-on-curve": { + "version": "0.2.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/points-on-curve/-/points-on-curve-0.2.0.tgz", + "integrity": "sha1-fbuYxDeRhZQ0KEdhMw+ok8uBtNE=", + "license": "MIT" + }, + "node_modules/points-on-path": { + "version": "0.2.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/points-on-path/-/points-on-path-0.2.1.tgz", + "integrity": "sha1-VTICtUJMU77TcTWzGIWOrP+F3VI=", + "license": "MIT", + "dependencies": { + "path-data-parser": "0.1.0", + "points-on-curve": "0.2.0" + } + }, "node_modules/postcss": { "version": "8.5.6", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", @@ -15694,9 +16813,9 @@ } }, "node_modules/react-loadable-ssr-addon-v5-slorber": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", - "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", + "version": "1.0.3", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.3.tgz", + "integrity": "sha1-uzeRv0gSIsY6W8a5buI/aMtWFLk=", "license": "MIT", "dependencies": { "@babel/runtime": "^7.10.3" @@ -16307,6 +17426,24 @@ "node": ">=0.10.0" } }, + "node_modules/robust-predicates": { + "version": "3.0.3", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/robust-predicates/-/robust-predicates-3.0.3.tgz", + "integrity": "sha1-EJkGGzNJ4sWr7GwqsKzUQNJNQGI=", + "license": "Unlicense" + }, + "node_modules/roughjs": { + "version": "4.6.6", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/roughjs/-/roughjs-4.6.6.tgz", + "integrity": "sha1-EFn0ml4MgN7lQaAFsgzDIrIiFYs=", + "license": "MIT", + "dependencies": { + "hachure-fill": "^0.5.2", + "path-data-parser": "^0.1.0", + "points-on-curve": "^0.2.0", + "points-on-path": "^0.2.1" + } + }, "node_modules/rtlcss": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.3.0.tgz", @@ -16360,6 +17497,12 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/rw/-/rw-1.3.3.tgz", + "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=", + "license": "BSD-3-Clause" + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -16550,15 +17693,15 @@ } }, "node_modules/serve-handler": { - "version": "6.1.6", - "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz", - "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==", + "version": "6.1.7", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/serve-handler/-/serve-handler-6.1.7.tgz", + "integrity": "sha1-6buGTofucejauHTN5E0Ua3fj+3g=", "license": "MIT", "dependencies": { "bytes": "3.0.0", "content-disposition": "0.5.2", "mime-types": "2.1.18", - "minimatch": "3.1.2", + "minimatch": "3.1.5", "path-is-inside": "1.0.2", "path-to-regexp": "3.3.0", "range-parser": "1.2.0" @@ -17178,6 +18321,12 @@ "postcss": "^8.4.31" } }, + "node_modules/stylis": { + "version": "4.4.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/stylis/-/stylis-4.4.0.tgz", + "integrity": "sha1-xYRsk0X0v8Ub0MvXyjWgdE9IWl0=", + "license": "MIT" + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -17401,6 +18550,15 @@ "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", "license": "MIT" }, + "node_modules/tinyexec": { + "version": "1.3.1", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/tinyexec/-/tinyexec-1.3.1.tgz", + "integrity": "sha1-FqLjxuI/r85yZA5njmUds2FFucY=", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/tinypool": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", @@ -17476,6 +18634,15 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/ts-dedent": { + "version": "2.3.0", + "resolved": "https://ms-feed-25.pkgs.visualstudio.com/1es-public/_packaging/npm-public/npm/registry/ts-dedent/-/ts-dedent-2.3.0.tgz", + "integrity": "sha1-j6w2x5ArVBwVSsE6J6xGeZevEfg=", + "license": "MIT", + "engines": { + "node": ">=6.10" + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", diff --git a/website/package.json b/website/package.json index 72196fb..37bbd88 100644 --- a/website/package.json +++ b/website/package.json @@ -24,6 +24,7 @@ "@docusaurus/core": "^3.0.0", "@docusaurus/plugin-google-gtag": "^3.0.0", "@docusaurus/preset-classic": "^3.0.0", + "@docusaurus/theme-mermaid": "3.9.2", "@easyops-cn/docusaurus-search-local": "^0.52.2", "@mdx-js/react": "^3.0.0", "@saucelabs/theme-github-codeblock": "^0.3.0", diff --git a/website/src/css/custom.css b/website/src/css/custom.css index 32a2b09..2b66065 100644 --- a/website/src/css/custom.css +++ b/website/src/css/custom.css @@ -27,3 +27,21 @@ html[data-theme='dark'] .docusaurus-highlight-code-line { background-color: rgba(0, 0, 0, 0.3); } +.mermaid { + display: flex; + justify-content: center; + margin: 1.5rem auto; + max-width: 100%; + overflow: auto; +} + +.mermaid svg, +.markdown img, +.theme-blog-content img, +article img { + max-width: 100%; + height: auto; + display: block; + margin: 1rem auto; +} + From d9d1f0c8726cc1bf2d73ef02899dbb45d3501dfa Mon Sep 17 00:00:00 2001 From: "Dina Berry (personal)" Date: Sun, 20 Sep 2026 14:40:51 -0700 Subject: [PATCH 4/4] Delete website/blog/media/2026-09-20-agent-skill-boundary-evaluator/evaluator-flow.png --- .../evaluator-flow.png | Bin 31505 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 website/blog/media/2026-09-20-agent-skill-boundary-evaluator/evaluator-flow.png diff --git a/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/evaluator-flow.png b/website/blog/media/2026-09-20-agent-skill-boundary-evaluator/evaluator-flow.png deleted file mode 100644 index 63aa3c214a786a35d7f34e8799ee2d38d8c93d6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31505 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