From 4e278d4d3ebf7da487d8f88605a35d700f83b343 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 4 Jul 2026 16:05:11 +0000
Subject: [PATCH 1/7] Initial plan
From 028ed7a2ad714239ba3969642469c2c12f334725 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 4 Jul 2026 16:19:20 +0000
Subject: [PATCH 2/7] Initial plan setup
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
---
pkg/actionpins/data/action_pins.json | 1512 +++++++++++++-------------
pkg/workflow/data/action_pins.json | 1512 +++++++++++++-------------
2 files changed, 1512 insertions(+), 1512 deletions(-)
diff --git a/pkg/actionpins/data/action_pins.json b/pkg/actionpins/data/action_pins.json
index 0540eda0972..ffe6c94d496 100644
--- a/pkg/actionpins/data/action_pins.json
+++ b/pkg/actionpins/data/action_pins.json
@@ -1,761 +1,761 @@
{
- "entries": {
- "actions-ecosystem/action-add-labels@v1.1.3": {
- "repo": "actions-ecosystem/action-add-labels",
- "version": "v1.1.3",
- "sha": "c96b68fec76a0987cd93957189e9abd0b9a72ff1",
- "inputs": {
- "github_token": {
- "description": "A GitHub token.",
- "default": "${{ github.token }}"
- },
- "labels": {
- "description": "The labels' name to be added. Must be separated with line breaks if there're multiple labels.",
- "required": true
- },
- "number": {
- "description": "The number of the issue or pull request."
- },
- "repo": {
- "description": "The owner and repository name. e.g.) Codertocat/Hello-World",
- "default": "${{ github.repository }}"
+ "entries": {
+ "actions-ecosystem/action-add-labels@v1.1.3": {
+ "repo": "actions-ecosystem/action-add-labels",
+ "version": "v1.1.3",
+ "sha": "c96b68fec76a0987cd93957189e9abd0b9a72ff1",
+ "inputs": {
+ "github_token": {
+ "description": "A GitHub token.",
+ "default": "${{ github.token }}"
+ },
+ "labels": {
+ "description": "The labels' name to be added. Must be separated with line breaks if there're multiple labels.",
+ "required": true
+ },
+ "number": {
+ "description": "The number of the issue or pull request."
+ },
+ "repo": {
+ "description": "The owner and repository name. e.g.) Codertocat/Hello-World",
+ "default": "${{ github.repository }}"
+ }
+ },
+ "action_description": "Add labels to an issue or a pull request."
+ },
+ "actions/cache/restore@v6.1.0": {
+ "repo": "actions/cache/restore",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/cache/save@v6.1.0": {
+ "repo": "actions/cache/save",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/cache@v6.1.0": {
+ "repo": "actions/cache",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/checkout@v7.0.0": {
+ "repo": "actions/checkout",
+ "version": "v7.0.0",
+ "sha": "9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
+ },
+ "actions/create-github-app-token@v3.2.0": {
+ "repo": "actions/create-github-app-token",
+ "version": "v3.2.0",
+ "sha": "bcd2ba49218906704ab6c1aa796996da409d3eb1"
+ },
+ "actions/download-artifact@v8.0.1": {
+ "repo": "actions/download-artifact",
+ "version": "v8.0.1",
+ "sha": "3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"
+ },
+ "actions/github-script@v9.0.0": {
+ "repo": "actions/github-script",
+ "version": "v9.0.0",
+ "sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
+ },
+ "actions/setup-dotnet@v5.4.0": {
+ "repo": "actions/setup-dotnet",
+ "version": "v5.4.0",
+ "sha": "26b0ec14cb23fa6904739307f278c14f94c95bf1"
+ },
+ "actions/setup-go@v6.5.0": {
+ "repo": "actions/setup-go",
+ "version": "v6.5.0",
+ "sha": "924ae3a1cded613372ab5595356fb5720e22ba16"
+ },
+ "actions/setup-java@v5.4.0": {
+ "repo": "actions/setup-java",
+ "version": "v5.4.0",
+ "sha": "1bcf9fb12cf4aa7d266a90ae39939e61372fe520"
+ },
+ "actions/setup-node@v6.4.0": {
+ "repo": "actions/setup-node",
+ "version": "v6.4.0",
+ "sha": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
+ },
+ "actions/setup-python@v6.3.0": {
+ "repo": "actions/setup-python",
+ "version": "v6.3.0",
+ "sha": "ece7cb06caefa5fff74198d8649806c4678c61a1"
+ },
+ "actions/upload-artifact@v7.0.1": {
+ "repo": "actions/upload-artifact",
+ "version": "v7.0.1",
+ "sha": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
+ },
+ "anchore/sbom-action@v0.24.0": {
+ "repo": "anchore/sbom-action",
+ "version": "v0.24.0",
+ "sha": "e22c389904149dbc22b58101806040fa8d37a610"
+ },
+ "astral-sh/setup-uv@v8.2.0": {
+ "repo": "astral-sh/setup-uv",
+ "version": "v8.2.0",
+ "sha": "fac544c07dec837d0ccb6301d7b5580bf5edae39"
+ },
+ "denoland/setup-deno@v2.0.4": {
+ "repo": "denoland/setup-deno",
+ "version": "v2.0.4",
+ "sha": "667a34cdef165d8d2b2e98dde39547c9daac7282"
+ },
+ "docker/build-push-action@v7.2.0": {
+ "repo": "docker/build-push-action",
+ "version": "v7.2.0",
+ "sha": "f9f3042f7e2789586610d6e8b85c8f03e5195baf",
+ "released_at": "2026-05-21T15:23:58Z"
+ },
+ "docker/login-action@v4.2.0": {
+ "repo": "docker/login-action",
+ "version": "v4.2.0",
+ "sha": "650006c6eb7dba73a995cc03b0b2d7f5ca915bee",
+ "released_at": "2026-05-22T11:55:00Z"
+ },
+ "docker/metadata-action@v6.1.0": {
+ "repo": "docker/metadata-action",
+ "version": "v6.1.0",
+ "sha": "80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9"
+ },
+ "docker/setup-buildx-action@v4.1.0": {
+ "repo": "docker/setup-buildx-action",
+ "version": "v4.1.0",
+ "sha": "d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5"
+ },
+ "erlef/setup-beam@v1.24.0": {
+ "repo": "erlef/setup-beam",
+ "version": "v1.24.0",
+ "sha": "fc68ffb90438ef2936bbb3251622353b3dcb2f93"
+ },
+ "github/codeql-action/upload-sarif@v4.36.2": {
+ "repo": "github/codeql-action/upload-sarif",
+ "version": "v4.36.2",
+ "sha": "8aad20d150bbac5944a9f9d289da16a4b0d87c1e"
+ },
+ "github/stale-repos@v9.0.15": {
+ "repo": "github/stale-repos",
+ "version": "v9.0.15",
+ "sha": "a0db8bfe2318ed6ddbd01e95d7633803f99f77e9"
+ },
+ "haskell-actions/setup@v2.11.0": {
+ "repo": "haskell-actions/setup",
+ "version": "v2.11.0",
+ "sha": "cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553"
+ },
+ "oven-sh/setup-bun@v2.2.0": {
+ "repo": "oven-sh/setup-bun",
+ "version": "v2.2.0",
+ "sha": "0c5077e51419868618aeaa5fe8019c62421857d6"
+ },
+ "ruby/setup-ruby@v1.314.0": {
+ "repo": "ruby/setup-ruby",
+ "version": "v1.314.0",
+ "sha": "9eb537ca036ebaed86729dcb9309076e4c5c3b74"
+ },
+ "safedep/pmg@v1": {
+ "repo": "safedep/pmg",
+ "version": "v1",
+ "sha": "46cc70db535107183c9e752bb55d1d5c5f1a9290"
+ },
+ "super-linter/super-linter@v8.7.0": {
+ "repo": "super-linter/super-linter",
+ "version": "v8.7.0",
+ "sha": "4ce20838b8ab83717e78138c5b3a1407148e0918"
}
- },
- "action_description": "Add labels to an issue or a pull request."
- },
- "actions/cache/restore@v6.1.0": {
- "repo": "actions/cache/restore",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/cache/save@v6.1.0": {
- "repo": "actions/cache/save",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/cache@v6.1.0": {
- "repo": "actions/cache",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/checkout@v7.0.0": {
- "repo": "actions/checkout",
- "version": "v7.0.0",
- "sha": "9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
- },
- "actions/create-github-app-token@v3.2.0": {
- "repo": "actions/create-github-app-token",
- "version": "v3.2.0",
- "sha": "bcd2ba49218906704ab6c1aa796996da409d3eb1"
- },
- "actions/download-artifact@v8.0.1": {
- "repo": "actions/download-artifact",
- "version": "v8.0.1",
- "sha": "3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"
- },
- "actions/github-script@v9.0.0": {
- "repo": "actions/github-script",
- "version": "v9.0.0",
- "sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
- },
- "actions/setup-dotnet@v5.4.0": {
- "repo": "actions/setup-dotnet",
- "version": "v5.4.0",
- "sha": "26b0ec14cb23fa6904739307f278c14f94c95bf1"
- },
- "actions/setup-go@v6.5.0": {
- "repo": "actions/setup-go",
- "version": "v6.5.0",
- "sha": "924ae3a1cded613372ab5595356fb5720e22ba16"
- },
- "actions/setup-java@v5.4.0": {
- "repo": "actions/setup-java",
- "version": "v5.4.0",
- "sha": "1bcf9fb12cf4aa7d266a90ae39939e61372fe520"
- },
- "actions/setup-node@v6.4.0": {
- "repo": "actions/setup-node",
- "version": "v6.4.0",
- "sha": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
- },
- "actions/setup-python@v6.3.0": {
- "repo": "actions/setup-python",
- "version": "v6.3.0",
- "sha": "ece7cb06caefa5fff74198d8649806c4678c61a1"
- },
- "actions/upload-artifact@v7.0.1": {
- "repo": "actions/upload-artifact",
- "version": "v7.0.1",
- "sha": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
- },
- "anchore/sbom-action@v0.24.0": {
- "repo": "anchore/sbom-action",
- "version": "v0.24.0",
- "sha": "e22c389904149dbc22b58101806040fa8d37a610"
- },
- "astral-sh/setup-uv@v8.2.0": {
- "repo": "astral-sh/setup-uv",
- "version": "v8.2.0",
- "sha": "fac544c07dec837d0ccb6301d7b5580bf5edae39"
- },
- "denoland/setup-deno@v2.0.4": {
- "repo": "denoland/setup-deno",
- "version": "v2.0.4",
- "sha": "667a34cdef165d8d2b2e98dde39547c9daac7282"
- },
- "docker/build-push-action@v7.2.0": {
- "repo": "docker/build-push-action",
- "version": "v7.2.0",
- "sha": "f9f3042f7e2789586610d6e8b85c8f03e5195baf",
- "released_at": "2026-05-21T15:23:58Z"
- },
- "docker/login-action@v4.2.0": {
- "repo": "docker/login-action",
- "version": "v4.2.0",
- "sha": "650006c6eb7dba73a995cc03b0b2d7f5ca915bee",
- "released_at": "2026-05-22T11:55:00Z"
- },
- "docker/metadata-action@v6.1.0": {
- "repo": "docker/metadata-action",
- "version": "v6.1.0",
- "sha": "80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9"
- },
- "docker/setup-buildx-action@v4.1.0": {
- "repo": "docker/setup-buildx-action",
- "version": "v4.1.0",
- "sha": "d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5"
- },
- "erlef/setup-beam@v1.24.0": {
- "repo": "erlef/setup-beam",
- "version": "v1.24.0",
- "sha": "fc68ffb90438ef2936bbb3251622353b3dcb2f93"
- },
- "github/codeql-action/upload-sarif@v4.36.2": {
- "repo": "github/codeql-action/upload-sarif",
- "version": "v4.36.2",
- "sha": "8aad20d150bbac5944a9f9d289da16a4b0d87c1e"
- },
- "github/stale-repos@v9.0.15": {
- "repo": "github/stale-repos",
- "version": "v9.0.15",
- "sha": "a0db8bfe2318ed6ddbd01e95d7633803f99f77e9"
- },
- "haskell-actions/setup@v2.11.0": {
- "repo": "haskell-actions/setup",
- "version": "v2.11.0",
- "sha": "cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553"
- },
- "oven-sh/setup-bun@v2.2.0": {
- "repo": "oven-sh/setup-bun",
- "version": "v2.2.0",
- "sha": "0c5077e51419868618aeaa5fe8019c62421857d6"
- },
- "ruby/setup-ruby@v1.314.0": {
- "repo": "ruby/setup-ruby",
- "version": "v1.314.0",
- "sha": "9eb537ca036ebaed86729dcb9309076e4c5c3b74"
- },
- "safedep/pmg@v1": {
- "repo": "safedep/pmg",
- "version": "v1",
- "sha": "46cc70db535107183c9e752bb55d1d5c5f1a9290"
- },
- "super-linter/super-linter@v8.7.0": {
- "repo": "super-linter/super-linter",
- "version": "v8.7.0",
- "sha": "4ce20838b8ab83717e78138c5b3a1407148e0918"
- }
- },
- "containers": {
- "alpine:latest": {
- "image": "alpine:latest",
- "digest": "sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11",
- "pinned_image": "alpine:latest@sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11"
- },
- "docker.io/mcp/brave-search": {
- "image": "docker.io/mcp/brave-search",
- "digest": "sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22",
- "pinned_image": "docker.io/mcp/brave-search@sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22"
- },
- "ghcr.io/chopratejas/headroom:latest": {
- "image": "ghcr.io/chopratejas/headroom:latest",
- "digest": "sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e",
- "pinned_image": "ghcr.io/chopratejas/headroom:latest@sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e"
- },
- "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29",
- "digest": "sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29@sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1"
- },
- "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13",
- "digest": "sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13@sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18",
- "digest": "sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18@sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20",
- "digest": "sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20@sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28",
- "digest": "sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28@sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29",
- "digest": "sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29@sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40",
- "digest": "sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40@sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41",
- "digest": "sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41@sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66",
- "digest": "sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66@sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67",
- "digest": "sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67@sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0",
- "digest": "sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0@sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1",
- "digest": "sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1@sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11",
- "digest": "sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11@sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12",
- "digest": "sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12@sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13",
- "digest": "sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13@sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2",
- "digest": "sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22",
- "digest": "sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4",
- "digest": "sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4@sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6",
- "digest": "sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6@sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7",
- "digest": "sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7@sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9",
- "digest": "sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9@sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18",
- "digest": "sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18@sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20",
- "digest": "sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20@sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28",
- "digest": "sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28@sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29",
- "digest": "sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29@sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40",
- "digest": "sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40@sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41",
- "digest": "sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41@sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66",
- "digest": "sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66@sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67",
- "digest": "sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67@sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0",
- "digest": "sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0@sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1",
- "digest": "sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1@sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11",
- "digest": "sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11@sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12",
- "digest": "sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12@sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13",
- "digest": "sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13@sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2",
- "digest": "sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22",
- "digest": "sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4",
- "digest": "sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4@sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6",
- "digest": "sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6@sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7",
- "digest": "sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7@sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9",
- "digest": "sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9@sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28",
- "digest": "sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28@sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29",
- "digest": "sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29@sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40",
- "digest": "sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40@sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41",
- "digest": "sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41@sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66",
- "digest": "sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66@sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67",
- "digest": "sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67@sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0",
- "digest": "sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0@sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1",
- "digest": "sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1@sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12",
- "digest": "sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12@sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13",
- "digest": "sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13@sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2",
- "digest": "sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22",
- "digest": "sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4",
- "digest": "sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4@sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6",
- "digest": "sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6@sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7",
- "digest": "sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7@sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9",
- "digest": "sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9@sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18",
- "digest": "sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18@sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20",
- "digest": "sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20@sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28",
- "digest": "sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28@sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29",
- "digest": "sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29@sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40",
- "digest": "sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40@sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41",
- "digest": "sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41@sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66",
- "digest": "sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66@sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67",
- "digest": "sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67@sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0",
- "digest": "sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0@sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1",
- "digest": "sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1@sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11",
- "digest": "sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11@sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12",
- "digest": "sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12@sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13",
- "digest": "sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13@sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2",
- "digest": "sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22",
- "digest": "sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4",
- "digest": "sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4@sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6",
- "digest": "sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6@sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7",
- "digest": "sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7@sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9",
- "digest": "sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9@sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.2.19": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.2.19",
- "digest": "sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.19@sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.2.30": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.2.30",
- "digest": "sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.30@sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.0": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.0",
- "digest": "sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.0@sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.1": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.1",
- "digest": "sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.1@sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.16": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.16",
- "digest": "sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.16@sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.23": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.23",
- "digest": "sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.23@sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.24": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.24",
- "digest": "sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.24@sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.25": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.25",
- "digest": "sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.26": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.26",
- "digest": "sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.26@sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.27": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.27",
- "digest": "sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.27@sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.29": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.29",
- "digest": "sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.29@sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.30": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.30",
- "digest": "sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.30@sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be"
},
- "ghcr.io/github/gh-aw-mcpg:v0.3.31": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.31",
- "digest": "sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.31@sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.32": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.32",
- "digest": "sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.32@sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.33": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.33",
- "digest": "sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.6": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.6",
- "digest": "sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.6@sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.8": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.8",
- "digest": "sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.8@sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.9": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.9",
- "digest": "sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.9@sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388"
- },
- "ghcr.io/github/gh-aw-node": {
- "image": "ghcr.io/github/gh-aw-node",
- "digest": "sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b",
- "pinned_image": "ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"
- },
- "ghcr.io/github/github-mcp-server:v0.32.0": {
- "image": "ghcr.io/github/github-mcp-server:v0.32.0",
- "digest": "sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28",
- "pinned_image": "ghcr.io/github/github-mcp-server:v0.32.0@sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28"
- },
- "ghcr.io/github/github-mcp-server:v1.0.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.0",
- "digest": "sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.0@sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95"
- },
- "ghcr.io/github/github-mcp-server:v1.0.3": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.3",
- "digest": "sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.3@sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959"
- },
- "ghcr.io/github/github-mcp-server:v1.0.4": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.4",
- "digest": "sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.4@sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4"
- },
- "ghcr.io/github/github-mcp-server:v1.1.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.1.0",
- "digest": "sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.0@sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029"
- },
- "ghcr.io/github/github-mcp-server:v1.1.2": {
- "image": "ghcr.io/github/github-mcp-server:v1.1.2",
- "digest": "sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"
- },
- "ghcr.io/github/github-mcp-server:v1.3.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.3.0",
- "digest": "sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.3.0@sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80"
- },
- "ghcr.io/github/github-mcp-server:v1.4.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.4.0",
- "digest": "sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.4.0@sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036"
- },
- "ghcr.io/github/github-mcp-server:v1.5.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.5.0",
- "digest": "sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"
- },
- "ghcr.io/github/serena-mcp-server:latest": {
- "image": "ghcr.io/github/serena-mcp-server:latest",
- "digest": "sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5",
- "pinned_image": "ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"
- },
- "grafana/mcp-grafana": {
- "image": "grafana/mcp-grafana",
- "digest": "sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090",
- "pinned_image": "grafana/mcp-grafana@sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090"
- },
- "mcp/arxiv-mcp-server": {
- "image": "mcp/arxiv-mcp-server",
- "digest": "sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e",
- "pinned_image": "mcp/arxiv-mcp-server@sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e"
- },
- "mcp/ast-grep:latest": {
- "image": "mcp/ast-grep:latest",
- "digest": "sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72",
- "pinned_image": "mcp/ast-grep:latest@sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72"
- },
- "mcp/context7": {
- "image": "mcp/context7",
- "digest": "sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836",
- "pinned_image": "mcp/context7@sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836"
- },
- "mcp/markitdown": {
- "image": "mcp/markitdown",
- "digest": "sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb",
- "pinned_image": "mcp/markitdown@sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb"
- },
- "mcp/memory": {
- "image": "mcp/memory",
- "digest": "sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f",
- "pinned_image": "mcp/memory@sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f"
- },
- "mcp/notion": {
- "image": "mcp/notion",
- "digest": "sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367",
- "pinned_image": "mcp/notion@sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367"
- },
- "mcr.microsoft.com/playwright/mcp": {
- "image": "mcr.microsoft.com/playwright/mcp",
- "digest": "sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2",
- "pinned_image": "mcr.microsoft.com/playwright/mcp@sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2"
- },
- "node:lts-alpine": {
- "image": "node:lts-alpine",
- "digest": "sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14",
- "pinned_image": "node:lts-alpine@sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14"
- },
- "python:alpine": {
- "image": "python:alpine",
- "digest": "sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116",
- "pinned_image": "python:alpine@sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116"
- },
- "semgrep/semgrep:latest": {
- "image": "semgrep/semgrep:latest",
- "digest": "sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2",
- "pinned_image": "semgrep/semgrep:latest@sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2"
+ "containers": {
+ "alpine:latest": {
+ "image": "alpine:latest",
+ "digest": "sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11",
+ "pinned_image": "alpine:latest@sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11"
+ },
+ "docker.io/mcp/brave-search": {
+ "image": "docker.io/mcp/brave-search",
+ "digest": "sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22",
+ "pinned_image": "docker.io/mcp/brave-search@sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22"
+ },
+ "ghcr.io/chopratejas/headroom:latest": {
+ "image": "ghcr.io/chopratejas/headroom:latest",
+ "digest": "sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e",
+ "pinned_image": "ghcr.io/chopratejas/headroom:latest@sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29",
+ "digest": "sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29@sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13",
+ "digest": "sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13@sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18",
+ "digest": "sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18@sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20",
+ "digest": "sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20@sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28",
+ "digest": "sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28@sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29",
+ "digest": "sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29@sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40",
+ "digest": "sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40@sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41",
+ "digest": "sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41@sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66",
+ "digest": "sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66@sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67",
+ "digest": "sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67@sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0",
+ "digest": "sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0@sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1",
+ "digest": "sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1@sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11",
+ "digest": "sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11@sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12",
+ "digest": "sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12@sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13",
+ "digest": "sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13@sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2",
+ "digest": "sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22",
+ "digest": "sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4",
+ "digest": "sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4@sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6",
+ "digest": "sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6@sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7",
+ "digest": "sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7@sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9",
+ "digest": "sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9@sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18",
+ "digest": "sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18@sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20",
+ "digest": "sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20@sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28",
+ "digest": "sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28@sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29",
+ "digest": "sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29@sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40",
+ "digest": "sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40@sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41",
+ "digest": "sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41@sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66",
+ "digest": "sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66@sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67",
+ "digest": "sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67@sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0",
+ "digest": "sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0@sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1",
+ "digest": "sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1@sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11",
+ "digest": "sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11@sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12",
+ "digest": "sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12@sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13",
+ "digest": "sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13@sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2",
+ "digest": "sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22",
+ "digest": "sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4",
+ "digest": "sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4@sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6",
+ "digest": "sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6@sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7",
+ "digest": "sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7@sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9",
+ "digest": "sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9@sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28",
+ "digest": "sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28@sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29",
+ "digest": "sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29@sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40",
+ "digest": "sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40@sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41",
+ "digest": "sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41@sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66",
+ "digest": "sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66@sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67",
+ "digest": "sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67@sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0",
+ "digest": "sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0@sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1",
+ "digest": "sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1@sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12",
+ "digest": "sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12@sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13",
+ "digest": "sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13@sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2",
+ "digest": "sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22",
+ "digest": "sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4",
+ "digest": "sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4@sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6",
+ "digest": "sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6@sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7",
+ "digest": "sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7@sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9",
+ "digest": "sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9@sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18",
+ "digest": "sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18@sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20",
+ "digest": "sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20@sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28",
+ "digest": "sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28@sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29",
+ "digest": "sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29@sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40",
+ "digest": "sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40@sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41",
+ "digest": "sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41@sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66",
+ "digest": "sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66@sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67",
+ "digest": "sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67@sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0",
+ "digest": "sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0@sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1",
+ "digest": "sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1@sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11",
+ "digest": "sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11@sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12",
+ "digest": "sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12@sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13",
+ "digest": "sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13@sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2",
+ "digest": "sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22",
+ "digest": "sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4",
+ "digest": "sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4@sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6",
+ "digest": "sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6@sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7",
+ "digest": "sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7@sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9",
+ "digest": "sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9@sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.2.19": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.2.19",
+ "digest": "sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.19@sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.2.30": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.2.30",
+ "digest": "sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.30@sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.0": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.0",
+ "digest": "sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.0@sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.1": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.1",
+ "digest": "sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.1@sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.16": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.16",
+ "digest": "sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.16@sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.23": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.23",
+ "digest": "sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.23@sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.24": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.24",
+ "digest": "sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.24@sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.25": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.25",
+ "digest": "sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.26": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.26",
+ "digest": "sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.26@sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.27": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.27",
+ "digest": "sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.27@sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.29": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.29",
+ "digest": "sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.29@sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.30": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.30",
+ "digest": "sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.30@sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.31": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.31",
+ "digest": "sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.31@sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.32": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.32",
+ "digest": "sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.32@sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.33": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.33",
+ "digest": "sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.6": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.6",
+ "digest": "sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.6@sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.8": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.8",
+ "digest": "sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.8@sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.9": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.9",
+ "digest": "sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.9@sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388"
+ },
+ "ghcr.io/github/gh-aw-node": {
+ "image": "ghcr.io/github/gh-aw-node",
+ "digest": "sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b",
+ "pinned_image": "ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"
+ },
+ "ghcr.io/github/github-mcp-server:v0.32.0": {
+ "image": "ghcr.io/github/github-mcp-server:v0.32.0",
+ "digest": "sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v0.32.0@sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.0",
+ "digest": "sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.0@sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.3": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.3",
+ "digest": "sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.3@sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.4": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.4",
+ "digest": "sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.4@sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4"
+ },
+ "ghcr.io/github/github-mcp-server:v1.1.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.1.0",
+ "digest": "sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.0@sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029"
+ },
+ "ghcr.io/github/github-mcp-server:v1.1.2": {
+ "image": "ghcr.io/github/github-mcp-server:v1.1.2",
+ "digest": "sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"
+ },
+ "ghcr.io/github/github-mcp-server:v1.3.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.3.0",
+ "digest": "sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.3.0@sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80"
+ },
+ "ghcr.io/github/github-mcp-server:v1.4.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.4.0",
+ "digest": "sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.4.0@sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036"
+ },
+ "ghcr.io/github/github-mcp-server:v1.5.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.5.0",
+ "digest": "sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"
+ },
+ "ghcr.io/github/serena-mcp-server:latest": {
+ "image": "ghcr.io/github/serena-mcp-server:latest",
+ "digest": "sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5",
+ "pinned_image": "ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"
+ },
+ "grafana/mcp-grafana": {
+ "image": "grafana/mcp-grafana",
+ "digest": "sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090",
+ "pinned_image": "grafana/mcp-grafana@sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090"
+ },
+ "mcp/arxiv-mcp-server": {
+ "image": "mcp/arxiv-mcp-server",
+ "digest": "sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e",
+ "pinned_image": "mcp/arxiv-mcp-server@sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e"
+ },
+ "mcp/ast-grep:latest": {
+ "image": "mcp/ast-grep:latest",
+ "digest": "sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72",
+ "pinned_image": "mcp/ast-grep:latest@sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72"
+ },
+ "mcp/context7": {
+ "image": "mcp/context7",
+ "digest": "sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836",
+ "pinned_image": "mcp/context7@sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836"
+ },
+ "mcp/markitdown": {
+ "image": "mcp/markitdown",
+ "digest": "sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb",
+ "pinned_image": "mcp/markitdown@sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb"
+ },
+ "mcp/memory": {
+ "image": "mcp/memory",
+ "digest": "sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f",
+ "pinned_image": "mcp/memory@sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f"
+ },
+ "mcp/notion": {
+ "image": "mcp/notion",
+ "digest": "sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367",
+ "pinned_image": "mcp/notion@sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367"
+ },
+ "mcr.microsoft.com/playwright/mcp": {
+ "image": "mcr.microsoft.com/playwright/mcp",
+ "digest": "sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2",
+ "pinned_image": "mcr.microsoft.com/playwright/mcp@sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2"
+ },
+ "node:lts-alpine": {
+ "image": "node:lts-alpine",
+ "digest": "sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14",
+ "pinned_image": "node:lts-alpine@sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14"
+ },
+ "python:alpine": {
+ "image": "python:alpine",
+ "digest": "sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116",
+ "pinned_image": "python:alpine@sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116"
+ },
+ "semgrep/semgrep:latest": {
+ "image": "semgrep/semgrep:latest",
+ "digest": "sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2",
+ "pinned_image": "semgrep/semgrep:latest@sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2"
+ }
}
- }
}
diff --git a/pkg/workflow/data/action_pins.json b/pkg/workflow/data/action_pins.json
index 0540eda0972..ffe6c94d496 100644
--- a/pkg/workflow/data/action_pins.json
+++ b/pkg/workflow/data/action_pins.json
@@ -1,761 +1,761 @@
{
- "entries": {
- "actions-ecosystem/action-add-labels@v1.1.3": {
- "repo": "actions-ecosystem/action-add-labels",
- "version": "v1.1.3",
- "sha": "c96b68fec76a0987cd93957189e9abd0b9a72ff1",
- "inputs": {
- "github_token": {
- "description": "A GitHub token.",
- "default": "${{ github.token }}"
- },
- "labels": {
- "description": "The labels' name to be added. Must be separated with line breaks if there're multiple labels.",
- "required": true
- },
- "number": {
- "description": "The number of the issue or pull request."
- },
- "repo": {
- "description": "The owner and repository name. e.g.) Codertocat/Hello-World",
- "default": "${{ github.repository }}"
+ "entries": {
+ "actions-ecosystem/action-add-labels@v1.1.3": {
+ "repo": "actions-ecosystem/action-add-labels",
+ "version": "v1.1.3",
+ "sha": "c96b68fec76a0987cd93957189e9abd0b9a72ff1",
+ "inputs": {
+ "github_token": {
+ "description": "A GitHub token.",
+ "default": "${{ github.token }}"
+ },
+ "labels": {
+ "description": "The labels' name to be added. Must be separated with line breaks if there're multiple labels.",
+ "required": true
+ },
+ "number": {
+ "description": "The number of the issue or pull request."
+ },
+ "repo": {
+ "description": "The owner and repository name. e.g.) Codertocat/Hello-World",
+ "default": "${{ github.repository }}"
+ }
+ },
+ "action_description": "Add labels to an issue or a pull request."
+ },
+ "actions/cache/restore@v6.1.0": {
+ "repo": "actions/cache/restore",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/cache/save@v6.1.0": {
+ "repo": "actions/cache/save",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/cache@v6.1.0": {
+ "repo": "actions/cache",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/checkout@v7.0.0": {
+ "repo": "actions/checkout",
+ "version": "v7.0.0",
+ "sha": "9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
+ },
+ "actions/create-github-app-token@v3.2.0": {
+ "repo": "actions/create-github-app-token",
+ "version": "v3.2.0",
+ "sha": "bcd2ba49218906704ab6c1aa796996da409d3eb1"
+ },
+ "actions/download-artifact@v8.0.1": {
+ "repo": "actions/download-artifact",
+ "version": "v8.0.1",
+ "sha": "3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"
+ },
+ "actions/github-script@v9.0.0": {
+ "repo": "actions/github-script",
+ "version": "v9.0.0",
+ "sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
+ },
+ "actions/setup-dotnet@v5.4.0": {
+ "repo": "actions/setup-dotnet",
+ "version": "v5.4.0",
+ "sha": "26b0ec14cb23fa6904739307f278c14f94c95bf1"
+ },
+ "actions/setup-go@v6.5.0": {
+ "repo": "actions/setup-go",
+ "version": "v6.5.0",
+ "sha": "924ae3a1cded613372ab5595356fb5720e22ba16"
+ },
+ "actions/setup-java@v5.4.0": {
+ "repo": "actions/setup-java",
+ "version": "v5.4.0",
+ "sha": "1bcf9fb12cf4aa7d266a90ae39939e61372fe520"
+ },
+ "actions/setup-node@v6.4.0": {
+ "repo": "actions/setup-node",
+ "version": "v6.4.0",
+ "sha": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
+ },
+ "actions/setup-python@v6.3.0": {
+ "repo": "actions/setup-python",
+ "version": "v6.3.0",
+ "sha": "ece7cb06caefa5fff74198d8649806c4678c61a1"
+ },
+ "actions/upload-artifact@v7.0.1": {
+ "repo": "actions/upload-artifact",
+ "version": "v7.0.1",
+ "sha": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
+ },
+ "anchore/sbom-action@v0.24.0": {
+ "repo": "anchore/sbom-action",
+ "version": "v0.24.0",
+ "sha": "e22c389904149dbc22b58101806040fa8d37a610"
+ },
+ "astral-sh/setup-uv@v8.2.0": {
+ "repo": "astral-sh/setup-uv",
+ "version": "v8.2.0",
+ "sha": "fac544c07dec837d0ccb6301d7b5580bf5edae39"
+ },
+ "denoland/setup-deno@v2.0.4": {
+ "repo": "denoland/setup-deno",
+ "version": "v2.0.4",
+ "sha": "667a34cdef165d8d2b2e98dde39547c9daac7282"
+ },
+ "docker/build-push-action@v7.2.0": {
+ "repo": "docker/build-push-action",
+ "version": "v7.2.0",
+ "sha": "f9f3042f7e2789586610d6e8b85c8f03e5195baf",
+ "released_at": "2026-05-21T15:23:58Z"
+ },
+ "docker/login-action@v4.2.0": {
+ "repo": "docker/login-action",
+ "version": "v4.2.0",
+ "sha": "650006c6eb7dba73a995cc03b0b2d7f5ca915bee",
+ "released_at": "2026-05-22T11:55:00Z"
+ },
+ "docker/metadata-action@v6.1.0": {
+ "repo": "docker/metadata-action",
+ "version": "v6.1.0",
+ "sha": "80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9"
+ },
+ "docker/setup-buildx-action@v4.1.0": {
+ "repo": "docker/setup-buildx-action",
+ "version": "v4.1.0",
+ "sha": "d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5"
+ },
+ "erlef/setup-beam@v1.24.0": {
+ "repo": "erlef/setup-beam",
+ "version": "v1.24.0",
+ "sha": "fc68ffb90438ef2936bbb3251622353b3dcb2f93"
+ },
+ "github/codeql-action/upload-sarif@v4.36.2": {
+ "repo": "github/codeql-action/upload-sarif",
+ "version": "v4.36.2",
+ "sha": "8aad20d150bbac5944a9f9d289da16a4b0d87c1e"
+ },
+ "github/stale-repos@v9.0.15": {
+ "repo": "github/stale-repos",
+ "version": "v9.0.15",
+ "sha": "a0db8bfe2318ed6ddbd01e95d7633803f99f77e9"
+ },
+ "haskell-actions/setup@v2.11.0": {
+ "repo": "haskell-actions/setup",
+ "version": "v2.11.0",
+ "sha": "cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553"
+ },
+ "oven-sh/setup-bun@v2.2.0": {
+ "repo": "oven-sh/setup-bun",
+ "version": "v2.2.0",
+ "sha": "0c5077e51419868618aeaa5fe8019c62421857d6"
+ },
+ "ruby/setup-ruby@v1.314.0": {
+ "repo": "ruby/setup-ruby",
+ "version": "v1.314.0",
+ "sha": "9eb537ca036ebaed86729dcb9309076e4c5c3b74"
+ },
+ "safedep/pmg@v1": {
+ "repo": "safedep/pmg",
+ "version": "v1",
+ "sha": "46cc70db535107183c9e752bb55d1d5c5f1a9290"
+ },
+ "super-linter/super-linter@v8.7.0": {
+ "repo": "super-linter/super-linter",
+ "version": "v8.7.0",
+ "sha": "4ce20838b8ab83717e78138c5b3a1407148e0918"
}
- },
- "action_description": "Add labels to an issue or a pull request."
- },
- "actions/cache/restore@v6.1.0": {
- "repo": "actions/cache/restore",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/cache/save@v6.1.0": {
- "repo": "actions/cache/save",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/cache@v6.1.0": {
- "repo": "actions/cache",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/checkout@v7.0.0": {
- "repo": "actions/checkout",
- "version": "v7.0.0",
- "sha": "9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
- },
- "actions/create-github-app-token@v3.2.0": {
- "repo": "actions/create-github-app-token",
- "version": "v3.2.0",
- "sha": "bcd2ba49218906704ab6c1aa796996da409d3eb1"
- },
- "actions/download-artifact@v8.0.1": {
- "repo": "actions/download-artifact",
- "version": "v8.0.1",
- "sha": "3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"
- },
- "actions/github-script@v9.0.0": {
- "repo": "actions/github-script",
- "version": "v9.0.0",
- "sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
- },
- "actions/setup-dotnet@v5.4.0": {
- "repo": "actions/setup-dotnet",
- "version": "v5.4.0",
- "sha": "26b0ec14cb23fa6904739307f278c14f94c95bf1"
- },
- "actions/setup-go@v6.5.0": {
- "repo": "actions/setup-go",
- "version": "v6.5.0",
- "sha": "924ae3a1cded613372ab5595356fb5720e22ba16"
- },
- "actions/setup-java@v5.4.0": {
- "repo": "actions/setup-java",
- "version": "v5.4.0",
- "sha": "1bcf9fb12cf4aa7d266a90ae39939e61372fe520"
- },
- "actions/setup-node@v6.4.0": {
- "repo": "actions/setup-node",
- "version": "v6.4.0",
- "sha": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
- },
- "actions/setup-python@v6.3.0": {
- "repo": "actions/setup-python",
- "version": "v6.3.0",
- "sha": "ece7cb06caefa5fff74198d8649806c4678c61a1"
- },
- "actions/upload-artifact@v7.0.1": {
- "repo": "actions/upload-artifact",
- "version": "v7.0.1",
- "sha": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
- },
- "anchore/sbom-action@v0.24.0": {
- "repo": "anchore/sbom-action",
- "version": "v0.24.0",
- "sha": "e22c389904149dbc22b58101806040fa8d37a610"
- },
- "astral-sh/setup-uv@v8.2.0": {
- "repo": "astral-sh/setup-uv",
- "version": "v8.2.0",
- "sha": "fac544c07dec837d0ccb6301d7b5580bf5edae39"
- },
- "denoland/setup-deno@v2.0.4": {
- "repo": "denoland/setup-deno",
- "version": "v2.0.4",
- "sha": "667a34cdef165d8d2b2e98dde39547c9daac7282"
- },
- "docker/build-push-action@v7.2.0": {
- "repo": "docker/build-push-action",
- "version": "v7.2.0",
- "sha": "f9f3042f7e2789586610d6e8b85c8f03e5195baf",
- "released_at": "2026-05-21T15:23:58Z"
- },
- "docker/login-action@v4.2.0": {
- "repo": "docker/login-action",
- "version": "v4.2.0",
- "sha": "650006c6eb7dba73a995cc03b0b2d7f5ca915bee",
- "released_at": "2026-05-22T11:55:00Z"
- },
- "docker/metadata-action@v6.1.0": {
- "repo": "docker/metadata-action",
- "version": "v6.1.0",
- "sha": "80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9"
- },
- "docker/setup-buildx-action@v4.1.0": {
- "repo": "docker/setup-buildx-action",
- "version": "v4.1.0",
- "sha": "d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5"
- },
- "erlef/setup-beam@v1.24.0": {
- "repo": "erlef/setup-beam",
- "version": "v1.24.0",
- "sha": "fc68ffb90438ef2936bbb3251622353b3dcb2f93"
- },
- "github/codeql-action/upload-sarif@v4.36.2": {
- "repo": "github/codeql-action/upload-sarif",
- "version": "v4.36.2",
- "sha": "8aad20d150bbac5944a9f9d289da16a4b0d87c1e"
- },
- "github/stale-repos@v9.0.15": {
- "repo": "github/stale-repos",
- "version": "v9.0.15",
- "sha": "a0db8bfe2318ed6ddbd01e95d7633803f99f77e9"
- },
- "haskell-actions/setup@v2.11.0": {
- "repo": "haskell-actions/setup",
- "version": "v2.11.0",
- "sha": "cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553"
- },
- "oven-sh/setup-bun@v2.2.0": {
- "repo": "oven-sh/setup-bun",
- "version": "v2.2.0",
- "sha": "0c5077e51419868618aeaa5fe8019c62421857d6"
- },
- "ruby/setup-ruby@v1.314.0": {
- "repo": "ruby/setup-ruby",
- "version": "v1.314.0",
- "sha": "9eb537ca036ebaed86729dcb9309076e4c5c3b74"
- },
- "safedep/pmg@v1": {
- "repo": "safedep/pmg",
- "version": "v1",
- "sha": "46cc70db535107183c9e752bb55d1d5c5f1a9290"
- },
- "super-linter/super-linter@v8.7.0": {
- "repo": "super-linter/super-linter",
- "version": "v8.7.0",
- "sha": "4ce20838b8ab83717e78138c5b3a1407148e0918"
- }
- },
- "containers": {
- "alpine:latest": {
- "image": "alpine:latest",
- "digest": "sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11",
- "pinned_image": "alpine:latest@sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11"
- },
- "docker.io/mcp/brave-search": {
- "image": "docker.io/mcp/brave-search",
- "digest": "sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22",
- "pinned_image": "docker.io/mcp/brave-search@sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22"
- },
- "ghcr.io/chopratejas/headroom:latest": {
- "image": "ghcr.io/chopratejas/headroom:latest",
- "digest": "sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e",
- "pinned_image": "ghcr.io/chopratejas/headroom:latest@sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e"
- },
- "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29",
- "digest": "sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29@sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1"
- },
- "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13",
- "digest": "sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13@sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18",
- "digest": "sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18@sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20",
- "digest": "sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20@sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28",
- "digest": "sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28@sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29",
- "digest": "sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29@sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40",
- "digest": "sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40@sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41",
- "digest": "sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41@sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66",
- "digest": "sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66@sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67",
- "digest": "sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67@sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0",
- "digest": "sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0@sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1",
- "digest": "sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1@sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11",
- "digest": "sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11@sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12",
- "digest": "sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12@sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13",
- "digest": "sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13@sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2",
- "digest": "sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22",
- "digest": "sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4",
- "digest": "sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4@sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6",
- "digest": "sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6@sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7",
- "digest": "sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7@sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9",
- "digest": "sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9@sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18",
- "digest": "sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18@sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20",
- "digest": "sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20@sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28",
- "digest": "sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28@sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29",
- "digest": "sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29@sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40",
- "digest": "sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40@sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41",
- "digest": "sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41@sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66",
- "digest": "sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66@sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67",
- "digest": "sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67@sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0",
- "digest": "sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0@sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1",
- "digest": "sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1@sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11",
- "digest": "sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11@sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12",
- "digest": "sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12@sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13",
- "digest": "sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13@sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2",
- "digest": "sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22",
- "digest": "sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4",
- "digest": "sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4@sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6",
- "digest": "sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6@sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7",
- "digest": "sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7@sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9",
- "digest": "sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9@sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28",
- "digest": "sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28@sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29",
- "digest": "sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29@sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40",
- "digest": "sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40@sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41",
- "digest": "sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41@sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66",
- "digest": "sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66@sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67",
- "digest": "sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67@sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0",
- "digest": "sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0@sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1",
- "digest": "sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1@sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12",
- "digest": "sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12@sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13",
- "digest": "sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13@sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2",
- "digest": "sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22",
- "digest": "sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4",
- "digest": "sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4@sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6",
- "digest": "sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6@sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7",
- "digest": "sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7@sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9",
- "digest": "sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9@sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18",
- "digest": "sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18@sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20",
- "digest": "sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20@sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28",
- "digest": "sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28@sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29",
- "digest": "sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29@sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40",
- "digest": "sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40@sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41",
- "digest": "sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41@sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66",
- "digest": "sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66@sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67",
- "digest": "sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67@sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0",
- "digest": "sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0@sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1",
- "digest": "sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1@sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11",
- "digest": "sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11@sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12",
- "digest": "sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12@sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13",
- "digest": "sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13@sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2",
- "digest": "sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22",
- "digest": "sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4",
- "digest": "sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4@sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6",
- "digest": "sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6@sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7",
- "digest": "sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7@sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9",
- "digest": "sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9@sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.2.19": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.2.19",
- "digest": "sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.19@sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.2.30": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.2.30",
- "digest": "sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.30@sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.0": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.0",
- "digest": "sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.0@sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.1": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.1",
- "digest": "sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.1@sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.16": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.16",
- "digest": "sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.16@sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.23": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.23",
- "digest": "sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.23@sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.24": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.24",
- "digest": "sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.24@sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.25": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.25",
- "digest": "sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.26": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.26",
- "digest": "sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.26@sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.27": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.27",
- "digest": "sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.27@sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.29": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.29",
- "digest": "sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.29@sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.30": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.30",
- "digest": "sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.30@sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be"
},
- "ghcr.io/github/gh-aw-mcpg:v0.3.31": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.31",
- "digest": "sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.31@sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.32": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.32",
- "digest": "sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.32@sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.33": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.33",
- "digest": "sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.6": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.6",
- "digest": "sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.6@sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.8": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.8",
- "digest": "sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.8@sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.9": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.9",
- "digest": "sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.9@sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388"
- },
- "ghcr.io/github/gh-aw-node": {
- "image": "ghcr.io/github/gh-aw-node",
- "digest": "sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b",
- "pinned_image": "ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"
- },
- "ghcr.io/github/github-mcp-server:v0.32.0": {
- "image": "ghcr.io/github/github-mcp-server:v0.32.0",
- "digest": "sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28",
- "pinned_image": "ghcr.io/github/github-mcp-server:v0.32.0@sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28"
- },
- "ghcr.io/github/github-mcp-server:v1.0.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.0",
- "digest": "sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.0@sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95"
- },
- "ghcr.io/github/github-mcp-server:v1.0.3": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.3",
- "digest": "sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.3@sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959"
- },
- "ghcr.io/github/github-mcp-server:v1.0.4": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.4",
- "digest": "sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.4@sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4"
- },
- "ghcr.io/github/github-mcp-server:v1.1.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.1.0",
- "digest": "sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.0@sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029"
- },
- "ghcr.io/github/github-mcp-server:v1.1.2": {
- "image": "ghcr.io/github/github-mcp-server:v1.1.2",
- "digest": "sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"
- },
- "ghcr.io/github/github-mcp-server:v1.3.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.3.0",
- "digest": "sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.3.0@sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80"
- },
- "ghcr.io/github/github-mcp-server:v1.4.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.4.0",
- "digest": "sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.4.0@sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036"
- },
- "ghcr.io/github/github-mcp-server:v1.5.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.5.0",
- "digest": "sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"
- },
- "ghcr.io/github/serena-mcp-server:latest": {
- "image": "ghcr.io/github/serena-mcp-server:latest",
- "digest": "sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5",
- "pinned_image": "ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"
- },
- "grafana/mcp-grafana": {
- "image": "grafana/mcp-grafana",
- "digest": "sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090",
- "pinned_image": "grafana/mcp-grafana@sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090"
- },
- "mcp/arxiv-mcp-server": {
- "image": "mcp/arxiv-mcp-server",
- "digest": "sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e",
- "pinned_image": "mcp/arxiv-mcp-server@sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e"
- },
- "mcp/ast-grep:latest": {
- "image": "mcp/ast-grep:latest",
- "digest": "sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72",
- "pinned_image": "mcp/ast-grep:latest@sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72"
- },
- "mcp/context7": {
- "image": "mcp/context7",
- "digest": "sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836",
- "pinned_image": "mcp/context7@sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836"
- },
- "mcp/markitdown": {
- "image": "mcp/markitdown",
- "digest": "sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb",
- "pinned_image": "mcp/markitdown@sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb"
- },
- "mcp/memory": {
- "image": "mcp/memory",
- "digest": "sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f",
- "pinned_image": "mcp/memory@sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f"
- },
- "mcp/notion": {
- "image": "mcp/notion",
- "digest": "sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367",
- "pinned_image": "mcp/notion@sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367"
- },
- "mcr.microsoft.com/playwright/mcp": {
- "image": "mcr.microsoft.com/playwright/mcp",
- "digest": "sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2",
- "pinned_image": "mcr.microsoft.com/playwright/mcp@sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2"
- },
- "node:lts-alpine": {
- "image": "node:lts-alpine",
- "digest": "sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14",
- "pinned_image": "node:lts-alpine@sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14"
- },
- "python:alpine": {
- "image": "python:alpine",
- "digest": "sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116",
- "pinned_image": "python:alpine@sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116"
- },
- "semgrep/semgrep:latest": {
- "image": "semgrep/semgrep:latest",
- "digest": "sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2",
- "pinned_image": "semgrep/semgrep:latest@sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2"
+ "containers": {
+ "alpine:latest": {
+ "image": "alpine:latest",
+ "digest": "sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11",
+ "pinned_image": "alpine:latest@sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11"
+ },
+ "docker.io/mcp/brave-search": {
+ "image": "docker.io/mcp/brave-search",
+ "digest": "sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22",
+ "pinned_image": "docker.io/mcp/brave-search@sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22"
+ },
+ "ghcr.io/chopratejas/headroom:latest": {
+ "image": "ghcr.io/chopratejas/headroom:latest",
+ "digest": "sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e",
+ "pinned_image": "ghcr.io/chopratejas/headroom:latest@sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29",
+ "digest": "sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29@sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13",
+ "digest": "sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13@sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18",
+ "digest": "sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18@sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20",
+ "digest": "sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20@sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28",
+ "digest": "sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28@sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29",
+ "digest": "sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29@sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40",
+ "digest": "sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40@sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41",
+ "digest": "sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41@sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66",
+ "digest": "sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66@sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67",
+ "digest": "sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67@sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0",
+ "digest": "sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0@sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1",
+ "digest": "sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1@sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11",
+ "digest": "sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11@sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12",
+ "digest": "sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12@sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13",
+ "digest": "sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13@sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2",
+ "digest": "sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22",
+ "digest": "sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4",
+ "digest": "sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4@sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6",
+ "digest": "sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6@sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7",
+ "digest": "sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7@sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9",
+ "digest": "sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9@sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18",
+ "digest": "sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18@sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20",
+ "digest": "sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20@sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28",
+ "digest": "sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28@sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29",
+ "digest": "sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29@sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40",
+ "digest": "sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40@sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41",
+ "digest": "sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41@sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66",
+ "digest": "sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66@sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67",
+ "digest": "sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67@sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0",
+ "digest": "sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0@sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1",
+ "digest": "sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1@sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11",
+ "digest": "sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11@sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12",
+ "digest": "sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12@sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13",
+ "digest": "sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13@sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2",
+ "digest": "sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22",
+ "digest": "sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4",
+ "digest": "sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4@sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6",
+ "digest": "sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6@sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7",
+ "digest": "sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7@sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9",
+ "digest": "sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9@sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28",
+ "digest": "sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28@sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29",
+ "digest": "sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29@sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40",
+ "digest": "sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40@sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41",
+ "digest": "sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41@sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66",
+ "digest": "sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66@sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67",
+ "digest": "sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67@sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0",
+ "digest": "sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0@sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1",
+ "digest": "sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1@sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12",
+ "digest": "sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12@sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13",
+ "digest": "sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13@sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2",
+ "digest": "sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22",
+ "digest": "sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4",
+ "digest": "sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4@sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6",
+ "digest": "sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6@sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7",
+ "digest": "sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7@sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9",
+ "digest": "sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9@sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18",
+ "digest": "sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18@sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20",
+ "digest": "sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20@sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28",
+ "digest": "sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28@sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29",
+ "digest": "sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29@sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40",
+ "digest": "sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40@sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41",
+ "digest": "sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41@sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66",
+ "digest": "sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66@sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67",
+ "digest": "sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67@sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0",
+ "digest": "sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0@sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1",
+ "digest": "sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1@sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11",
+ "digest": "sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11@sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12",
+ "digest": "sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12@sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13",
+ "digest": "sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13@sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2",
+ "digest": "sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22",
+ "digest": "sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4",
+ "digest": "sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4@sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6",
+ "digest": "sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6@sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7",
+ "digest": "sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7@sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9",
+ "digest": "sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9@sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.2.19": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.2.19",
+ "digest": "sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.19@sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.2.30": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.2.30",
+ "digest": "sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.30@sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.0": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.0",
+ "digest": "sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.0@sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.1": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.1",
+ "digest": "sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.1@sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.16": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.16",
+ "digest": "sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.16@sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.23": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.23",
+ "digest": "sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.23@sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.24": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.24",
+ "digest": "sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.24@sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.25": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.25",
+ "digest": "sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.26": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.26",
+ "digest": "sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.26@sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.27": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.27",
+ "digest": "sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.27@sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.29": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.29",
+ "digest": "sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.29@sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.30": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.30",
+ "digest": "sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.30@sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.31": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.31",
+ "digest": "sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.31@sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.32": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.32",
+ "digest": "sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.32@sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.33": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.33",
+ "digest": "sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.6": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.6",
+ "digest": "sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.6@sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.8": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.8",
+ "digest": "sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.8@sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.9": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.9",
+ "digest": "sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.9@sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388"
+ },
+ "ghcr.io/github/gh-aw-node": {
+ "image": "ghcr.io/github/gh-aw-node",
+ "digest": "sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b",
+ "pinned_image": "ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"
+ },
+ "ghcr.io/github/github-mcp-server:v0.32.0": {
+ "image": "ghcr.io/github/github-mcp-server:v0.32.0",
+ "digest": "sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v0.32.0@sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.0",
+ "digest": "sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.0@sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.3": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.3",
+ "digest": "sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.3@sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.4": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.4",
+ "digest": "sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.4@sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4"
+ },
+ "ghcr.io/github/github-mcp-server:v1.1.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.1.0",
+ "digest": "sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.0@sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029"
+ },
+ "ghcr.io/github/github-mcp-server:v1.1.2": {
+ "image": "ghcr.io/github/github-mcp-server:v1.1.2",
+ "digest": "sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"
+ },
+ "ghcr.io/github/github-mcp-server:v1.3.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.3.0",
+ "digest": "sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.3.0@sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80"
+ },
+ "ghcr.io/github/github-mcp-server:v1.4.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.4.0",
+ "digest": "sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.4.0@sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036"
+ },
+ "ghcr.io/github/github-mcp-server:v1.5.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.5.0",
+ "digest": "sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"
+ },
+ "ghcr.io/github/serena-mcp-server:latest": {
+ "image": "ghcr.io/github/serena-mcp-server:latest",
+ "digest": "sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5",
+ "pinned_image": "ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"
+ },
+ "grafana/mcp-grafana": {
+ "image": "grafana/mcp-grafana",
+ "digest": "sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090",
+ "pinned_image": "grafana/mcp-grafana@sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090"
+ },
+ "mcp/arxiv-mcp-server": {
+ "image": "mcp/arxiv-mcp-server",
+ "digest": "sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e",
+ "pinned_image": "mcp/arxiv-mcp-server@sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e"
+ },
+ "mcp/ast-grep:latest": {
+ "image": "mcp/ast-grep:latest",
+ "digest": "sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72",
+ "pinned_image": "mcp/ast-grep:latest@sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72"
+ },
+ "mcp/context7": {
+ "image": "mcp/context7",
+ "digest": "sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836",
+ "pinned_image": "mcp/context7@sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836"
+ },
+ "mcp/markitdown": {
+ "image": "mcp/markitdown",
+ "digest": "sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb",
+ "pinned_image": "mcp/markitdown@sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb"
+ },
+ "mcp/memory": {
+ "image": "mcp/memory",
+ "digest": "sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f",
+ "pinned_image": "mcp/memory@sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f"
+ },
+ "mcp/notion": {
+ "image": "mcp/notion",
+ "digest": "sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367",
+ "pinned_image": "mcp/notion@sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367"
+ },
+ "mcr.microsoft.com/playwright/mcp": {
+ "image": "mcr.microsoft.com/playwright/mcp",
+ "digest": "sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2",
+ "pinned_image": "mcr.microsoft.com/playwright/mcp@sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2"
+ },
+ "node:lts-alpine": {
+ "image": "node:lts-alpine",
+ "digest": "sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14",
+ "pinned_image": "node:lts-alpine@sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14"
+ },
+ "python:alpine": {
+ "image": "python:alpine",
+ "digest": "sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116",
+ "pinned_image": "python:alpine@sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116"
+ },
+ "semgrep/semgrep:latest": {
+ "image": "semgrep/semgrep:latest",
+ "digest": "sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2",
+ "pinned_image": "semgrep/semgrep:latest@sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2"
+ }
}
- }
}
From 84432981c78d6b5c4ad335d481ce9439a22c9d27 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sat, 4 Jul 2026 16:26:15 +0000
Subject: [PATCH 3/7] Add smoke-token-telemetry workflow to assert
token_usage.jsonl is non-empty
Closes #43217
Adds a new smoke CI workflow (.github/workflows/smoke-token-telemetry.md)
that runs a minimal copilot LLM call daily and asserts:
- At least one token_usage.jsonl file in the agent artifact is non-empty
- agent_usage.json reports non-zero input_tokens
This catches token-telemetry emitter regressions in hours rather than weeks,
protecting api-consumption, detection, and cost audits. The check_token_telemetry
custom job runs after the agent job and before the conclusion job; the overall
workflow fails fast if the AWF firewall proxy token emitter is broken.
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
---
.../workflows/smoke-token-telemetry.lock.yml | 1784 +++++++++++++++++
.github/workflows/smoke-token-telemetry.md | 98 +
.../src/content/docs/agent-factory-status.mdx | 1 +
pkg/actionpins/data/action_pins.json | 1512 +++++++-------
pkg/workflow/data/action_pins.json | 1512 +++++++-------
5 files changed, 3395 insertions(+), 1512 deletions(-)
create mode 100644 .github/workflows/smoke-token-telemetry.lock.yml
create mode 100644 .github/workflows/smoke-token-telemetry.md
diff --git a/.github/workflows/smoke-token-telemetry.lock.yml b/.github/workflows/smoke-token-telemetry.lock.yml
new file mode 100644
index 00000000000..fbe0e2b39a0
--- /dev/null
+++ b/.github/workflows/smoke-token-telemetry.lock.yml
@@ -0,0 +1,1784 @@
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"96d14d363ed49da391f549e3de749e88ef76b6d6daa2bc57f282b09b53cde855","body_hash":"081afa999b816b5dae558340d344b4df75600b22507d2cbb044a9c7280dee8a0","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.68"}}
+# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"}]}
+# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
+#
+# ___ _ _
+# / _ \ | | (_)
+# | |_| | __ _ ___ _ __ | |_ _ ___
+# | _ |/ _` |/ _ \ '_ \| __| |/ __|
+# | | | | (_| | __/ | | | |_| | (__
+# \_| |_/\__, |\___|_| |_|\__|_|\___|
+# __/ |
+# _ _ |___/
+# | | | | / _| |
+# | | | | ___ _ __ _ __| |_| | _____ ____
+# | |/\| |/ _ \ '__| |/ /| _| |/ _ \ \ /\ / / ___|
+# \ /\ / (_) | | | | ( | | | | (_) \ V V /\__ \
+# \/ \/ \___/|_| |_|\_\|_| |_|\___/ \_/\_/ |___/
+#
+#
+# To update this file, edit the corresponding .md file and run:
+# gh aw compile
+# Not all edits will cause changes to this file.
+#
+# For more information: https://github.github.com/gh-aw/introduction/overview/
+#
+# Smoke CI assertion: validates that the AWF firewall proxy token-usage emitter populates token_usage.jsonl for copilot agent LLM runs. Fails fast when token telemetry is broken, so regressions are caught in hours not weeks.
+#
+# Resolved workflow manifest:
+# Imports:
+# - shared/otlp.md
+#
+# Secrets used:
+# - COPILOT_GITHUB_TOKEN
+# - GH_AW_GITHUB_MCP_SERVER_TOKEN
+# - GH_AW_GITHUB_TOKEN
+# - GH_AW_OTEL_GRAFANA_AUTHORIZATION
+# - GH_AW_OTEL_GRAFANA_ENDPOINT
+# - GH_AW_OTEL_SENTRY_AUTHORIZATION
+# - GH_AW_OTEL_SENTRY_ENDPOINT
+# - GITHUB_TOKEN
+#
+# Custom actions used:
+# - actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
+# - actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
+# - actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+# - actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+# - actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 (source v4)
+# - actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+# - actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 (source v9)
+# - actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
+# - actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
+#
+# Container images used:
+# - ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e
+# - ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1
+# - ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59
+# - ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06
+# - ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b
+# - ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4
+
+name: "Smoke Token Telemetry"
+on:
+ push:
+ branches:
+ - main
+ paths:
+ - actions/setup/js/**
+ - cmd/**
+ - pkg/**
+ - "*.go"
+ - go.mod
+ schedule:
+ - cron: "54 10 * * *"
+ # Friendly format: daily (scattered)
+ workflow_dispatch:
+ inputs:
+ aw_context:
+ default: ""
+ description: "Agent caller context (used internally by Agentic Workflows)."
+ required: false
+ type: string
+
+permissions: {}
+
+concurrency:
+ cancel-in-progress: true
+ group: smoke-token-telemetry-${{ github.ref }}
+
+run-name: "Smoke Token Telemetry"
+
+env:
+ OTEL_EXPORTER_OTLP_ENDPOINT: ${{ secrets.GH_AW_OTEL_SENTRY_ENDPOINT }}
+ OTEL_SERVICE_NAME: gh-aw.smoke-token-telemetry
+ OTEL_RESOURCE_ATTRIBUTES: 'gh-aw.workflow.name=Smoke%20Token%20Telemetry,gh-aw.repository=${{ github.repository }},gh-aw.run.id=${{ github.run_id }},github.run_id=${{ github.run_id }},gh-aw.engine.id=copilot'
+ OTEL_EXPORTER_OTLP_HEADERS: x-sentry-auth=${{ secrets.GH_AW_OTEL_SENTRY_AUTHORIZATION }}
+ GH_AW_OTLP_ALL_HEADERS: x-sentry-auth=${{ secrets.GH_AW_OTEL_SENTRY_AUTHORIZATION }},Authorization=${{ secrets.GH_AW_OTEL_GRAFANA_AUTHORIZATION }}
+ GH_AW_OTLP_ENDPOINTS: '[{"url":"${{ secrets.GH_AW_OTEL_SENTRY_ENDPOINT }}","headers":"x-sentry-auth=${{ secrets.GH_AW_OTEL_SENTRY_AUTHORIZATION }}"},{"url":"${{ secrets.GH_AW_OTEL_GRAFANA_ENDPOINT }}","headers":"Authorization=${{ secrets.GH_AW_OTEL_GRAFANA_AUTHORIZATION }}"}]'
+
+jobs:
+ activation:
+ needs: pre_activation
+ if: needs.pre_activation.outputs.activated == 'true'
+ runs-on: ubuntu-slim
+ permissions:
+ actions: read
+ contents: read
+ env:
+ GH_AW_MAX_DAILY_AI_CREDITS: ${{ vars.GH_AW_DEFAULT_MAX_DAILY_AI_CREDITS || '5000' }}
+ GH_AW_RUNTIME_FEATURES: ${{ vars.GH_AW_RUNTIME_FEATURES }}
+ outputs:
+ comment_id: ""
+ comment_repo: ""
+ daily_ai_credits_exceeded: ${{ steps.daily-effective-workflow-guardrail.outputs.daily_ai_credits_exceeded == 'true' }}
+ daily_ai_credits_threshold: ${{ steps.daily-effective-workflow-guardrail.outputs.daily_ai_credits_threshold || '' }}
+ daily_ai_credits_total_effective_tokens: ${{ steps.daily-effective-workflow-guardrail.outputs.daily_ai_credits_total_effective_tokens || '' }}
+ engine_id: ${{ steps.generate_aw_info.outputs.engine_id }}
+ lockdown_check_failed: ${{ steps.generate_aw_info.outputs.lockdown_check_failed == 'true' }}
+ model: ${{ steps.generate_aw_info.outputs.model }}
+ secret_verification_result: ${{ steps.validate-secret.outputs.verification_result }}
+ setup-parent-span-id: ${{ steps.setup.outputs.parent-span-id || steps.setup.outputs.span-id }}
+ setup-span-id: ${{ steps.setup.outputs.span-id }}
+ setup-trace-id: ${{ steps.setup.outputs.trace-id }}
+ stale_lock_file_failed: ${{ steps.check-lock-file.outputs.stale_lock_file_failed == 'true' }}
+ steps:
+ - name: Checkout actions folder
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ with:
+ repository: github/gh-aw
+ sparse-checkout: |
+ actions
+ clean: false
+ persist-credentials: false
+ - name: Setup Scripts
+ id: setup
+ uses: ./actions/setup
+ with:
+ destination: ${{ runner.temp }}/gh-aw/actions
+ job-name: ${{ github.job }}
+ trace-id: ${{ needs.pre_activation.outputs.setup-trace-id }}
+ parent-span-id: ${{ needs.pre_activation.outputs.setup-parent-span-id || needs.pre_activation.outputs.setup-span-id }}
+ safe-output-artifact-client: ${{ env.GH_AW_MAX_DAILY_AI_CREDITS != '' }}
+ env:
+ GH_AW_SETUP_WORKFLOW_NAME: "Smoke Token Telemetry"
+ GH_AW_CURRENT_WORKFLOW_REF: ${{ github.repository }}/.github/workflows/smoke-token-telemetry.lock.yml@${{ github.ref }}
+ GH_AW_INFO_VERSION: "1.0.68"
+ GH_AW_INFO_AWF_VERSION: "v0.27.22"
+ GH_AW_INFO_ENGINE_ID: "copilot"
+ - name: Mask OTLP telemetry headers
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/mask_otlp_headers.sh"
+ - name: Generate agentic run info
+ id: generate_aw_info
+ env:
+ GH_AW_INFO_ENGINE_ID: "copilot"
+ GH_AW_INFO_ENGINE_NAME: "GitHub Copilot CLI"
+ GH_AW_INFO_MODEL: ${{ vars.GH_AW_MODEL_AGENT_COPILOT || vars.GH_AW_DEFAULT_MODEL_COPILOT || 'claude-sonnet-4.6' }}
+ GH_AW_INFO_VERSION: "1.0.68"
+ GH_AW_INFO_AGENT_VERSION: "1.0.68"
+ GH_AW_INFO_WORKFLOW_NAME: "Smoke Token Telemetry"
+ GH_AW_INFO_EXPERIMENTAL: "false"
+ GH_AW_INFO_SUPPORTS_TOOLS_ALLOWLIST: "true"
+ GH_AW_INFO_STAGED: "false"
+ GH_AW_INFO_ALLOWED_DOMAINS: '["*.grafana.net","*.sentry.io","defaults"]'
+ GH_AW_INFO_FIREWALL_ENABLED: "true"
+ GH_AW_INFO_AWF_VERSION: "v0.27.22"
+ GH_AW_INFO_AWMG_VERSION: ""
+ GH_AW_INFO_FIREWALL_TYPE: "squid"
+ GH_AW_INFO_FRONTMATTER_EMOJI: "📊"
+ GH_AW_COMPILED_STRICT: "true"
+ GH_AW_INFO_FEATURES: '{"gh-aw-detection":false}'
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ with:
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/generate_aw_info.cjs');
+ await main(core, context);
+ - name: Restore daily AIC usage cache
+ id: restore-daily-aic-cache
+ if: ${{ env.GH_AW_MAX_DAILY_AI_CREDITS != '' }}
+ continue-on-error: true
+ uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
+ with:
+ key: agentic-workflow-usage-smoketokentelemetry-${{ github.run_id }}
+ restore-keys: agentic-workflow-usage-smoketokentelemetry-
+ path: /tmp/gh-aw/agentic-workflow-usage-cache.jsonl
+ - name: Restore daily AIC usage cache (artifact fallback)
+ id: restore-daily-aic-cache-fallback
+ if: ${{ env.GH_AW_MAX_DAILY_AI_CREDITS != '' }}
+ continue-on-error: true
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ GH_AW_RESTORE_DAILY_AIC_CACHE_HIT: ${{ steps.restore-daily-aic-cache.outputs.cache-hit }}
+ GH_AW_RESTORE_DAILY_AIC_CACHE_MATCHED_KEY: ${{ steps.restore-daily-aic-cache.outputs.cache-matched-key }}
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/restore_aic_usage_cache_fallback.cjs');
+ await main();
+ - name: Check daily workflow token guardrail
+ id: daily-effective-workflow-guardrail
+ if: ${{ env.GH_AW_MAX_DAILY_AI_CREDITS != '' }}
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ GH_AW_WORKFLOW_NAME: "Smoke Token Telemetry"
+ GH_AW_WORKFLOW_ID: "smoke-token-telemetry"
+ GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
+ GH_AW_WORKFLOW_DISPATCH_AW_CONTEXT: ${{ github.event.inputs.aw_context || '' }}
+ GH_AW_HAS_SLASH_COMMAND: "false"
+ GH_AW_HAS_LABEL_COMMAND: "false"
+ GH_AW_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ GH_AW_MAX_DAILY_AI_CREDITS: ${{ vars.GH_AW_DEFAULT_MAX_DAILY_AI_CREDITS || '5000' }}
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/check_daily_aic_workflow_guardrail.cjs');
+ await main();
+ - name: Validate COPILOT_GITHUB_TOKEN secret
+ id: validate-secret
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/validate_multi_secret.sh" COPILOT_GITHUB_TOKEN 'GitHub Copilot CLI' https://github.github.com/gh-aw/reference/engines/#github-copilot-default
+ env:
+ COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}
+ - name: Checkout .github and .agents folders
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ with:
+ persist-credentials: false
+ sparse-checkout: |
+ .github
+ .agents
+ actions/setup
+ .antigravity
+ .claude
+ .codex
+ .crush
+ .gemini
+ .opencode
+ .pi
+ sparse-checkout-cone-mode: true
+ fetch-depth: 1
+ - name: Save agent config folders for base branch restoration
+ env:
+ GH_AW_AGENT_FOLDERS: ".agents .antigravity .claude .codex .crush .gemini .github .opencode .pi"
+ GH_AW_AGENT_FILES: ".crush.json AGENTS.md ANTIGRAVITY.md CLAUDE.md GEMINI.md PI.md opencode.jsonc"
+ # poutine:ignore untrusted_checkout_exec
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/save_base_github_folders.sh"
+ - name: Check workflow lock file
+ id: check-lock-file
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ GH_AW_WORKFLOW_FILE: "smoke-token-telemetry.lock.yml"
+ GH_AW_CONTEXT_WORKFLOW_REF: "${{ github.workflow_ref }}"
+ with:
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/check_workflow_timestamp_api.cjs');
+ await main();
+ - name: Log runtime features
+ if: ${{ contains(toJSON(vars), '"GH_AW_RUNTIME_FEATURES":') }}
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/log_runtime_features_summary.sh"
+ - name: Create prompt with built-in context
+ env:
+ GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
+ GH_AW_SAFE_OUTPUTS: ${{ runner.temp }}/gh-aw/safeoutputs/outputs.jsonl
+ GH_AW_EXPR_1A3A194A: ${{ github.event.discussion.number || (fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_type == 'discussion' && fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_number) }}
+ GH_AW_EXPR_463A214A: ${{ github.event.pull_request.number || (fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_type == 'pull_request' && fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_number) }}
+ GH_AW_EXPR_802A9F6A: ${{ github.event.issue.number || (fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_type == 'issue' && fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_number) }}
+ GH_AW_EXPR_FF1D34CE: ${{ github.event.comment.id || fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').comment_id }}
+ GH_AW_GITHUB_ACTOR: ${{ github.actor }}
+ GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
+ GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
+ GH_AW_GITHUB_WORKSPACE: ${{ github.workspace }}
+ # poutine:ignore untrusted_checkout_exec
+ run: |
+ bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
+ {
+ cat << 'GH_AW_PROMPT_b251e581d8085e16_EOF'
+
+ GH_AW_PROMPT_b251e581d8085e16_EOF
+ cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
+ cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
+ cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
+ cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
+ cat << 'GH_AW_PROMPT_b251e581d8085e16_EOF'
+
+ Tools: create_issue, missing_tool, missing_data, noop
+ GH_AW_PROMPT_b251e581d8085e16_EOF
+ cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_auto_create_issue.md"
+ cat << 'GH_AW_PROMPT_b251e581d8085e16_EOF'
+
+ GH_AW_PROMPT_b251e581d8085e16_EOF
+ cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
+ cat << 'GH_AW_PROMPT_b251e581d8085e16_EOF'
+
+ The following GitHub context information is available for this workflow:
+ {{#if github.actor}}
+ - **actor**: __GH_AW_GITHUB_ACTOR__
+ {{/if}}
+ {{#if github.repository}}
+ - **repository**: __GH_AW_GITHUB_REPOSITORY__
+ {{/if}}
+ {{#if github.workspace}}
+ - **workspace**: __GH_AW_GITHUB_WORKSPACE__
+ {{/if}}
+ {{#if github.event.issue.number || (github.aw.context.item_type == 'issue' && github.aw.context.item_number)}}
+ - **issue-number**: #__GH_AW_EXPR_802A9F6A__
+ {{/if}}
+ {{#if github.event.discussion.number || (github.aw.context.item_type == 'discussion' && github.aw.context.item_number)}}
+ - **discussion-number**: #__GH_AW_EXPR_1A3A194A__
+ {{/if}}
+ {{#if github.event.pull_request.number || (github.aw.context.item_type == 'pull_request' && github.aw.context.item_number)}}
+ - **pull-request-number**: #__GH_AW_EXPR_463A214A__
+ {{/if}}
+ {{#if github.event.comment.id || github.aw.context.comment_id}}
+ - **comment-id**: __GH_AW_EXPR_FF1D34CE__
+ {{/if}}
+ {{#if github.run_id}}
+ - **workflow-run-id**: __GH_AW_GITHUB_RUN_ID__
+ {{/if}}
+
+
+ GH_AW_PROMPT_b251e581d8085e16_EOF
+ cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md"
+ cat << 'GH_AW_PROMPT_b251e581d8085e16_EOF'
+
+ {{#runtime-import .github/workflows/shared/otlp.md}}
+ {{#runtime-import .github/workflows/smoke-token-telemetry.md}}
+ GH_AW_PROMPT_b251e581d8085e16_EOF
+ } > "$GH_AW_PROMPT"
+ - name: Interpolate variables and render templates
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
+ GH_AW_ENGINE_ID: "copilot"
+ with:
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/interpolate_prompt.cjs');
+ await main();
+ - name: Substitute placeholders
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
+ GH_AW_EXPR_1A3A194A: ${{ github.event.discussion.number || (fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_type == 'discussion' && fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_number) }}
+ GH_AW_EXPR_463A214A: ${{ github.event.pull_request.number || (fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_type == 'pull_request' && fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_number) }}
+ GH_AW_EXPR_802A9F6A: ${{ github.event.issue.number || (fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_type == 'issue' && fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_number) }}
+ GH_AW_EXPR_FF1D34CE: ${{ github.event.comment.id || fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').comment_id }}
+ GH_AW_GITHUB_ACTOR: ${{ github.actor }}
+ GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
+ GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
+ GH_AW_GITHUB_WORKSPACE: ${{ github.workspace }}
+ GH_AW_MCP_CLI_SERVERS_LIST: '- `safeoutputs` — run `safeoutputs --help` to see available tools'
+ GH_AW_NEEDS_PRE_ACTIVATION_OUTPUTS_ACTIVATED: ${{ needs.pre_activation.outputs.activated }}
+ with:
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+
+ const substitutePlaceholders = require('${{ runner.temp }}/gh-aw/actions/substitute_placeholders.cjs');
+
+ // Call the substitution function
+ return await substitutePlaceholders({
+ file: process.env.GH_AW_PROMPT,
+ substitutions: {
+ GH_AW_EXPR_1A3A194A: process.env.GH_AW_EXPR_1A3A194A,
+ GH_AW_EXPR_463A214A: process.env.GH_AW_EXPR_463A214A,
+ GH_AW_EXPR_802A9F6A: process.env.GH_AW_EXPR_802A9F6A,
+ GH_AW_EXPR_FF1D34CE: process.env.GH_AW_EXPR_FF1D34CE,
+ GH_AW_GITHUB_ACTOR: process.env.GH_AW_GITHUB_ACTOR,
+ GH_AW_GITHUB_REPOSITORY: process.env.GH_AW_GITHUB_REPOSITORY,
+ GH_AW_GITHUB_RUN_ID: process.env.GH_AW_GITHUB_RUN_ID,
+ GH_AW_GITHUB_WORKSPACE: process.env.GH_AW_GITHUB_WORKSPACE,
+ GH_AW_MCP_CLI_SERVERS_LIST: process.env.GH_AW_MCP_CLI_SERVERS_LIST,
+ GH_AW_NEEDS_PRE_ACTIVATION_OUTPUTS_ACTIVATED: process.env.GH_AW_NEEDS_PRE_ACTIVATION_OUTPUTS_ACTIVATED
+ }
+ });
+ - name: Validate prompt placeholders
+ env:
+ GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
+ # poutine:ignore untrusted_checkout_exec
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/validate_prompt_placeholders.sh"
+ - name: Print prompt
+ env:
+ GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
+ # poutine:ignore untrusted_checkout_exec
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/print_prompt_summary.sh"
+ - name: Upload activation artifact
+ if: success()
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
+ with:
+ name: activation
+ include-hidden-files: true
+ path: |
+ /tmp/gh-aw/aw_info.json
+ /tmp/gh-aw/models.json
+ /tmp/gh-aw/aw-prompts/prompt.txt
+ /tmp/gh-aw/aw-prompts/prompt-template.txt
+ /tmp/gh-aw/aw-prompts/prompt-import-tree.json
+ /tmp/gh-aw/github_rate_limits.jsonl
+ /tmp/gh-aw/base
+ /tmp/gh-aw/.github/agents
+ /tmp/gh-aw/.github/skills
+ if-no-files-found: ignore
+ retention-days: 1
+
+ agent:
+ needs: activation
+ if: needs.activation.outputs.daily_ai_credits_exceeded != 'true'
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ env:
+ DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
+ GH_AW_ASSETS_ALLOWED_EXTS: ""
+ GH_AW_ASSETS_BRANCH: ""
+ GH_AW_ASSETS_MAX_SIZE_KB: 0
+ GH_AW_MCP_LOG_DIR: /tmp/gh-aw/mcp-logs/safeoutputs
+ GH_AW_PROJECT_UTC: "-08:00"
+ GH_AW_RUNTIME_FEATURES: ${{ vars.GH_AW_RUNTIME_FEATURES }}
+ GH_AW_WORKFLOW_ID_SANITIZED: smoketokentelemetry
+ outputs:
+ agentic_engine_timeout: ${{ steps.detect-agent-errors.outputs.agentic_engine_timeout || 'false' }}
+ ai_credits_rate_limit_error: ${{ steps.parse-mcp-gateway.outputs.ai_credits_rate_limit_error || 'false' }}
+ aic: ${{ steps.parse-mcp-gateway.outputs.aic }}
+ ambient_context: ${{ steps.parse-mcp-gateway.outputs.ambient_context }}
+ checkout_pr_success: ${{ steps.checkout-pr.outputs.checkout_pr_success || 'true' }}
+ effective_tokens: ${{ steps.parse-mcp-gateway.outputs.effective_tokens }}
+ has_patch: ${{ steps.collect_output.outputs.has_patch }}
+ http_400_response_error: ${{ steps.detect-agent-errors.outputs.http_400_response_error || 'false' }}
+ inference_access_error: ${{ steps.detect-agent-errors.outputs.inference_access_error || 'false' }}
+ mcp_policy_error: ${{ steps.detect-agent-errors.outputs.mcp_policy_error || 'false' }}
+ model: ${{ needs.activation.outputs.model }}
+ model_not_supported_error: ${{ steps.detect-agent-errors.outputs.model_not_supported_error || 'false' }}
+ output: ${{ steps.collect_output.outputs.output }}
+ output_types: ${{ steps.collect_output.outputs.output_types }}
+ setup-parent-span-id: ${{ steps.setup.outputs.parent-span-id || steps.setup.outputs.span-id }}
+ setup-span-id: ${{ steps.setup.outputs.span-id }}
+ setup-trace-id: ${{ steps.setup.outputs.trace-id }}
+ unknown_model_ai_credits: ${{ steps.parse-mcp-gateway.outputs.unknown_model_ai_credits || 'false' }}
+ steps:
+ - name: Checkout actions folder
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ with:
+ repository: github/gh-aw
+ sparse-checkout: |
+ actions
+ clean: false
+ persist-credentials: false
+ - name: Setup Scripts
+ id: setup
+ uses: ./actions/setup
+ with:
+ destination: ${{ runner.temp }}/gh-aw/actions
+ job-name: ${{ github.job }}
+ trace-id: ${{ needs.activation.outputs.setup-trace-id }}
+ parent-span-id: ${{ needs.activation.outputs.setup-parent-span-id || needs.activation.outputs.setup-span-id }}
+ env:
+ GH_AW_SETUP_WORKFLOW_NAME: "Smoke Token Telemetry"
+ GH_AW_CURRENT_WORKFLOW_REF: ${{ github.repository }}/.github/workflows/smoke-token-telemetry.lock.yml@${{ github.ref }}
+ GH_AW_INFO_VERSION: "1.0.68"
+ GH_AW_INFO_AWF_VERSION: "v0.27.22"
+ GH_AW_INFO_ENGINE_ID: "copilot"
+ - name: Set runtime paths
+ id: set-runtime-paths
+ run: |
+ {
+ echo "GH_AW_SAFE_OUTPUTS=${RUNNER_TEMP}/gh-aw/safeoutputs/outputs.jsonl"
+ echo "GH_AW_SAFE_OUTPUTS_CONFIG_PATH=${RUNNER_TEMP}/gh-aw/safeoutputs/config.json"
+ echo "GH_AW_SAFE_OUTPUTS_TOOLS_PATH=${RUNNER_TEMP}/gh-aw/safeoutputs/tools.json"
+ } >> "$GITHUB_OUTPUT"
+ - name: Mask OTLP telemetry headers
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/mask_otlp_headers.sh"
+ - name: Checkout repository
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ with:
+ persist-credentials: false
+ - name: Create gh-aw temp directory
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/create_gh_aw_tmp_dir.sh"
+ - name: Configure gh CLI for GitHub Enterprise
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/configure_gh_for_ghe.sh"
+ env:
+ GH_TOKEN: ${{ github.token }}
+ - name: Configure Git credentials
+ env:
+ GITHUB_REPOSITORY: ${{ github.repository }}
+ GITHUB_SERVER_URL: ${{ github.server_url }}
+ GITHUB_TOKEN: ${{ github.token }}
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/configure_git_credentials.sh"
+ - name: Checkout PR branch
+ id: checkout-pr
+ if: |
+ github.event.pull_request || github.event.issue.pull_request || github.event_name == 'workflow_dispatch' && fromJSON(github.event.inputs.aw_context || '{}').item_type == 'pull_request'
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ GH_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
+ with:
+ github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/checkout_pr_branch.cjs');
+ await main();
+ - name: Install GitHub Copilot CLI
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/install_copilot_cli.sh" 1.0.68
+ env:
+ GH_HOST: github.com
+ - name: Install AWF binary
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/install_awf_binary.sh" v0.27.22 --rootless
+ - name: Determine automatic lockdown mode for GitHub MCP Server
+ id: determine-automatic-lockdown
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 (source v9)
+ env:
+ GH_AW_GITHUB_TOKEN: ${{ secrets.GH_AW_GITHUB_TOKEN }}
+ GH_AW_GITHUB_MCP_SERVER_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN }}
+ with:
+ script: |
+ const determineAutomaticLockdown = require('${{ runner.temp }}/gh-aw/actions/determine_automatic_lockdown.cjs');
+ await determineAutomaticLockdown(github, context, core);
+ - name: Download activation artifact
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ name: activation
+ path: /tmp/gh-aw
+ - name: Restore agent config folders from base branch
+ if: steps.checkout-pr.outcome == 'success'
+ env:
+ GH_AW_AGENT_FOLDERS: ".agents .antigravity .claude .codex .crush .gemini .github .opencode .pi"
+ GH_AW_AGENT_FILES: ".crush.json AGENTS.md ANTIGRAVITY.md CLAUDE.md GEMINI.md PI.md opencode.jsonc"
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/restore_base_github_folders.sh"
+ - name: Restore inline sub-agents from activation artifact
+ env:
+ GH_AW_SUB_AGENT_DIR: ".github/agents"
+ GH_AW_SUB_AGENT_EXT: ".agent.md"
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/restore_inline_sub_agents.sh"
+ - name: Restore inline skills from activation artifact
+ env:
+ GH_AW_SKILL_DIR: ".github/skills"
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/restore_inline_skills.sh"
+ - name: Download container images
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/download_docker_images.sh" ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1 ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59 ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06 ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4
+ - name: Generate Safe Outputs Config
+ run: |
+ mkdir -p "${RUNNER_TEMP}/gh-aw/safeoutputs"
+ mkdir -p /tmp/gh-aw/safeoutputs
+ mkdir -p /tmp/gh-aw/mcp-logs/safeoutputs
+ cat > "${RUNNER_TEMP}/gh-aw/safeoutputs/config.json" << 'GH_AW_SAFE_OUTPUTS_CONFIG_db104cb1c46a0638_EOF'
+ {"create_issue":{"labels":["smoke-token-telemetry"],"max":1,"title_prefix":"[smoke-token-telemetry]"},"create_report_incomplete_issue":{},"missing_data":{},"missing_tool":{},"noop":{"max":1,"report-as-issue":"true"},"report_incomplete":{}}
+ GH_AW_SAFE_OUTPUTS_CONFIG_db104cb1c46a0638_EOF
+ - name: Generate Safe Outputs Tools
+ env:
+ GH_AW_TOOLS_META_JSON: |
+ {
+ "description_suffixes": {
+ "create_issue": " CONSTRAINTS: Maximum 1 issue(s) can be created. Title will be prefixed with \"[smoke-token-telemetry]\". Labels [\"smoke-token-telemetry\"] will be automatically added."
+ },
+ "repo_params": {},
+ "dynamic_tools": []
+ }
+ GH_AW_VALIDATION_JSON: |
+ {
+ "create_issue": {
+ "defaultMax": 1,
+ "fields": {
+ "body": {
+ "required": true,
+ "type": "string",
+ "sanitize": true,
+ "maxLength": 65000,
+ "minLength": 20
+ },
+ "fields": {
+ "type": "array"
+ },
+ "labels": {
+ "type": "array",
+ "itemType": "string",
+ "itemSanitize": true,
+ "itemMaxLength": 128
+ },
+ "parent": {
+ "issueOrPRNumber": true
+ },
+ "repo": {
+ "type": "string",
+ "maxLength": 256
+ },
+ "temporary_id": {
+ "type": "string"
+ },
+ "title": {
+ "required": true,
+ "type": "string",
+ "sanitize": true,
+ "maxLength": 128
+ }
+ }
+ },
+ "missing_data": {
+ "defaultMax": 20,
+ "fields": {
+ "alternatives": {
+ "type": "string",
+ "sanitize": true,
+ "maxLength": 256
+ },
+ "context": {
+ "type": "string",
+ "sanitize": true,
+ "maxLength": 256
+ },
+ "data_type": {
+ "type": "string",
+ "sanitize": true,
+ "maxLength": 128
+ },
+ "reason": {
+ "type": "string",
+ "sanitize": true,
+ "maxLength": 256
+ }
+ }
+ },
+ "missing_tool": {
+ "defaultMax": 20,
+ "fields": {
+ "alternatives": {
+ "type": "string",
+ "sanitize": true,
+ "maxLength": 512
+ },
+ "reason": {
+ "required": true,
+ "type": "string",
+ "sanitize": true,
+ "maxLength": 256
+ },
+ "tool": {
+ "type": "string",
+ "sanitize": true,
+ "maxLength": 128
+ }
+ }
+ },
+ "noop": {
+ "defaultMax": 1,
+ "fields": {
+ "message": {
+ "required": true,
+ "type": "string",
+ "sanitize": true,
+ "maxLength": 65000
+ }
+ }
+ },
+ "report_incomplete": {
+ "defaultMax": 5,
+ "fields": {
+ "details": {
+ "type": "string",
+ "sanitize": true,
+ "maxLength": 65000
+ },
+ "reason": {
+ "required": true,
+ "type": "string",
+ "sanitize": true,
+ "maxLength": 1024
+ }
+ }
+ }
+ }
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ with:
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/generate_safe_outputs_tools.cjs');
+ await main();
+ - name: Start MCP Gateway
+ id: start-mcp-gateway
+ env:
+ GH_AW_POLICY_ALLOW_CREATE_PULL_REQUEST: ${{ vars.GH_AW_POLICY_ALLOW_CREATE_PULL_REQUEST || 'true' }}
+ GH_AW_SAFE_OUTPUTS: ${{ steps.set-runtime-paths.outputs.GH_AW_SAFE_OUTPUTS }}
+ GH_AW_SAFE_OUTPUTS_CONFIG_PATH: ${{ steps.set-runtime-paths.outputs.GH_AW_SAFE_OUTPUTS_CONFIG_PATH }}
+ GH_AW_SAFE_OUTPUTS_TOOLS_PATH: ${{ steps.set-runtime-paths.outputs.GH_AW_SAFE_OUTPUTS_TOOLS_PATH }}
+ GITHUB_MCP_GUARD_MIN_INTEGRITY: ${{ steps.determine-automatic-lockdown.outputs.min_integrity }}
+ GITHUB_MCP_GUARD_REPOS: ${{ steps.determine-automatic-lockdown.outputs.repos }}
+ GITHUB_MCP_SERVER_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ set -eo pipefail
+ mkdir -p "${RUNNER_TEMP}/gh-aw/mcp-config"
+
+ # Export gateway environment variables for MCP config and gateway script
+ export MCP_GATEWAY_PORT="8080"
+ export MCP_GATEWAY_DOMAIN="awmg-mcpg"
+ export MCP_GATEWAY_HOST_DOMAIN="localhost"
+ MCP_GATEWAY_API_KEY=$(openssl rand -base64 45 | tr -d '/+=')
+ echo "::add-mask::${MCP_GATEWAY_API_KEY}"
+ export MCP_GATEWAY_API_KEY
+ export MCP_GATEWAY_PAYLOAD_DIR="/tmp/gh-aw/mcp-payloads"
+ mkdir -p "${MCP_GATEWAY_PAYLOAD_DIR}"
+ export MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD="524288"
+ export DEBUG="*"
+
+ export GH_AW_ENGINE="copilot"
+ MCP_GATEWAY_UID=$(id -u 2>/dev/null || echo '0')
+ MCP_GATEWAY_GID=$(id -g 2>/dev/null || echo '0')
+ case "${DOCKER_HOST:-}" in
+ unix://* ) DOCKER_SOCK_PATH="${DOCKER_HOST#unix://}" ;;
+ /* ) DOCKER_SOCK_PATH="$DOCKER_HOST" ;;
+ * ) DOCKER_SOCK_PATH=/var/run/docker.sock ;;
+ esac
+ DOCKER_SOCK_GID=$(stat -c '%g' "$DOCKER_SOCK_PATH" 2>/dev/null || echo '0')
+ export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network bridge -p 127.0.0.1:'"${MCP_GATEWAY_PORT}"':'"${MCP_GATEWAY_PORT}"' --name awmg-mcpg --add-host host.docker.internal:host-gateway --user '"${MCP_GATEWAY_UID}"':'"${MCP_GATEWAY_GID}"' --group-add '"${DOCKER_SOCK_GID}"' -v '"${DOCKER_SOCK_PATH}"':/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DOCKER_HOST=unix:///var/run/docker.sock -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_POLICY_ALLOW_CREATE_PULL_REQUEST -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_GUARD_MIN_INTEGRITY -e GITHUB_MCP_GUARD_REPOS -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e RUNNER_TEMP -e GITHUB_AW_OTEL_TRACE_ID -e GITHUB_AW_OTEL_PARENT_SPAN_ID -e OTEL_EXPORTER_OTLP_HEADERS -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw -v '"${RUNNER_TEMP}"'/gh-aw/safeoutputs:'"${RUNNER_TEMP}"'/gh-aw/safeoutputs:rw ghcr.io/github/gh-aw-mcpg:v0.3.33'
+
+ mkdir -p "$HOME/.copilot"
+ GH_AW_NODE=$(which node 2>/dev/null || command -v node 2>/dev/null || echo node)
+ cat << GH_AW_MCP_CONFIG_1f24d04dbd7f74fd_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs"
+ {
+ "mcpServers": {
+ "github": {
+ "type": "stdio",
+ "container": "ghcr.io/github/github-mcp-server:v1.5.0",
+ "env": {
+ "GITHUB_HOST": "${GITHUB_SERVER_URL}",
+ "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_MCP_SERVER_TOKEN}",
+ "GITHUB_READ_ONLY": "1",
+ "GITHUB_TOOLSETS": "context,repos,issues,pull_requests"
+ },
+ "guard-policies": {
+ "allow-only": {
+ "min-integrity": "$GITHUB_MCP_GUARD_MIN_INTEGRITY",
+ "repos": "$GITHUB_MCP_GUARD_REPOS"
+ }
+ }
+ },
+ "safeoutputs": {
+ "type": "stdio",
+ "container": "ghcr.io/github/gh-aw-node",
+ "mounts": ["\${GITHUB_WORKSPACE}:\${GITHUB_WORKSPACE}:rw", "${RUNNER_TEMP}/gh-aw/safeoutputs:${RUNNER_TEMP}/gh-aw/safeoutputs:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"],
+ "args": ["-w", "\${GITHUB_WORKSPACE}"],
+ "entrypoint": "sh",
+ "entrypointArgs": ["-c", "sh ${RUNNER_TEMP}/gh-aw/safeoutputs/start_safe_outputs_mcp.sh"],
+ "env": {
+ "DEBUG": "*",
+ "DEFAULT_BRANCH": "\${DEFAULT_BRANCH}",
+ "GH_AW_ASSETS_ALLOWED_EXTS": "\${GH_AW_ASSETS_ALLOWED_EXTS}",
+ "GH_AW_ASSETS_BRANCH": "\${GH_AW_ASSETS_BRANCH}",
+ "GH_AW_ASSETS_MAX_SIZE_KB": "\${GH_AW_ASSETS_MAX_SIZE_KB}",
+ "GH_AW_MCP_LOG_DIR": "\${GH_AW_MCP_LOG_DIR}",
+ "GH_AW_SAFE_OUTPUTS": "\${GH_AW_SAFE_OUTPUTS}",
+ "GH_AW_SAFE_OUTPUTS_CONFIG_PATH": "\${GH_AW_SAFE_OUTPUTS_CONFIG_PATH}",
+ "GH_AW_SAFE_OUTPUTS_TOOLS_PATH": "\${GH_AW_SAFE_OUTPUTS_TOOLS_PATH}",
+ "GH_AW_POLICY_ALLOW_CREATE_PULL_REQUEST": "\${GH_AW_POLICY_ALLOW_CREATE_PULL_REQUEST}",
+ "GITHUB_REPOSITORY": "\${GITHUB_REPOSITORY}",
+ "GITHUB_SHA": "\${GITHUB_SHA}",
+ "GITHUB_TOKEN": "\${GITHUB_TOKEN}",
+ "GITHUB_WORKSPACE": "\${GITHUB_WORKSPACE}",
+ "RUNNER_TEMP": "\${RUNNER_TEMP}"
+ },
+ "guard-policies": {
+ "write-sink": {
+ "accept": [
+ "*"
+ ]
+ }
+ }
+ }
+ },
+ "gateway": {
+ "port": $MCP_GATEWAY_PORT,
+ "domain": "${MCP_GATEWAY_DOMAIN}",
+ "apiKey": "${MCP_GATEWAY_API_KEY}",
+ "payloadDir": "${MCP_GATEWAY_PAYLOAD_DIR}",
+ "opentelemetry": {
+ "endpoint": "${OTEL_EXPORTER_OTLP_ENDPOINT}",
+ "traceId": "${GITHUB_AW_OTEL_TRACE_ID}",
+ "spanId": "${GITHUB_AW_OTEL_PARENT_SPAN_ID}"
+ }
+ }
+ }
+ GH_AW_MCP_CONFIG_1f24d04dbd7f74fd_EOF
+ - name: Mount MCP servers as CLIs
+ id: mount-mcp-clis
+ continue-on-error: true
+ env:
+ MCP_GATEWAY_API_KEY: ${{ steps.start-mcp-gateway.outputs.gateway-api-key }}
+ MCP_GATEWAY_DOMAIN: ${{ steps.start-mcp-gateway.outputs.gateway-domain }}
+ MCP_GATEWAY_PORT: ${{ steps.start-mcp-gateway.outputs.gateway-port }}
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ with:
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/mount_mcp_as_cli.cjs');
+ await main();
+ - name: Clean credentials
+ continue-on-error: true
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/clean_git_credentials.sh"
+ - name: Audit pre-agent workspace
+ id: pre_agent_audit
+ continue-on-error: true
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/audit_pre_agent_workspace.sh"
+ - name: Execute GitHub Copilot CLI
+ id: agentic_execution
+ # Copilot CLI tool arguments (sorted):
+ timeout-minutes: 5
+ run: |
+ set -o pipefail
+ printf '%s' "$(date +%s%3N)" > /tmp/gh-aw/agent_cli_start_ms.txt
+ trap 'rm -f "$HOME/.copilot/settings.json"' EXIT
+ mkdir -p "$HOME/.copilot"
+ printf '%s' '{"builtInAgents":{"rubberDuck":false}}' > "$HOME/.copilot/settings.json"
+ export XDG_CONFIG_HOME="$HOME"
+ export GH_AW_MCP_CONFIG="$HOME/.copilot/mcp-config.json"
+ touch /tmp/gh-aw/agent-step-summary.md
+ GH_AW_NODE_BIN=$(command -v node 2>/dev/null || true)
+ export GH_AW_NODE_BIN
+ export COPILOT_API_KEY="$COPILOT_DUMMY_BYOK"
+ (umask 177 && touch /tmp/gh-aw/agent-stdio.log)
+ GH_AW_MAX_AI_CREDITS="${GH_AW_MAX_AI_CREDITS:-1000}"
+ printf '%s\n' "{\"\$schema\":\"https://github.com/github/gh-aw-firewall/releases/download/v0.27.22/awf-config.schema.json\",\"network\":{\"allowDomains\":[\"*.grafana.net\",\"*.sentry.io\",\"api.business.githubcopilot.com\",\"api.enterprise.githubcopilot.com\",\"api.github.com\",\"api.githubcopilot.com\",\"api.individual.githubcopilot.com\",\"api.snapcraft.io\",\"archive.ubuntu.com\",\"azure.archive.ubuntu.com\",\"crl.geotrust.com\",\"crl.globalsign.com\",\"crl.identrust.com\",\"crl.sectigo.com\",\"crl.thawte.com\",\"crl.usertrust.com\",\"crl.verisign.com\",\"crl3.digicert.com\",\"crl4.digicert.com\",\"crls.ssl.com\",\"github.com\",\"host.docker.internal\",\"json-schema.org\",\"json.schemastore.org\",\"keyserver.ubuntu.com\",\"ocsp.digicert.com\",\"ocsp.geotrust.com\",\"ocsp.globalsign.com\",\"ocsp.identrust.com\",\"ocsp.sectigo.com\",\"ocsp.ssl.com\",\"ocsp.thawte.com\",\"ocsp.usertrust.com\",\"ocsp.verisign.com\",\"packagecloud.io\",\"packages.cloud.google.com\",\"packages.microsoft.com\",\"ppa.launchpad.net\",\"raw.githubusercontent.com\",\"registry.npmjs.org\",\"s.symcb.com\",\"s.symcd.com\",\"security.ubuntu.com\",\"telemetry.enterprise.githubcopilot.com\",\"ts-crl.ws.symantec.com\",\"ts-ocsp.ws.symantec.com\",\"www.googleapis.com\"],\"isolation\":true,\"topologyAttach\":[\"awmg-mcpg\"]},\"apiProxy\":{\"enabled\":true,\"enableTokenSteering\":true,\"maxRuns\":500,\"maxAiCredits\":${GH_AW_MAX_AI_CREDITS},\"maxCacheMisses\":5,\"models\":{\"agent\":[\"sonnet-6x\",\"gpt-5.4\",\"gpt-5.3\",\"gemini-pro\",\"any\"],\"antigravity\":[\"copilot/antigravity*\",\"google/antigravity*\",\"gemini/antigravity*\"],\"any\":[\"copilot/*\",\"anthropic/*\",\"openai/*\",\"google/*\",\"gemini/*\"],\"claude\":[\"agent\"],\"codex\":[\"agent\"],\"coding\":[\"copilot/gpt-5*codex*\",\"openai/gpt-5*codex*\",\"gpt-5-codex\",\"kimi\"],\"computer-use\":[\"copilot/*computer-use*\",\"google/*computer-use*\",\"gemini/*computer-use*\",\"openai/*computer-use*\"],\"copilot\":[\"agent\"],\"deep-research\":[\"copilot/deep-research*\",\"copilot/o3-deep-research*\",\"copilot/o4-mini-deep-research*\",\"google/deep-research*\",\"gemini/deep-research*\",\"openai/o3-deep-research*\",\"openai/o4-mini-deep-research*\"],\"fable\":[\"copilot/*fable*\",\"anthropic/*fable*\"],\"gemini\":[\"agent\"],\"gemini-3-flash\":[\"copilot/gemini-3*flash*\",\"google/gemini-3*flash*\",\"gemini/gemini-3*flash*\"],\"gemini-3-pro\":[\"copilot/gemini-3*pro*\",\"google/gemini-3*pro*\",\"google/nano-banana*\",\"gemini/gemini-3*pro*\"],\"gemini-3.1-flash\":[\"copilot/gemini-3.1*flash*\",\"google/gemini-3.1*flash*\",\"gemini/gemini-3.1*flash*\"],\"gemini-3.1-pro\":[\"copilot/gemini-3.1*pro*\",\"google/gemini-3.1*pro*\",\"gemini/gemini-3.1*pro*\"],\"gemini-3.5-flash\":[\"copilot/gemini-3.5*flash*\",\"google/gemini-3.5*flash*\",\"gemini/gemini-3.5*flash*\"],\"gemini-flash\":[\"copilot/gemini-*flash*\",\"google/gemini-*flash*\",\"gemini/gemini-*flash*\"],\"gemini-flash-lite\":[\"copilot/gemini-*flash*lite*\",\"google/gemini-*flash*lite*\",\"gemini/gemini-*flash*lite*\"],\"gemini-omni\":[\"copilot/gemini-omni*\",\"google/gemini-omni*\",\"gemini/gemini-omni*\"],\"gemini-pro\":[\"copilot/gemini-*pro*\",\"google/gemini-*pro*\",\"gemini/gemini-*pro*\"],\"gemma\":[\"copilot/gemma*\",\"google/gemma*\",\"gemini/gemma*\"],\"gpt-5\":[\"copilot/gpt-5*\",\"openai/gpt-5*\"],\"gpt-5-codex\":[\"copilot/gpt-5*codex*\",\"openai/gpt-5*codex*\"],\"gpt-5-mini\":[\"copilot/gpt-5*mini*\",\"openai/gpt-5*mini*\"],\"gpt-5-nano\":[\"copilot/gpt-5*nano*\",\"openai/gpt-5*nano*\"],\"gpt-5-pro\":[\"copilot/gpt-5*pro*\",\"openai/gpt-5*pro*\"],\"gpt-5.1\":[\"copilot/gpt-5.1*\",\"openai/gpt-5.1*\"],\"gpt-5.2\":[\"copilot/gpt-5.2*\",\"openai/gpt-5.2*\"],\"gpt-5.3\":[\"copilot/gpt-5.3*\",\"openai/gpt-5.3*\"],\"gpt-5.4\":[\"copilot/gpt-5.4*\",\"openai/gpt-5.4*\"],\"gpt-5.5\":[\"copilot/gpt-5.5*\",\"openai/gpt-5.5*\"],\"gpt-5.6\":[\"copilot/gpt-5.6*\",\"openai/gpt-5.6*\"],\"haiku\":[\"copilot/*haiku*\",\"anthropic/*haiku*\"],\"image-generation\":[\"copilot/gpt-image*\",\"openai/gpt-image*\",\"openai/chatgpt-image*\",\"copilot/gemini-*image*\",\"google/gemini-*image*\",\"gemini/gemini-*image*\",\"google/imagen*\"],\"kimi\":[\"copilot/kimi*\",\"openai/kimi*\"],\"kiwi\":[\"copilot/kiwi*\",\"openai/kiwi*\"],\"large\":[\"fable\",\"sonnet\",\"gpt-5-pro\",\"gpt-5\",\"gemini-pro\"],\"mai-code\":[\"copilot/MAI-Code*\",\"copilot/mai-code*\",\"openai/MAI-Code*\"],\"mini\":[\"haiku\",\"gpt-5-mini\",\"gpt-5-nano\",\"gemini-flash-lite\"],\"nano-banana\":[\"copilot/nano-banana*\",\"google/nano-banana*\",\"gemini/nano-banana*\"],\"opus\":[\"copilot/*opus*\",\"anthropic/*opus*\"],\"opusplan\":[\"opus?effort=high\"],\"reasoning\":[\"copilot/o1*\",\"copilot/o3*\",\"copilot/o4*\",\"openai/o1*\",\"openai/o3*\",\"openai/o4*\"],\"robotics\":[\"copilot/*robotics*\",\"google/*robotics*\",\"gemini/*robotics*\"],\"small\":[\"mini\"],\"small-agent\":[\"haiku\",\"gpt-5-mini\",\"gemini-flash\"],\"sonnet\":[\"copilot/*sonnet*\",\"anthropic/*sonnet*\"],\"sonnet-6x\":[\"copilot/*sonnet-4.5*\",\"copilot/*sonnet-4.6*\",\"copilot/*sonnet-4-5-*\",\"anthropic/*sonnet-4-5-*\",\"copilot/*sonnet-4-6*\",\"anthropic/*sonnet-4-6*\"],\"summarization\":[\"haiku\",\"gpt-5-mini\",\"gemini-flash-lite\",\"mini\"],\"veo\":[\"google/veo*\",\"gemini/veo*\"],\"vision\":[\"copilot/gemini-*image*\",\"google/gemini-*image*\",\"gemini/gemini-*image*\",\"copilot/gemini-*flash*\",\"google/gemini-*flash*\",\"gemini/gemini-*flash*\"]}},\"container\":{\"imageTag\":\"0.27.22,squid=sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59,agent=sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e,api-proxy=sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1,cli-proxy=sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c\"},\"logging\":{\"proxyLogsDir\":\"/tmp/gh-aw/sandbox/firewall/logs\",\"auditDir\":\"/tmp/gh-aw/sandbox/firewall/audit\"}}" > "${RUNNER_TEMP}/gh-aw/awf-config.json"
+ cp "${RUNNER_TEMP}/gh-aw/awf-config.json" /tmp/gh-aw/awf-config.json
+ export GH_AW_MODELS_JSON_PATH="/tmp/gh-aw/models.json"
+ GH_AW_DOCKER_HOST=""
+ if [[ "${DOCKER_HOST:-}" =~ ^tcp:// ]]; then
+ GH_AW_DOCKER_HOST="${DOCKER_HOST}"
+ fi
+ GH_AW_DOCKER_HOST_PATH_PREFIX_ARGS=""
+ if [[ "${DOCKER_HOST:-}" =~ ^tcp:// ]]; then
+ GH_AW_DOCKER_HOST_PATH_PREFIX_ARGS="--docker-host-path-prefix ${RUNNER_TEMP}/gh-aw"
+ GH_AW_CHROOT_BINARIES_SOURCE_PATH="${RUNNER_TEMP}/gh-aw" GH_AW_CHROOT_IDENTITY_HOME="${RUNNER_TEMP}/gh-aw/home" node "${RUNNER_TEMP}/gh-aw/actions/patch_awf_chroot_config.cjs"
+ fi
+ GH_AW_TOOL_CACHE_MOUNT=""
+ GH_AW_TOOL_CACHE="${RUNNER_TOOL_CACHE:?RUNNER_TOOL_CACHE must be set}"
+ if [ -d "$GH_AW_TOOL_CACHE" ]; then
+ if [[ "$GH_AW_TOOL_CACHE" != /opt/* ]]; then
+ GH_AW_TOOL_CACHE_MOUNT="$GH_AW_TOOL_CACHE:$GH_AW_TOOL_CACHE:ro"
+ fi
+ fi
+ # shellcheck disable=SC1003,SC2016,SC2086
+ awf --config "${RUNNER_TEMP}/gh-aw/awf-config.json" --container-workdir "${GITHUB_WORKSPACE}" --mount "${RUNNER_TEMP}/gh-aw:${RUNNER_TEMP}/gh-aw:ro" --mount "${RUNNER_TEMP}/gh-aw:/host${RUNNER_TEMP}/gh-aw:ro" ${GH_AW_TOOL_CACHE_MOUNT:+--mount "$GH_AW_TOOL_CACHE_MOUNT"} ${GH_AW_DOCKER_HOST:+--docker-host "$GH_AW_DOCKER_HOST"} ${GH_AW_DOCKER_HOST_PATH_PREFIX_ARGS} --env-all --exclude-env COPILOT_GITHUB_TOKEN --exclude-env GITHUB_MCP_SERVER_TOKEN --exclude-env MCP_GATEWAY_API_KEY --log-level info --skip-pull \
+ -- /bin/bash -c 'set +o histexpand; export PATH="${RUNNER_TEMP}/gh-aw/mcp-cli/bin:$PATH" && : "${RUNNER_TOOL_CACHE:?RUNNER_TOOL_CACHE must be set}"; GH_AW_TOOL_CACHE="$RUNNER_TOOL_CACHE"; export PATH="$(find "$GH_AW_TOOL_CACHE" -maxdepth 5 -type d -name bin 2>/dev/null | tr '\''\n'\'' '\'':'\'')$PATH"; [ -n "$GOROOT" ] && export PATH="$GOROOT/bin:$PATH" || true && GH_AW_NODE_EXEC="${GH_AW_NODE_BIN:-}"; if [ -z "$GH_AW_NODE_EXEC" ] || [ ! -x "$GH_AW_NODE_EXEC" ]; then GH_AW_NODE_EXEC="$(command -v node 2>/dev/null || true)"; fi; if [ -z "$GH_AW_NODE_EXEC" ]; then echo "node runtime missing on this runner — check runtimes.node in workflow YAML" >&2; exit 127; fi; GH_AW_NPM_GLOBAL_ROOT="$(npm root -g 2>/dev/null || true)"; if [ -n "$GH_AW_NPM_GLOBAL_ROOT" ]; then export NODE_PATH="${GH_AW_NPM_GLOBAL_ROOT}${NODE_PATH:+:${NODE_PATH}}"; fi; "$GH_AW_NODE_EXEC" ${RUNNER_TEMP}/gh-aw/actions/copilot_harness.cjs /usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --disable-builtin-mcps --no-ask-user --allow-all-tools --allow-all-paths --add-dir "${GITHUB_WORKSPACE}" --prompt-file /tmp/gh-aw/aw-prompts/prompt.txt' 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
+ env:
+ AWF_REFLECT_ENABLED: 1
+ COPILOT_AGENT_RUNNER_TYPE: STANDALONE
+ COPILOT_DUMMY_BYOK: dummy-byok-key-for-offline-mode
+ COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}
+ COPILOT_MODEL: ${{ vars.GH_AW_MODEL_AGENT_COPILOT || vars.GH_AW_DEFAULT_MODEL_COPILOT || 'claude-sonnet-4.6' }}
+ GH_AW_LLM_PROVIDER: github
+ GH_AW_MAX_AI_CREDITS: ${{ vars.GH_AW_DEFAULT_MAX_AI_CREDITS || '1000' }}
+ GH_AW_MAX_TURNS: ${{ vars.GH_AW_DEFAULT_MAX_TURNS || '' }}
+ GH_AW_PHASE: agent
+ GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
+ GH_AW_SAFE_OUTPUTS: ${{ steps.set-runtime-paths.outputs.GH_AW_SAFE_OUTPUTS }}
+ GH_AW_TIMEOUT_MINUTES: 5
+ GH_AW_VERSION: dev
+ GITHUB_API_URL: ${{ github.api_url }}
+ GITHUB_AW: true
+ GITHUB_COPILOT_INTEGRATION_ID: agentic-workflows
+ GITHUB_HEAD_REF: ${{ github.head_ref }}
+ GITHUB_MCP_SERVER_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
+ GITHUB_REF_NAME: ${{ github.ref_name }}
+ GITHUB_SERVER_URL: ${{ github.server_url }}
+ GITHUB_STEP_SUMMARY: /tmp/gh-aw/agent-step-summary.md
+ GITHUB_WORKSPACE: ${{ github.workspace }}
+ GIT_AUTHOR_EMAIL: github-actions[bot]@users.noreply.github.com
+ GIT_AUTHOR_NAME: github-actions[bot]
+ GIT_COMMITTER_EMAIL: github-actions[bot]@users.noreply.github.com
+ GIT_COMMITTER_NAME: github-actions[bot]
+ RUNNER_TEMP: ${{ runner.temp }}
+ TRACEPARENT: ${{ env.GITHUB_AW_OTEL_TRACE_ID != '' && env.GITHUB_AW_OTEL_PARENT_SPAN_ID != '' && format('00-{0}-{1}-01', env.GITHUB_AW_OTEL_TRACE_ID, env.GITHUB_AW_OTEL_PARENT_SPAN_ID) || '' }}
+ - name: Detect agent errors
+ if: always()
+ id: detect-agent-errors
+ continue-on-error: true
+ run: node "${RUNNER_TEMP}/gh-aw/actions/detect_agent_errors.cjs"
+ - name: Configure Git credentials
+ env:
+ GITHUB_REPOSITORY: ${{ github.repository }}
+ GITHUB_SERVER_URL: ${{ github.server_url }}
+ GITHUB_TOKEN: ${{ github.token }}
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/configure_git_credentials.sh"
+ - name: Copy Copilot session state files to logs
+ if: always()
+ continue-on-error: true
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/copy_copilot_session_state.sh"
+ - name: Stop MCP Gateway
+ if: always()
+ continue-on-error: true
+ env:
+ MCP_GATEWAY_PORT: ${{ steps.start-mcp-gateway.outputs.gateway-port }}
+ MCP_GATEWAY_API_KEY: ${{ steps.start-mcp-gateway.outputs.gateway-api-key }}
+ GATEWAY_PID: ${{ steps.start-mcp-gateway.outputs.gateway-pid }}
+ run: |
+ bash "${RUNNER_TEMP}/gh-aw/actions/stop_mcp_gateway.sh" "$GATEWAY_PID"
+ - name: Redact secrets in logs
+ if: always()
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ with:
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/redact_secrets.cjs');
+ await main();
+ env:
+ GH_AW_SECRET_NAMES: 'COPILOT_GITHUB_TOKEN,GH_AW_GITHUB_MCP_SERVER_TOKEN,GH_AW_GITHUB_TOKEN,GITHUB_TOKEN'
+ SECRET_COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}
+ SECRET_GH_AW_GITHUB_MCP_SERVER_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN }}
+ SECRET_GH_AW_GITHUB_TOKEN: ${{ secrets.GH_AW_GITHUB_TOKEN }}
+ SECRET_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ - name: Append agent step summary
+ if: always()
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/append_agent_step_summary.sh"
+ - name: Copy Safe Outputs
+ if: always()
+ env:
+ GH_AW_SAFE_OUTPUTS: ${{ steps.set-runtime-paths.outputs.GH_AW_SAFE_OUTPUTS }}
+ run: |
+ mkdir -p /tmp/gh-aw
+ cp "$GH_AW_SAFE_OUTPUTS" /tmp/gh-aw/safeoutputs.jsonl 2>/dev/null || true
+ - name: Ingest agent output
+ id: collect_output
+ if: always()
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ GH_AW_SAFE_OUTPUTS: ${{ steps.set-runtime-paths.outputs.GH_AW_SAFE_OUTPUTS }}
+ GH_AW_ALLOWED_DOMAINS: "*.githubusercontent.com,*.grafana.net,*.sentry.io,127.0.0.1,::1,api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,api.snapcraft.io,app.renovatebot.com,appveyor.com,archive.ubuntu.com,azure.archive.ubuntu.com,badgen.net,circleci.com,codacy.com,codeclimate.com,codecov.io,codeload.github.com,coveralls.io,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,deepsource.io,docs.github.com,drone.io,github-cloud.githubusercontent.com,github-cloud.s3.amazonaws.com,github.blog,github.com,github.githubassets.com,host.docker.internal,img.shields.io,json-schema.org,json.schemastore.org,keyserver.ubuntu.com,lfs.github.com,localhost,objects.githubusercontent.com,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,patch-diff.githubusercontent.com,patchdiff.githubusercontent.com,ppa.launchpad.net,raw.githubusercontent.com,readthedocs.io,readthedocs.org,registry.npmjs.org,renovatebot.com,s.symcb.com,s.symcd.com,security.ubuntu.com,semaphoreci.com,shields.io,snyk.io,sonarcloud.io,sonarqube.com,telemetry.enterprise.githubcopilot.com,travis-ci.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com,www.googleapis.com"
+ GITHUB_SERVER_URL: ${{ github.server_url }}
+ GITHUB_API_URL: ${{ github.api_url }}
+ with:
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/collect_ndjson_output.cjs');
+ await main();
+ - name: Parse agent logs for step summary
+ if: always()
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ GH_AW_AGENT_OUTPUT: /tmp/gh-aw/sandbox/agent/logs/
+ with:
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/parse_copilot_log.cjs');
+ await main();
+ - name: Parse MCP Gateway logs for step summary
+ if: always()
+ id: parse-mcp-gateway
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ with:
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/parse_mcp_gateway_log.cjs');
+ await main();
+ - name: Print firewall logs
+ if: always()
+ continue-on-error: true
+ env:
+ AWF_LOGS_DIR: /tmp/gh-aw/sandbox/firewall/logs
+ run: |
+ # Only run awf logs summary if awf command exists (it may not be installed if workflow failed before install step)
+ if command -v awf &> /dev/null; then
+ awf logs summary | tee -a "$GITHUB_STEP_SUMMARY"
+ else
+ echo 'AWF binary not installed, skipping firewall log summary'
+ fi
+ - name: Parse token usage for step summary
+ if: always()
+ continue-on-error: true
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ with:
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/parse_token_usage.cjs');
+ await main();
+ - name: Print AWF reflect summary
+ if: always()
+ continue-on-error: true
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ with:
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/awf_reflect_summary.cjs');
+ await main();
+ - name: Generate observability summary
+ if: always()
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ with:
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/generate_observability_summary.cjs');
+ await main(core);
+ - name: Write agent output placeholder if missing
+ if: always()
+ run: |
+ if [ ! -f /tmp/gh-aw/agent_output.json ]; then
+ echo '{"items":[]}' > /tmp/gh-aw/agent_output.json
+ fi
+ - name: Upload agent artifacts
+ if: always()
+ continue-on-error: true
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
+ with:
+ name: agent
+ path: |
+ /tmp/gh-aw/aw-prompts/prompt.txt
+ /tmp/gh-aw/sandbox/agent/logs/
+ /tmp/gh-aw/redacted-urls.log
+ /tmp/gh-aw/mcp-logs/
+ /tmp/gh-aw/agent_usage.json
+ /tmp/gh-aw/agent-stdio.log
+ /tmp/gh-aw/pre-agent-audit.txt
+ /tmp/gh-aw/agent/
+ /tmp/gh-aw/github_rate_limits.jsonl
+ /tmp/gh-aw/otel.jsonl
+ /tmp/gh-aw/otlp-export-errors.jsonl
+ /tmp/gh-aw/safeoutputs.jsonl
+ /tmp/gh-aw/agent_output.json
+ /tmp/gh-aw/aw-*.patch
+ /tmp/gh-aw/aw-*.bundle
+ /tmp/gh-aw/awf-config.json
+ /tmp/gh-aw/sandbox/firewall/logs/
+ /tmp/gh-aw/sandbox/firewall/audit/
+ /tmp/gh-aw/sandbox/firewall/awf-reflect.json
+ if-no-files-found: ignore
+
+ check_token_telemetry:
+ needs: agent
+ if: needs.agent.result == 'success'
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+
+ steps:
+ - name: Configure GH_HOST for enterprise compatibility
+ id: ghes-host-config
+ shell: bash
+ run: | # zizmor: ignore[github-env] - GITHUB_SERVER_URL is set by GitHub Actions, not user input.
+ # Derive GH_HOST from GITHUB_SERVER_URL so the gh CLI targets the correct
+ # GitHub instance (GHES/GHEC). On github.com this is a harmless no-op.
+ GH_HOST="${GITHUB_SERVER_URL#https://}"
+ GH_HOST="${GH_HOST#http://}"
+ echo "GH_HOST=${GH_HOST}" >> "$GITHUB_ENV"
+ - name: Download agent artifact
+ id: download-agent
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 (source v4)
+ with:
+ name: agent
+ path: /tmp/gh-aw/
+ continue-on-error: true
+ - name: Assert token_usage.jsonl is non-empty
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ # The AWF firewall proxy writes token_usage.jsonl for every LLM API call.
+ # If all token_usage.jsonl files are missing or empty, the emitter is broken.
+ TOKEN_FILES=(
+ "/tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl"
+ )
+
+ FOUND_NONEMPTY=false
+ for f in "${TOKEN_FILES[@]}"; do
+ if [ -s "$f" ]; then
+ COUNT=$(grep -c . "$f" 2>/dev/null || echo "0")
+ echo "OK: $f — ${COUNT} record(s)"
+ FOUND_NONEMPTY=true
+ else
+ [ -f "$f" ] && echo "EMPTY: $f" || echo "MISSING: $f"
+ fi
+ done
+
+ if [ "${FOUND_NONEMPTY}" != "true" ]; then
+ echo "::error::All token_usage.jsonl files are empty or missing after a successful agent run."
+ echo "::error::The AWF firewall proxy token telemetry emitter may be broken."
+ echo "::error::See tracking issue: https://github.com/github/gh-aw/issues/42791"
+ exit 1
+ fi
+ - name: Assert agent_usage.json has non-zero token counts
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ USAGE_FILE="/tmp/gh-aw/agent_usage.json"
+ if [ ! -f "${USAGE_FILE}" ]; then
+ echo "::error::agent_usage.json not found in agent artifact — token summary was not written."
+ exit 1
+ fi
+ INPUT_TOKENS=$(python3 -c "import json; d=json.load(open('${USAGE_FILE}')); print(d.get('input_tokens', 0))")
+ if [ "${INPUT_TOKENS}" -le 0 ]; then
+ echo "::error::agent_usage.json has zero input_tokens — token telemetry may be broken."
+ cat "${USAGE_FILE}"
+ exit 1
+ fi
+ echo "OK: agent_usage.json reports ${INPUT_TOKENS} input tokens"
+
+ conclusion:
+ needs:
+ - activation
+ - agent
+ - check_token_telemetry
+ - detection
+ - safe_outputs
+ if: >
+ always() && (needs.agent.result != 'skipped' || needs.activation.outputs.lockdown_check_failed == 'true' ||
+ needs.activation.outputs.stale_lock_file_failed == 'true' || needs.activation.outputs.daily_ai_credits_exceeded == 'true')
+ runs-on: ubuntu-slim
+ permissions:
+ contents: read
+ issues: write
+ concurrency:
+ group: "gh-aw-conclusion-smoke-token-telemetry"
+ cancel-in-progress: false
+ queue: max
+ env:
+ GH_AW_RUNTIME_FEATURES: ${{ vars.GH_AW_RUNTIME_FEATURES }}
+ outputs:
+ incomplete_count: ${{ steps.report_incomplete.outputs.incomplete_count }}
+ noop_message: ${{ steps.noop.outputs.noop_message }}
+ tools_reported: ${{ steps.missing_tool.outputs.tools_reported }}
+ total_count: ${{ steps.missing_tool.outputs.total_count }}
+ steps:
+ - name: Checkout actions folder
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ with:
+ repository: github/gh-aw
+ sparse-checkout: |
+ actions
+ clean: false
+ persist-credentials: false
+ - name: Setup Scripts
+ id: setup
+ uses: ./actions/setup
+ with:
+ destination: ${{ runner.temp }}/gh-aw/actions
+ job-name: ${{ github.job }}
+ trace-id: ${{ needs.activation.outputs.setup-trace-id }}
+ parent-span-id: ${{ needs.activation.outputs.setup-parent-span-id || needs.activation.outputs.setup-span-id }}
+ env:
+ GH_AW_SETUP_WORKFLOW_NAME: "Smoke Token Telemetry"
+ GH_AW_CURRENT_WORKFLOW_REF: ${{ github.repository }}/.github/workflows/smoke-token-telemetry.lock.yml@${{ github.ref }}
+ GH_AW_INFO_VERSION: "1.0.68"
+ GH_AW_INFO_AWF_VERSION: "v0.27.22"
+ GH_AW_INFO_ENGINE_ID: "copilot"
+ - name: Download agent output artifact
+ id: download-agent-output
+ continue-on-error: true
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ name: agent
+ path: /tmp/gh-aw/
+ - name: Setup agent output environment variable
+ id: setup-agent-output-env
+ if: steps.download-agent-output.outcome == 'success'
+ run: |
+ mkdir -p /tmp/gh-aw/
+ find "/tmp/gh-aw/" -type f -print
+ echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/agent_output.json" >> "$GITHUB_OUTPUT"
+ - name: Download safe outputs items manifest
+ id: download-safe-outputs-manifest
+ if: always()
+ continue-on-error: true
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ name: safe-outputs-items
+ path: /tmp/gh-aw/
+ - name: Collect usage artifact files
+ if: always()
+ continue-on-error: true
+ run: |
+ mkdir -p /tmp/gh-aw/usage/agent /tmp/gh-aw/usage/detection
+ echo "Usage artifact source file status:"
+ for file in /tmp/gh-aw/aw_info.json /tmp/gh-aw/aw-info.jsonl /tmp/gh-aw/agent_usage.json /tmp/gh-aw/agent_usage.jsonl /tmp/gh-aw/detection_usage.jsonl /tmp/gh-aw/github_rate_limits.jsonl /tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/threat-detection/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/threat-detection/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/threat-detection/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl; do
+ [ -f "$file" ] && echo "FOUND: $file" || echo "MISSING: $file"
+ done
+ [ -f /tmp/gh-aw/aw_info.json ] && cp /tmp/gh-aw/aw_info.json /tmp/gh-aw/usage/aw_info.json || true
+ [ -f /tmp/gh-aw/aw-info.jsonl ] && cp /tmp/gh-aw/aw-info.jsonl /tmp/gh-aw/usage/aw-info.jsonl || true
+ [ -f /tmp/gh-aw/agent_usage.json ] && cp /tmp/gh-aw/agent_usage.json /tmp/gh-aw/usage/agent_usage.json || true
+ [ -f /tmp/gh-aw/agent_usage.jsonl ] && cp /tmp/gh-aw/agent_usage.jsonl /tmp/gh-aw/usage/agent_usage.jsonl || true
+ [ -f /tmp/gh-aw/detection_usage.jsonl ] && cp /tmp/gh-aw/detection_usage.jsonl /tmp/gh-aw/usage/detection_usage.jsonl || true
+ [ -f /tmp/gh-aw/github_rate_limits.jsonl ] && cp /tmp/gh-aw/github_rate_limits.jsonl /tmp/gh-aw/usage/github_rate_limits.jsonl || true
+ [ -s /tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl ] && cp /tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/usage/agent/token_usage.jsonl || true
+ [ -s /tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl ] && cp /tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/usage/agent/token_usage.jsonl || true
+ [ -s /tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl ] && cp /tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/usage/agent/token_usage.jsonl || true
+ [ -s /tmp/gh-aw/threat-detection/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl ] && cp /tmp/gh-aw/threat-detection/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/usage/detection/token_usage.jsonl || true
+ [ -s /tmp/gh-aw/threat-detection/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl ] && cp /tmp/gh-aw/threat-detection/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/usage/detection/token_usage.jsonl || true
+ [ -s /tmp/gh-aw/threat-detection/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl ] && cp /tmp/gh-aw/threat-detection/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/usage/detection/token_usage.jsonl || true
+ [ -f /tmp/gh-aw/usage/agent/token_usage.jsonl ] || : > /tmp/gh-aw/usage/agent/token_usage.jsonl
+ [ -f /tmp/gh-aw/usage/detection/token_usage.jsonl ] || : > /tmp/gh-aw/usage/detection/token_usage.jsonl
+ mkdir -p /tmp/gh-aw/usage/activity
+ node "${RUNNER_TEMP}/gh-aw/actions/generate_usage_activity_summary.cjs"
+ find /tmp/gh-aw/usage -type f -print | sort
+ - name: Upload usage artifact
+ if: always()
+ continue-on-error: true
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
+ with:
+ name: usage
+ path: |
+ /tmp/gh-aw/usage/aw_info.json
+ /tmp/gh-aw/usage/aw-info.jsonl
+ /tmp/gh-aw/usage/agent_usage.json
+ /tmp/gh-aw/usage/agent_usage.jsonl
+ /tmp/gh-aw/usage/detection_usage.jsonl
+ /tmp/gh-aw/usage/github_rate_limits.jsonl
+ /tmp/gh-aw/usage/agent/token_usage.jsonl
+ /tmp/gh-aw/usage/detection/token_usage.jsonl
+ /tmp/gh-aw/usage/activity/summary.json
+ if-no-files-found: ignore
+ - name: Restore daily AIC usage cache
+ id: restore-daily-aic-cache-conclusion
+ if: always()
+ continue-on-error: true
+ uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
+ with:
+ key: agentic-workflow-usage-smoketokentelemetry-${{ github.run_id }}
+ restore-keys: agentic-workflow-usage-smoketokentelemetry-
+ path: /tmp/gh-aw/agentic-workflow-usage-cache.jsonl
+ - name: Write daily AIC usage cache entry
+ id: write-daily-aic-cache
+ if: always()
+ continue-on-error: true
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ with:
+ github-token: ${{ github.token }}
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/write_daily_aic_usage_cache.cjs');
+ await main();
+ - name: Save daily AIC usage cache
+ id: save-daily-aic-cache
+ if: always()
+ continue-on-error: true
+ uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
+ with:
+ key: agentic-workflow-usage-smoketokentelemetry-${{ github.run_id }}
+ path: /tmp/gh-aw/agentic-workflow-usage-cache.jsonl
+ - name: Upload daily AIC usage cache artifact
+ id: upload-daily-aic-cache
+ if: always()
+ continue-on-error: true
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
+ with:
+ name: aic-usage-cache
+ path: /tmp/gh-aw/agentic-workflow-usage-cache.jsonl
+ if-no-files-found: ignore
+ retention-days: 7
+ - name: Process no-op messages
+ id: noop
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ GH_AW_AGENT_OUTPUT: ${{ steps.setup-agent-output-env.outputs.GH_AW_AGENT_OUTPUT }}
+ GH_AW_NOOP_MAX: "1"
+ GH_AW_WORKFLOW_NAME: "Smoke Token Telemetry"
+ GH_AW_WORKFLOW_SOURCE_URL: "${{ github.server_url }}/${{ github.repository }}/blob/${{ github.ref_name }}/.github/workflows/smoke-token-telemetry.md"
+ GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
+ GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }}
+ GH_AW_NOOP_REPORT_AS_ISSUE: "true"
+ GH_AW_AIC: ${{ needs.agent.outputs.aic }}
+ GH_AW_THREAT_DETECTION_AIC: ${{ needs.detection.outputs.aic }}
+ GH_AW_AMBIENT_CONTEXT: ${{ needs.agent.outputs.ambient_context }}
+ GH_AW_WORKFLOW_ID: "smoke-token-telemetry"
+ with:
+ github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/handle_noop_message.cjs');
+ await main();
+ - name: Log detection run
+ id: detection_runs
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ GH_AW_AGENT_OUTPUT: ${{ steps.setup-agent-output-env.outputs.GH_AW_AGENT_OUTPUT }}
+ GH_AW_WORKFLOW_NAME: "Smoke Token Telemetry"
+ GH_AW_WORKFLOW_SOURCE_URL: "${{ github.server_url }}/${{ github.repository }}/blob/${{ github.ref_name }}/.github/workflows/smoke-token-telemetry.md"
+ GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
+ GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.outputs.detection_conclusion }}
+ GH_AW_DETECTION_REASON: ${{ needs.detection.outputs.detection_reason }}
+ with:
+ github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/handle_detection_runs.cjs');
+ await main();
+ - name: Record missing tool
+ id: missing_tool
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ GH_AW_AGENT_OUTPUT: ${{ steps.setup-agent-output-env.outputs.GH_AW_AGENT_OUTPUT }}
+ GH_AW_MISSING_TOOL_CREATE_ISSUE: "true"
+ GH_AW_WORKFLOW_NAME: "Smoke Token Telemetry"
+ GH_AW_WORKFLOW_SOURCE_URL: "${{ github.server_url }}/${{ github.repository }}/blob/${{ github.ref_name }}/.github/workflows/smoke-token-telemetry.md"
+ with:
+ github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/missing_tool.cjs');
+ await main();
+ - name: Record incomplete
+ id: report_incomplete
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ GH_AW_AGENT_OUTPUT: ${{ steps.setup-agent-output-env.outputs.GH_AW_AGENT_OUTPUT }}
+ GH_AW_REPORT_INCOMPLETE_CREATE_ISSUE: "true"
+ GH_AW_WORKFLOW_NAME: "Smoke Token Telemetry"
+ GH_AW_WORKFLOW_SOURCE_URL: "${{ github.server_url }}/${{ github.repository }}/blob/${{ github.ref_name }}/.github/workflows/smoke-token-telemetry.md"
+ with:
+ github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/report_incomplete_handler.cjs');
+ await main();
+ - name: Handle agent failure
+ id: handle_agent_failure
+ if: always()
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ GH_AW_AGENT_OUTPUT: ${{ steps.setup-agent-output-env.outputs.GH_AW_AGENT_OUTPUT }}
+ GH_AW_WORKFLOW_NAME: "Smoke Token Telemetry"
+ GH_AW_WORKFLOW_SOURCE_URL: "${{ github.server_url }}/${{ github.repository }}/blob/${{ github.ref_name }}/.github/workflows/smoke-token-telemetry.md"
+ GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
+ GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }}
+ GH_AW_WORKFLOW_ID: "smoke-token-telemetry"
+ GH_AW_ACTION_FAILURE_ISSUE_EXPIRES_HOURS: "12"
+ GH_AW_ENGINE_ID: "copilot"
+ GH_AW_SECRET_VERIFICATION_RESULT: ${{ needs.activation.outputs.secret_verification_result }}
+ GH_AW_CHECKOUT_PR_SUCCESS: ${{ needs.agent.outputs.checkout_pr_success }}
+ GH_AW_EFFECTIVE_TOKENS: ${{ needs.agent.outputs.effective_tokens || '' }}
+ GH_AW_AI_CREDITS_RATE_LIMIT_ERROR: ${{ needs.agent.outputs.ai_credits_rate_limit_error || 'false' }}
+ GH_AW_UNKNOWN_MODEL_AI_CREDITS: ${{ needs.agent.outputs.unknown_model_ai_credits || 'false' }}
+ GH_AW_AIC: ${{ needs.agent.outputs.aic }}
+ GH_AW_THREAT_DETECTION_AIC: ${{ needs.detection.outputs.aic }}
+ GH_AW_MAX_AI_CREDITS: ${{ vars.GH_AW_DEFAULT_MAX_AI_CREDITS || '1000' }}
+ GH_AW_INFERENCE_ACCESS_ERROR: ${{ needs.agent.outputs.inference_access_error }}
+ GH_AW_MCP_POLICY_ERROR: ${{ needs.agent.outputs.mcp_policy_error }}
+ GH_AW_AGENTIC_ENGINE_TIMEOUT: ${{ needs.agent.outputs.agentic_engine_timeout }}
+ GH_AW_MODEL_NOT_SUPPORTED_ERROR: ${{ needs.agent.outputs.model_not_supported_error }}
+ GH_AW_HTTP_400_RESPONSE_ERROR: ${{ needs.agent.outputs.http_400_response_error }}
+ GH_AW_ENGINE_API_HOSTS: "api.enterprise.githubcopilot.com,api.githubcopilot.com,api.business.githubcopilot.com,api.individual.githubcopilot.com"
+ GH_AW_LOCKDOWN_CHECK_FAILED: ${{ needs.activation.outputs.lockdown_check_failed }}
+ GH_AW_STALE_LOCK_FILE_FAILED: ${{ needs.activation.outputs.stale_lock_file_failed }}
+ GH_AW_DAILY_AI_CREDITS_EXCEEDED: ${{ needs.activation.outputs.daily_ai_credits_exceeded }}
+ GH_AW_DAILY_AI_CREDITS_TOTAL_EFFECTIVE_TOKENS: ${{ needs.activation.outputs.daily_ai_credits_total_effective_tokens }}
+ GH_AW_DAILY_AI_CREDITS_THRESHOLD: ${{ needs.activation.outputs.daily_ai_credits_threshold }}
+ GH_AW_GROUP_REPORTS: "false"
+ GH_AW_FAILURE_REPORT_AS_ISSUE: "true"
+ GH_AW_MISSING_TOOL_REPORT_AS_FAILURE: "true"
+ GH_AW_MISSING_DATA_REPORT_AS_FAILURE: "true"
+ GH_AW_TIMEOUT_MINUTES: "5"
+ with:
+ github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/handle_agent_failure.cjs');
+ await main();
+
+ detection:
+ needs:
+ - activation
+ - agent
+ if: always() && needs.agent.result != 'skipped'
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ env:
+ GH_AW_RUNTIME_FEATURES: ${{ vars.GH_AW_RUNTIME_FEATURES }}
+ outputs:
+ aic: ${{ steps.parse_detection_token_usage.outputs.aic }}
+ detection_conclusion: ${{ steps.detection_conclusion.outputs.conclusion }}
+ detection_reason: ${{ steps.detection_conclusion.outputs.reason }}
+ detection_success: ${{ steps.detection_conclusion.outputs.success }}
+ steps:
+ - name: Checkout actions folder
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ with:
+ repository: github/gh-aw
+ sparse-checkout: |
+ actions
+ clean: false
+ persist-credentials: false
+ - name: Setup Scripts
+ id: setup
+ uses: ./actions/setup
+ with:
+ destination: ${{ runner.temp }}/gh-aw/actions
+ job-name: ${{ github.job }}
+ trace-id: ${{ needs.activation.outputs.setup-trace-id }}
+ parent-span-id: ${{ needs.activation.outputs.setup-parent-span-id || needs.activation.outputs.setup-span-id }}
+ env:
+ GH_AW_SETUP_WORKFLOW_NAME: "Smoke Token Telemetry"
+ GH_AW_CURRENT_WORKFLOW_REF: ${{ github.repository }}/.github/workflows/smoke-token-telemetry.lock.yml@${{ github.ref }}
+ GH_AW_INFO_VERSION: "1.0.68"
+ GH_AW_INFO_AWF_VERSION: "v0.27.22"
+ GH_AW_INFO_ENGINE_ID: "copilot"
+ - name: Download agent output artifact
+ id: download-agent-output
+ continue-on-error: true
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ name: agent
+ path: /tmp/gh-aw/
+ - name: Setup agent output environment variable
+ id: setup-agent-output-env
+ if: steps.download-agent-output.outcome == 'success'
+ run: |
+ mkdir -p /tmp/gh-aw/
+ find "/tmp/gh-aw/" -type f -print
+ echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/agent_output.json" >> "$GITHUB_OUTPUT"
+ - name: Checkout repository for patch context
+ if: needs.agent.outputs.has_patch == 'true'
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ with:
+ persist-credentials: false
+ # --- Threat Detection ---
+ - name: Clean stale firewall files from agent artifact
+ run: |
+ rm -rf /tmp/gh-aw/sandbox/firewall/logs
+ rm -rf /tmp/gh-aw/sandbox/firewall/audit
+ - name: Download container images
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/download_docker_images.sh" ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1 ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59
+ - name: Check if detection needed
+ id: detection_guard
+ if: always()
+ env:
+ OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
+ run: |
+ if [[ -n "$OUTPUT_TYPES" || "$HAS_PATCH" == "true" ]]; then
+ echo "run_detection=true" >> "$GITHUB_OUTPUT"
+ echo "Detection will run: output_types=$OUTPUT_TYPES, has_patch=$HAS_PATCH"
+ else
+ echo "run_detection=false" >> "$GITHUB_OUTPUT"
+ echo "Detection skipped: no agent outputs or patches to analyze"
+ fi
+ - name: Clear MCP Config for detection
+ if: always() && steps.detection_guard.outputs.run_detection == 'true'
+ run: |
+ rm -f "${RUNNER_TEMP}/gh-aw/mcp-config/mcp-servers.json"
+ rm -f "$HOME/.copilot/mcp-config.json"
+ rm -f "$GITHUB_WORKSPACE/.gemini/settings.json"
+ - name: Prepare threat detection files
+ if: always() && steps.detection_guard.outputs.run_detection == 'true'
+ run: |
+ mkdir -p /tmp/gh-aw/threat-detection/aw-prompts
+ rm -f /tmp/gh-aw/agent_usage.json
+ cp /tmp/gh-aw/aw-prompts/prompt.txt /tmp/gh-aw/threat-detection/aw-prompts/prompt.txt 2>/dev/null || true
+ if [ ! -s /tmp/gh-aw/threat-detection/aw-prompts/prompt.txt ]; then
+ echo "::warning::ERR_VALIDATION: Missing or empty detection context prompt at /tmp/gh-aw/threat-detection/aw-prompts/prompt.txt. Ensure the agent artifact includes /tmp/gh-aw/aw-prompts/prompt.txt. Detection will continue with fallback workflow context."
+ fi
+ cp /tmp/gh-aw/agent_output.json /tmp/gh-aw/threat-detection/agent_output.json 2>/dev/null || true
+ for f in /tmp/gh-aw/aw-*.patch; do
+ [ -f "$f" ] && cp "$f" /tmp/gh-aw/threat-detection/ 2>/dev/null || true
+ done
+ for f in /tmp/gh-aw/aw-*.bundle; do
+ [ -f "$f" ] && cp "$f" /tmp/gh-aw/threat-detection/ 2>/dev/null || true
+ done
+ echo "Prepared threat detection files:"
+ ls -la /tmp/gh-aw/threat-detection/ 2>/dev/null || true
+ - name: Setup threat detection
+ if: always() && steps.detection_guard.outputs.run_detection == 'true'
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ WORKFLOW_NAME: "Smoke Token Telemetry"
+ WORKFLOW_DESCRIPTION: "Smoke CI assertion: validates that the AWF firewall proxy token-usage emitter populates token_usage.jsonl for copilot agent LLM runs. Fails fast when token telemetry is broken, so regressions are caught in hours not weeks."
+ HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
+ with:
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/setup_threat_detection.cjs');
+ await main();
+ - name: Ensure threat-detection directory and log
+ if: always() && steps.detection_guard.outputs.run_detection == 'true'
+ run: |
+ mkdir -p /tmp/gh-aw/threat-detection
+ touch /tmp/gh-aw/threat-detection/detection.log
+ - name: Setup Node.js
+ uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
+ with:
+ node-version: '24'
+ package-manager-cache: false
+ - name: Install GitHub Copilot CLI
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/install_copilot_cli.sh" 1.0.68
+ env:
+ GH_HOST: github.com
+ - name: Install AWF binary
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/install_awf_binary.sh" v0.27.22
+ - name: Execute GitHub Copilot CLI
+ if: always() && steps.detection_guard.outputs.run_detection == 'true'
+ continue-on-error: true
+ id: detection_agentic_execution
+ # Copilot CLI tool arguments (sorted):
+ timeout-minutes: 20
+ run: |
+ set -o pipefail
+ printf '%s' "$(date +%s%3N)" > /tmp/gh-aw/agent_cli_start_ms.txt
+ trap 'rm -f "$HOME/.copilot/settings.json"' EXIT
+ mkdir -p "$HOME/.copilot"
+ printf '%s' '{"builtInAgents":{"rubberDuck":false}}' > "$HOME/.copilot/settings.json"
+ export XDG_CONFIG_HOME="$HOME"
+ touch /tmp/gh-aw/agent-step-summary.md
+ GH_AW_NODE_BIN=$(command -v node 2>/dev/null || true)
+ export GH_AW_NODE_BIN
+ export COPILOT_API_KEY="$COPILOT_DUMMY_BYOK"
+ (umask 177 && touch /tmp/gh-aw/threat-detection/detection.log)
+ GH_AW_MAX_AI_CREDITS="${GH_AW_MAX_AI_CREDITS:-400}"
+ printf '%s\n' "{\"\$schema\":\"https://github.com/github/gh-aw-firewall/releases/download/v0.27.22/awf-config.schema.json\",\"network\":{\"allowDomains\":[\"api.business.githubcopilot.com\",\"api.enterprise.githubcopilot.com\",\"api.github.com\",\"api.githubcopilot.com\",\"api.individual.githubcopilot.com\",\"github.com\",\"host.docker.internal\",\"registry.npmjs.org\",\"telemetry.enterprise.githubcopilot.com\"]},\"apiProxy\":{\"enabled\":true,\"enableTokenSteering\":true,\"maxRuns\":500,\"maxAiCredits\":${GH_AW_MAX_AI_CREDITS},\"maxCacheMisses\":5},\"container\":{\"imageTag\":\"0.27.22,squid=sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59,agent=sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e,api-proxy=sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1,cli-proxy=sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c\"},\"logging\":{\"proxyLogsDir\":\"/tmp/gh-aw/sandbox/firewall/logs\",\"auditDir\":\"/tmp/gh-aw/sandbox/firewall/audit\"}}" > "${RUNNER_TEMP}/gh-aw/awf-config.json"
+ cp "${RUNNER_TEMP}/gh-aw/awf-config.json" /tmp/gh-aw/awf-config.json
+ export GH_AW_MODELS_JSON_PATH="/tmp/gh-aw/models.json"
+ GH_AW_DOCKER_HOST=""
+ if [[ "${DOCKER_HOST:-}" =~ ^tcp:// ]]; then
+ GH_AW_DOCKER_HOST="${DOCKER_HOST}"
+ fi
+ GH_AW_DOCKER_HOST_PATH_PREFIX_ARGS=""
+ if [[ "${DOCKER_HOST:-}" =~ ^tcp:// ]]; then
+ GH_AW_DOCKER_HOST_PATH_PREFIX_ARGS="--docker-host-path-prefix ${RUNNER_TEMP}/gh-aw"
+ _GH_AW_CHROOT_JSON=$(jq -c --arg src "${RUNNER_TEMP}/gh-aw" --arg user "$(id -un)" --argjson uid "$(id -u)" --argjson gid "$(id -g)" --arg home "${RUNNER_TEMP}/gh-aw/home" '.chroot={"binariesSourcePath":$src,"identity":{"user":$user,"uid":$uid,"gid":$gid,"home":$home}}' "${RUNNER_TEMP}/gh-aw/awf-config.json") || { echo "chroot config patch failed" >&2; exit 1; }
+ printf '%s\n' "$_GH_AW_CHROOT_JSON" > "${RUNNER_TEMP}/gh-aw/awf-config.json"
+ printf '%s\n' "$_GH_AW_CHROOT_JSON" > "${RUNNER_TEMP}/gh-aw/awf-config.json"
+ fi
+ GH_AW_TOOL_CACHE_MOUNT=""
+ GH_AW_TOOL_CACHE="${RUNNER_TOOL_CACHE:?RUNNER_TOOL_CACHE must be set}"
+ if [ -d "$GH_AW_TOOL_CACHE" ]; then
+ if [[ "$GH_AW_TOOL_CACHE" != /opt/* ]]; then
+ GH_AW_TOOL_CACHE_MOUNT="$GH_AW_TOOL_CACHE:$GH_AW_TOOL_CACHE:ro"
+ fi
+ fi
+ # shellcheck disable=SC1003,SC2016,SC2086
+ sudo -E awf --config "${RUNNER_TEMP}/gh-aw/awf-config.json" --container-workdir "${GITHUB_WORKSPACE}" --mount "${RUNNER_TEMP}/gh-aw:${RUNNER_TEMP}/gh-aw:ro" --mount "${RUNNER_TEMP}/gh-aw:/host${RUNNER_TEMP}/gh-aw:ro" ${GH_AW_TOOL_CACHE_MOUNT:+--mount "$GH_AW_TOOL_CACHE_MOUNT"} ${GH_AW_DOCKER_HOST:+--docker-host "$GH_AW_DOCKER_HOST"} ${GH_AW_DOCKER_HOST_PATH_PREFIX_ARGS} --env-all --exclude-env COPILOT_GITHUB_TOKEN --log-level info --enable-host-access --allow-host-ports 80,443,8080 --skip-pull \
+ -- /bin/bash -c 'set +o histexpand; : "${RUNNER_TOOL_CACHE:?RUNNER_TOOL_CACHE must be set}"; GH_AW_TOOL_CACHE="$RUNNER_TOOL_CACHE"; export PATH="$(find "$GH_AW_TOOL_CACHE" -maxdepth 5 -type d -name bin 2>/dev/null | tr '\''\n'\'' '\'':'\'')$PATH"; [ -n "$GOROOT" ] && export PATH="$GOROOT/bin:$PATH" || true && GH_AW_NODE_EXEC="${GH_AW_NODE_BIN:-}"; if [ -z "$GH_AW_NODE_EXEC" ] || [ ! -x "$GH_AW_NODE_EXEC" ]; then GH_AW_NODE_EXEC="$(command -v node 2>/dev/null || true)"; fi; if [ -z "$GH_AW_NODE_EXEC" ]; then echo "node runtime missing on this runner — check runtimes.node in workflow YAML" >&2; exit 127; fi; GH_AW_NPM_GLOBAL_ROOT="$(npm root -g 2>/dev/null || true)"; if [ -n "$GH_AW_NPM_GLOBAL_ROOT" ]; then export NODE_PATH="${GH_AW_NPM_GLOBAL_ROOT}${NODE_PATH:+:${NODE_PATH}}"; fi; "$GH_AW_NODE_EXEC" ${RUNNER_TEMP}/gh-aw/actions/copilot_harness.cjs /usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --disable-builtin-mcps --no-ask-user --allow-all-tools --add-dir "${GITHUB_WORKSPACE}" --prompt-file /tmp/gh-aw/aw-prompts/prompt.txt' 2>&1 | tee -a /tmp/gh-aw/threat-detection/detection.log
+ env:
+ AWF_REFLECT_ENABLED: 1
+ COPILOT_AGENT_RUNNER_TYPE: STANDALONE
+ COPILOT_DUMMY_BYOK: dummy-byok-key-for-offline-mode
+ COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}
+ COPILOT_MODEL: ${{ vars.GH_AW_MODEL_DETECTION_COPILOT || vars.GH_AW_DEFAULT_MODEL_COPILOT || 'claude-sonnet-4.6' }}
+ GH_AW_LLM_PROVIDER: github
+ GH_AW_MAX_AI_CREDITS: ${{ vars.GH_AW_DEFAULT_DETECTION_MAX_AI_CREDITS || '400' }}
+ GH_AW_MAX_TURNS: ${{ vars.GH_AW_DEFAULT_MAX_TURNS || '' }}
+ GH_AW_PHASE: detection
+ GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
+ GH_AW_TIMEOUT_MINUTES: 20
+ GH_AW_VERSION: dev
+ GITHUB_API_URL: ${{ github.api_url }}
+ GITHUB_AW: true
+ GITHUB_COPILOT_INTEGRATION_ID: agentic-workflows
+ GITHUB_HEAD_REF: ${{ github.head_ref }}
+ GITHUB_REF_NAME: ${{ github.ref_name }}
+ GITHUB_SERVER_URL: ${{ github.server_url }}
+ GITHUB_STEP_SUMMARY: /tmp/gh-aw/agent-step-summary.md
+ GITHUB_WORKSPACE: ${{ github.workspace }}
+ GIT_AUTHOR_EMAIL: github-actions[bot]@users.noreply.github.com
+ GIT_AUTHOR_NAME: github-actions[bot]
+ GIT_COMMITTER_EMAIL: github-actions[bot]@users.noreply.github.com
+ GIT_COMMITTER_NAME: github-actions[bot]
+ RUNNER_TEMP: ${{ runner.temp }}
+ TRACEPARENT: ${{ env.GITHUB_AW_OTEL_TRACE_ID != '' && env.GITHUB_AW_OTEL_PARENT_SPAN_ID != '' && format('00-{0}-{1}-01', env.GITHUB_AW_OTEL_TRACE_ID, env.GITHUB_AW_OTEL_PARENT_SPAN_ID) || '' }}
+ - name: Parse threat detection token usage for step summary
+ id: parse_detection_token_usage
+ if: always()
+ continue-on-error: true
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ GH_AW_TOKEN_USAGE_SUMMARY_TITLE: Threat Detection Token Usage
+ with:
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/parse_token_usage.cjs');
+ await main();
+ - name: Upload threat detection log
+ if: always() && steps.detection_guard.outputs.run_detection == 'true'
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
+ with:
+ name: detection
+ path: /tmp/gh-aw/threat-detection/detection.log
+ if-no-files-found: ignore
+ - name: Parse and conclude threat detection
+ id: detection_conclusion
+ if: always()
+ continue-on-error: true
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ RUN_DETECTION: ${{ steps.detection_guard.outputs.run_detection }}
+ DETECTION_AGENTIC_EXECUTION_OUTCOME: ${{ steps.detection_agentic_execution.outcome }}
+ GH_AW_DETECTION_CONTINUE_ON_ERROR: "true"
+ with:
+ script: |
+ try {
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/parse_threat_detection_results.cjs');
+ await main();
+ } catch (loadErr) {
+ const continueOnError = process.env.GH_AW_DETECTION_CONTINUE_ON_ERROR !== 'false';
+ const detectionExecutionFailed = process.env.DETECTION_AGENTIC_EXECUTION_OUTCOME === 'failure';
+ const msg = 'ERR_SYSTEM: \u274C Unexpected error loading threat detection module: ' + (loadErr && loadErr.message ? loadErr.message : String(loadErr));
+ core.error(msg);
+ core.setOutput('reason', 'parse_error');
+ if (continueOnError && !detectionExecutionFailed) {
+ core.warning('\u26A0\uFE0F ' + msg);
+ core.setOutput('conclusion', 'warning');
+ core.setOutput('success', 'false');
+ } else {
+ core.setOutput('conclusion', 'failure');
+ core.setOutput('success', 'false');
+ core.setFailed(msg);
+ }
+ }
+
+ pre_activation:
+ runs-on: ubuntu-slim
+ permissions:
+ contents: read
+ env:
+ GH_AW_RUNTIME_FEATURES: ${{ vars.GH_AW_RUNTIME_FEATURES }}
+ outputs:
+ activated: ${{ steps.check_membership.outputs.is_team_member == 'true' }}
+ matched_command: ''
+ setup-parent-span-id: ${{ steps.setup.outputs.parent-span-id || steps.setup.outputs.span-id }}
+ setup-span-id: ${{ steps.setup.outputs.span-id }}
+ setup-trace-id: ${{ steps.setup.outputs.trace-id }}
+ steps:
+ - name: Checkout actions folder
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ with:
+ repository: github/gh-aw
+ sparse-checkout: |
+ actions
+ clean: false
+ persist-credentials: false
+ - name: Setup Scripts
+ id: setup
+ uses: ./actions/setup
+ with:
+ destination: ${{ runner.temp }}/gh-aw/actions
+ job-name: ${{ github.job }}
+ env:
+ GH_AW_SETUP_WORKFLOW_NAME: "Smoke Token Telemetry"
+ GH_AW_CURRENT_WORKFLOW_REF: ${{ github.repository }}/.github/workflows/smoke-token-telemetry.lock.yml@${{ github.ref }}
+ GH_AW_INFO_VERSION: "1.0.68"
+ GH_AW_INFO_AWF_VERSION: "v0.27.22"
+ GH_AW_INFO_ENGINE_ID: "copilot"
+ - name: Check team membership for workflow
+ id: check_membership
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ GH_AW_REQUIRED_ROLES: "admin,maintainer,write"
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/check_membership.cjs');
+ await main();
+
+ safe_outputs:
+ needs:
+ - activation
+ - agent
+ - detection
+ if: (!cancelled()) && needs.agent.result != 'skipped' && needs.detection.result == 'success'
+ runs-on: ubuntu-slim
+ permissions:
+ contents: read
+ issues: write
+ timeout-minutes: 45
+ env:
+ GH_AW_AGENT_AIC: ${{ needs.agent.outputs.aic }}
+ GH_AW_AIC: ${{ needs.agent.outputs.aic }}
+ GH_AW_AMBIENT_CONTEXT: ${{ needs.agent.outputs.ambient_context }}
+ GH_AW_CALLER_WORKFLOW_ID: "${{ github.repository }}/smoke-token-telemetry"
+ GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.outputs.detection_conclusion }}
+ GH_AW_DETECTION_REASON: ${{ needs.detection.outputs.detection_reason }}
+ GH_AW_EFFECTIVE_TOKENS: ${{ needs.agent.outputs.effective_tokens }}
+ GH_AW_ENGINE_ID: "copilot"
+ GH_AW_ENGINE_MODEL: ${{ needs.agent.outputs.model }}
+ GH_AW_ENGINE_VERSION: "1.0.68"
+ GH_AW_PROJECT_UTC: "-08:00"
+ GH_AW_RUNTIME_FEATURES: ${{ vars.GH_AW_RUNTIME_FEATURES }}
+ GH_AW_THREAT_DETECTION_AIC: ${{ needs.detection.outputs.aic }}
+ GH_AW_WORKFLOW_EMOJI: "📊"
+ GH_AW_WORKFLOW_ID: "smoke-token-telemetry"
+ GH_AW_WORKFLOW_NAME: "Smoke Token Telemetry"
+ GH_AW_WORKFLOW_SOURCE_URL: "${{ github.server_url }}/${{ github.repository }}/blob/${{ github.ref_name }}/.github/workflows/smoke-token-telemetry.md"
+ outputs:
+ code_push_failure_count: ${{ steps.process_safe_outputs.outputs.code_push_failure_count }}
+ code_push_failure_errors: ${{ steps.process_safe_outputs.outputs.code_push_failure_errors }}
+ create_discussion_error_count: ${{ steps.process_safe_outputs.outputs.create_discussion_error_count }}
+ create_discussion_errors: ${{ steps.process_safe_outputs.outputs.create_discussion_errors }}
+ created_issue_number: ${{ steps.process_safe_outputs.outputs.created_issue_number }}
+ created_issue_url: ${{ steps.process_safe_outputs.outputs.created_issue_url }}
+ process_safe_outputs_processed_count: ${{ steps.process_safe_outputs.outputs.processed_count }}
+ process_safe_outputs_temporary_id_map: ${{ steps.process_safe_outputs.outputs.temporary_id_map }}
+ steps:
+ - name: Checkout actions folder
+ uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+ with:
+ repository: github/gh-aw
+ sparse-checkout: |
+ actions
+ clean: false
+ persist-credentials: false
+ - name: Setup Scripts
+ id: setup
+ uses: ./actions/setup
+ with:
+ destination: ${{ runner.temp }}/gh-aw/actions
+ job-name: ${{ github.job }}
+ trace-id: ${{ needs.activation.outputs.setup-trace-id }}
+ parent-span-id: ${{ needs.activation.outputs.setup-parent-span-id || needs.activation.outputs.setup-span-id }}
+ env:
+ GH_AW_SETUP_WORKFLOW_NAME: "Smoke Token Telemetry"
+ GH_AW_CURRENT_WORKFLOW_REF: ${{ github.repository }}/.github/workflows/smoke-token-telemetry.lock.yml@${{ github.ref }}
+ GH_AW_INFO_VERSION: "1.0.68"
+ GH_AW_INFO_AWF_VERSION: "v0.27.22"
+ GH_AW_INFO_ENGINE_ID: "copilot"
+ - name: Mask OTLP telemetry headers
+ run: bash "${RUNNER_TEMP}/gh-aw/actions/mask_otlp_headers.sh"
+ - name: Download agent output artifact
+ id: download-agent-output
+ continue-on-error: true
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ name: agent
+ path: /tmp/gh-aw/
+ - name: Setup agent output environment variable
+ id: setup-agent-output-env
+ if: steps.download-agent-output.outcome == 'success'
+ run: |
+ mkdir -p /tmp/gh-aw/
+ find "/tmp/gh-aw/" -type f -print
+ echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/agent_output.json" >> "$GITHUB_OUTPUT"
+ - name: Configure GH_HOST for enterprise compatibility
+ id: ghes-host-config
+ shell: bash
+ run: | # zizmor: ignore[github-env] - GITHUB_SERVER_URL is set by GitHub Actions, not user input.
+ # Derive GH_HOST from GITHUB_SERVER_URL so the gh CLI targets the correct
+ # GitHub instance (GHES/GHEC). On github.com this is a harmless no-op.
+ GH_HOST="${GITHUB_SERVER_URL#https://}"
+ GH_HOST="${GH_HOST#http://}"
+ echo "GH_HOST=${GH_HOST}" >> "$GITHUB_ENV"
+ - name: Process Safe Outputs
+ id: process_safe_outputs
+ uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
+ env:
+ GH_AW_AGENT_OUTPUT: ${{ steps.setup-agent-output-env.outputs.GH_AW_AGENT_OUTPUT }}
+ GH_AW_COMMENT_ID: ${{ needs.activation.outputs.comment_id }}
+ GH_AW_ALLOWED_DOMAINS: "*.githubusercontent.com,*.grafana.net,*.sentry.io,127.0.0.1,::1,api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,api.snapcraft.io,app.renovatebot.com,appveyor.com,archive.ubuntu.com,azure.archive.ubuntu.com,badgen.net,circleci.com,codacy.com,codeclimate.com,codecov.io,codeload.github.com,coveralls.io,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,deepsource.io,docs.github.com,drone.io,github-cloud.githubusercontent.com,github-cloud.s3.amazonaws.com,github.blog,github.com,github.githubassets.com,host.docker.internal,img.shields.io,json-schema.org,json.schemastore.org,keyserver.ubuntu.com,lfs.github.com,localhost,objects.githubusercontent.com,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,patch-diff.githubusercontent.com,patchdiff.githubusercontent.com,ppa.launchpad.net,raw.githubusercontent.com,readthedocs.io,readthedocs.org,registry.npmjs.org,renovatebot.com,s.symcb.com,s.symcd.com,security.ubuntu.com,semaphoreci.com,shields.io,snyk.io,sonarcloud.io,sonarqube.com,telemetry.enterprise.githubcopilot.com,travis-ci.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com,www.googleapis.com"
+ GITHUB_SERVER_URL: ${{ github.server_url }}
+ GITHUB_API_URL: ${{ github.api_url }}
+ GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG: "{\"create_issue\":{\"labels\":[\"smoke-token-telemetry\"],\"max\":1,\"title_prefix\":\"[smoke-token-telemetry]\"},\"create_report_incomplete_issue\":{},\"missing_data\":{},\"missing_tool\":{},\"noop\":{\"max\":1,\"report-as-issue\":\"true\"},\"report_incomplete\":{}}"
+ with:
+ github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
+ script: |
+ const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
+ setupGlobals(core, github, context, exec, io, getOctokit);
+ const { main } = require('${{ runner.temp }}/gh-aw/actions/safe_output_handler_manager.cjs');
+ await main();
+ - name: Upload Safe Outputs Items
+ if: always()
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
+ with:
+ name: safe-outputs-items
+ path: |
+ /tmp/gh-aw/safe-output-items.jsonl
+ /tmp/gh-aw/temporary-id-map.json
+ if-no-files-found: ignore
+
diff --git a/.github/workflows/smoke-token-telemetry.md b/.github/workflows/smoke-token-telemetry.md
new file mode 100644
index 00000000000..6535fe79825
--- /dev/null
+++ b/.github/workflows/smoke-token-telemetry.md
@@ -0,0 +1,98 @@
+---
+private: true
+emoji: "📊"
+name: Smoke Token Telemetry
+description: >-
+ Smoke CI assertion: validates that the AWF firewall proxy token-usage emitter
+ populates token_usage.jsonl for copilot agent LLM runs. Fails fast when
+ token telemetry is broken, so regressions are caught in hours not weeks.
+on:
+ push:
+ branches: [main]
+ paths:
+ - 'actions/setup/js/**'
+ - 'cmd/**'
+ - 'pkg/**'
+ - '*.go'
+ - 'go.mod'
+ schedule: daily
+concurrency:
+ group: smoke-token-telemetry-${{ github.ref }}
+ cancel-in-progress: true
+permissions:
+ contents: read
+engine:
+ id: copilot
+strict: true
+timeout-minutes: 5
+network:
+ allowed:
+ - defaults
+imports:
+ - shared/otlp.md
+safe-outputs:
+ allowed-domains: [default-safe-outputs]
+ noop:
+features:
+ gh-aw-detection: false
+jobs:
+ check_token_telemetry:
+ needs: [agent]
+ if: needs.agent.result == 'success'
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+ steps:
+ - name: Download agent artifact
+ id: download-agent
+ continue-on-error: true
+ uses: actions/download-artifact@v4
+ with:
+ name: agent
+ path: /tmp/gh-aw/
+ - name: Assert token_usage.jsonl is non-empty
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ # The AWF firewall proxy writes token_usage.jsonl for every LLM API call.
+ # If all token_usage.jsonl files are missing or empty, the emitter is broken.
+ TOKEN_FILES=(
+ "/tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl"
+ )
+
+ FOUND_NONEMPTY=false
+ for f in "${TOKEN_FILES[@]}"; do
+ if [ -s "$f" ]; then
+ COUNT=$(grep -c . "$f" 2>/dev/null || echo "0")
+ echo "OK: $f — ${COUNT} record(s)"
+ FOUND_NONEMPTY=true
+ else
+ [ -f "$f" ] && echo "EMPTY: $f" || echo "MISSING: $f"
+ fi
+ done
+
+ if [ "${FOUND_NONEMPTY}" != "true" ]; then
+ echo "::error::All token_usage.jsonl files are empty or missing after a successful agent run."
+ echo "::error::The AWF firewall proxy token telemetry emitter may be broken."
+ echo "::error::See tracking issue: https://github.com/github/gh-aw/issues/42791"
+ exit 1
+ fi
+ - name: Assert agent_usage.json has non-zero token counts
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ USAGE_FILE="/tmp/gh-aw/agent_usage.json"
+ if [ ! -f "${USAGE_FILE}" ]; then
+ echo "::error::agent_usage.json not found in agent artifact — token summary was not written."
+ exit 1
+ fi
+ INPUT_TOKENS=$(python3 -c "import json; d=json.load(open('${USAGE_FILE}')); print(d.get('input_tokens', 0))")
+ if [ "${INPUT_TOKENS}" -le 0 ]; then
+ echo "::error::agent_usage.json has zero input_tokens — token telemetry may be broken."
+ cat "${USAGE_FILE}"
+ exit 1
+ fi
+ echo "OK: agent_usage.json reports ${INPUT_TOKENS} input tokens"
+---
+
+Say the single word "ok" and call noop with a message confirming this run completed successfully.
diff --git a/docs/src/content/docs/agent-factory-status.mdx b/docs/src/content/docs/agent-factory-status.mdx
index f7a4b36e8bf..cde4a508a06 100644
--- a/docs/src/content/docs/agent-factory-status.mdx
+++ b/docs/src/content/docs/agent-factory-status.mdx
@@ -226,6 +226,7 @@ These are experimental agentic workflows used by the GitHub Next team to learn,
| [Smoke Project](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-project.md) | copilot | [](https://github.com/github/gh-aw/actions/workflows/smoke-project.lock.yml) | - | `/smoke` |
| [Smoke Service Ports](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-service-ports.md) | copilot | [](https://github.com/github/gh-aw/actions/workflows/smoke-service-ports.lock.yml) | - | `/smoke` |
| [Smoke Temporary ID](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-temporary-id.md) | copilot | [](https://github.com/github/gh-aw/actions/workflows/smoke-temporary-id.lock.yml) | - | `/smoke` |
+| [Smoke Token Telemetry](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-token-telemetry.md) | copilot | [](https://github.com/github/gh-aw/actions/workflows/smoke-token-telemetry.lock.yml) | - | - |
| [Smoke Update Cross-Repo PR](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-update-cross-repo-pr.md) | copilot | [](https://github.com/github/gh-aw/actions/workflows/smoke-update-cross-repo-pr.lock.yml) | - | `/smoke` |
| [Smoke Workflow Call](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-workflow-call.md) | copilot | [](https://github.com/github/gh-aw/actions/workflows/smoke-workflow-call.lock.yml) | - | - |
| [Smoke Workflow Call with Inputs](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-workflow-call-with-inputs.md) | copilot | [](https://github.com/github/gh-aw/actions/workflows/smoke-workflow-call-with-inputs.lock.yml) | - | - |
diff --git a/pkg/actionpins/data/action_pins.json b/pkg/actionpins/data/action_pins.json
index ffe6c94d496..0540eda0972 100644
--- a/pkg/actionpins/data/action_pins.json
+++ b/pkg/actionpins/data/action_pins.json
@@ -1,761 +1,761 @@
{
- "entries": {
- "actions-ecosystem/action-add-labels@v1.1.3": {
- "repo": "actions-ecosystem/action-add-labels",
- "version": "v1.1.3",
- "sha": "c96b68fec76a0987cd93957189e9abd0b9a72ff1",
- "inputs": {
- "github_token": {
- "description": "A GitHub token.",
- "default": "${{ github.token }}"
- },
- "labels": {
- "description": "The labels' name to be added. Must be separated with line breaks if there're multiple labels.",
- "required": true
- },
- "number": {
- "description": "The number of the issue or pull request."
- },
- "repo": {
- "description": "The owner and repository name. e.g.) Codertocat/Hello-World",
- "default": "${{ github.repository }}"
- }
- },
- "action_description": "Add labels to an issue or a pull request."
- },
- "actions/cache/restore@v6.1.0": {
- "repo": "actions/cache/restore",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/cache/save@v6.1.0": {
- "repo": "actions/cache/save",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/cache@v6.1.0": {
- "repo": "actions/cache",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/checkout@v7.0.0": {
- "repo": "actions/checkout",
- "version": "v7.0.0",
- "sha": "9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
- },
- "actions/create-github-app-token@v3.2.0": {
- "repo": "actions/create-github-app-token",
- "version": "v3.2.0",
- "sha": "bcd2ba49218906704ab6c1aa796996da409d3eb1"
- },
- "actions/download-artifact@v8.0.1": {
- "repo": "actions/download-artifact",
- "version": "v8.0.1",
- "sha": "3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"
- },
- "actions/github-script@v9.0.0": {
- "repo": "actions/github-script",
- "version": "v9.0.0",
- "sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
- },
- "actions/setup-dotnet@v5.4.0": {
- "repo": "actions/setup-dotnet",
- "version": "v5.4.0",
- "sha": "26b0ec14cb23fa6904739307f278c14f94c95bf1"
- },
- "actions/setup-go@v6.5.0": {
- "repo": "actions/setup-go",
- "version": "v6.5.0",
- "sha": "924ae3a1cded613372ab5595356fb5720e22ba16"
- },
- "actions/setup-java@v5.4.0": {
- "repo": "actions/setup-java",
- "version": "v5.4.0",
- "sha": "1bcf9fb12cf4aa7d266a90ae39939e61372fe520"
- },
- "actions/setup-node@v6.4.0": {
- "repo": "actions/setup-node",
- "version": "v6.4.0",
- "sha": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
- },
- "actions/setup-python@v6.3.0": {
- "repo": "actions/setup-python",
- "version": "v6.3.0",
- "sha": "ece7cb06caefa5fff74198d8649806c4678c61a1"
- },
- "actions/upload-artifact@v7.0.1": {
- "repo": "actions/upload-artifact",
- "version": "v7.0.1",
- "sha": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
- },
- "anchore/sbom-action@v0.24.0": {
- "repo": "anchore/sbom-action",
- "version": "v0.24.0",
- "sha": "e22c389904149dbc22b58101806040fa8d37a610"
- },
- "astral-sh/setup-uv@v8.2.0": {
- "repo": "astral-sh/setup-uv",
- "version": "v8.2.0",
- "sha": "fac544c07dec837d0ccb6301d7b5580bf5edae39"
- },
- "denoland/setup-deno@v2.0.4": {
- "repo": "denoland/setup-deno",
- "version": "v2.0.4",
- "sha": "667a34cdef165d8d2b2e98dde39547c9daac7282"
- },
- "docker/build-push-action@v7.2.0": {
- "repo": "docker/build-push-action",
- "version": "v7.2.0",
- "sha": "f9f3042f7e2789586610d6e8b85c8f03e5195baf",
- "released_at": "2026-05-21T15:23:58Z"
- },
- "docker/login-action@v4.2.0": {
- "repo": "docker/login-action",
- "version": "v4.2.0",
- "sha": "650006c6eb7dba73a995cc03b0b2d7f5ca915bee",
- "released_at": "2026-05-22T11:55:00Z"
- },
- "docker/metadata-action@v6.1.0": {
- "repo": "docker/metadata-action",
- "version": "v6.1.0",
- "sha": "80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9"
- },
- "docker/setup-buildx-action@v4.1.0": {
- "repo": "docker/setup-buildx-action",
- "version": "v4.1.0",
- "sha": "d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5"
- },
- "erlef/setup-beam@v1.24.0": {
- "repo": "erlef/setup-beam",
- "version": "v1.24.0",
- "sha": "fc68ffb90438ef2936bbb3251622353b3dcb2f93"
- },
- "github/codeql-action/upload-sarif@v4.36.2": {
- "repo": "github/codeql-action/upload-sarif",
- "version": "v4.36.2",
- "sha": "8aad20d150bbac5944a9f9d289da16a4b0d87c1e"
- },
- "github/stale-repos@v9.0.15": {
- "repo": "github/stale-repos",
- "version": "v9.0.15",
- "sha": "a0db8bfe2318ed6ddbd01e95d7633803f99f77e9"
- },
- "haskell-actions/setup@v2.11.0": {
- "repo": "haskell-actions/setup",
- "version": "v2.11.0",
- "sha": "cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553"
- },
- "oven-sh/setup-bun@v2.2.0": {
- "repo": "oven-sh/setup-bun",
- "version": "v2.2.0",
- "sha": "0c5077e51419868618aeaa5fe8019c62421857d6"
- },
- "ruby/setup-ruby@v1.314.0": {
- "repo": "ruby/setup-ruby",
- "version": "v1.314.0",
- "sha": "9eb537ca036ebaed86729dcb9309076e4c5c3b74"
- },
- "safedep/pmg@v1": {
- "repo": "safedep/pmg",
- "version": "v1",
- "sha": "46cc70db535107183c9e752bb55d1d5c5f1a9290"
- },
- "super-linter/super-linter@v8.7.0": {
- "repo": "super-linter/super-linter",
- "version": "v8.7.0",
- "sha": "4ce20838b8ab83717e78138c5b3a1407148e0918"
+ "entries": {
+ "actions-ecosystem/action-add-labels@v1.1.3": {
+ "repo": "actions-ecosystem/action-add-labels",
+ "version": "v1.1.3",
+ "sha": "c96b68fec76a0987cd93957189e9abd0b9a72ff1",
+ "inputs": {
+ "github_token": {
+ "description": "A GitHub token.",
+ "default": "${{ github.token }}"
+ },
+ "labels": {
+ "description": "The labels' name to be added. Must be separated with line breaks if there're multiple labels.",
+ "required": true
+ },
+ "number": {
+ "description": "The number of the issue or pull request."
+ },
+ "repo": {
+ "description": "The owner and repository name. e.g.) Codertocat/Hello-World",
+ "default": "${{ github.repository }}"
}
+ },
+ "action_description": "Add labels to an issue or a pull request."
},
- "containers": {
- "alpine:latest": {
- "image": "alpine:latest",
- "digest": "sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11",
- "pinned_image": "alpine:latest@sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11"
- },
- "docker.io/mcp/brave-search": {
- "image": "docker.io/mcp/brave-search",
- "digest": "sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22",
- "pinned_image": "docker.io/mcp/brave-search@sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22"
- },
- "ghcr.io/chopratejas/headroom:latest": {
- "image": "ghcr.io/chopratejas/headroom:latest",
- "digest": "sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e",
- "pinned_image": "ghcr.io/chopratejas/headroom:latest@sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e"
- },
- "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29",
- "digest": "sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29@sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1"
- },
- "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13",
- "digest": "sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13@sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18",
- "digest": "sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18@sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20",
- "digest": "sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20@sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28",
- "digest": "sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28@sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29",
- "digest": "sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29@sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40",
- "digest": "sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40@sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41",
- "digest": "sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41@sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66",
- "digest": "sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66@sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67",
- "digest": "sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67@sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0",
- "digest": "sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0@sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1",
- "digest": "sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1@sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11",
- "digest": "sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11@sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12",
- "digest": "sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12@sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13",
- "digest": "sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13@sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2",
- "digest": "sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22",
- "digest": "sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4",
- "digest": "sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4@sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6",
- "digest": "sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6@sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7",
- "digest": "sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7@sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9",
- "digest": "sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9@sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18",
- "digest": "sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18@sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20",
- "digest": "sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20@sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28",
- "digest": "sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28@sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29",
- "digest": "sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29@sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40",
- "digest": "sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40@sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41",
- "digest": "sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41@sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66",
- "digest": "sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66@sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67",
- "digest": "sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67@sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0",
- "digest": "sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0@sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1",
- "digest": "sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1@sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11",
- "digest": "sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11@sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12",
- "digest": "sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12@sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13",
- "digest": "sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13@sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2",
- "digest": "sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22",
- "digest": "sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4",
- "digest": "sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4@sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6",
- "digest": "sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6@sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7",
- "digest": "sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7@sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9",
- "digest": "sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9@sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28",
- "digest": "sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28@sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29",
- "digest": "sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29@sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40",
- "digest": "sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40@sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41",
- "digest": "sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41@sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66",
- "digest": "sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66@sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67",
- "digest": "sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67@sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0",
- "digest": "sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0@sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1",
- "digest": "sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1@sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12",
- "digest": "sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12@sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13",
- "digest": "sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13@sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2",
- "digest": "sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22",
- "digest": "sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4",
- "digest": "sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4@sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6",
- "digest": "sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6@sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7",
- "digest": "sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7@sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9",
- "digest": "sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9@sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18",
- "digest": "sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18@sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20",
- "digest": "sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20@sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28",
- "digest": "sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28@sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29",
- "digest": "sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29@sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40",
- "digest": "sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40@sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41",
- "digest": "sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41@sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66",
- "digest": "sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66@sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67",
- "digest": "sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67@sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0",
- "digest": "sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0@sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1",
- "digest": "sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1@sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11",
- "digest": "sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11@sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12",
- "digest": "sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12@sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13",
- "digest": "sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13@sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2",
- "digest": "sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22",
- "digest": "sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4",
- "digest": "sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4@sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6",
- "digest": "sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6@sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7",
- "digest": "sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7@sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9",
- "digest": "sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9@sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.2.19": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.2.19",
- "digest": "sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.19@sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.2.30": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.2.30",
- "digest": "sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.30@sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.0": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.0",
- "digest": "sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.0@sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.1": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.1",
- "digest": "sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.1@sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.16": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.16",
- "digest": "sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.16@sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.23": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.23",
- "digest": "sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.23@sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.24": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.24",
- "digest": "sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.24@sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.25": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.25",
- "digest": "sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.26": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.26",
- "digest": "sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.26@sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.27": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.27",
- "digest": "sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.27@sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.29": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.29",
- "digest": "sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.29@sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.30": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.30",
- "digest": "sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.30@sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.31": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.31",
- "digest": "sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.31@sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.32": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.32",
- "digest": "sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.32@sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.33": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.33",
- "digest": "sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.6": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.6",
- "digest": "sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.6@sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.8": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.8",
- "digest": "sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.8@sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.9": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.9",
- "digest": "sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.9@sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388"
- },
- "ghcr.io/github/gh-aw-node": {
- "image": "ghcr.io/github/gh-aw-node",
- "digest": "sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b",
- "pinned_image": "ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"
- },
- "ghcr.io/github/github-mcp-server:v0.32.0": {
- "image": "ghcr.io/github/github-mcp-server:v0.32.0",
- "digest": "sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28",
- "pinned_image": "ghcr.io/github/github-mcp-server:v0.32.0@sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28"
- },
- "ghcr.io/github/github-mcp-server:v1.0.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.0",
- "digest": "sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.0@sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95"
- },
- "ghcr.io/github/github-mcp-server:v1.0.3": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.3",
- "digest": "sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.3@sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959"
- },
- "ghcr.io/github/github-mcp-server:v1.0.4": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.4",
- "digest": "sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.4@sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4"
- },
- "ghcr.io/github/github-mcp-server:v1.1.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.1.0",
- "digest": "sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.0@sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029"
- },
- "ghcr.io/github/github-mcp-server:v1.1.2": {
- "image": "ghcr.io/github/github-mcp-server:v1.1.2",
- "digest": "sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"
- },
- "ghcr.io/github/github-mcp-server:v1.3.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.3.0",
- "digest": "sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.3.0@sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80"
- },
- "ghcr.io/github/github-mcp-server:v1.4.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.4.0",
- "digest": "sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.4.0@sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036"
- },
- "ghcr.io/github/github-mcp-server:v1.5.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.5.0",
- "digest": "sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"
- },
- "ghcr.io/github/serena-mcp-server:latest": {
- "image": "ghcr.io/github/serena-mcp-server:latest",
- "digest": "sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5",
- "pinned_image": "ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"
- },
- "grafana/mcp-grafana": {
- "image": "grafana/mcp-grafana",
- "digest": "sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090",
- "pinned_image": "grafana/mcp-grafana@sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090"
- },
- "mcp/arxiv-mcp-server": {
- "image": "mcp/arxiv-mcp-server",
- "digest": "sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e",
- "pinned_image": "mcp/arxiv-mcp-server@sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e"
- },
- "mcp/ast-grep:latest": {
- "image": "mcp/ast-grep:latest",
- "digest": "sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72",
- "pinned_image": "mcp/ast-grep:latest@sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72"
- },
- "mcp/context7": {
- "image": "mcp/context7",
- "digest": "sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836",
- "pinned_image": "mcp/context7@sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836"
- },
- "mcp/markitdown": {
- "image": "mcp/markitdown",
- "digest": "sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb",
- "pinned_image": "mcp/markitdown@sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb"
- },
- "mcp/memory": {
- "image": "mcp/memory",
- "digest": "sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f",
- "pinned_image": "mcp/memory@sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f"
- },
- "mcp/notion": {
- "image": "mcp/notion",
- "digest": "sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367",
- "pinned_image": "mcp/notion@sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367"
- },
- "mcr.microsoft.com/playwright/mcp": {
- "image": "mcr.microsoft.com/playwright/mcp",
- "digest": "sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2",
- "pinned_image": "mcr.microsoft.com/playwright/mcp@sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2"
- },
- "node:lts-alpine": {
- "image": "node:lts-alpine",
- "digest": "sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14",
- "pinned_image": "node:lts-alpine@sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14"
- },
- "python:alpine": {
- "image": "python:alpine",
- "digest": "sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116",
- "pinned_image": "python:alpine@sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116"
- },
- "semgrep/semgrep:latest": {
- "image": "semgrep/semgrep:latest",
- "digest": "sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2",
- "pinned_image": "semgrep/semgrep:latest@sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2"
- }
+ "actions/cache/restore@v6.1.0": {
+ "repo": "actions/cache/restore",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/cache/save@v6.1.0": {
+ "repo": "actions/cache/save",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/cache@v6.1.0": {
+ "repo": "actions/cache",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/checkout@v7.0.0": {
+ "repo": "actions/checkout",
+ "version": "v7.0.0",
+ "sha": "9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
+ },
+ "actions/create-github-app-token@v3.2.0": {
+ "repo": "actions/create-github-app-token",
+ "version": "v3.2.0",
+ "sha": "bcd2ba49218906704ab6c1aa796996da409d3eb1"
+ },
+ "actions/download-artifact@v8.0.1": {
+ "repo": "actions/download-artifact",
+ "version": "v8.0.1",
+ "sha": "3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"
+ },
+ "actions/github-script@v9.0.0": {
+ "repo": "actions/github-script",
+ "version": "v9.0.0",
+ "sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
+ },
+ "actions/setup-dotnet@v5.4.0": {
+ "repo": "actions/setup-dotnet",
+ "version": "v5.4.0",
+ "sha": "26b0ec14cb23fa6904739307f278c14f94c95bf1"
+ },
+ "actions/setup-go@v6.5.0": {
+ "repo": "actions/setup-go",
+ "version": "v6.5.0",
+ "sha": "924ae3a1cded613372ab5595356fb5720e22ba16"
+ },
+ "actions/setup-java@v5.4.0": {
+ "repo": "actions/setup-java",
+ "version": "v5.4.0",
+ "sha": "1bcf9fb12cf4aa7d266a90ae39939e61372fe520"
+ },
+ "actions/setup-node@v6.4.0": {
+ "repo": "actions/setup-node",
+ "version": "v6.4.0",
+ "sha": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
+ },
+ "actions/setup-python@v6.3.0": {
+ "repo": "actions/setup-python",
+ "version": "v6.3.0",
+ "sha": "ece7cb06caefa5fff74198d8649806c4678c61a1"
+ },
+ "actions/upload-artifact@v7.0.1": {
+ "repo": "actions/upload-artifact",
+ "version": "v7.0.1",
+ "sha": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
+ },
+ "anchore/sbom-action@v0.24.0": {
+ "repo": "anchore/sbom-action",
+ "version": "v0.24.0",
+ "sha": "e22c389904149dbc22b58101806040fa8d37a610"
+ },
+ "astral-sh/setup-uv@v8.2.0": {
+ "repo": "astral-sh/setup-uv",
+ "version": "v8.2.0",
+ "sha": "fac544c07dec837d0ccb6301d7b5580bf5edae39"
+ },
+ "denoland/setup-deno@v2.0.4": {
+ "repo": "denoland/setup-deno",
+ "version": "v2.0.4",
+ "sha": "667a34cdef165d8d2b2e98dde39547c9daac7282"
+ },
+ "docker/build-push-action@v7.2.0": {
+ "repo": "docker/build-push-action",
+ "version": "v7.2.0",
+ "sha": "f9f3042f7e2789586610d6e8b85c8f03e5195baf",
+ "released_at": "2026-05-21T15:23:58Z"
+ },
+ "docker/login-action@v4.2.0": {
+ "repo": "docker/login-action",
+ "version": "v4.2.0",
+ "sha": "650006c6eb7dba73a995cc03b0b2d7f5ca915bee",
+ "released_at": "2026-05-22T11:55:00Z"
+ },
+ "docker/metadata-action@v6.1.0": {
+ "repo": "docker/metadata-action",
+ "version": "v6.1.0",
+ "sha": "80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9"
+ },
+ "docker/setup-buildx-action@v4.1.0": {
+ "repo": "docker/setup-buildx-action",
+ "version": "v4.1.0",
+ "sha": "d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5"
+ },
+ "erlef/setup-beam@v1.24.0": {
+ "repo": "erlef/setup-beam",
+ "version": "v1.24.0",
+ "sha": "fc68ffb90438ef2936bbb3251622353b3dcb2f93"
+ },
+ "github/codeql-action/upload-sarif@v4.36.2": {
+ "repo": "github/codeql-action/upload-sarif",
+ "version": "v4.36.2",
+ "sha": "8aad20d150bbac5944a9f9d289da16a4b0d87c1e"
+ },
+ "github/stale-repos@v9.0.15": {
+ "repo": "github/stale-repos",
+ "version": "v9.0.15",
+ "sha": "a0db8bfe2318ed6ddbd01e95d7633803f99f77e9"
+ },
+ "haskell-actions/setup@v2.11.0": {
+ "repo": "haskell-actions/setup",
+ "version": "v2.11.0",
+ "sha": "cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553"
+ },
+ "oven-sh/setup-bun@v2.2.0": {
+ "repo": "oven-sh/setup-bun",
+ "version": "v2.2.0",
+ "sha": "0c5077e51419868618aeaa5fe8019c62421857d6"
+ },
+ "ruby/setup-ruby@v1.314.0": {
+ "repo": "ruby/setup-ruby",
+ "version": "v1.314.0",
+ "sha": "9eb537ca036ebaed86729dcb9309076e4c5c3b74"
+ },
+ "safedep/pmg@v1": {
+ "repo": "safedep/pmg",
+ "version": "v1",
+ "sha": "46cc70db535107183c9e752bb55d1d5c5f1a9290"
+ },
+ "super-linter/super-linter@v8.7.0": {
+ "repo": "super-linter/super-linter",
+ "version": "v8.7.0",
+ "sha": "4ce20838b8ab83717e78138c5b3a1407148e0918"
+ }
+ },
+ "containers": {
+ "alpine:latest": {
+ "image": "alpine:latest",
+ "digest": "sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11",
+ "pinned_image": "alpine:latest@sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11"
+ },
+ "docker.io/mcp/brave-search": {
+ "image": "docker.io/mcp/brave-search",
+ "digest": "sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22",
+ "pinned_image": "docker.io/mcp/brave-search@sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22"
+ },
+ "ghcr.io/chopratejas/headroom:latest": {
+ "image": "ghcr.io/chopratejas/headroom:latest",
+ "digest": "sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e",
+ "pinned_image": "ghcr.io/chopratejas/headroom:latest@sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29",
+ "digest": "sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29@sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13",
+ "digest": "sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13@sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18",
+ "digest": "sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18@sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20",
+ "digest": "sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20@sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28",
+ "digest": "sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28@sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29",
+ "digest": "sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29@sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40",
+ "digest": "sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40@sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41",
+ "digest": "sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41@sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66",
+ "digest": "sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66@sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67",
+ "digest": "sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67@sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0",
+ "digest": "sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0@sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1",
+ "digest": "sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1@sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11",
+ "digest": "sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11@sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12",
+ "digest": "sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12@sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13",
+ "digest": "sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13@sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2",
+ "digest": "sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22",
+ "digest": "sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4",
+ "digest": "sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4@sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6",
+ "digest": "sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6@sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7",
+ "digest": "sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7@sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9",
+ "digest": "sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9@sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18",
+ "digest": "sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18@sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20",
+ "digest": "sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20@sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28",
+ "digest": "sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28@sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29",
+ "digest": "sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29@sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40",
+ "digest": "sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40@sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41",
+ "digest": "sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41@sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66",
+ "digest": "sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66@sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67",
+ "digest": "sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67@sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0",
+ "digest": "sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0@sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1",
+ "digest": "sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1@sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11",
+ "digest": "sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11@sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12",
+ "digest": "sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12@sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13",
+ "digest": "sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13@sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2",
+ "digest": "sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22",
+ "digest": "sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4",
+ "digest": "sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4@sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6",
+ "digest": "sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6@sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7",
+ "digest": "sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7@sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9",
+ "digest": "sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9@sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28",
+ "digest": "sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28@sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29",
+ "digest": "sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29@sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40",
+ "digest": "sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40@sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41",
+ "digest": "sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41@sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66",
+ "digest": "sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66@sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67",
+ "digest": "sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67@sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0",
+ "digest": "sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0@sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1",
+ "digest": "sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1@sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12",
+ "digest": "sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12@sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13",
+ "digest": "sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13@sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2",
+ "digest": "sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22",
+ "digest": "sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4",
+ "digest": "sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4@sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6",
+ "digest": "sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6@sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7",
+ "digest": "sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7@sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9",
+ "digest": "sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9@sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18",
+ "digest": "sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18@sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20",
+ "digest": "sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20@sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28",
+ "digest": "sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28@sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29",
+ "digest": "sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29@sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40",
+ "digest": "sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40@sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41",
+ "digest": "sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41@sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66",
+ "digest": "sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66@sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67",
+ "digest": "sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67@sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0",
+ "digest": "sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0@sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1",
+ "digest": "sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1@sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11",
+ "digest": "sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11@sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12",
+ "digest": "sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12@sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13",
+ "digest": "sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13@sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2",
+ "digest": "sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22",
+ "digest": "sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4",
+ "digest": "sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4@sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6",
+ "digest": "sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6@sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7",
+ "digest": "sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7@sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9",
+ "digest": "sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9@sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.2.19": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.2.19",
+ "digest": "sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.19@sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.2.30": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.2.30",
+ "digest": "sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.30@sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.0": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.0",
+ "digest": "sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.0@sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.1": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.1",
+ "digest": "sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.1@sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.16": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.16",
+ "digest": "sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.16@sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.23": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.23",
+ "digest": "sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.23@sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.24": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.24",
+ "digest": "sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.24@sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.25": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.25",
+ "digest": "sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.26": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.26",
+ "digest": "sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.26@sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.27": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.27",
+ "digest": "sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.27@sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.29": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.29",
+ "digest": "sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.29@sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.30": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.30",
+ "digest": "sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.30@sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.31": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.31",
+ "digest": "sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.31@sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.32": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.32",
+ "digest": "sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.32@sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.33": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.33",
+ "digest": "sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.6": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.6",
+ "digest": "sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.6@sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.8": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.8",
+ "digest": "sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.8@sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.9": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.9",
+ "digest": "sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.9@sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388"
+ },
+ "ghcr.io/github/gh-aw-node": {
+ "image": "ghcr.io/github/gh-aw-node",
+ "digest": "sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b",
+ "pinned_image": "ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"
+ },
+ "ghcr.io/github/github-mcp-server:v0.32.0": {
+ "image": "ghcr.io/github/github-mcp-server:v0.32.0",
+ "digest": "sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v0.32.0@sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.0",
+ "digest": "sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.0@sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.3": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.3",
+ "digest": "sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.3@sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.4": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.4",
+ "digest": "sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.4@sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4"
+ },
+ "ghcr.io/github/github-mcp-server:v1.1.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.1.0",
+ "digest": "sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.0@sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029"
+ },
+ "ghcr.io/github/github-mcp-server:v1.1.2": {
+ "image": "ghcr.io/github/github-mcp-server:v1.1.2",
+ "digest": "sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"
+ },
+ "ghcr.io/github/github-mcp-server:v1.3.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.3.0",
+ "digest": "sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.3.0@sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80"
+ },
+ "ghcr.io/github/github-mcp-server:v1.4.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.4.0",
+ "digest": "sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.4.0@sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036"
+ },
+ "ghcr.io/github/github-mcp-server:v1.5.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.5.0",
+ "digest": "sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"
+ },
+ "ghcr.io/github/serena-mcp-server:latest": {
+ "image": "ghcr.io/github/serena-mcp-server:latest",
+ "digest": "sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5",
+ "pinned_image": "ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"
+ },
+ "grafana/mcp-grafana": {
+ "image": "grafana/mcp-grafana",
+ "digest": "sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090",
+ "pinned_image": "grafana/mcp-grafana@sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090"
+ },
+ "mcp/arxiv-mcp-server": {
+ "image": "mcp/arxiv-mcp-server",
+ "digest": "sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e",
+ "pinned_image": "mcp/arxiv-mcp-server@sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e"
+ },
+ "mcp/ast-grep:latest": {
+ "image": "mcp/ast-grep:latest",
+ "digest": "sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72",
+ "pinned_image": "mcp/ast-grep:latest@sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72"
+ },
+ "mcp/context7": {
+ "image": "mcp/context7",
+ "digest": "sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836",
+ "pinned_image": "mcp/context7@sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836"
+ },
+ "mcp/markitdown": {
+ "image": "mcp/markitdown",
+ "digest": "sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb",
+ "pinned_image": "mcp/markitdown@sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb"
+ },
+ "mcp/memory": {
+ "image": "mcp/memory",
+ "digest": "sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f",
+ "pinned_image": "mcp/memory@sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f"
+ },
+ "mcp/notion": {
+ "image": "mcp/notion",
+ "digest": "sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367",
+ "pinned_image": "mcp/notion@sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367"
+ },
+ "mcr.microsoft.com/playwright/mcp": {
+ "image": "mcr.microsoft.com/playwright/mcp",
+ "digest": "sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2",
+ "pinned_image": "mcr.microsoft.com/playwright/mcp@sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2"
+ },
+ "node:lts-alpine": {
+ "image": "node:lts-alpine",
+ "digest": "sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14",
+ "pinned_image": "node:lts-alpine@sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14"
+ },
+ "python:alpine": {
+ "image": "python:alpine",
+ "digest": "sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116",
+ "pinned_image": "python:alpine@sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116"
+ },
+ "semgrep/semgrep:latest": {
+ "image": "semgrep/semgrep:latest",
+ "digest": "sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2",
+ "pinned_image": "semgrep/semgrep:latest@sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2"
}
+ }
}
diff --git a/pkg/workflow/data/action_pins.json b/pkg/workflow/data/action_pins.json
index ffe6c94d496..0540eda0972 100644
--- a/pkg/workflow/data/action_pins.json
+++ b/pkg/workflow/data/action_pins.json
@@ -1,761 +1,761 @@
{
- "entries": {
- "actions-ecosystem/action-add-labels@v1.1.3": {
- "repo": "actions-ecosystem/action-add-labels",
- "version": "v1.1.3",
- "sha": "c96b68fec76a0987cd93957189e9abd0b9a72ff1",
- "inputs": {
- "github_token": {
- "description": "A GitHub token.",
- "default": "${{ github.token }}"
- },
- "labels": {
- "description": "The labels' name to be added. Must be separated with line breaks if there're multiple labels.",
- "required": true
- },
- "number": {
- "description": "The number of the issue or pull request."
- },
- "repo": {
- "description": "The owner and repository name. e.g.) Codertocat/Hello-World",
- "default": "${{ github.repository }}"
- }
- },
- "action_description": "Add labels to an issue or a pull request."
- },
- "actions/cache/restore@v6.1.0": {
- "repo": "actions/cache/restore",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/cache/save@v6.1.0": {
- "repo": "actions/cache/save",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/cache@v6.1.0": {
- "repo": "actions/cache",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/checkout@v7.0.0": {
- "repo": "actions/checkout",
- "version": "v7.0.0",
- "sha": "9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
- },
- "actions/create-github-app-token@v3.2.0": {
- "repo": "actions/create-github-app-token",
- "version": "v3.2.0",
- "sha": "bcd2ba49218906704ab6c1aa796996da409d3eb1"
- },
- "actions/download-artifact@v8.0.1": {
- "repo": "actions/download-artifact",
- "version": "v8.0.1",
- "sha": "3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"
- },
- "actions/github-script@v9.0.0": {
- "repo": "actions/github-script",
- "version": "v9.0.0",
- "sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
- },
- "actions/setup-dotnet@v5.4.0": {
- "repo": "actions/setup-dotnet",
- "version": "v5.4.0",
- "sha": "26b0ec14cb23fa6904739307f278c14f94c95bf1"
- },
- "actions/setup-go@v6.5.0": {
- "repo": "actions/setup-go",
- "version": "v6.5.0",
- "sha": "924ae3a1cded613372ab5595356fb5720e22ba16"
- },
- "actions/setup-java@v5.4.0": {
- "repo": "actions/setup-java",
- "version": "v5.4.0",
- "sha": "1bcf9fb12cf4aa7d266a90ae39939e61372fe520"
- },
- "actions/setup-node@v6.4.0": {
- "repo": "actions/setup-node",
- "version": "v6.4.0",
- "sha": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
- },
- "actions/setup-python@v6.3.0": {
- "repo": "actions/setup-python",
- "version": "v6.3.0",
- "sha": "ece7cb06caefa5fff74198d8649806c4678c61a1"
- },
- "actions/upload-artifact@v7.0.1": {
- "repo": "actions/upload-artifact",
- "version": "v7.0.1",
- "sha": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
- },
- "anchore/sbom-action@v0.24.0": {
- "repo": "anchore/sbom-action",
- "version": "v0.24.0",
- "sha": "e22c389904149dbc22b58101806040fa8d37a610"
- },
- "astral-sh/setup-uv@v8.2.0": {
- "repo": "astral-sh/setup-uv",
- "version": "v8.2.0",
- "sha": "fac544c07dec837d0ccb6301d7b5580bf5edae39"
- },
- "denoland/setup-deno@v2.0.4": {
- "repo": "denoland/setup-deno",
- "version": "v2.0.4",
- "sha": "667a34cdef165d8d2b2e98dde39547c9daac7282"
- },
- "docker/build-push-action@v7.2.0": {
- "repo": "docker/build-push-action",
- "version": "v7.2.0",
- "sha": "f9f3042f7e2789586610d6e8b85c8f03e5195baf",
- "released_at": "2026-05-21T15:23:58Z"
- },
- "docker/login-action@v4.2.0": {
- "repo": "docker/login-action",
- "version": "v4.2.0",
- "sha": "650006c6eb7dba73a995cc03b0b2d7f5ca915bee",
- "released_at": "2026-05-22T11:55:00Z"
- },
- "docker/metadata-action@v6.1.0": {
- "repo": "docker/metadata-action",
- "version": "v6.1.0",
- "sha": "80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9"
- },
- "docker/setup-buildx-action@v4.1.0": {
- "repo": "docker/setup-buildx-action",
- "version": "v4.1.0",
- "sha": "d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5"
- },
- "erlef/setup-beam@v1.24.0": {
- "repo": "erlef/setup-beam",
- "version": "v1.24.0",
- "sha": "fc68ffb90438ef2936bbb3251622353b3dcb2f93"
- },
- "github/codeql-action/upload-sarif@v4.36.2": {
- "repo": "github/codeql-action/upload-sarif",
- "version": "v4.36.2",
- "sha": "8aad20d150bbac5944a9f9d289da16a4b0d87c1e"
- },
- "github/stale-repos@v9.0.15": {
- "repo": "github/stale-repos",
- "version": "v9.0.15",
- "sha": "a0db8bfe2318ed6ddbd01e95d7633803f99f77e9"
- },
- "haskell-actions/setup@v2.11.0": {
- "repo": "haskell-actions/setup",
- "version": "v2.11.0",
- "sha": "cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553"
- },
- "oven-sh/setup-bun@v2.2.0": {
- "repo": "oven-sh/setup-bun",
- "version": "v2.2.0",
- "sha": "0c5077e51419868618aeaa5fe8019c62421857d6"
- },
- "ruby/setup-ruby@v1.314.0": {
- "repo": "ruby/setup-ruby",
- "version": "v1.314.0",
- "sha": "9eb537ca036ebaed86729dcb9309076e4c5c3b74"
- },
- "safedep/pmg@v1": {
- "repo": "safedep/pmg",
- "version": "v1",
- "sha": "46cc70db535107183c9e752bb55d1d5c5f1a9290"
- },
- "super-linter/super-linter@v8.7.0": {
- "repo": "super-linter/super-linter",
- "version": "v8.7.0",
- "sha": "4ce20838b8ab83717e78138c5b3a1407148e0918"
+ "entries": {
+ "actions-ecosystem/action-add-labels@v1.1.3": {
+ "repo": "actions-ecosystem/action-add-labels",
+ "version": "v1.1.3",
+ "sha": "c96b68fec76a0987cd93957189e9abd0b9a72ff1",
+ "inputs": {
+ "github_token": {
+ "description": "A GitHub token.",
+ "default": "${{ github.token }}"
+ },
+ "labels": {
+ "description": "The labels' name to be added. Must be separated with line breaks if there're multiple labels.",
+ "required": true
+ },
+ "number": {
+ "description": "The number of the issue or pull request."
+ },
+ "repo": {
+ "description": "The owner and repository name. e.g.) Codertocat/Hello-World",
+ "default": "${{ github.repository }}"
}
+ },
+ "action_description": "Add labels to an issue or a pull request."
},
- "containers": {
- "alpine:latest": {
- "image": "alpine:latest",
- "digest": "sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11",
- "pinned_image": "alpine:latest@sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11"
- },
- "docker.io/mcp/brave-search": {
- "image": "docker.io/mcp/brave-search",
- "digest": "sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22",
- "pinned_image": "docker.io/mcp/brave-search@sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22"
- },
- "ghcr.io/chopratejas/headroom:latest": {
- "image": "ghcr.io/chopratejas/headroom:latest",
- "digest": "sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e",
- "pinned_image": "ghcr.io/chopratejas/headroom:latest@sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e"
- },
- "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29",
- "digest": "sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29@sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1"
- },
- "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13",
- "digest": "sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13@sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18",
- "digest": "sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18@sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20",
- "digest": "sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20@sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28",
- "digest": "sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28@sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29",
- "digest": "sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29@sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40",
- "digest": "sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40@sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41",
- "digest": "sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41@sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66",
- "digest": "sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66@sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67",
- "digest": "sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67@sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0",
- "digest": "sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0@sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1",
- "digest": "sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1@sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11",
- "digest": "sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11@sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12",
- "digest": "sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12@sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13",
- "digest": "sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13@sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2",
- "digest": "sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22",
- "digest": "sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4",
- "digest": "sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4@sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6",
- "digest": "sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6@sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7",
- "digest": "sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7@sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9",
- "digest": "sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9@sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18",
- "digest": "sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18@sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20",
- "digest": "sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20@sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28",
- "digest": "sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28@sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29",
- "digest": "sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29@sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40",
- "digest": "sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40@sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41",
- "digest": "sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41@sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66",
- "digest": "sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66@sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67",
- "digest": "sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67@sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0",
- "digest": "sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0@sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1",
- "digest": "sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1@sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11",
- "digest": "sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11@sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12",
- "digest": "sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12@sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13",
- "digest": "sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13@sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2",
- "digest": "sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22",
- "digest": "sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4",
- "digest": "sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4@sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6",
- "digest": "sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6@sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7",
- "digest": "sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7@sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9",
- "digest": "sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9@sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28",
- "digest": "sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28@sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29",
- "digest": "sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29@sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40",
- "digest": "sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40@sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41",
- "digest": "sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41@sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66",
- "digest": "sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66@sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67",
- "digest": "sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67@sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0",
- "digest": "sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0@sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1",
- "digest": "sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1@sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12",
- "digest": "sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12@sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13",
- "digest": "sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13@sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2",
- "digest": "sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22",
- "digest": "sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4",
- "digest": "sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4@sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6",
- "digest": "sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6@sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7",
- "digest": "sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7@sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9",
- "digest": "sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9@sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18",
- "digest": "sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18@sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20",
- "digest": "sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20@sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28",
- "digest": "sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28@sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29",
- "digest": "sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29@sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40",
- "digest": "sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40@sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41",
- "digest": "sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41@sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66",
- "digest": "sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66@sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67",
- "digest": "sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67@sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0",
- "digest": "sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0@sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1",
- "digest": "sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1@sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11",
- "digest": "sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11@sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12",
- "digest": "sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12@sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13",
- "digest": "sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13@sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2",
- "digest": "sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22",
- "digest": "sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4",
- "digest": "sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4@sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6",
- "digest": "sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6@sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7",
- "digest": "sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7@sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9",
- "digest": "sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9@sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.2.19": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.2.19",
- "digest": "sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.19@sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.2.30": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.2.30",
- "digest": "sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.30@sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.0": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.0",
- "digest": "sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.0@sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.1": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.1",
- "digest": "sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.1@sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.16": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.16",
- "digest": "sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.16@sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.23": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.23",
- "digest": "sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.23@sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.24": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.24",
- "digest": "sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.24@sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.25": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.25",
- "digest": "sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.26": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.26",
- "digest": "sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.26@sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.27": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.27",
- "digest": "sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.27@sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.29": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.29",
- "digest": "sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.29@sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.30": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.30",
- "digest": "sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.30@sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.31": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.31",
- "digest": "sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.31@sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.32": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.32",
- "digest": "sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.32@sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.33": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.33",
- "digest": "sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.6": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.6",
- "digest": "sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.6@sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.8": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.8",
- "digest": "sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.8@sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.9": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.9",
- "digest": "sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.9@sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388"
- },
- "ghcr.io/github/gh-aw-node": {
- "image": "ghcr.io/github/gh-aw-node",
- "digest": "sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b",
- "pinned_image": "ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"
- },
- "ghcr.io/github/github-mcp-server:v0.32.0": {
- "image": "ghcr.io/github/github-mcp-server:v0.32.0",
- "digest": "sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28",
- "pinned_image": "ghcr.io/github/github-mcp-server:v0.32.0@sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28"
- },
- "ghcr.io/github/github-mcp-server:v1.0.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.0",
- "digest": "sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.0@sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95"
- },
- "ghcr.io/github/github-mcp-server:v1.0.3": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.3",
- "digest": "sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.3@sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959"
- },
- "ghcr.io/github/github-mcp-server:v1.0.4": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.4",
- "digest": "sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.4@sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4"
- },
- "ghcr.io/github/github-mcp-server:v1.1.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.1.0",
- "digest": "sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.0@sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029"
- },
- "ghcr.io/github/github-mcp-server:v1.1.2": {
- "image": "ghcr.io/github/github-mcp-server:v1.1.2",
- "digest": "sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"
- },
- "ghcr.io/github/github-mcp-server:v1.3.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.3.0",
- "digest": "sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.3.0@sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80"
- },
- "ghcr.io/github/github-mcp-server:v1.4.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.4.0",
- "digest": "sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.4.0@sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036"
- },
- "ghcr.io/github/github-mcp-server:v1.5.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.5.0",
- "digest": "sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"
- },
- "ghcr.io/github/serena-mcp-server:latest": {
- "image": "ghcr.io/github/serena-mcp-server:latest",
- "digest": "sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5",
- "pinned_image": "ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"
- },
- "grafana/mcp-grafana": {
- "image": "grafana/mcp-grafana",
- "digest": "sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090",
- "pinned_image": "grafana/mcp-grafana@sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090"
- },
- "mcp/arxiv-mcp-server": {
- "image": "mcp/arxiv-mcp-server",
- "digest": "sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e",
- "pinned_image": "mcp/arxiv-mcp-server@sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e"
- },
- "mcp/ast-grep:latest": {
- "image": "mcp/ast-grep:latest",
- "digest": "sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72",
- "pinned_image": "mcp/ast-grep:latest@sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72"
- },
- "mcp/context7": {
- "image": "mcp/context7",
- "digest": "sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836",
- "pinned_image": "mcp/context7@sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836"
- },
- "mcp/markitdown": {
- "image": "mcp/markitdown",
- "digest": "sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb",
- "pinned_image": "mcp/markitdown@sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb"
- },
- "mcp/memory": {
- "image": "mcp/memory",
- "digest": "sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f",
- "pinned_image": "mcp/memory@sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f"
- },
- "mcp/notion": {
- "image": "mcp/notion",
- "digest": "sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367",
- "pinned_image": "mcp/notion@sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367"
- },
- "mcr.microsoft.com/playwright/mcp": {
- "image": "mcr.microsoft.com/playwright/mcp",
- "digest": "sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2",
- "pinned_image": "mcr.microsoft.com/playwright/mcp@sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2"
- },
- "node:lts-alpine": {
- "image": "node:lts-alpine",
- "digest": "sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14",
- "pinned_image": "node:lts-alpine@sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14"
- },
- "python:alpine": {
- "image": "python:alpine",
- "digest": "sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116",
- "pinned_image": "python:alpine@sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116"
- },
- "semgrep/semgrep:latest": {
- "image": "semgrep/semgrep:latest",
- "digest": "sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2",
- "pinned_image": "semgrep/semgrep:latest@sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2"
- }
+ "actions/cache/restore@v6.1.0": {
+ "repo": "actions/cache/restore",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/cache/save@v6.1.0": {
+ "repo": "actions/cache/save",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/cache@v6.1.0": {
+ "repo": "actions/cache",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/checkout@v7.0.0": {
+ "repo": "actions/checkout",
+ "version": "v7.0.0",
+ "sha": "9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
+ },
+ "actions/create-github-app-token@v3.2.0": {
+ "repo": "actions/create-github-app-token",
+ "version": "v3.2.0",
+ "sha": "bcd2ba49218906704ab6c1aa796996da409d3eb1"
+ },
+ "actions/download-artifact@v8.0.1": {
+ "repo": "actions/download-artifact",
+ "version": "v8.0.1",
+ "sha": "3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"
+ },
+ "actions/github-script@v9.0.0": {
+ "repo": "actions/github-script",
+ "version": "v9.0.0",
+ "sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
+ },
+ "actions/setup-dotnet@v5.4.0": {
+ "repo": "actions/setup-dotnet",
+ "version": "v5.4.0",
+ "sha": "26b0ec14cb23fa6904739307f278c14f94c95bf1"
+ },
+ "actions/setup-go@v6.5.0": {
+ "repo": "actions/setup-go",
+ "version": "v6.5.0",
+ "sha": "924ae3a1cded613372ab5595356fb5720e22ba16"
+ },
+ "actions/setup-java@v5.4.0": {
+ "repo": "actions/setup-java",
+ "version": "v5.4.0",
+ "sha": "1bcf9fb12cf4aa7d266a90ae39939e61372fe520"
+ },
+ "actions/setup-node@v6.4.0": {
+ "repo": "actions/setup-node",
+ "version": "v6.4.0",
+ "sha": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
+ },
+ "actions/setup-python@v6.3.0": {
+ "repo": "actions/setup-python",
+ "version": "v6.3.0",
+ "sha": "ece7cb06caefa5fff74198d8649806c4678c61a1"
+ },
+ "actions/upload-artifact@v7.0.1": {
+ "repo": "actions/upload-artifact",
+ "version": "v7.0.1",
+ "sha": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
+ },
+ "anchore/sbom-action@v0.24.0": {
+ "repo": "anchore/sbom-action",
+ "version": "v0.24.0",
+ "sha": "e22c389904149dbc22b58101806040fa8d37a610"
+ },
+ "astral-sh/setup-uv@v8.2.0": {
+ "repo": "astral-sh/setup-uv",
+ "version": "v8.2.0",
+ "sha": "fac544c07dec837d0ccb6301d7b5580bf5edae39"
+ },
+ "denoland/setup-deno@v2.0.4": {
+ "repo": "denoland/setup-deno",
+ "version": "v2.0.4",
+ "sha": "667a34cdef165d8d2b2e98dde39547c9daac7282"
+ },
+ "docker/build-push-action@v7.2.0": {
+ "repo": "docker/build-push-action",
+ "version": "v7.2.0",
+ "sha": "f9f3042f7e2789586610d6e8b85c8f03e5195baf",
+ "released_at": "2026-05-21T15:23:58Z"
+ },
+ "docker/login-action@v4.2.0": {
+ "repo": "docker/login-action",
+ "version": "v4.2.0",
+ "sha": "650006c6eb7dba73a995cc03b0b2d7f5ca915bee",
+ "released_at": "2026-05-22T11:55:00Z"
+ },
+ "docker/metadata-action@v6.1.0": {
+ "repo": "docker/metadata-action",
+ "version": "v6.1.0",
+ "sha": "80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9"
+ },
+ "docker/setup-buildx-action@v4.1.0": {
+ "repo": "docker/setup-buildx-action",
+ "version": "v4.1.0",
+ "sha": "d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5"
+ },
+ "erlef/setup-beam@v1.24.0": {
+ "repo": "erlef/setup-beam",
+ "version": "v1.24.0",
+ "sha": "fc68ffb90438ef2936bbb3251622353b3dcb2f93"
+ },
+ "github/codeql-action/upload-sarif@v4.36.2": {
+ "repo": "github/codeql-action/upload-sarif",
+ "version": "v4.36.2",
+ "sha": "8aad20d150bbac5944a9f9d289da16a4b0d87c1e"
+ },
+ "github/stale-repos@v9.0.15": {
+ "repo": "github/stale-repos",
+ "version": "v9.0.15",
+ "sha": "a0db8bfe2318ed6ddbd01e95d7633803f99f77e9"
+ },
+ "haskell-actions/setup@v2.11.0": {
+ "repo": "haskell-actions/setup",
+ "version": "v2.11.0",
+ "sha": "cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553"
+ },
+ "oven-sh/setup-bun@v2.2.0": {
+ "repo": "oven-sh/setup-bun",
+ "version": "v2.2.0",
+ "sha": "0c5077e51419868618aeaa5fe8019c62421857d6"
+ },
+ "ruby/setup-ruby@v1.314.0": {
+ "repo": "ruby/setup-ruby",
+ "version": "v1.314.0",
+ "sha": "9eb537ca036ebaed86729dcb9309076e4c5c3b74"
+ },
+ "safedep/pmg@v1": {
+ "repo": "safedep/pmg",
+ "version": "v1",
+ "sha": "46cc70db535107183c9e752bb55d1d5c5f1a9290"
+ },
+ "super-linter/super-linter@v8.7.0": {
+ "repo": "super-linter/super-linter",
+ "version": "v8.7.0",
+ "sha": "4ce20838b8ab83717e78138c5b3a1407148e0918"
+ }
+ },
+ "containers": {
+ "alpine:latest": {
+ "image": "alpine:latest",
+ "digest": "sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11",
+ "pinned_image": "alpine:latest@sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11"
+ },
+ "docker.io/mcp/brave-search": {
+ "image": "docker.io/mcp/brave-search",
+ "digest": "sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22",
+ "pinned_image": "docker.io/mcp/brave-search@sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22"
+ },
+ "ghcr.io/chopratejas/headroom:latest": {
+ "image": "ghcr.io/chopratejas/headroom:latest",
+ "digest": "sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e",
+ "pinned_image": "ghcr.io/chopratejas/headroom:latest@sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29",
+ "digest": "sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29@sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13",
+ "digest": "sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13@sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18",
+ "digest": "sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18@sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20",
+ "digest": "sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20@sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28",
+ "digest": "sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28@sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29",
+ "digest": "sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29@sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40",
+ "digest": "sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40@sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41",
+ "digest": "sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41@sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66",
+ "digest": "sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66@sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67",
+ "digest": "sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67@sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0",
+ "digest": "sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0@sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1",
+ "digest": "sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1@sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11",
+ "digest": "sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11@sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12",
+ "digest": "sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12@sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13",
+ "digest": "sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13@sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2",
+ "digest": "sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22",
+ "digest": "sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4",
+ "digest": "sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4@sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6",
+ "digest": "sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6@sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7",
+ "digest": "sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7@sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9",
+ "digest": "sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9@sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18",
+ "digest": "sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18@sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20",
+ "digest": "sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20@sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28",
+ "digest": "sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28@sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29",
+ "digest": "sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29@sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40",
+ "digest": "sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40@sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41",
+ "digest": "sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41@sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66",
+ "digest": "sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66@sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67",
+ "digest": "sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67@sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0",
+ "digest": "sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0@sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1",
+ "digest": "sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1@sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11",
+ "digest": "sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11@sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12",
+ "digest": "sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12@sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13",
+ "digest": "sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13@sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2",
+ "digest": "sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22",
+ "digest": "sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4",
+ "digest": "sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4@sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6",
+ "digest": "sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6@sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7",
+ "digest": "sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7@sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9",
+ "digest": "sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9@sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28",
+ "digest": "sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28@sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29",
+ "digest": "sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29@sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40",
+ "digest": "sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40@sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41",
+ "digest": "sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41@sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66",
+ "digest": "sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66@sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67",
+ "digest": "sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67@sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0",
+ "digest": "sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0@sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1",
+ "digest": "sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1@sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12",
+ "digest": "sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12@sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13",
+ "digest": "sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13@sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2",
+ "digest": "sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22",
+ "digest": "sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4",
+ "digest": "sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4@sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6",
+ "digest": "sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6@sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7",
+ "digest": "sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7@sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9",
+ "digest": "sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9@sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18",
+ "digest": "sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18@sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20",
+ "digest": "sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20@sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28",
+ "digest": "sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28@sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29",
+ "digest": "sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29@sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40",
+ "digest": "sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40@sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41",
+ "digest": "sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41@sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66",
+ "digest": "sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66@sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67",
+ "digest": "sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67@sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0",
+ "digest": "sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0@sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1",
+ "digest": "sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1@sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11",
+ "digest": "sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11@sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12",
+ "digest": "sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12@sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13",
+ "digest": "sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13@sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2",
+ "digest": "sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22",
+ "digest": "sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4",
+ "digest": "sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4@sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6",
+ "digest": "sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6@sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7",
+ "digest": "sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7@sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9",
+ "digest": "sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9@sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.2.19": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.2.19",
+ "digest": "sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.19@sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.2.30": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.2.30",
+ "digest": "sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.30@sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.0": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.0",
+ "digest": "sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.0@sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.1": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.1",
+ "digest": "sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.1@sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.16": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.16",
+ "digest": "sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.16@sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.23": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.23",
+ "digest": "sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.23@sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.24": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.24",
+ "digest": "sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.24@sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.25": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.25",
+ "digest": "sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.26": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.26",
+ "digest": "sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.26@sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.27": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.27",
+ "digest": "sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.27@sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.29": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.29",
+ "digest": "sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.29@sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.30": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.30",
+ "digest": "sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.30@sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.31": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.31",
+ "digest": "sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.31@sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.32": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.32",
+ "digest": "sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.32@sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.33": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.33",
+ "digest": "sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.6": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.6",
+ "digest": "sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.6@sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.8": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.8",
+ "digest": "sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.8@sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.9": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.9",
+ "digest": "sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.9@sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388"
+ },
+ "ghcr.io/github/gh-aw-node": {
+ "image": "ghcr.io/github/gh-aw-node",
+ "digest": "sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b",
+ "pinned_image": "ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"
+ },
+ "ghcr.io/github/github-mcp-server:v0.32.0": {
+ "image": "ghcr.io/github/github-mcp-server:v0.32.0",
+ "digest": "sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v0.32.0@sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.0",
+ "digest": "sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.0@sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.3": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.3",
+ "digest": "sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.3@sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.4": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.4",
+ "digest": "sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.4@sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4"
+ },
+ "ghcr.io/github/github-mcp-server:v1.1.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.1.0",
+ "digest": "sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.0@sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029"
+ },
+ "ghcr.io/github/github-mcp-server:v1.1.2": {
+ "image": "ghcr.io/github/github-mcp-server:v1.1.2",
+ "digest": "sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"
+ },
+ "ghcr.io/github/github-mcp-server:v1.3.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.3.0",
+ "digest": "sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.3.0@sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80"
+ },
+ "ghcr.io/github/github-mcp-server:v1.4.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.4.0",
+ "digest": "sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.4.0@sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036"
+ },
+ "ghcr.io/github/github-mcp-server:v1.5.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.5.0",
+ "digest": "sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"
+ },
+ "ghcr.io/github/serena-mcp-server:latest": {
+ "image": "ghcr.io/github/serena-mcp-server:latest",
+ "digest": "sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5",
+ "pinned_image": "ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"
+ },
+ "grafana/mcp-grafana": {
+ "image": "grafana/mcp-grafana",
+ "digest": "sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090",
+ "pinned_image": "grafana/mcp-grafana@sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090"
+ },
+ "mcp/arxiv-mcp-server": {
+ "image": "mcp/arxiv-mcp-server",
+ "digest": "sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e",
+ "pinned_image": "mcp/arxiv-mcp-server@sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e"
+ },
+ "mcp/ast-grep:latest": {
+ "image": "mcp/ast-grep:latest",
+ "digest": "sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72",
+ "pinned_image": "mcp/ast-grep:latest@sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72"
+ },
+ "mcp/context7": {
+ "image": "mcp/context7",
+ "digest": "sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836",
+ "pinned_image": "mcp/context7@sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836"
+ },
+ "mcp/markitdown": {
+ "image": "mcp/markitdown",
+ "digest": "sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb",
+ "pinned_image": "mcp/markitdown@sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb"
+ },
+ "mcp/memory": {
+ "image": "mcp/memory",
+ "digest": "sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f",
+ "pinned_image": "mcp/memory@sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f"
+ },
+ "mcp/notion": {
+ "image": "mcp/notion",
+ "digest": "sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367",
+ "pinned_image": "mcp/notion@sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367"
+ },
+ "mcr.microsoft.com/playwright/mcp": {
+ "image": "mcr.microsoft.com/playwright/mcp",
+ "digest": "sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2",
+ "pinned_image": "mcr.microsoft.com/playwright/mcp@sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2"
+ },
+ "node:lts-alpine": {
+ "image": "node:lts-alpine",
+ "digest": "sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14",
+ "pinned_image": "node:lts-alpine@sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14"
+ },
+ "python:alpine": {
+ "image": "python:alpine",
+ "digest": "sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116",
+ "pinned_image": "python:alpine@sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116"
+ },
+ "semgrep/semgrep:latest": {
+ "image": "semgrep/semgrep:latest",
+ "digest": "sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2",
+ "pinned_image": "semgrep/semgrep:latest@sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2"
}
+ }
}
From 580666b0fca5fcfd673e02e051983f6c634e30e4 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 5 Jul 2026 03:25:47 +0000
Subject: [PATCH 4/7] Initial plan: refactor check_token_telemetry into shared
workflow
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
---
.github/aw/actions-lock.json | 1517 +++++++++--------
.../workflows/smoke-token-telemetry.lock.yml | 6 +-
pkg/actionpins/data/action_pins.json | 1512 ++++++++--------
pkg/workflow/data/action_pins.json | 1512 ++++++++--------
4 files changed, 2276 insertions(+), 2271 deletions(-)
diff --git a/.github/aw/actions-lock.json b/.github/aw/actions-lock.json
index ffe6c94d496..370f6f9eeee 100644
--- a/.github/aw/actions-lock.json
+++ b/.github/aw/actions-lock.json
@@ -1,761 +1,766 @@
{
- "entries": {
- "actions-ecosystem/action-add-labels@v1.1.3": {
- "repo": "actions-ecosystem/action-add-labels",
- "version": "v1.1.3",
- "sha": "c96b68fec76a0987cd93957189e9abd0b9a72ff1",
- "inputs": {
- "github_token": {
- "description": "A GitHub token.",
- "default": "${{ github.token }}"
- },
- "labels": {
- "description": "The labels' name to be added. Must be separated with line breaks if there're multiple labels.",
- "required": true
- },
- "number": {
- "description": "The number of the issue or pull request."
- },
- "repo": {
- "description": "The owner and repository name. e.g.) Codertocat/Hello-World",
- "default": "${{ github.repository }}"
- }
- },
- "action_description": "Add labels to an issue or a pull request."
- },
- "actions/cache/restore@v6.1.0": {
- "repo": "actions/cache/restore",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/cache/save@v6.1.0": {
- "repo": "actions/cache/save",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/cache@v6.1.0": {
- "repo": "actions/cache",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/checkout@v7.0.0": {
- "repo": "actions/checkout",
- "version": "v7.0.0",
- "sha": "9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
- },
- "actions/create-github-app-token@v3.2.0": {
- "repo": "actions/create-github-app-token",
- "version": "v3.2.0",
- "sha": "bcd2ba49218906704ab6c1aa796996da409d3eb1"
- },
- "actions/download-artifact@v8.0.1": {
- "repo": "actions/download-artifact",
- "version": "v8.0.1",
- "sha": "3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"
- },
- "actions/github-script@v9.0.0": {
- "repo": "actions/github-script",
- "version": "v9.0.0",
- "sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
- },
- "actions/setup-dotnet@v5.4.0": {
- "repo": "actions/setup-dotnet",
- "version": "v5.4.0",
- "sha": "26b0ec14cb23fa6904739307f278c14f94c95bf1"
- },
- "actions/setup-go@v6.5.0": {
- "repo": "actions/setup-go",
- "version": "v6.5.0",
- "sha": "924ae3a1cded613372ab5595356fb5720e22ba16"
- },
- "actions/setup-java@v5.4.0": {
- "repo": "actions/setup-java",
- "version": "v5.4.0",
- "sha": "1bcf9fb12cf4aa7d266a90ae39939e61372fe520"
- },
- "actions/setup-node@v6.4.0": {
- "repo": "actions/setup-node",
- "version": "v6.4.0",
- "sha": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
- },
- "actions/setup-python@v6.3.0": {
- "repo": "actions/setup-python",
- "version": "v6.3.0",
- "sha": "ece7cb06caefa5fff74198d8649806c4678c61a1"
- },
- "actions/upload-artifact@v7.0.1": {
- "repo": "actions/upload-artifact",
- "version": "v7.0.1",
- "sha": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
- },
- "anchore/sbom-action@v0.24.0": {
- "repo": "anchore/sbom-action",
- "version": "v0.24.0",
- "sha": "e22c389904149dbc22b58101806040fa8d37a610"
- },
- "astral-sh/setup-uv@v8.2.0": {
- "repo": "astral-sh/setup-uv",
- "version": "v8.2.0",
- "sha": "fac544c07dec837d0ccb6301d7b5580bf5edae39"
- },
- "denoland/setup-deno@v2.0.4": {
- "repo": "denoland/setup-deno",
- "version": "v2.0.4",
- "sha": "667a34cdef165d8d2b2e98dde39547c9daac7282"
- },
- "docker/build-push-action@v7.2.0": {
- "repo": "docker/build-push-action",
- "version": "v7.2.0",
- "sha": "f9f3042f7e2789586610d6e8b85c8f03e5195baf",
- "released_at": "2026-05-21T15:23:58Z"
- },
- "docker/login-action@v4.2.0": {
- "repo": "docker/login-action",
- "version": "v4.2.0",
- "sha": "650006c6eb7dba73a995cc03b0b2d7f5ca915bee",
- "released_at": "2026-05-22T11:55:00Z"
- },
- "docker/metadata-action@v6.1.0": {
- "repo": "docker/metadata-action",
- "version": "v6.1.0",
- "sha": "80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9"
- },
- "docker/setup-buildx-action@v4.1.0": {
- "repo": "docker/setup-buildx-action",
- "version": "v4.1.0",
- "sha": "d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5"
- },
- "erlef/setup-beam@v1.24.0": {
- "repo": "erlef/setup-beam",
- "version": "v1.24.0",
- "sha": "fc68ffb90438ef2936bbb3251622353b3dcb2f93"
- },
- "github/codeql-action/upload-sarif@v4.36.2": {
- "repo": "github/codeql-action/upload-sarif",
- "version": "v4.36.2",
- "sha": "8aad20d150bbac5944a9f9d289da16a4b0d87c1e"
- },
- "github/stale-repos@v9.0.15": {
- "repo": "github/stale-repos",
- "version": "v9.0.15",
- "sha": "a0db8bfe2318ed6ddbd01e95d7633803f99f77e9"
- },
- "haskell-actions/setup@v2.11.0": {
- "repo": "haskell-actions/setup",
- "version": "v2.11.0",
- "sha": "cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553"
- },
- "oven-sh/setup-bun@v2.2.0": {
- "repo": "oven-sh/setup-bun",
- "version": "v2.2.0",
- "sha": "0c5077e51419868618aeaa5fe8019c62421857d6"
- },
- "ruby/setup-ruby@v1.314.0": {
- "repo": "ruby/setup-ruby",
- "version": "v1.314.0",
- "sha": "9eb537ca036ebaed86729dcb9309076e4c5c3b74"
- },
- "safedep/pmg@v1": {
- "repo": "safedep/pmg",
- "version": "v1",
- "sha": "46cc70db535107183c9e752bb55d1d5c5f1a9290"
- },
- "super-linter/super-linter@v8.7.0": {
- "repo": "super-linter/super-linter",
- "version": "v8.7.0",
- "sha": "4ce20838b8ab83717e78138c5b3a1407148e0918"
+ "entries": {
+ "actions-ecosystem/action-add-labels@v1.1.3": {
+ "repo": "actions-ecosystem/action-add-labels",
+ "version": "v1.1.3",
+ "sha": "c96b68fec76a0987cd93957189e9abd0b9a72ff1",
+ "inputs": {
+ "github_token": {
+ "description": "A GitHub token.",
+ "default": "${{ github.token }}"
+ },
+ "labels": {
+ "description": "The labels' name to be added. Must be separated with line breaks if there're multiple labels.",
+ "required": true
+ },
+ "number": {
+ "description": "The number of the issue or pull request."
+ },
+ "repo": {
+ "description": "The owner and repository name. e.g.) Codertocat/Hello-World",
+ "default": "${{ github.repository }}"
}
+ },
+ "action_description": "Add labels to an issue or a pull request."
},
- "containers": {
- "alpine:latest": {
- "image": "alpine:latest",
- "digest": "sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11",
- "pinned_image": "alpine:latest@sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11"
- },
- "docker.io/mcp/brave-search": {
- "image": "docker.io/mcp/brave-search",
- "digest": "sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22",
- "pinned_image": "docker.io/mcp/brave-search@sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22"
- },
- "ghcr.io/chopratejas/headroom:latest": {
- "image": "ghcr.io/chopratejas/headroom:latest",
- "digest": "sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e",
- "pinned_image": "ghcr.io/chopratejas/headroom:latest@sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e"
- },
- "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29",
- "digest": "sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29@sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1"
- },
- "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13",
- "digest": "sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13@sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18",
- "digest": "sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18@sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20",
- "digest": "sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20@sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28",
- "digest": "sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28@sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29",
- "digest": "sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29@sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40",
- "digest": "sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40@sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41",
- "digest": "sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41@sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66",
- "digest": "sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66@sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67",
- "digest": "sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67@sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0",
- "digest": "sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0@sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1",
- "digest": "sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1@sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11",
- "digest": "sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11@sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12",
- "digest": "sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12@sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13",
- "digest": "sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13@sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2",
- "digest": "sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22",
- "digest": "sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4",
- "digest": "sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4@sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6",
- "digest": "sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6@sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7",
- "digest": "sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7@sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9",
- "digest": "sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9@sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18",
- "digest": "sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18@sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20",
- "digest": "sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20@sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28",
- "digest": "sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28@sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29",
- "digest": "sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29@sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40",
- "digest": "sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40@sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41",
- "digest": "sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41@sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66",
- "digest": "sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66@sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67",
- "digest": "sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67@sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0",
- "digest": "sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0@sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1",
- "digest": "sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1@sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11",
- "digest": "sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11@sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12",
- "digest": "sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12@sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13",
- "digest": "sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13@sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2",
- "digest": "sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22",
- "digest": "sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4",
- "digest": "sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4@sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6",
- "digest": "sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6@sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7",
- "digest": "sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7@sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9",
- "digest": "sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9@sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28",
- "digest": "sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28@sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29",
- "digest": "sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29@sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40",
- "digest": "sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40@sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41",
- "digest": "sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41@sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66",
- "digest": "sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66@sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67",
- "digest": "sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67@sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0",
- "digest": "sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0@sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1",
- "digest": "sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1@sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12",
- "digest": "sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12@sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13",
- "digest": "sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13@sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2",
- "digest": "sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22",
- "digest": "sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4",
- "digest": "sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4@sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6",
- "digest": "sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6@sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7",
- "digest": "sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7@sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9",
- "digest": "sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9@sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18",
- "digest": "sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18@sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20",
- "digest": "sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20@sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28",
- "digest": "sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28@sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29",
- "digest": "sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29@sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40",
- "digest": "sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40@sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41",
- "digest": "sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41@sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66",
- "digest": "sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66@sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67",
- "digest": "sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67@sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0",
- "digest": "sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0@sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1",
- "digest": "sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1@sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11",
- "digest": "sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11@sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12",
- "digest": "sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12@sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13",
- "digest": "sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13@sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2",
- "digest": "sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22",
- "digest": "sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4",
- "digest": "sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4@sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6",
- "digest": "sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6@sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7",
- "digest": "sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7@sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9",
- "digest": "sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9@sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.2.19": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.2.19",
- "digest": "sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.19@sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.2.30": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.2.30",
- "digest": "sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.30@sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.0": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.0",
- "digest": "sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.0@sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.1": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.1",
- "digest": "sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.1@sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.16": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.16",
- "digest": "sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.16@sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.23": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.23",
- "digest": "sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.23@sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.24": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.24",
- "digest": "sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.24@sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.25": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.25",
- "digest": "sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.26": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.26",
- "digest": "sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.26@sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.27": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.27",
- "digest": "sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.27@sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.29": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.29",
- "digest": "sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.29@sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.30": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.30",
- "digest": "sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.30@sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.31": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.31",
- "digest": "sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.31@sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.32": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.32",
- "digest": "sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.32@sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.33": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.33",
- "digest": "sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.6": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.6",
- "digest": "sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.6@sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.8": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.8",
- "digest": "sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.8@sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.9": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.9",
- "digest": "sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.9@sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388"
- },
- "ghcr.io/github/gh-aw-node": {
- "image": "ghcr.io/github/gh-aw-node",
- "digest": "sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b",
- "pinned_image": "ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"
- },
- "ghcr.io/github/github-mcp-server:v0.32.0": {
- "image": "ghcr.io/github/github-mcp-server:v0.32.0",
- "digest": "sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28",
- "pinned_image": "ghcr.io/github/github-mcp-server:v0.32.0@sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28"
- },
- "ghcr.io/github/github-mcp-server:v1.0.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.0",
- "digest": "sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.0@sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95"
- },
- "ghcr.io/github/github-mcp-server:v1.0.3": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.3",
- "digest": "sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.3@sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959"
- },
- "ghcr.io/github/github-mcp-server:v1.0.4": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.4",
- "digest": "sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.4@sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4"
- },
- "ghcr.io/github/github-mcp-server:v1.1.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.1.0",
- "digest": "sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.0@sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029"
- },
- "ghcr.io/github/github-mcp-server:v1.1.2": {
- "image": "ghcr.io/github/github-mcp-server:v1.1.2",
- "digest": "sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"
- },
- "ghcr.io/github/github-mcp-server:v1.3.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.3.0",
- "digest": "sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.3.0@sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80"
- },
- "ghcr.io/github/github-mcp-server:v1.4.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.4.0",
- "digest": "sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.4.0@sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036"
- },
- "ghcr.io/github/github-mcp-server:v1.5.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.5.0",
- "digest": "sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"
- },
- "ghcr.io/github/serena-mcp-server:latest": {
- "image": "ghcr.io/github/serena-mcp-server:latest",
- "digest": "sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5",
- "pinned_image": "ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"
- },
- "grafana/mcp-grafana": {
- "image": "grafana/mcp-grafana",
- "digest": "sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090",
- "pinned_image": "grafana/mcp-grafana@sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090"
- },
- "mcp/arxiv-mcp-server": {
- "image": "mcp/arxiv-mcp-server",
- "digest": "sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e",
- "pinned_image": "mcp/arxiv-mcp-server@sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e"
- },
- "mcp/ast-grep:latest": {
- "image": "mcp/ast-grep:latest",
- "digest": "sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72",
- "pinned_image": "mcp/ast-grep:latest@sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72"
- },
- "mcp/context7": {
- "image": "mcp/context7",
- "digest": "sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836",
- "pinned_image": "mcp/context7@sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836"
- },
- "mcp/markitdown": {
- "image": "mcp/markitdown",
- "digest": "sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb",
- "pinned_image": "mcp/markitdown@sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb"
- },
- "mcp/memory": {
- "image": "mcp/memory",
- "digest": "sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f",
- "pinned_image": "mcp/memory@sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f"
- },
- "mcp/notion": {
- "image": "mcp/notion",
- "digest": "sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367",
- "pinned_image": "mcp/notion@sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367"
- },
- "mcr.microsoft.com/playwright/mcp": {
- "image": "mcr.microsoft.com/playwright/mcp",
- "digest": "sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2",
- "pinned_image": "mcr.microsoft.com/playwright/mcp@sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2"
- },
- "node:lts-alpine": {
- "image": "node:lts-alpine",
- "digest": "sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14",
- "pinned_image": "node:lts-alpine@sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14"
- },
- "python:alpine": {
- "image": "python:alpine",
- "digest": "sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116",
- "pinned_image": "python:alpine@sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116"
- },
- "semgrep/semgrep:latest": {
- "image": "semgrep/semgrep:latest",
- "digest": "sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2",
- "pinned_image": "semgrep/semgrep:latest@sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2"
- }
+ "actions/cache/restore@v6.1.0": {
+ "repo": "actions/cache/restore",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/cache/save@v6.1.0": {
+ "repo": "actions/cache/save",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/cache@v6.1.0": {
+ "repo": "actions/cache",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/checkout@v7.0.0": {
+ "repo": "actions/checkout",
+ "version": "v7.0.0",
+ "sha": "9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
+ },
+ "actions/create-github-app-token@v3.2.0": {
+ "repo": "actions/create-github-app-token",
+ "version": "v3.2.0",
+ "sha": "bcd2ba49218906704ab6c1aa796996da409d3eb1"
+ },
+ "actions/download-artifact@v4": {
+ "repo": "actions/download-artifact",
+ "version": "v4",
+ "sha": "d3f86a106a0bac45b974a628896c90dbdf5c8093"
+ },
+ "actions/download-artifact@v8.0.1": {
+ "repo": "actions/download-artifact",
+ "version": "v8.0.1",
+ "sha": "3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"
+ },
+ "actions/github-script@v9.0.0": {
+ "repo": "actions/github-script",
+ "version": "v9.0.0",
+ "sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
+ },
+ "actions/setup-dotnet@v5.4.0": {
+ "repo": "actions/setup-dotnet",
+ "version": "v5.4.0",
+ "sha": "26b0ec14cb23fa6904739307f278c14f94c95bf1"
+ },
+ "actions/setup-go@v6.5.0": {
+ "repo": "actions/setup-go",
+ "version": "v6.5.0",
+ "sha": "924ae3a1cded613372ab5595356fb5720e22ba16"
+ },
+ "actions/setup-java@v5.4.0": {
+ "repo": "actions/setup-java",
+ "version": "v5.4.0",
+ "sha": "1bcf9fb12cf4aa7d266a90ae39939e61372fe520"
+ },
+ "actions/setup-node@v6.4.0": {
+ "repo": "actions/setup-node",
+ "version": "v6.4.0",
+ "sha": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
+ },
+ "actions/setup-python@v6.3.0": {
+ "repo": "actions/setup-python",
+ "version": "v6.3.0",
+ "sha": "ece7cb06caefa5fff74198d8649806c4678c61a1"
+ },
+ "actions/upload-artifact@v7.0.1": {
+ "repo": "actions/upload-artifact",
+ "version": "v7.0.1",
+ "sha": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
+ },
+ "anchore/sbom-action@v0.24.0": {
+ "repo": "anchore/sbom-action",
+ "version": "v0.24.0",
+ "sha": "e22c389904149dbc22b58101806040fa8d37a610"
+ },
+ "astral-sh/setup-uv@v8.2.0": {
+ "repo": "astral-sh/setup-uv",
+ "version": "v8.2.0",
+ "sha": "fac544c07dec837d0ccb6301d7b5580bf5edae39"
+ },
+ "denoland/setup-deno@v2.0.4": {
+ "repo": "denoland/setup-deno",
+ "version": "v2.0.4",
+ "sha": "667a34cdef165d8d2b2e98dde39547c9daac7282"
+ },
+ "docker/build-push-action@v7.2.0": {
+ "repo": "docker/build-push-action",
+ "version": "v7.2.0",
+ "sha": "f9f3042f7e2789586610d6e8b85c8f03e5195baf",
+ "released_at": "2026-05-21T15:23:58Z"
+ },
+ "docker/login-action@v4.2.0": {
+ "repo": "docker/login-action",
+ "version": "v4.2.0",
+ "sha": "650006c6eb7dba73a995cc03b0b2d7f5ca915bee",
+ "released_at": "2026-05-22T11:55:00Z"
+ },
+ "docker/metadata-action@v6.1.0": {
+ "repo": "docker/metadata-action",
+ "version": "v6.1.0",
+ "sha": "80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9"
+ },
+ "docker/setup-buildx-action@v4.1.0": {
+ "repo": "docker/setup-buildx-action",
+ "version": "v4.1.0",
+ "sha": "d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5"
+ },
+ "erlef/setup-beam@v1.24.0": {
+ "repo": "erlef/setup-beam",
+ "version": "v1.24.0",
+ "sha": "fc68ffb90438ef2936bbb3251622353b3dcb2f93"
+ },
+ "github/codeql-action/upload-sarif@v4.36.2": {
+ "repo": "github/codeql-action/upload-sarif",
+ "version": "v4.36.2",
+ "sha": "8aad20d150bbac5944a9f9d289da16a4b0d87c1e"
+ },
+ "github/stale-repos@v9.0.15": {
+ "repo": "github/stale-repos",
+ "version": "v9.0.15",
+ "sha": "a0db8bfe2318ed6ddbd01e95d7633803f99f77e9"
+ },
+ "haskell-actions/setup@v2.11.0": {
+ "repo": "haskell-actions/setup",
+ "version": "v2.11.0",
+ "sha": "cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553"
+ },
+ "oven-sh/setup-bun@v2.2.0": {
+ "repo": "oven-sh/setup-bun",
+ "version": "v2.2.0",
+ "sha": "0c5077e51419868618aeaa5fe8019c62421857d6"
+ },
+ "ruby/setup-ruby@v1.314.0": {
+ "repo": "ruby/setup-ruby",
+ "version": "v1.314.0",
+ "sha": "9eb537ca036ebaed86729dcb9309076e4c5c3b74"
+ },
+ "safedep/pmg@v1": {
+ "repo": "safedep/pmg",
+ "version": "v1",
+ "sha": "46cc70db535107183c9e752bb55d1d5c5f1a9290"
+ },
+ "super-linter/super-linter@v8.7.0": {
+ "repo": "super-linter/super-linter",
+ "version": "v8.7.0",
+ "sha": "4ce20838b8ab83717e78138c5b3a1407148e0918"
+ }
+ },
+ "containers": {
+ "alpine:latest": {
+ "image": "alpine:latest",
+ "digest": "sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11",
+ "pinned_image": "alpine:latest@sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11"
+ },
+ "docker.io/mcp/brave-search": {
+ "image": "docker.io/mcp/brave-search",
+ "digest": "sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22",
+ "pinned_image": "docker.io/mcp/brave-search@sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22"
+ },
+ "ghcr.io/chopratejas/headroom:latest": {
+ "image": "ghcr.io/chopratejas/headroom:latest",
+ "digest": "sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e",
+ "pinned_image": "ghcr.io/chopratejas/headroom:latest@sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29",
+ "digest": "sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29@sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13",
+ "digest": "sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13@sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18",
+ "digest": "sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18@sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20",
+ "digest": "sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20@sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28",
+ "digest": "sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28@sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29",
+ "digest": "sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29@sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40",
+ "digest": "sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40@sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41",
+ "digest": "sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41@sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66",
+ "digest": "sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66@sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67",
+ "digest": "sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67@sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0",
+ "digest": "sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0@sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1",
+ "digest": "sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1@sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11",
+ "digest": "sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11@sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12",
+ "digest": "sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12@sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13",
+ "digest": "sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13@sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2",
+ "digest": "sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22",
+ "digest": "sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4",
+ "digest": "sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4@sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6",
+ "digest": "sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6@sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7",
+ "digest": "sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7@sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9",
+ "digest": "sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9@sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18",
+ "digest": "sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18@sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20",
+ "digest": "sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20@sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28",
+ "digest": "sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28@sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29",
+ "digest": "sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29@sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40",
+ "digest": "sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40@sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41",
+ "digest": "sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41@sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66",
+ "digest": "sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66@sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67",
+ "digest": "sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67@sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0",
+ "digest": "sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0@sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1",
+ "digest": "sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1@sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11",
+ "digest": "sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11@sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12",
+ "digest": "sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12@sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13",
+ "digest": "sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13@sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2",
+ "digest": "sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22",
+ "digest": "sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4",
+ "digest": "sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4@sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6",
+ "digest": "sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6@sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7",
+ "digest": "sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7@sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9",
+ "digest": "sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9@sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28",
+ "digest": "sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28@sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29",
+ "digest": "sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29@sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40",
+ "digest": "sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40@sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41",
+ "digest": "sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41@sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66",
+ "digest": "sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66@sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67",
+ "digest": "sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67@sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0",
+ "digest": "sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0@sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1",
+ "digest": "sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1@sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12",
+ "digest": "sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12@sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13",
+ "digest": "sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13@sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2",
+ "digest": "sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22",
+ "digest": "sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4",
+ "digest": "sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4@sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6",
+ "digest": "sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6@sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7",
+ "digest": "sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7@sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9",
+ "digest": "sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9@sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18",
+ "digest": "sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18@sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20",
+ "digest": "sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20@sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28",
+ "digest": "sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28@sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29",
+ "digest": "sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29@sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40",
+ "digest": "sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40@sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41",
+ "digest": "sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41@sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66",
+ "digest": "sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66@sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67",
+ "digest": "sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67@sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0",
+ "digest": "sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0@sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1",
+ "digest": "sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1@sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11",
+ "digest": "sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11@sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12",
+ "digest": "sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12@sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13",
+ "digest": "sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13@sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2",
+ "digest": "sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22",
+ "digest": "sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4",
+ "digest": "sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4@sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6",
+ "digest": "sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6@sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7",
+ "digest": "sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7@sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9",
+ "digest": "sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9@sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.2.19": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.2.19",
+ "digest": "sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.19@sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.2.30": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.2.30",
+ "digest": "sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.30@sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.0": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.0",
+ "digest": "sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.0@sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.1": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.1",
+ "digest": "sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.1@sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.16": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.16",
+ "digest": "sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.16@sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.23": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.23",
+ "digest": "sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.23@sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.24": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.24",
+ "digest": "sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.24@sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.25": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.25",
+ "digest": "sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.26": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.26",
+ "digest": "sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.26@sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.27": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.27",
+ "digest": "sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.27@sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.29": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.29",
+ "digest": "sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.29@sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.30": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.30",
+ "digest": "sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.30@sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.31": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.31",
+ "digest": "sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.31@sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.32": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.32",
+ "digest": "sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.32@sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.33": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.33",
+ "digest": "sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.6": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.6",
+ "digest": "sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.6@sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.8": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.8",
+ "digest": "sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.8@sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.9": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.9",
+ "digest": "sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.9@sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388"
+ },
+ "ghcr.io/github/gh-aw-node": {
+ "image": "ghcr.io/github/gh-aw-node",
+ "digest": "sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b",
+ "pinned_image": "ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"
+ },
+ "ghcr.io/github/github-mcp-server:v0.32.0": {
+ "image": "ghcr.io/github/github-mcp-server:v0.32.0",
+ "digest": "sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v0.32.0@sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.0",
+ "digest": "sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.0@sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.3": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.3",
+ "digest": "sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.3@sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.4": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.4",
+ "digest": "sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.4@sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4"
+ },
+ "ghcr.io/github/github-mcp-server:v1.1.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.1.0",
+ "digest": "sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.0@sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029"
+ },
+ "ghcr.io/github/github-mcp-server:v1.1.2": {
+ "image": "ghcr.io/github/github-mcp-server:v1.1.2",
+ "digest": "sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"
+ },
+ "ghcr.io/github/github-mcp-server:v1.3.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.3.0",
+ "digest": "sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.3.0@sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80"
+ },
+ "ghcr.io/github/github-mcp-server:v1.4.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.4.0",
+ "digest": "sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.4.0@sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036"
+ },
+ "ghcr.io/github/github-mcp-server:v1.5.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.5.0",
+ "digest": "sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"
+ },
+ "ghcr.io/github/serena-mcp-server:latest": {
+ "image": "ghcr.io/github/serena-mcp-server:latest",
+ "digest": "sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5",
+ "pinned_image": "ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"
+ },
+ "grafana/mcp-grafana": {
+ "image": "grafana/mcp-grafana",
+ "digest": "sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090",
+ "pinned_image": "grafana/mcp-grafana@sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090"
+ },
+ "mcp/arxiv-mcp-server": {
+ "image": "mcp/arxiv-mcp-server",
+ "digest": "sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e",
+ "pinned_image": "mcp/arxiv-mcp-server@sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e"
+ },
+ "mcp/ast-grep:latest": {
+ "image": "mcp/ast-grep:latest",
+ "digest": "sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72",
+ "pinned_image": "mcp/ast-grep:latest@sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72"
+ },
+ "mcp/context7": {
+ "image": "mcp/context7",
+ "digest": "sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836",
+ "pinned_image": "mcp/context7@sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836"
+ },
+ "mcp/markitdown": {
+ "image": "mcp/markitdown",
+ "digest": "sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb",
+ "pinned_image": "mcp/markitdown@sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb"
+ },
+ "mcp/memory": {
+ "image": "mcp/memory",
+ "digest": "sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f",
+ "pinned_image": "mcp/memory@sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f"
+ },
+ "mcp/notion": {
+ "image": "mcp/notion",
+ "digest": "sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367",
+ "pinned_image": "mcp/notion@sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367"
+ },
+ "mcr.microsoft.com/playwright/mcp": {
+ "image": "mcr.microsoft.com/playwright/mcp",
+ "digest": "sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2",
+ "pinned_image": "mcr.microsoft.com/playwright/mcp@sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2"
+ },
+ "node:lts-alpine": {
+ "image": "node:lts-alpine",
+ "digest": "sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14",
+ "pinned_image": "node:lts-alpine@sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14"
+ },
+ "python:alpine": {
+ "image": "python:alpine",
+ "digest": "sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116",
+ "pinned_image": "python:alpine@sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116"
+ },
+ "semgrep/semgrep:latest": {
+ "image": "semgrep/semgrep:latest",
+ "digest": "sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2",
+ "pinned_image": "semgrep/semgrep:latest@sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2"
}
+ }
}
diff --git a/.github/workflows/smoke-token-telemetry.lock.yml b/.github/workflows/smoke-token-telemetry.lock.yml
index fbe0e2b39a0..9772bebc4cb 100644
--- a/.github/workflows/smoke-token-telemetry.lock.yml
+++ b/.github/workflows/smoke-token-telemetry.lock.yml
@@ -1,5 +1,5 @@
# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"96d14d363ed49da391f549e3de749e88ef76b6d6daa2bc57f282b09b53cde855","body_hash":"081afa999b816b5dae558340d344b4df75600b22507d2cbb044a9c7280dee8a0","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.68"}}
-# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"}]}
+# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/download-artifact","sha":"d3f86a106a0bac45b974a628896c90dbdf5c8093","version":"v4"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
# ___ _ _
@@ -44,7 +44,7 @@
# - actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
# - actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
# - actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
-# - actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 (source v4)
+# - actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
# - actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
# - actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 (source v9)
# - actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
@@ -1054,7 +1054,7 @@ jobs:
echo "GH_HOST=${GH_HOST}" >> "$GITHUB_ENV"
- name: Download agent artifact
id: download-agent
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 (source v4)
+ uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
with:
name: agent
path: /tmp/gh-aw/
diff --git a/pkg/actionpins/data/action_pins.json b/pkg/actionpins/data/action_pins.json
index 0540eda0972..ffe6c94d496 100644
--- a/pkg/actionpins/data/action_pins.json
+++ b/pkg/actionpins/data/action_pins.json
@@ -1,761 +1,761 @@
{
- "entries": {
- "actions-ecosystem/action-add-labels@v1.1.3": {
- "repo": "actions-ecosystem/action-add-labels",
- "version": "v1.1.3",
- "sha": "c96b68fec76a0987cd93957189e9abd0b9a72ff1",
- "inputs": {
- "github_token": {
- "description": "A GitHub token.",
- "default": "${{ github.token }}"
- },
- "labels": {
- "description": "The labels' name to be added. Must be separated with line breaks if there're multiple labels.",
- "required": true
- },
- "number": {
- "description": "The number of the issue or pull request."
- },
- "repo": {
- "description": "The owner and repository name. e.g.) Codertocat/Hello-World",
- "default": "${{ github.repository }}"
+ "entries": {
+ "actions-ecosystem/action-add-labels@v1.1.3": {
+ "repo": "actions-ecosystem/action-add-labels",
+ "version": "v1.1.3",
+ "sha": "c96b68fec76a0987cd93957189e9abd0b9a72ff1",
+ "inputs": {
+ "github_token": {
+ "description": "A GitHub token.",
+ "default": "${{ github.token }}"
+ },
+ "labels": {
+ "description": "The labels' name to be added. Must be separated with line breaks if there're multiple labels.",
+ "required": true
+ },
+ "number": {
+ "description": "The number of the issue or pull request."
+ },
+ "repo": {
+ "description": "The owner and repository name. e.g.) Codertocat/Hello-World",
+ "default": "${{ github.repository }}"
+ }
+ },
+ "action_description": "Add labels to an issue or a pull request."
+ },
+ "actions/cache/restore@v6.1.0": {
+ "repo": "actions/cache/restore",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/cache/save@v6.1.0": {
+ "repo": "actions/cache/save",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/cache@v6.1.0": {
+ "repo": "actions/cache",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/checkout@v7.0.0": {
+ "repo": "actions/checkout",
+ "version": "v7.0.0",
+ "sha": "9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
+ },
+ "actions/create-github-app-token@v3.2.0": {
+ "repo": "actions/create-github-app-token",
+ "version": "v3.2.0",
+ "sha": "bcd2ba49218906704ab6c1aa796996da409d3eb1"
+ },
+ "actions/download-artifact@v8.0.1": {
+ "repo": "actions/download-artifact",
+ "version": "v8.0.1",
+ "sha": "3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"
+ },
+ "actions/github-script@v9.0.0": {
+ "repo": "actions/github-script",
+ "version": "v9.0.0",
+ "sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
+ },
+ "actions/setup-dotnet@v5.4.0": {
+ "repo": "actions/setup-dotnet",
+ "version": "v5.4.0",
+ "sha": "26b0ec14cb23fa6904739307f278c14f94c95bf1"
+ },
+ "actions/setup-go@v6.5.0": {
+ "repo": "actions/setup-go",
+ "version": "v6.5.0",
+ "sha": "924ae3a1cded613372ab5595356fb5720e22ba16"
+ },
+ "actions/setup-java@v5.4.0": {
+ "repo": "actions/setup-java",
+ "version": "v5.4.0",
+ "sha": "1bcf9fb12cf4aa7d266a90ae39939e61372fe520"
+ },
+ "actions/setup-node@v6.4.0": {
+ "repo": "actions/setup-node",
+ "version": "v6.4.0",
+ "sha": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
+ },
+ "actions/setup-python@v6.3.0": {
+ "repo": "actions/setup-python",
+ "version": "v6.3.0",
+ "sha": "ece7cb06caefa5fff74198d8649806c4678c61a1"
+ },
+ "actions/upload-artifact@v7.0.1": {
+ "repo": "actions/upload-artifact",
+ "version": "v7.0.1",
+ "sha": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
+ },
+ "anchore/sbom-action@v0.24.0": {
+ "repo": "anchore/sbom-action",
+ "version": "v0.24.0",
+ "sha": "e22c389904149dbc22b58101806040fa8d37a610"
+ },
+ "astral-sh/setup-uv@v8.2.0": {
+ "repo": "astral-sh/setup-uv",
+ "version": "v8.2.0",
+ "sha": "fac544c07dec837d0ccb6301d7b5580bf5edae39"
+ },
+ "denoland/setup-deno@v2.0.4": {
+ "repo": "denoland/setup-deno",
+ "version": "v2.0.4",
+ "sha": "667a34cdef165d8d2b2e98dde39547c9daac7282"
+ },
+ "docker/build-push-action@v7.2.0": {
+ "repo": "docker/build-push-action",
+ "version": "v7.2.0",
+ "sha": "f9f3042f7e2789586610d6e8b85c8f03e5195baf",
+ "released_at": "2026-05-21T15:23:58Z"
+ },
+ "docker/login-action@v4.2.0": {
+ "repo": "docker/login-action",
+ "version": "v4.2.0",
+ "sha": "650006c6eb7dba73a995cc03b0b2d7f5ca915bee",
+ "released_at": "2026-05-22T11:55:00Z"
+ },
+ "docker/metadata-action@v6.1.0": {
+ "repo": "docker/metadata-action",
+ "version": "v6.1.0",
+ "sha": "80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9"
+ },
+ "docker/setup-buildx-action@v4.1.0": {
+ "repo": "docker/setup-buildx-action",
+ "version": "v4.1.0",
+ "sha": "d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5"
+ },
+ "erlef/setup-beam@v1.24.0": {
+ "repo": "erlef/setup-beam",
+ "version": "v1.24.0",
+ "sha": "fc68ffb90438ef2936bbb3251622353b3dcb2f93"
+ },
+ "github/codeql-action/upload-sarif@v4.36.2": {
+ "repo": "github/codeql-action/upload-sarif",
+ "version": "v4.36.2",
+ "sha": "8aad20d150bbac5944a9f9d289da16a4b0d87c1e"
+ },
+ "github/stale-repos@v9.0.15": {
+ "repo": "github/stale-repos",
+ "version": "v9.0.15",
+ "sha": "a0db8bfe2318ed6ddbd01e95d7633803f99f77e9"
+ },
+ "haskell-actions/setup@v2.11.0": {
+ "repo": "haskell-actions/setup",
+ "version": "v2.11.0",
+ "sha": "cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553"
+ },
+ "oven-sh/setup-bun@v2.2.0": {
+ "repo": "oven-sh/setup-bun",
+ "version": "v2.2.0",
+ "sha": "0c5077e51419868618aeaa5fe8019c62421857d6"
+ },
+ "ruby/setup-ruby@v1.314.0": {
+ "repo": "ruby/setup-ruby",
+ "version": "v1.314.0",
+ "sha": "9eb537ca036ebaed86729dcb9309076e4c5c3b74"
+ },
+ "safedep/pmg@v1": {
+ "repo": "safedep/pmg",
+ "version": "v1",
+ "sha": "46cc70db535107183c9e752bb55d1d5c5f1a9290"
+ },
+ "super-linter/super-linter@v8.7.0": {
+ "repo": "super-linter/super-linter",
+ "version": "v8.7.0",
+ "sha": "4ce20838b8ab83717e78138c5b3a1407148e0918"
}
- },
- "action_description": "Add labels to an issue or a pull request."
- },
- "actions/cache/restore@v6.1.0": {
- "repo": "actions/cache/restore",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/cache/save@v6.1.0": {
- "repo": "actions/cache/save",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/cache@v6.1.0": {
- "repo": "actions/cache",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/checkout@v7.0.0": {
- "repo": "actions/checkout",
- "version": "v7.0.0",
- "sha": "9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
- },
- "actions/create-github-app-token@v3.2.0": {
- "repo": "actions/create-github-app-token",
- "version": "v3.2.0",
- "sha": "bcd2ba49218906704ab6c1aa796996da409d3eb1"
- },
- "actions/download-artifact@v8.0.1": {
- "repo": "actions/download-artifact",
- "version": "v8.0.1",
- "sha": "3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"
- },
- "actions/github-script@v9.0.0": {
- "repo": "actions/github-script",
- "version": "v9.0.0",
- "sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
- },
- "actions/setup-dotnet@v5.4.0": {
- "repo": "actions/setup-dotnet",
- "version": "v5.4.0",
- "sha": "26b0ec14cb23fa6904739307f278c14f94c95bf1"
- },
- "actions/setup-go@v6.5.0": {
- "repo": "actions/setup-go",
- "version": "v6.5.0",
- "sha": "924ae3a1cded613372ab5595356fb5720e22ba16"
- },
- "actions/setup-java@v5.4.0": {
- "repo": "actions/setup-java",
- "version": "v5.4.0",
- "sha": "1bcf9fb12cf4aa7d266a90ae39939e61372fe520"
- },
- "actions/setup-node@v6.4.0": {
- "repo": "actions/setup-node",
- "version": "v6.4.0",
- "sha": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
- },
- "actions/setup-python@v6.3.0": {
- "repo": "actions/setup-python",
- "version": "v6.3.0",
- "sha": "ece7cb06caefa5fff74198d8649806c4678c61a1"
- },
- "actions/upload-artifact@v7.0.1": {
- "repo": "actions/upload-artifact",
- "version": "v7.0.1",
- "sha": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
- },
- "anchore/sbom-action@v0.24.0": {
- "repo": "anchore/sbom-action",
- "version": "v0.24.0",
- "sha": "e22c389904149dbc22b58101806040fa8d37a610"
- },
- "astral-sh/setup-uv@v8.2.0": {
- "repo": "astral-sh/setup-uv",
- "version": "v8.2.0",
- "sha": "fac544c07dec837d0ccb6301d7b5580bf5edae39"
- },
- "denoland/setup-deno@v2.0.4": {
- "repo": "denoland/setup-deno",
- "version": "v2.0.4",
- "sha": "667a34cdef165d8d2b2e98dde39547c9daac7282"
- },
- "docker/build-push-action@v7.2.0": {
- "repo": "docker/build-push-action",
- "version": "v7.2.0",
- "sha": "f9f3042f7e2789586610d6e8b85c8f03e5195baf",
- "released_at": "2026-05-21T15:23:58Z"
- },
- "docker/login-action@v4.2.0": {
- "repo": "docker/login-action",
- "version": "v4.2.0",
- "sha": "650006c6eb7dba73a995cc03b0b2d7f5ca915bee",
- "released_at": "2026-05-22T11:55:00Z"
- },
- "docker/metadata-action@v6.1.0": {
- "repo": "docker/metadata-action",
- "version": "v6.1.0",
- "sha": "80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9"
- },
- "docker/setup-buildx-action@v4.1.0": {
- "repo": "docker/setup-buildx-action",
- "version": "v4.1.0",
- "sha": "d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5"
- },
- "erlef/setup-beam@v1.24.0": {
- "repo": "erlef/setup-beam",
- "version": "v1.24.0",
- "sha": "fc68ffb90438ef2936bbb3251622353b3dcb2f93"
- },
- "github/codeql-action/upload-sarif@v4.36.2": {
- "repo": "github/codeql-action/upload-sarif",
- "version": "v4.36.2",
- "sha": "8aad20d150bbac5944a9f9d289da16a4b0d87c1e"
- },
- "github/stale-repos@v9.0.15": {
- "repo": "github/stale-repos",
- "version": "v9.0.15",
- "sha": "a0db8bfe2318ed6ddbd01e95d7633803f99f77e9"
- },
- "haskell-actions/setup@v2.11.0": {
- "repo": "haskell-actions/setup",
- "version": "v2.11.0",
- "sha": "cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553"
- },
- "oven-sh/setup-bun@v2.2.0": {
- "repo": "oven-sh/setup-bun",
- "version": "v2.2.0",
- "sha": "0c5077e51419868618aeaa5fe8019c62421857d6"
- },
- "ruby/setup-ruby@v1.314.0": {
- "repo": "ruby/setup-ruby",
- "version": "v1.314.0",
- "sha": "9eb537ca036ebaed86729dcb9309076e4c5c3b74"
- },
- "safedep/pmg@v1": {
- "repo": "safedep/pmg",
- "version": "v1",
- "sha": "46cc70db535107183c9e752bb55d1d5c5f1a9290"
- },
- "super-linter/super-linter@v8.7.0": {
- "repo": "super-linter/super-linter",
- "version": "v8.7.0",
- "sha": "4ce20838b8ab83717e78138c5b3a1407148e0918"
- }
- },
- "containers": {
- "alpine:latest": {
- "image": "alpine:latest",
- "digest": "sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11",
- "pinned_image": "alpine:latest@sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11"
- },
- "docker.io/mcp/brave-search": {
- "image": "docker.io/mcp/brave-search",
- "digest": "sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22",
- "pinned_image": "docker.io/mcp/brave-search@sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22"
- },
- "ghcr.io/chopratejas/headroom:latest": {
- "image": "ghcr.io/chopratejas/headroom:latest",
- "digest": "sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e",
- "pinned_image": "ghcr.io/chopratejas/headroom:latest@sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e"
- },
- "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29",
- "digest": "sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29@sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1"
- },
- "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13",
- "digest": "sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13@sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18",
- "digest": "sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18@sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20",
- "digest": "sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20@sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28",
- "digest": "sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28@sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29",
- "digest": "sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29@sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40",
- "digest": "sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40@sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41",
- "digest": "sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41@sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66",
- "digest": "sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66@sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67",
- "digest": "sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67@sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0",
- "digest": "sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0@sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1",
- "digest": "sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1@sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11",
- "digest": "sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11@sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12",
- "digest": "sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12@sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13",
- "digest": "sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13@sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2",
- "digest": "sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22",
- "digest": "sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4",
- "digest": "sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4@sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6",
- "digest": "sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6@sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7",
- "digest": "sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7@sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9",
- "digest": "sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9@sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18",
- "digest": "sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18@sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20",
- "digest": "sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20@sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28",
- "digest": "sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28@sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29",
- "digest": "sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29@sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40",
- "digest": "sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40@sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41",
- "digest": "sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41@sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66",
- "digest": "sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66@sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67",
- "digest": "sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67@sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0",
- "digest": "sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0@sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1",
- "digest": "sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1@sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11",
- "digest": "sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11@sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12",
- "digest": "sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12@sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13",
- "digest": "sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13@sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2",
- "digest": "sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22",
- "digest": "sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4",
- "digest": "sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4@sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6",
- "digest": "sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6@sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7",
- "digest": "sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7@sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9",
- "digest": "sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9@sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28",
- "digest": "sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28@sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29",
- "digest": "sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29@sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40",
- "digest": "sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40@sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41",
- "digest": "sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41@sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66",
- "digest": "sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66@sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67",
- "digest": "sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67@sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0",
- "digest": "sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0@sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1",
- "digest": "sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1@sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12",
- "digest": "sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12@sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13",
- "digest": "sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13@sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2",
- "digest": "sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22",
- "digest": "sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4",
- "digest": "sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4@sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6",
- "digest": "sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6@sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7",
- "digest": "sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7@sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9",
- "digest": "sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9@sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18",
- "digest": "sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18@sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20",
- "digest": "sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20@sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28",
- "digest": "sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28@sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29",
- "digest": "sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29@sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40",
- "digest": "sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40@sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41",
- "digest": "sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41@sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66",
- "digest": "sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66@sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67",
- "digest": "sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67@sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0",
- "digest": "sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0@sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1",
- "digest": "sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1@sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11",
- "digest": "sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11@sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12",
- "digest": "sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12@sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13",
- "digest": "sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13@sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2",
- "digest": "sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22",
- "digest": "sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4",
- "digest": "sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4@sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6",
- "digest": "sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6@sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7",
- "digest": "sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7@sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9",
- "digest": "sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9@sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.2.19": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.2.19",
- "digest": "sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.19@sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.2.30": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.2.30",
- "digest": "sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.30@sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.0": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.0",
- "digest": "sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.0@sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.1": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.1",
- "digest": "sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.1@sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.16": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.16",
- "digest": "sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.16@sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.23": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.23",
- "digest": "sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.23@sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.24": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.24",
- "digest": "sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.24@sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.25": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.25",
- "digest": "sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.26": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.26",
- "digest": "sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.26@sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.27": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.27",
- "digest": "sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.27@sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.29": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.29",
- "digest": "sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.29@sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.30": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.30",
- "digest": "sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.30@sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be"
},
- "ghcr.io/github/gh-aw-mcpg:v0.3.31": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.31",
- "digest": "sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.31@sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.32": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.32",
- "digest": "sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.32@sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.33": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.33",
- "digest": "sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.6": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.6",
- "digest": "sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.6@sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.8": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.8",
- "digest": "sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.8@sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.9": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.9",
- "digest": "sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.9@sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388"
- },
- "ghcr.io/github/gh-aw-node": {
- "image": "ghcr.io/github/gh-aw-node",
- "digest": "sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b",
- "pinned_image": "ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"
- },
- "ghcr.io/github/github-mcp-server:v0.32.0": {
- "image": "ghcr.io/github/github-mcp-server:v0.32.0",
- "digest": "sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28",
- "pinned_image": "ghcr.io/github/github-mcp-server:v0.32.0@sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28"
- },
- "ghcr.io/github/github-mcp-server:v1.0.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.0",
- "digest": "sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.0@sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95"
- },
- "ghcr.io/github/github-mcp-server:v1.0.3": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.3",
- "digest": "sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.3@sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959"
- },
- "ghcr.io/github/github-mcp-server:v1.0.4": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.4",
- "digest": "sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.4@sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4"
- },
- "ghcr.io/github/github-mcp-server:v1.1.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.1.0",
- "digest": "sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.0@sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029"
- },
- "ghcr.io/github/github-mcp-server:v1.1.2": {
- "image": "ghcr.io/github/github-mcp-server:v1.1.2",
- "digest": "sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"
- },
- "ghcr.io/github/github-mcp-server:v1.3.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.3.0",
- "digest": "sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.3.0@sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80"
- },
- "ghcr.io/github/github-mcp-server:v1.4.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.4.0",
- "digest": "sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.4.0@sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036"
- },
- "ghcr.io/github/github-mcp-server:v1.5.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.5.0",
- "digest": "sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"
- },
- "ghcr.io/github/serena-mcp-server:latest": {
- "image": "ghcr.io/github/serena-mcp-server:latest",
- "digest": "sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5",
- "pinned_image": "ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"
- },
- "grafana/mcp-grafana": {
- "image": "grafana/mcp-grafana",
- "digest": "sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090",
- "pinned_image": "grafana/mcp-grafana@sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090"
- },
- "mcp/arxiv-mcp-server": {
- "image": "mcp/arxiv-mcp-server",
- "digest": "sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e",
- "pinned_image": "mcp/arxiv-mcp-server@sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e"
- },
- "mcp/ast-grep:latest": {
- "image": "mcp/ast-grep:latest",
- "digest": "sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72",
- "pinned_image": "mcp/ast-grep:latest@sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72"
- },
- "mcp/context7": {
- "image": "mcp/context7",
- "digest": "sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836",
- "pinned_image": "mcp/context7@sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836"
- },
- "mcp/markitdown": {
- "image": "mcp/markitdown",
- "digest": "sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb",
- "pinned_image": "mcp/markitdown@sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb"
- },
- "mcp/memory": {
- "image": "mcp/memory",
- "digest": "sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f",
- "pinned_image": "mcp/memory@sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f"
- },
- "mcp/notion": {
- "image": "mcp/notion",
- "digest": "sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367",
- "pinned_image": "mcp/notion@sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367"
- },
- "mcr.microsoft.com/playwright/mcp": {
- "image": "mcr.microsoft.com/playwright/mcp",
- "digest": "sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2",
- "pinned_image": "mcr.microsoft.com/playwright/mcp@sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2"
- },
- "node:lts-alpine": {
- "image": "node:lts-alpine",
- "digest": "sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14",
- "pinned_image": "node:lts-alpine@sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14"
- },
- "python:alpine": {
- "image": "python:alpine",
- "digest": "sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116",
- "pinned_image": "python:alpine@sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116"
- },
- "semgrep/semgrep:latest": {
- "image": "semgrep/semgrep:latest",
- "digest": "sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2",
- "pinned_image": "semgrep/semgrep:latest@sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2"
+ "containers": {
+ "alpine:latest": {
+ "image": "alpine:latest",
+ "digest": "sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11",
+ "pinned_image": "alpine:latest@sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11"
+ },
+ "docker.io/mcp/brave-search": {
+ "image": "docker.io/mcp/brave-search",
+ "digest": "sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22",
+ "pinned_image": "docker.io/mcp/brave-search@sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22"
+ },
+ "ghcr.io/chopratejas/headroom:latest": {
+ "image": "ghcr.io/chopratejas/headroom:latest",
+ "digest": "sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e",
+ "pinned_image": "ghcr.io/chopratejas/headroom:latest@sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29",
+ "digest": "sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29@sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13",
+ "digest": "sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13@sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18",
+ "digest": "sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18@sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20",
+ "digest": "sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20@sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28",
+ "digest": "sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28@sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29",
+ "digest": "sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29@sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40",
+ "digest": "sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40@sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41",
+ "digest": "sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41@sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66",
+ "digest": "sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66@sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67",
+ "digest": "sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67@sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0",
+ "digest": "sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0@sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1",
+ "digest": "sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1@sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11",
+ "digest": "sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11@sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12",
+ "digest": "sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12@sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13",
+ "digest": "sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13@sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2",
+ "digest": "sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22",
+ "digest": "sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4",
+ "digest": "sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4@sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6",
+ "digest": "sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6@sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7",
+ "digest": "sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7@sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9",
+ "digest": "sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9@sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18",
+ "digest": "sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18@sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20",
+ "digest": "sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20@sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28",
+ "digest": "sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28@sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29",
+ "digest": "sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29@sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40",
+ "digest": "sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40@sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41",
+ "digest": "sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41@sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66",
+ "digest": "sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66@sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67",
+ "digest": "sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67@sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0",
+ "digest": "sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0@sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1",
+ "digest": "sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1@sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11",
+ "digest": "sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11@sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12",
+ "digest": "sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12@sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13",
+ "digest": "sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13@sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2",
+ "digest": "sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22",
+ "digest": "sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4",
+ "digest": "sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4@sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6",
+ "digest": "sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6@sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7",
+ "digest": "sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7@sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9",
+ "digest": "sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9@sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28",
+ "digest": "sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28@sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29",
+ "digest": "sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29@sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40",
+ "digest": "sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40@sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41",
+ "digest": "sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41@sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66",
+ "digest": "sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66@sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67",
+ "digest": "sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67@sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0",
+ "digest": "sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0@sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1",
+ "digest": "sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1@sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12",
+ "digest": "sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12@sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13",
+ "digest": "sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13@sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2",
+ "digest": "sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22",
+ "digest": "sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4",
+ "digest": "sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4@sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6",
+ "digest": "sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6@sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7",
+ "digest": "sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7@sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9",
+ "digest": "sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9@sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18",
+ "digest": "sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18@sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20",
+ "digest": "sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20@sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28",
+ "digest": "sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28@sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29",
+ "digest": "sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29@sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40",
+ "digest": "sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40@sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41",
+ "digest": "sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41@sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66",
+ "digest": "sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66@sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67",
+ "digest": "sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67@sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0",
+ "digest": "sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0@sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1",
+ "digest": "sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1@sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11",
+ "digest": "sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11@sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12",
+ "digest": "sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12@sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13",
+ "digest": "sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13@sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2",
+ "digest": "sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22",
+ "digest": "sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4",
+ "digest": "sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4@sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6",
+ "digest": "sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6@sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7",
+ "digest": "sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7@sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9",
+ "digest": "sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9@sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.2.19": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.2.19",
+ "digest": "sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.19@sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.2.30": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.2.30",
+ "digest": "sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.30@sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.0": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.0",
+ "digest": "sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.0@sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.1": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.1",
+ "digest": "sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.1@sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.16": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.16",
+ "digest": "sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.16@sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.23": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.23",
+ "digest": "sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.23@sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.24": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.24",
+ "digest": "sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.24@sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.25": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.25",
+ "digest": "sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.26": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.26",
+ "digest": "sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.26@sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.27": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.27",
+ "digest": "sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.27@sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.29": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.29",
+ "digest": "sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.29@sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.30": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.30",
+ "digest": "sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.30@sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.31": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.31",
+ "digest": "sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.31@sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.32": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.32",
+ "digest": "sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.32@sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.33": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.33",
+ "digest": "sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.6": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.6",
+ "digest": "sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.6@sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.8": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.8",
+ "digest": "sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.8@sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.9": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.9",
+ "digest": "sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.9@sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388"
+ },
+ "ghcr.io/github/gh-aw-node": {
+ "image": "ghcr.io/github/gh-aw-node",
+ "digest": "sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b",
+ "pinned_image": "ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"
+ },
+ "ghcr.io/github/github-mcp-server:v0.32.0": {
+ "image": "ghcr.io/github/github-mcp-server:v0.32.0",
+ "digest": "sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v0.32.0@sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.0",
+ "digest": "sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.0@sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.3": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.3",
+ "digest": "sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.3@sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.4": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.4",
+ "digest": "sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.4@sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4"
+ },
+ "ghcr.io/github/github-mcp-server:v1.1.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.1.0",
+ "digest": "sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.0@sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029"
+ },
+ "ghcr.io/github/github-mcp-server:v1.1.2": {
+ "image": "ghcr.io/github/github-mcp-server:v1.1.2",
+ "digest": "sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"
+ },
+ "ghcr.io/github/github-mcp-server:v1.3.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.3.0",
+ "digest": "sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.3.0@sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80"
+ },
+ "ghcr.io/github/github-mcp-server:v1.4.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.4.0",
+ "digest": "sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.4.0@sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036"
+ },
+ "ghcr.io/github/github-mcp-server:v1.5.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.5.0",
+ "digest": "sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"
+ },
+ "ghcr.io/github/serena-mcp-server:latest": {
+ "image": "ghcr.io/github/serena-mcp-server:latest",
+ "digest": "sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5",
+ "pinned_image": "ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"
+ },
+ "grafana/mcp-grafana": {
+ "image": "grafana/mcp-grafana",
+ "digest": "sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090",
+ "pinned_image": "grafana/mcp-grafana@sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090"
+ },
+ "mcp/arxiv-mcp-server": {
+ "image": "mcp/arxiv-mcp-server",
+ "digest": "sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e",
+ "pinned_image": "mcp/arxiv-mcp-server@sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e"
+ },
+ "mcp/ast-grep:latest": {
+ "image": "mcp/ast-grep:latest",
+ "digest": "sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72",
+ "pinned_image": "mcp/ast-grep:latest@sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72"
+ },
+ "mcp/context7": {
+ "image": "mcp/context7",
+ "digest": "sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836",
+ "pinned_image": "mcp/context7@sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836"
+ },
+ "mcp/markitdown": {
+ "image": "mcp/markitdown",
+ "digest": "sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb",
+ "pinned_image": "mcp/markitdown@sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb"
+ },
+ "mcp/memory": {
+ "image": "mcp/memory",
+ "digest": "sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f",
+ "pinned_image": "mcp/memory@sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f"
+ },
+ "mcp/notion": {
+ "image": "mcp/notion",
+ "digest": "sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367",
+ "pinned_image": "mcp/notion@sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367"
+ },
+ "mcr.microsoft.com/playwright/mcp": {
+ "image": "mcr.microsoft.com/playwright/mcp",
+ "digest": "sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2",
+ "pinned_image": "mcr.microsoft.com/playwright/mcp@sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2"
+ },
+ "node:lts-alpine": {
+ "image": "node:lts-alpine",
+ "digest": "sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14",
+ "pinned_image": "node:lts-alpine@sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14"
+ },
+ "python:alpine": {
+ "image": "python:alpine",
+ "digest": "sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116",
+ "pinned_image": "python:alpine@sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116"
+ },
+ "semgrep/semgrep:latest": {
+ "image": "semgrep/semgrep:latest",
+ "digest": "sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2",
+ "pinned_image": "semgrep/semgrep:latest@sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2"
+ }
}
- }
}
diff --git a/pkg/workflow/data/action_pins.json b/pkg/workflow/data/action_pins.json
index 0540eda0972..ffe6c94d496 100644
--- a/pkg/workflow/data/action_pins.json
+++ b/pkg/workflow/data/action_pins.json
@@ -1,761 +1,761 @@
{
- "entries": {
- "actions-ecosystem/action-add-labels@v1.1.3": {
- "repo": "actions-ecosystem/action-add-labels",
- "version": "v1.1.3",
- "sha": "c96b68fec76a0987cd93957189e9abd0b9a72ff1",
- "inputs": {
- "github_token": {
- "description": "A GitHub token.",
- "default": "${{ github.token }}"
- },
- "labels": {
- "description": "The labels' name to be added. Must be separated with line breaks if there're multiple labels.",
- "required": true
- },
- "number": {
- "description": "The number of the issue or pull request."
- },
- "repo": {
- "description": "The owner and repository name. e.g.) Codertocat/Hello-World",
- "default": "${{ github.repository }}"
+ "entries": {
+ "actions-ecosystem/action-add-labels@v1.1.3": {
+ "repo": "actions-ecosystem/action-add-labels",
+ "version": "v1.1.3",
+ "sha": "c96b68fec76a0987cd93957189e9abd0b9a72ff1",
+ "inputs": {
+ "github_token": {
+ "description": "A GitHub token.",
+ "default": "${{ github.token }}"
+ },
+ "labels": {
+ "description": "The labels' name to be added. Must be separated with line breaks if there're multiple labels.",
+ "required": true
+ },
+ "number": {
+ "description": "The number of the issue or pull request."
+ },
+ "repo": {
+ "description": "The owner and repository name. e.g.) Codertocat/Hello-World",
+ "default": "${{ github.repository }}"
+ }
+ },
+ "action_description": "Add labels to an issue or a pull request."
+ },
+ "actions/cache/restore@v6.1.0": {
+ "repo": "actions/cache/restore",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/cache/save@v6.1.0": {
+ "repo": "actions/cache/save",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/cache@v6.1.0": {
+ "repo": "actions/cache",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/checkout@v7.0.0": {
+ "repo": "actions/checkout",
+ "version": "v7.0.0",
+ "sha": "9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
+ },
+ "actions/create-github-app-token@v3.2.0": {
+ "repo": "actions/create-github-app-token",
+ "version": "v3.2.0",
+ "sha": "bcd2ba49218906704ab6c1aa796996da409d3eb1"
+ },
+ "actions/download-artifact@v8.0.1": {
+ "repo": "actions/download-artifact",
+ "version": "v8.0.1",
+ "sha": "3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"
+ },
+ "actions/github-script@v9.0.0": {
+ "repo": "actions/github-script",
+ "version": "v9.0.0",
+ "sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
+ },
+ "actions/setup-dotnet@v5.4.0": {
+ "repo": "actions/setup-dotnet",
+ "version": "v5.4.0",
+ "sha": "26b0ec14cb23fa6904739307f278c14f94c95bf1"
+ },
+ "actions/setup-go@v6.5.0": {
+ "repo": "actions/setup-go",
+ "version": "v6.5.0",
+ "sha": "924ae3a1cded613372ab5595356fb5720e22ba16"
+ },
+ "actions/setup-java@v5.4.0": {
+ "repo": "actions/setup-java",
+ "version": "v5.4.0",
+ "sha": "1bcf9fb12cf4aa7d266a90ae39939e61372fe520"
+ },
+ "actions/setup-node@v6.4.0": {
+ "repo": "actions/setup-node",
+ "version": "v6.4.0",
+ "sha": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
+ },
+ "actions/setup-python@v6.3.0": {
+ "repo": "actions/setup-python",
+ "version": "v6.3.0",
+ "sha": "ece7cb06caefa5fff74198d8649806c4678c61a1"
+ },
+ "actions/upload-artifact@v7.0.1": {
+ "repo": "actions/upload-artifact",
+ "version": "v7.0.1",
+ "sha": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
+ },
+ "anchore/sbom-action@v0.24.0": {
+ "repo": "anchore/sbom-action",
+ "version": "v0.24.0",
+ "sha": "e22c389904149dbc22b58101806040fa8d37a610"
+ },
+ "astral-sh/setup-uv@v8.2.0": {
+ "repo": "astral-sh/setup-uv",
+ "version": "v8.2.0",
+ "sha": "fac544c07dec837d0ccb6301d7b5580bf5edae39"
+ },
+ "denoland/setup-deno@v2.0.4": {
+ "repo": "denoland/setup-deno",
+ "version": "v2.0.4",
+ "sha": "667a34cdef165d8d2b2e98dde39547c9daac7282"
+ },
+ "docker/build-push-action@v7.2.0": {
+ "repo": "docker/build-push-action",
+ "version": "v7.2.0",
+ "sha": "f9f3042f7e2789586610d6e8b85c8f03e5195baf",
+ "released_at": "2026-05-21T15:23:58Z"
+ },
+ "docker/login-action@v4.2.0": {
+ "repo": "docker/login-action",
+ "version": "v4.2.0",
+ "sha": "650006c6eb7dba73a995cc03b0b2d7f5ca915bee",
+ "released_at": "2026-05-22T11:55:00Z"
+ },
+ "docker/metadata-action@v6.1.0": {
+ "repo": "docker/metadata-action",
+ "version": "v6.1.0",
+ "sha": "80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9"
+ },
+ "docker/setup-buildx-action@v4.1.0": {
+ "repo": "docker/setup-buildx-action",
+ "version": "v4.1.0",
+ "sha": "d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5"
+ },
+ "erlef/setup-beam@v1.24.0": {
+ "repo": "erlef/setup-beam",
+ "version": "v1.24.0",
+ "sha": "fc68ffb90438ef2936bbb3251622353b3dcb2f93"
+ },
+ "github/codeql-action/upload-sarif@v4.36.2": {
+ "repo": "github/codeql-action/upload-sarif",
+ "version": "v4.36.2",
+ "sha": "8aad20d150bbac5944a9f9d289da16a4b0d87c1e"
+ },
+ "github/stale-repos@v9.0.15": {
+ "repo": "github/stale-repos",
+ "version": "v9.0.15",
+ "sha": "a0db8bfe2318ed6ddbd01e95d7633803f99f77e9"
+ },
+ "haskell-actions/setup@v2.11.0": {
+ "repo": "haskell-actions/setup",
+ "version": "v2.11.0",
+ "sha": "cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553"
+ },
+ "oven-sh/setup-bun@v2.2.0": {
+ "repo": "oven-sh/setup-bun",
+ "version": "v2.2.0",
+ "sha": "0c5077e51419868618aeaa5fe8019c62421857d6"
+ },
+ "ruby/setup-ruby@v1.314.0": {
+ "repo": "ruby/setup-ruby",
+ "version": "v1.314.0",
+ "sha": "9eb537ca036ebaed86729dcb9309076e4c5c3b74"
+ },
+ "safedep/pmg@v1": {
+ "repo": "safedep/pmg",
+ "version": "v1",
+ "sha": "46cc70db535107183c9e752bb55d1d5c5f1a9290"
+ },
+ "super-linter/super-linter@v8.7.0": {
+ "repo": "super-linter/super-linter",
+ "version": "v8.7.0",
+ "sha": "4ce20838b8ab83717e78138c5b3a1407148e0918"
}
- },
- "action_description": "Add labels to an issue or a pull request."
- },
- "actions/cache/restore@v6.1.0": {
- "repo": "actions/cache/restore",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/cache/save@v6.1.0": {
- "repo": "actions/cache/save",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/cache@v6.1.0": {
- "repo": "actions/cache",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/checkout@v7.0.0": {
- "repo": "actions/checkout",
- "version": "v7.0.0",
- "sha": "9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
- },
- "actions/create-github-app-token@v3.2.0": {
- "repo": "actions/create-github-app-token",
- "version": "v3.2.0",
- "sha": "bcd2ba49218906704ab6c1aa796996da409d3eb1"
- },
- "actions/download-artifact@v8.0.1": {
- "repo": "actions/download-artifact",
- "version": "v8.0.1",
- "sha": "3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"
- },
- "actions/github-script@v9.0.0": {
- "repo": "actions/github-script",
- "version": "v9.0.0",
- "sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
- },
- "actions/setup-dotnet@v5.4.0": {
- "repo": "actions/setup-dotnet",
- "version": "v5.4.0",
- "sha": "26b0ec14cb23fa6904739307f278c14f94c95bf1"
- },
- "actions/setup-go@v6.5.0": {
- "repo": "actions/setup-go",
- "version": "v6.5.0",
- "sha": "924ae3a1cded613372ab5595356fb5720e22ba16"
- },
- "actions/setup-java@v5.4.0": {
- "repo": "actions/setup-java",
- "version": "v5.4.0",
- "sha": "1bcf9fb12cf4aa7d266a90ae39939e61372fe520"
- },
- "actions/setup-node@v6.4.0": {
- "repo": "actions/setup-node",
- "version": "v6.4.0",
- "sha": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
- },
- "actions/setup-python@v6.3.0": {
- "repo": "actions/setup-python",
- "version": "v6.3.0",
- "sha": "ece7cb06caefa5fff74198d8649806c4678c61a1"
- },
- "actions/upload-artifact@v7.0.1": {
- "repo": "actions/upload-artifact",
- "version": "v7.0.1",
- "sha": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
- },
- "anchore/sbom-action@v0.24.0": {
- "repo": "anchore/sbom-action",
- "version": "v0.24.0",
- "sha": "e22c389904149dbc22b58101806040fa8d37a610"
- },
- "astral-sh/setup-uv@v8.2.0": {
- "repo": "astral-sh/setup-uv",
- "version": "v8.2.0",
- "sha": "fac544c07dec837d0ccb6301d7b5580bf5edae39"
- },
- "denoland/setup-deno@v2.0.4": {
- "repo": "denoland/setup-deno",
- "version": "v2.0.4",
- "sha": "667a34cdef165d8d2b2e98dde39547c9daac7282"
- },
- "docker/build-push-action@v7.2.0": {
- "repo": "docker/build-push-action",
- "version": "v7.2.0",
- "sha": "f9f3042f7e2789586610d6e8b85c8f03e5195baf",
- "released_at": "2026-05-21T15:23:58Z"
- },
- "docker/login-action@v4.2.0": {
- "repo": "docker/login-action",
- "version": "v4.2.0",
- "sha": "650006c6eb7dba73a995cc03b0b2d7f5ca915bee",
- "released_at": "2026-05-22T11:55:00Z"
- },
- "docker/metadata-action@v6.1.0": {
- "repo": "docker/metadata-action",
- "version": "v6.1.0",
- "sha": "80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9"
- },
- "docker/setup-buildx-action@v4.1.0": {
- "repo": "docker/setup-buildx-action",
- "version": "v4.1.0",
- "sha": "d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5"
- },
- "erlef/setup-beam@v1.24.0": {
- "repo": "erlef/setup-beam",
- "version": "v1.24.0",
- "sha": "fc68ffb90438ef2936bbb3251622353b3dcb2f93"
- },
- "github/codeql-action/upload-sarif@v4.36.2": {
- "repo": "github/codeql-action/upload-sarif",
- "version": "v4.36.2",
- "sha": "8aad20d150bbac5944a9f9d289da16a4b0d87c1e"
- },
- "github/stale-repos@v9.0.15": {
- "repo": "github/stale-repos",
- "version": "v9.0.15",
- "sha": "a0db8bfe2318ed6ddbd01e95d7633803f99f77e9"
- },
- "haskell-actions/setup@v2.11.0": {
- "repo": "haskell-actions/setup",
- "version": "v2.11.0",
- "sha": "cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553"
- },
- "oven-sh/setup-bun@v2.2.0": {
- "repo": "oven-sh/setup-bun",
- "version": "v2.2.0",
- "sha": "0c5077e51419868618aeaa5fe8019c62421857d6"
- },
- "ruby/setup-ruby@v1.314.0": {
- "repo": "ruby/setup-ruby",
- "version": "v1.314.0",
- "sha": "9eb537ca036ebaed86729dcb9309076e4c5c3b74"
- },
- "safedep/pmg@v1": {
- "repo": "safedep/pmg",
- "version": "v1",
- "sha": "46cc70db535107183c9e752bb55d1d5c5f1a9290"
- },
- "super-linter/super-linter@v8.7.0": {
- "repo": "super-linter/super-linter",
- "version": "v8.7.0",
- "sha": "4ce20838b8ab83717e78138c5b3a1407148e0918"
- }
- },
- "containers": {
- "alpine:latest": {
- "image": "alpine:latest",
- "digest": "sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11",
- "pinned_image": "alpine:latest@sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11"
- },
- "docker.io/mcp/brave-search": {
- "image": "docker.io/mcp/brave-search",
- "digest": "sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22",
- "pinned_image": "docker.io/mcp/brave-search@sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22"
- },
- "ghcr.io/chopratejas/headroom:latest": {
- "image": "ghcr.io/chopratejas/headroom:latest",
- "digest": "sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e",
- "pinned_image": "ghcr.io/chopratejas/headroom:latest@sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e"
- },
- "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29",
- "digest": "sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29@sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1"
- },
- "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13",
- "digest": "sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13@sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18",
- "digest": "sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18@sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20",
- "digest": "sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20@sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28",
- "digest": "sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28@sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29",
- "digest": "sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29@sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40",
- "digest": "sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40@sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41",
- "digest": "sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41@sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66",
- "digest": "sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66@sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67",
- "digest": "sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67@sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0",
- "digest": "sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0@sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1",
- "digest": "sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1@sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11",
- "digest": "sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11@sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12",
- "digest": "sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12@sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13",
- "digest": "sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13@sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2",
- "digest": "sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22",
- "digest": "sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4",
- "digest": "sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4@sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6",
- "digest": "sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6@sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7",
- "digest": "sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7@sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9",
- "digest": "sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9@sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18",
- "digest": "sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18@sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20",
- "digest": "sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20@sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28",
- "digest": "sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28@sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29",
- "digest": "sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29@sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40",
- "digest": "sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40@sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41",
- "digest": "sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41@sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66",
- "digest": "sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66@sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67",
- "digest": "sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67@sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0",
- "digest": "sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0@sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1",
- "digest": "sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1@sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11",
- "digest": "sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11@sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12",
- "digest": "sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12@sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13",
- "digest": "sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13@sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2",
- "digest": "sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22",
- "digest": "sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4",
- "digest": "sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4@sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6",
- "digest": "sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6@sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7",
- "digest": "sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7@sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9",
- "digest": "sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9@sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28",
- "digest": "sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28@sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29",
- "digest": "sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29@sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40",
- "digest": "sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40@sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41",
- "digest": "sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41@sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66",
- "digest": "sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66@sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67",
- "digest": "sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67@sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0",
- "digest": "sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0@sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1",
- "digest": "sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1@sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12",
- "digest": "sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12@sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13",
- "digest": "sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13@sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2",
- "digest": "sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22",
- "digest": "sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4",
- "digest": "sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4@sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6",
- "digest": "sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6@sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7",
- "digest": "sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7@sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9",
- "digest": "sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9@sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18",
- "digest": "sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18@sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20",
- "digest": "sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20@sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28",
- "digest": "sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28@sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29",
- "digest": "sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29@sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40",
- "digest": "sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40@sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41",
- "digest": "sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41@sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66",
- "digest": "sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66@sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67",
- "digest": "sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67@sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0",
- "digest": "sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0@sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1",
- "digest": "sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1@sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11",
- "digest": "sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11@sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12",
- "digest": "sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12@sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13",
- "digest": "sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13@sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2",
- "digest": "sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22",
- "digest": "sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4",
- "digest": "sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4@sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6",
- "digest": "sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6@sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7",
- "digest": "sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7@sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9",
- "digest": "sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9@sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.2.19": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.2.19",
- "digest": "sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.19@sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.2.30": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.2.30",
- "digest": "sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.30@sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.0": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.0",
- "digest": "sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.0@sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.1": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.1",
- "digest": "sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.1@sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.16": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.16",
- "digest": "sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.16@sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.23": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.23",
- "digest": "sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.23@sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.24": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.24",
- "digest": "sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.24@sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.25": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.25",
- "digest": "sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.26": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.26",
- "digest": "sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.26@sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.27": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.27",
- "digest": "sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.27@sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.29": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.29",
- "digest": "sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.29@sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.30": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.30",
- "digest": "sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.30@sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be"
},
- "ghcr.io/github/gh-aw-mcpg:v0.3.31": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.31",
- "digest": "sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.31@sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.32": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.32",
- "digest": "sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.32@sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.33": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.33",
- "digest": "sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.6": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.6",
- "digest": "sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.6@sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.8": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.8",
- "digest": "sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.8@sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.9": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.9",
- "digest": "sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.9@sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388"
- },
- "ghcr.io/github/gh-aw-node": {
- "image": "ghcr.io/github/gh-aw-node",
- "digest": "sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b",
- "pinned_image": "ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"
- },
- "ghcr.io/github/github-mcp-server:v0.32.0": {
- "image": "ghcr.io/github/github-mcp-server:v0.32.0",
- "digest": "sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28",
- "pinned_image": "ghcr.io/github/github-mcp-server:v0.32.0@sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28"
- },
- "ghcr.io/github/github-mcp-server:v1.0.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.0",
- "digest": "sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.0@sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95"
- },
- "ghcr.io/github/github-mcp-server:v1.0.3": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.3",
- "digest": "sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.3@sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959"
- },
- "ghcr.io/github/github-mcp-server:v1.0.4": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.4",
- "digest": "sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.4@sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4"
- },
- "ghcr.io/github/github-mcp-server:v1.1.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.1.0",
- "digest": "sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.0@sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029"
- },
- "ghcr.io/github/github-mcp-server:v1.1.2": {
- "image": "ghcr.io/github/github-mcp-server:v1.1.2",
- "digest": "sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"
- },
- "ghcr.io/github/github-mcp-server:v1.3.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.3.0",
- "digest": "sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.3.0@sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80"
- },
- "ghcr.io/github/github-mcp-server:v1.4.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.4.0",
- "digest": "sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.4.0@sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036"
- },
- "ghcr.io/github/github-mcp-server:v1.5.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.5.0",
- "digest": "sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"
- },
- "ghcr.io/github/serena-mcp-server:latest": {
- "image": "ghcr.io/github/serena-mcp-server:latest",
- "digest": "sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5",
- "pinned_image": "ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"
- },
- "grafana/mcp-grafana": {
- "image": "grafana/mcp-grafana",
- "digest": "sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090",
- "pinned_image": "grafana/mcp-grafana@sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090"
- },
- "mcp/arxiv-mcp-server": {
- "image": "mcp/arxiv-mcp-server",
- "digest": "sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e",
- "pinned_image": "mcp/arxiv-mcp-server@sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e"
- },
- "mcp/ast-grep:latest": {
- "image": "mcp/ast-grep:latest",
- "digest": "sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72",
- "pinned_image": "mcp/ast-grep:latest@sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72"
- },
- "mcp/context7": {
- "image": "mcp/context7",
- "digest": "sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836",
- "pinned_image": "mcp/context7@sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836"
- },
- "mcp/markitdown": {
- "image": "mcp/markitdown",
- "digest": "sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb",
- "pinned_image": "mcp/markitdown@sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb"
- },
- "mcp/memory": {
- "image": "mcp/memory",
- "digest": "sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f",
- "pinned_image": "mcp/memory@sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f"
- },
- "mcp/notion": {
- "image": "mcp/notion",
- "digest": "sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367",
- "pinned_image": "mcp/notion@sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367"
- },
- "mcr.microsoft.com/playwright/mcp": {
- "image": "mcr.microsoft.com/playwright/mcp",
- "digest": "sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2",
- "pinned_image": "mcr.microsoft.com/playwright/mcp@sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2"
- },
- "node:lts-alpine": {
- "image": "node:lts-alpine",
- "digest": "sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14",
- "pinned_image": "node:lts-alpine@sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14"
- },
- "python:alpine": {
- "image": "python:alpine",
- "digest": "sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116",
- "pinned_image": "python:alpine@sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116"
- },
- "semgrep/semgrep:latest": {
- "image": "semgrep/semgrep:latest",
- "digest": "sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2",
- "pinned_image": "semgrep/semgrep:latest@sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2"
+ "containers": {
+ "alpine:latest": {
+ "image": "alpine:latest",
+ "digest": "sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11",
+ "pinned_image": "alpine:latest@sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11"
+ },
+ "docker.io/mcp/brave-search": {
+ "image": "docker.io/mcp/brave-search",
+ "digest": "sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22",
+ "pinned_image": "docker.io/mcp/brave-search@sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22"
+ },
+ "ghcr.io/chopratejas/headroom:latest": {
+ "image": "ghcr.io/chopratejas/headroom:latest",
+ "digest": "sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e",
+ "pinned_image": "ghcr.io/chopratejas/headroom:latest@sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29",
+ "digest": "sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29@sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13",
+ "digest": "sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13@sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18",
+ "digest": "sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18@sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20",
+ "digest": "sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20@sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28",
+ "digest": "sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28@sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29",
+ "digest": "sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29@sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40",
+ "digest": "sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40@sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41",
+ "digest": "sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41@sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66",
+ "digest": "sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66@sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67",
+ "digest": "sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67@sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0",
+ "digest": "sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0@sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1",
+ "digest": "sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1@sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11",
+ "digest": "sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11@sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12",
+ "digest": "sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12@sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13",
+ "digest": "sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13@sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2",
+ "digest": "sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22",
+ "digest": "sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4",
+ "digest": "sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4@sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6",
+ "digest": "sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6@sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7",
+ "digest": "sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7@sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9",
+ "digest": "sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9@sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18",
+ "digest": "sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18@sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20",
+ "digest": "sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20@sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28",
+ "digest": "sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28@sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29",
+ "digest": "sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29@sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40",
+ "digest": "sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40@sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41",
+ "digest": "sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41@sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66",
+ "digest": "sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66@sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67",
+ "digest": "sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67@sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0",
+ "digest": "sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0@sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1",
+ "digest": "sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1@sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11",
+ "digest": "sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11@sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12",
+ "digest": "sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12@sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13",
+ "digest": "sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13@sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2",
+ "digest": "sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22",
+ "digest": "sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4",
+ "digest": "sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4@sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6",
+ "digest": "sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6@sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7",
+ "digest": "sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7@sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9",
+ "digest": "sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9@sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28",
+ "digest": "sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28@sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29",
+ "digest": "sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29@sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40",
+ "digest": "sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40@sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41",
+ "digest": "sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41@sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66",
+ "digest": "sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66@sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67",
+ "digest": "sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67@sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0",
+ "digest": "sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0@sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1",
+ "digest": "sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1@sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12",
+ "digest": "sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12@sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13",
+ "digest": "sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13@sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2",
+ "digest": "sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22",
+ "digest": "sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4",
+ "digest": "sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4@sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6",
+ "digest": "sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6@sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7",
+ "digest": "sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7@sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9",
+ "digest": "sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9@sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18",
+ "digest": "sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18@sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20",
+ "digest": "sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20@sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28",
+ "digest": "sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28@sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29",
+ "digest": "sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29@sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40",
+ "digest": "sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40@sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41",
+ "digest": "sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41@sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66",
+ "digest": "sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66@sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67",
+ "digest": "sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67@sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0",
+ "digest": "sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0@sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1",
+ "digest": "sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1@sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11",
+ "digest": "sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11@sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12",
+ "digest": "sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12@sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13",
+ "digest": "sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13@sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2",
+ "digest": "sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22",
+ "digest": "sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4",
+ "digest": "sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4@sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6",
+ "digest": "sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6@sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7",
+ "digest": "sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7@sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9",
+ "digest": "sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9@sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.2.19": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.2.19",
+ "digest": "sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.19@sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.2.30": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.2.30",
+ "digest": "sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.30@sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.0": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.0",
+ "digest": "sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.0@sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.1": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.1",
+ "digest": "sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.1@sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.16": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.16",
+ "digest": "sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.16@sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.23": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.23",
+ "digest": "sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.23@sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.24": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.24",
+ "digest": "sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.24@sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.25": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.25",
+ "digest": "sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.26": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.26",
+ "digest": "sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.26@sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.27": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.27",
+ "digest": "sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.27@sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.29": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.29",
+ "digest": "sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.29@sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.30": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.30",
+ "digest": "sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.30@sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.31": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.31",
+ "digest": "sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.31@sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.32": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.32",
+ "digest": "sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.32@sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.33": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.33",
+ "digest": "sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.6": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.6",
+ "digest": "sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.6@sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.8": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.8",
+ "digest": "sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.8@sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.9": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.9",
+ "digest": "sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.9@sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388"
+ },
+ "ghcr.io/github/gh-aw-node": {
+ "image": "ghcr.io/github/gh-aw-node",
+ "digest": "sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b",
+ "pinned_image": "ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"
+ },
+ "ghcr.io/github/github-mcp-server:v0.32.0": {
+ "image": "ghcr.io/github/github-mcp-server:v0.32.0",
+ "digest": "sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v0.32.0@sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.0",
+ "digest": "sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.0@sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.3": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.3",
+ "digest": "sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.3@sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.4": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.4",
+ "digest": "sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.4@sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4"
+ },
+ "ghcr.io/github/github-mcp-server:v1.1.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.1.0",
+ "digest": "sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.0@sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029"
+ },
+ "ghcr.io/github/github-mcp-server:v1.1.2": {
+ "image": "ghcr.io/github/github-mcp-server:v1.1.2",
+ "digest": "sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"
+ },
+ "ghcr.io/github/github-mcp-server:v1.3.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.3.0",
+ "digest": "sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.3.0@sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80"
+ },
+ "ghcr.io/github/github-mcp-server:v1.4.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.4.0",
+ "digest": "sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.4.0@sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036"
+ },
+ "ghcr.io/github/github-mcp-server:v1.5.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.5.0",
+ "digest": "sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"
+ },
+ "ghcr.io/github/serena-mcp-server:latest": {
+ "image": "ghcr.io/github/serena-mcp-server:latest",
+ "digest": "sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5",
+ "pinned_image": "ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"
+ },
+ "grafana/mcp-grafana": {
+ "image": "grafana/mcp-grafana",
+ "digest": "sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090",
+ "pinned_image": "grafana/mcp-grafana@sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090"
+ },
+ "mcp/arxiv-mcp-server": {
+ "image": "mcp/arxiv-mcp-server",
+ "digest": "sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e",
+ "pinned_image": "mcp/arxiv-mcp-server@sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e"
+ },
+ "mcp/ast-grep:latest": {
+ "image": "mcp/ast-grep:latest",
+ "digest": "sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72",
+ "pinned_image": "mcp/ast-grep:latest@sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72"
+ },
+ "mcp/context7": {
+ "image": "mcp/context7",
+ "digest": "sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836",
+ "pinned_image": "mcp/context7@sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836"
+ },
+ "mcp/markitdown": {
+ "image": "mcp/markitdown",
+ "digest": "sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb",
+ "pinned_image": "mcp/markitdown@sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb"
+ },
+ "mcp/memory": {
+ "image": "mcp/memory",
+ "digest": "sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f",
+ "pinned_image": "mcp/memory@sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f"
+ },
+ "mcp/notion": {
+ "image": "mcp/notion",
+ "digest": "sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367",
+ "pinned_image": "mcp/notion@sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367"
+ },
+ "mcr.microsoft.com/playwright/mcp": {
+ "image": "mcr.microsoft.com/playwright/mcp",
+ "digest": "sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2",
+ "pinned_image": "mcr.microsoft.com/playwright/mcp@sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2"
+ },
+ "node:lts-alpine": {
+ "image": "node:lts-alpine",
+ "digest": "sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14",
+ "pinned_image": "node:lts-alpine@sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14"
+ },
+ "python:alpine": {
+ "image": "python:alpine",
+ "digest": "sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116",
+ "pinned_image": "python:alpine@sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116"
+ },
+ "semgrep/semgrep:latest": {
+ "image": "semgrep/semgrep:latest",
+ "digest": "sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2",
+ "pinned_image": "semgrep/semgrep:latest@sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2"
+ }
}
- }
}
From 21c496ff672f9be1096725d090ff1e6f77cce830 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 5 Jul 2026 03:31:02 +0000
Subject: [PATCH 5/7] Refactor check_token_telemetry into
shared/token-telemetry-check.md; import into smoke-copilot, smoke-claude,
smoke-codex; remove standalone smoke-token-telemetry workflow
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
---
.github/aw/actions-lock.json | 5 -
.../token-telemetry-check.md} | 70 +-
.github/workflows/smoke-claude.lock.yml | 73 +-
.github/workflows/smoke-claude.md | 1 +
.github/workflows/smoke-codex.lock.yml | 93 +-
.github/workflows/smoke-codex.md | 1 +
.github/workflows/smoke-copilot.lock.yml | 93 +-
.github/workflows/smoke-copilot.md | 1 +
.../workflows/smoke-token-telemetry.lock.yml | 1784 -----------------
.../src/content/docs/agent-factory-status.mdx | 1 -
pkg/actionpins/data/action_pins.json | 1517 +++++++-------
pkg/workflow/data/action_pins.json | 1517 +++++++-------
12 files changed, 1792 insertions(+), 3364 deletions(-)
rename .github/workflows/{smoke-token-telemetry.md => shared/token-telemetry-check.md} (72%)
delete mode 100644 .github/workflows/smoke-token-telemetry.lock.yml
diff --git a/.github/aw/actions-lock.json b/.github/aw/actions-lock.json
index 370f6f9eeee..0540eda0972 100644
--- a/.github/aw/actions-lock.json
+++ b/.github/aw/actions-lock.json
@@ -48,11 +48,6 @@
"version": "v3.2.0",
"sha": "bcd2ba49218906704ab6c1aa796996da409d3eb1"
},
- "actions/download-artifact@v4": {
- "repo": "actions/download-artifact",
- "version": "v4",
- "sha": "d3f86a106a0bac45b974a628896c90dbdf5c8093"
- },
"actions/download-artifact@v8.0.1": {
"repo": "actions/download-artifact",
"version": "v8.0.1",
diff --git a/.github/workflows/smoke-token-telemetry.md b/.github/workflows/shared/token-telemetry-check.md
similarity index 72%
rename from .github/workflows/smoke-token-telemetry.md
rename to .github/workflows/shared/token-telemetry-check.md
index 6535fe79825..88036e9861f 100644
--- a/.github/workflows/smoke-token-telemetry.md
+++ b/.github/workflows/shared/token-telemetry-check.md
@@ -1,55 +1,20 @@
---
-private: true
-emoji: "📊"
-name: Smoke Token Telemetry
-description: >-
- Smoke CI assertion: validates that the AWF firewall proxy token-usage emitter
- populates token_usage.jsonl for copilot agent LLM runs. Fails fast when
- token telemetry is broken, so regressions are caught in hours not weeks.
-on:
- push:
- branches: [main]
- paths:
- - 'actions/setup/js/**'
- - 'cmd/**'
- - 'pkg/**'
- - '*.go'
- - 'go.mod'
- schedule: daily
-concurrency:
- group: smoke-token-telemetry-${{ github.ref }}
- cancel-in-progress: true
-permissions:
- contents: read
-engine:
- id: copilot
-strict: true
-timeout-minutes: 5
-network:
- allowed:
- - defaults
-imports:
- - shared/otlp.md
-safe-outputs:
- allowed-domains: [default-safe-outputs]
- noop:
-features:
- gh-aw-detection: false
jobs:
check_token_telemetry:
+ runs-on: ubuntu-latest
needs: [agent]
if: needs.agent.result == 'success'
- runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Download agent artifact
id: download-agent
continue-on-error: true
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v8.0.1
with:
name: agent
path: /tmp/gh-aw/
+
- name: Assert token_usage.jsonl is non-empty
if: steps.download-agent.outcome == 'success'
run: |
@@ -78,6 +43,7 @@ jobs:
echo "::error::See tracking issue: https://github.com/github/gh-aw/issues/42791"
exit 1
fi
+
- name: Assert agent_usage.json has non-zero token counts
if: steps.download-agent.outcome == 'success'
run: |
@@ -94,5 +60,31 @@ jobs:
fi
echo "OK: agent_usage.json reports ${INPUT_TOKENS} input tokens"
---
+
diff --git a/.github/workflows/smoke-claude.lock.yml b/.github/workflows/smoke-claude.lock.yml
index 86a7d0985f4..794d0b7b902 100644
--- a/.github/workflows/smoke-claude.lock.yml
+++ b/.github/workflows/smoke-claude.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"3bb54a9af96721ea336a4258cc72a97f2cf1d57bfebeaf81badedab154b87260","body_hash":"36c065e0560b79a1c971cb1ef686449073e0170c2e67f5e10ecd9ebd481b02fc","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.201"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"475e266b0c4312ac38303cf66aaa7efbec91e0b70f987b3e08039fb0e77c5ad9","body_hash":"001852ff1ecf9859257ef5bdf7fa0efbf3bb9e2db1ed46535696062e80aeb45c","strict":true,"agent_id":"claude","engine_versions":{"claude":"2.1.201"}}
# gh-aw-manifest: {"version":1,"secrets":["ANTHROPIC_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN","TAVILY_API_KEY"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-go","sha":"924ae3a1cded613372ab5595356fb5720e22ba16","version":"v6.5.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"docker/build-push-action","sha":"f9f3042f7e2789586610d6e8b85c8f03e5195baf","version":"v7.2.0"},{"repo":"docker/setup-buildx-action","sha":"d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5","version":"v4.1.0"},{"repo":"github/codeql-action/upload-sarif","sha":"8aad20d150bbac5944a9f9d289da16a4b0d87c1e","version":"v4.36.2"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22","digest":"sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
@@ -32,6 +32,7 @@
# - shared/go-make.md
# - shared/mcp/tavily.md
# - shared/otlp.md
+# - shared/token-telemetry-check.md
#
# inlined-imports: true
#
@@ -429,6 +430,7 @@ jobs:
+
**Important**: If no action is needed after completing your analysis, you **MUST** call the `noop` safe-output tool with a brief explanation. Pass arguments directly to the tool. Do **NOT** wrap them under a `noop` key. Failing to call any safe-output tool is the most common cause of safe-output workflow failures.
```json
@@ -1954,10 +1956,79 @@ jobs:
/tmp/gh-aw/sandbox/firewall/awf-reflect.json
if-no-files-found: ignore
+ check_token_telemetry:
+ needs: agent
+ if: needs.agent.result == 'success'
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+
+ steps:
+ - name: Configure GH_HOST for enterprise compatibility
+ id: ghes-host-config
+ shell: bash
+ run: | # zizmor: ignore[github-env] - GITHUB_SERVER_URL is set by GitHub Actions, not user input.
+ # Derive GH_HOST from GITHUB_SERVER_URL so the gh CLI targets the correct
+ # GitHub instance (GHES/GHEC). On github.com this is a harmless no-op.
+ GH_HOST="${GITHUB_SERVER_URL#https://}"
+ GH_HOST="${GH_HOST#http://}"
+ echo "GH_HOST=${GH_HOST}" >> "$GITHUB_ENV"
+ - name: Download agent artifact
+ id: download-agent
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ name: agent
+ path: /tmp/gh-aw/
+ continue-on-error: true
+ - name: Assert token_usage.jsonl is non-empty
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ # The AWF firewall proxy writes token_usage.jsonl for every LLM API call.
+ # If all token_usage.jsonl files are missing or empty, the emitter is broken.
+ TOKEN_FILES=(
+ "/tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl"
+ )
+
+ FOUND_NONEMPTY=false
+ for f in "${TOKEN_FILES[@]}"; do
+ if [ -s "$f" ]; then
+ COUNT=$(grep -c . "$f" 2>/dev/null || echo "0")
+ echo "OK: $f — ${COUNT} record(s)"
+ FOUND_NONEMPTY=true
+ else
+ [ -f "$f" ] && echo "EMPTY: $f" || echo "MISSING: $f"
+ fi
+ done
+
+ if [ "${FOUND_NONEMPTY}" != "true" ]; then
+ echo "::error::All token_usage.jsonl files are empty or missing after a successful agent run."
+ echo "::error::The AWF firewall proxy token telemetry emitter may be broken."
+ echo "::error::See tracking issue: https://github.com/github/gh-aw/issues/42791"
+ exit 1
+ fi
+ - name: Assert agent_usage.json has non-zero token counts
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ USAGE_FILE="/tmp/gh-aw/agent_usage.json"
+ if [ ! -f "${USAGE_FILE}" ]; then
+ echo "::error::agent_usage.json not found in agent artifact — token summary was not written."
+ exit 1
+ fi
+ INPUT_TOKENS=$(python3 -c "import json; d=json.load(open('${USAGE_FILE}')); print(d.get('input_tokens', 0))")
+ if [ "${INPUT_TOKENS}" -le 0 ]; then
+ echo "::error::agent_usage.json has zero input_tokens — token telemetry may be broken."
+ cat "${USAGE_FILE}"
+ exit 1
+ fi
+ echo "OK: agent_usage.json reports ${INPUT_TOKENS} input tokens"
+
conclusion:
needs:
- activation
- agent
+ - check_token_telemetry
- detection
- safe_outputs
- update_cache_memory
diff --git a/.github/workflows/smoke-claude.md b/.github/workflows/smoke-claude.md
index aba38480226..3b66179dc2a 100644
--- a/.github/workflows/smoke-claude.md
+++ b/.github/workflows/smoke-claude.md
@@ -34,6 +34,7 @@ imports:
- shared/go-make.md
- shared/github-mcp-app.md
- shared/otlp.md
+ - shared/token-telemetry-check.md
network:
allowed:
- defaults
diff --git a/.github/workflows/smoke-codex.lock.yml b/.github/workflows/smoke-codex.lock.yml
index dbd60c76839..9d952f4e388 100644
--- a/.github/workflows/smoke-codex.lock.yml
+++ b/.github/workflows/smoke-codex.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"42a605ac96d9044f6b6da08a4ebdf7db4c1c2f261b7660d34fabd9d0e9701da0","body_hash":"2148439cf2a717e019b1235ae583d7f6087ecc038accee7a93e3b54b3c24c6b9","strict":true,"agent_id":"codex","engine_versions":{"codex":"0.142.5"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"f4c25dc4e3ebaa00201eec60464e37b5d059d7c2c14344ad95baab84851c84c8","body_hash":"71703d81d442ba6c0853517c3c7256b6456ac4af23b6f6424182ef84b9e94523","strict":true,"agent_id":"codex","engine_versions":{"codex":"0.142.5"}}
# gh-aw-manifest: {"version":1,"secrets":["CODEX_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN","OPENAI_API_KEY"],"actions":[{"repo":"actions-ecosystem/action-add-labels","sha":"c96b68fec76a0987cd93957189e9abd0b9a72ff1","version":"v1.1.3"},{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-go","sha":"924ae3a1cded613372ab5595356fb5720e22ba16","version":"v6.5.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22","digest":"sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"},{"image":"ghcr.io/github/serena-mcp-server:latest","digest":"sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5","pinned_image":"ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
@@ -33,6 +33,7 @@
# - shared/otlp.md
# - shared/reporting.md
# - shared/reporting-otlp.md
+# - shared/token-telemetry-check.md
# - shared/trufflehog.md
#
# Secrets used:
@@ -329,25 +330,25 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_5315c6df59ccee24_EOF'
+ cat << 'GH_AW_PROMPT_d4067f64d6a77e8d_EOF'
- GH_AW_PROMPT_5315c6df59ccee24_EOF
+ GH_AW_PROMPT_d4067f64d6a77e8d_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/playwright_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_5315c6df59ccee24_EOF'
+ cat << 'GH_AW_PROMPT_d4067f64d6a77e8d_EOF'
Tools: add_comment(max:2), create_issue, add_labels, remove_labels, unassign_from_user, hide_comment(max:5), set_issue_field, missing_tool, missing_data, noop, add_smoked_label
- GH_AW_PROMPT_5315c6df59ccee24_EOF
+ GH_AW_PROMPT_d4067f64d6a77e8d_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_comment_memory.md"
- cat << 'GH_AW_PROMPT_5315c6df59ccee24_EOF'
+ cat << 'GH_AW_PROMPT_d4067f64d6a77e8d_EOF'
- GH_AW_PROMPT_5315c6df59ccee24_EOF
+ GH_AW_PROMPT_d4067f64d6a77e8d_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_5315c6df59ccee24_EOF'
+ cat << 'GH_AW_PROMPT_d4067f64d6a77e8d_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -389,25 +390,26 @@ jobs:
stop immediately and report the limitation rather than spending turns trying to work around it.
- GH_AW_PROMPT_5315c6df59ccee24_EOF
+ GH_AW_PROMPT_d4067f64d6a77e8d_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
if [ "$GITHUB_EVENT_NAME" = "issue_comment" ] && [ -n "$GH_AW_IS_PR_COMMENT" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review_comment" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review" ]; then
cat "${RUNNER_TEMP}/gh-aw/prompts/pr_context_prompt.md"
fi
- cat << 'GH_AW_PROMPT_5315c6df59ccee24_EOF'
+ cat << 'GH_AW_PROMPT_d4067f64d6a77e8d_EOF'
{{#runtime-import .github/workflows/shared/gh.md}}
{{#runtime-import .github/workflows/shared/reporting-otlp.md}}
{{#runtime-import .github/workflows/shared/mcp/serena-go.md}}
{{#runtime-import .github/workflows/shared/trufflehog.md}}
{{#runtime-import .github/workflows/shared/otlp.md}}
+ {{#runtime-import .github/workflows/shared/token-telemetry-check.md}}
{{#runtime-import .github/workflows/shared/reporting.md}}
## Serena Code Analysis
Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/smoke-codex.md}}
- GH_AW_PROMPT_5315c6df59ccee24_EOF
+ GH_AW_PROMPT_d4067f64d6a77e8d_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
@@ -1473,10 +1475,79 @@ jobs:
/tmp/gh-aw/sandbox/firewall/awf-reflect.json
if-no-files-found: ignore
+ check_token_telemetry:
+ needs: agent
+ if: needs.agent.result == 'success'
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+
+ steps:
+ - name: Configure GH_HOST for enterprise compatibility
+ id: ghes-host-config
+ shell: bash
+ run: | # zizmor: ignore[github-env] - GITHUB_SERVER_URL is set by GitHub Actions, not user input.
+ # Derive GH_HOST from GITHUB_SERVER_URL so the gh CLI targets the correct
+ # GitHub instance (GHES/GHEC). On github.com this is a harmless no-op.
+ GH_HOST="${GITHUB_SERVER_URL#https://}"
+ GH_HOST="${GH_HOST#http://}"
+ echo "GH_HOST=${GH_HOST}" >> "$GITHUB_ENV"
+ - name: Download agent artifact
+ id: download-agent
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ name: agent
+ path: /tmp/gh-aw/
+ continue-on-error: true
+ - name: Assert token_usage.jsonl is non-empty
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ # The AWF firewall proxy writes token_usage.jsonl for every LLM API call.
+ # If all token_usage.jsonl files are missing or empty, the emitter is broken.
+ TOKEN_FILES=(
+ "/tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl"
+ )
+
+ FOUND_NONEMPTY=false
+ for f in "${TOKEN_FILES[@]}"; do
+ if [ -s "$f" ]; then
+ COUNT=$(grep -c . "$f" 2>/dev/null || echo "0")
+ echo "OK: $f — ${COUNT} record(s)"
+ FOUND_NONEMPTY=true
+ else
+ [ -f "$f" ] && echo "EMPTY: $f" || echo "MISSING: $f"
+ fi
+ done
+
+ if [ "${FOUND_NONEMPTY}" != "true" ]; then
+ echo "::error::All token_usage.jsonl files are empty or missing after a successful agent run."
+ echo "::error::The AWF firewall proxy token telemetry emitter may be broken."
+ echo "::error::See tracking issue: https://github.com/github/gh-aw/issues/42791"
+ exit 1
+ fi
+ - name: Assert agent_usage.json has non-zero token counts
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ USAGE_FILE="/tmp/gh-aw/agent_usage.json"
+ if [ ! -f "${USAGE_FILE}" ]; then
+ echo "::error::agent_usage.json not found in agent artifact — token summary was not written."
+ exit 1
+ fi
+ INPUT_TOKENS=$(python3 -c "import json; d=json.load(open('${USAGE_FILE}')); print(d.get('input_tokens', 0))")
+ if [ "${INPUT_TOKENS}" -le 0 ]; then
+ echo "::error::agent_usage.json has zero input_tokens — token telemetry may be broken."
+ cat "${USAGE_FILE}"
+ exit 1
+ fi
+ echo "OK: agent_usage.json reports ${INPUT_TOKENS} input tokens"
+
conclusion:
needs:
- activation
- agent
+ - check_token_telemetry
- detection
- safe_outputs
- trufflehog_scan
diff --git a/.github/workflows/smoke-codex.md b/.github/workflows/smoke-codex.md
index 159e8ebb169..ef9e4b82194 100644
--- a/.github/workflows/smoke-codex.md
+++ b/.github/workflows/smoke-codex.md
@@ -31,6 +31,7 @@ imports:
- shared/mcp/serena-go.md
- shared/trufflehog.md
- shared/otlp.md
+ - shared/token-telemetry-check.md
network:
allowed:
- defaults
diff --git a/.github/workflows/smoke-copilot.lock.yml b/.github/workflows/smoke-copilot.lock.yml
index 811c3dafccd..4dc2bc59550 100644
--- a/.github/workflows/smoke-copilot.lock.yml
+++ b/.github/workflows/smoke-copilot.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"16ce3056a07e9a41d38b404bbd8dc1ccb2de9962ce637c211ade0ad8977c9af5","body_hash":"05f195a76bd7e9205e793331c9962f6c401e1b29da2e99592ee537c3289df44e","strict":true,"agent_id":"copilot","agent_model":"gpt-5.4","engine_versions":{"copilot":"1.0.68"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"cd1db4da83dbeb24e508e618607ddd371bdce795962c9e5d58257d2a911dfc81","body_hash":"0a3dc6816650c6e520f369948cef7c7db057b0e10b5770d1de795bafaa2e7b28","strict":true,"agent_id":"copilot","agent_model":"gpt-5.4","engine_versions":{"copilot":"1.0.68"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-go","sha":"924ae3a1cded613372ab5595356fb5720e22ba16","version":"v6.5.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"docker/build-push-action","sha":"f9f3042f7e2789586610d6e8b85c8f03e5195baf","version":"v7.2.0"},{"repo":"docker/setup-buildx-action","sha":"d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5","version":"v4.1.0"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22","digest":"sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"},{"image":"ghcr.io/github/serena-mcp-server:latest","digest":"sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5","pinned_image":"ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
@@ -34,6 +34,7 @@
# - shared/mcp/serena.md
# - shared/otlp.md
# - shared/reporting.md
+# - shared/token-telemetry-check.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
@@ -378,25 +379,25 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_f85a2f2ae80e4629_EOF'
+ cat << 'GH_AW_PROMPT_92bcb4f2a41cf78c_EOF'
- GH_AW_PROMPT_f85a2f2ae80e4629_EOF
+ GH_AW_PROMPT_92bcb4f2a41cf78c_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/playwright_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_f85a2f2ae80e4629_EOF'
+ cat << 'GH_AW_PROMPT_92bcb4f2a41cf78c_EOF'
Tools: add_comment(max:2), create_issue, create_discussion, create_pull_request_review_comment(max:5), submit_pull_request_review, reply_to_pull_request_review_comment(max:5), add_labels, remove_labels, create_check_run, set_issue_type, dispatch_workflow, missing_tool, missing_data, noop, send_slack_message
- GH_AW_PROMPT_f85a2f2ae80e4629_EOF
+ GH_AW_PROMPT_92bcb4f2a41cf78c_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_comment_memory.md"
- cat << 'GH_AW_PROMPT_f85a2f2ae80e4629_EOF'
+ cat << 'GH_AW_PROMPT_92bcb4f2a41cf78c_EOF'
- GH_AW_PROMPT_f85a2f2ae80e4629_EOF
+ GH_AW_PROMPT_92bcb4f2a41cf78c_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_f85a2f2ae80e4629_EOF'
+ cat << 'GH_AW_PROMPT_92bcb4f2a41cf78c_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -425,12 +426,12 @@ jobs:
{{/if}}
- GH_AW_PROMPT_f85a2f2ae80e4629_EOF
+ GH_AW_PROMPT_92bcb4f2a41cf78c_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
if [ "$GITHUB_EVENT_NAME" = "issue_comment" ] && [ -n "$GH_AW_IS_PR_COMMENT" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review_comment" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review" ]; then
cat "${RUNNER_TEMP}/gh-aw/prompts/pr_context_prompt.md"
fi
- cat << 'GH_AW_PROMPT_f85a2f2ae80e4629_EOF'
+ cat << 'GH_AW_PROMPT_92bcb4f2a41cf78c_EOF'
{{#runtime-import .github/workflows/shared/github-guard-policy.md}}
{{#runtime-import .github/workflows/shared/gh.md}}
@@ -438,12 +439,13 @@ jobs:
{{#runtime-import .github/workflows/shared/github-queries-mcp-script.md}}
{{#runtime-import .github/workflows/shared/mcp/serena-go.md}}
{{#runtime-import .github/workflows/shared/otlp.md}}
+ {{#runtime-import .github/workflows/shared/token-telemetry-check.md}}
## Serena Code Analysis
Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/smoke-copilot.md}}
- GH_AW_PROMPT_f85a2f2ae80e4629_EOF
+ GH_AW_PROMPT_92bcb4f2a41cf78c_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
@@ -2155,10 +2157,79 @@ jobs:
/tmp/gh-aw/sandbox/firewall/awf-reflect.json
if-no-files-found: ignore
+ check_token_telemetry:
+ needs: agent
+ if: needs.agent.result == 'success'
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+
+ steps:
+ - name: Configure GH_HOST for enterprise compatibility
+ id: ghes-host-config
+ shell: bash
+ run: | # zizmor: ignore[github-env] - GITHUB_SERVER_URL is set by GitHub Actions, not user input.
+ # Derive GH_HOST from GITHUB_SERVER_URL so the gh CLI targets the correct
+ # GitHub instance (GHES/GHEC). On github.com this is a harmless no-op.
+ GH_HOST="${GITHUB_SERVER_URL#https://}"
+ GH_HOST="${GH_HOST#http://}"
+ echo "GH_HOST=${GH_HOST}" >> "$GITHUB_ENV"
+ - name: Download agent artifact
+ id: download-agent
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ name: agent
+ path: /tmp/gh-aw/
+ continue-on-error: true
+ - name: Assert token_usage.jsonl is non-empty
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ # The AWF firewall proxy writes token_usage.jsonl for every LLM API call.
+ # If all token_usage.jsonl files are missing or empty, the emitter is broken.
+ TOKEN_FILES=(
+ "/tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl"
+ )
+
+ FOUND_NONEMPTY=false
+ for f in "${TOKEN_FILES[@]}"; do
+ if [ -s "$f" ]; then
+ COUNT=$(grep -c . "$f" 2>/dev/null || echo "0")
+ echo "OK: $f — ${COUNT} record(s)"
+ FOUND_NONEMPTY=true
+ else
+ [ -f "$f" ] && echo "EMPTY: $f" || echo "MISSING: $f"
+ fi
+ done
+
+ if [ "${FOUND_NONEMPTY}" != "true" ]; then
+ echo "::error::All token_usage.jsonl files are empty or missing after a successful agent run."
+ echo "::error::The AWF firewall proxy token telemetry emitter may be broken."
+ echo "::error::See tracking issue: https://github.com/github/gh-aw/issues/42791"
+ exit 1
+ fi
+ - name: Assert agent_usage.json has non-zero token counts
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ USAGE_FILE="/tmp/gh-aw/agent_usage.json"
+ if [ ! -f "${USAGE_FILE}" ]; then
+ echo "::error::agent_usage.json not found in agent artifact — token summary was not written."
+ exit 1
+ fi
+ INPUT_TOKENS=$(python3 -c "import json; d=json.load(open('${USAGE_FILE}')); print(d.get('input_tokens', 0))")
+ if [ "${INPUT_TOKENS}" -le 0 ]; then
+ echo "::error::agent_usage.json has zero input_tokens — token telemetry may be broken."
+ cat "${USAGE_FILE}"
+ exit 1
+ fi
+ echo "OK: agent_usage.json reports ${INPUT_TOKENS} input tokens"
+
conclusion:
needs:
- activation
- agent
+ - check_token_telemetry
- detection
- push_experiments_state
- safe_outputs
diff --git a/.github/workflows/smoke-copilot.md b/.github/workflows/smoke-copilot.md
index 3193e2b1bbf..1141f111f06 100644
--- a/.github/workflows/smoke-copilot.md
+++ b/.github/workflows/smoke-copilot.md
@@ -33,6 +33,7 @@ imports:
- shared/github-queries-mcp-script.md
- shared/mcp/serena-go.md
- shared/otlp.md
+ - shared/token-telemetry-check.md
network:
allowed:
- defaults
diff --git a/.github/workflows/smoke-token-telemetry.lock.yml b/.github/workflows/smoke-token-telemetry.lock.yml
deleted file mode 100644
index 9772bebc4cb..00000000000
--- a/.github/workflows/smoke-token-telemetry.lock.yml
+++ /dev/null
@@ -1,1784 +0,0 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"96d14d363ed49da391f549e3de749e88ef76b6d6daa2bc57f282b09b53cde855","body_hash":"081afa999b816b5dae558340d344b4df75600b22507d2cbb044a9c7280dee8a0","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.68"}}
-# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/download-artifact","sha":"d3f86a106a0bac45b974a628896c90dbdf5c8093","version":"v4"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"}]}
-# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
-#
-# ___ _ _
-# / _ \ | | (_)
-# | |_| | __ _ ___ _ __ | |_ _ ___
-# | _ |/ _` |/ _ \ '_ \| __| |/ __|
-# | | | | (_| | __/ | | | |_| | (__
-# \_| |_/\__, |\___|_| |_|\__|_|\___|
-# __/ |
-# _ _ |___/
-# | | | | / _| |
-# | | | | ___ _ __ _ __| |_| | _____ ____
-# | |/\| |/ _ \ '__| |/ /| _| |/ _ \ \ /\ / / ___|
-# \ /\ / (_) | | | | ( | | | | (_) \ V V /\__ \
-# \/ \/ \___/|_| |_|\_\|_| |_|\___/ \_/\_/ |___/
-#
-#
-# To update this file, edit the corresponding .md file and run:
-# gh aw compile
-# Not all edits will cause changes to this file.
-#
-# For more information: https://github.github.com/gh-aw/introduction/overview/
-#
-# Smoke CI assertion: validates that the AWF firewall proxy token-usage emitter populates token_usage.jsonl for copilot agent LLM runs. Fails fast when token telemetry is broken, so regressions are caught in hours not weeks.
-#
-# Resolved workflow manifest:
-# Imports:
-# - shared/otlp.md
-#
-# Secrets used:
-# - COPILOT_GITHUB_TOKEN
-# - GH_AW_GITHUB_MCP_SERVER_TOKEN
-# - GH_AW_GITHUB_TOKEN
-# - GH_AW_OTEL_GRAFANA_AUTHORIZATION
-# - GH_AW_OTEL_GRAFANA_ENDPOINT
-# - GH_AW_OTEL_SENTRY_AUTHORIZATION
-# - GH_AW_OTEL_SENTRY_ENDPOINT
-# - GITHUB_TOKEN
-#
-# Custom actions used:
-# - actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
-# - actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
-# - actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
-# - actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
-# - actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
-# - actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
-# - actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 (source v9)
-# - actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
-# - actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
-#
-# Container images used:
-# - ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e
-# - ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1
-# - ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59
-# - ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06
-# - ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b
-# - ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4
-
-name: "Smoke Token Telemetry"
-on:
- push:
- branches:
- - main
- paths:
- - actions/setup/js/**
- - cmd/**
- - pkg/**
- - "*.go"
- - go.mod
- schedule:
- - cron: "54 10 * * *"
- # Friendly format: daily (scattered)
- workflow_dispatch:
- inputs:
- aw_context:
- default: ""
- description: "Agent caller context (used internally by Agentic Workflows)."
- required: false
- type: string
-
-permissions: {}
-
-concurrency:
- cancel-in-progress: true
- group: smoke-token-telemetry-${{ github.ref }}
-
-run-name: "Smoke Token Telemetry"
-
-env:
- OTEL_EXPORTER_OTLP_ENDPOINT: ${{ secrets.GH_AW_OTEL_SENTRY_ENDPOINT }}
- OTEL_SERVICE_NAME: gh-aw.smoke-token-telemetry
- OTEL_RESOURCE_ATTRIBUTES: 'gh-aw.workflow.name=Smoke%20Token%20Telemetry,gh-aw.repository=${{ github.repository }},gh-aw.run.id=${{ github.run_id }},github.run_id=${{ github.run_id }},gh-aw.engine.id=copilot'
- OTEL_EXPORTER_OTLP_HEADERS: x-sentry-auth=${{ secrets.GH_AW_OTEL_SENTRY_AUTHORIZATION }}
- GH_AW_OTLP_ALL_HEADERS: x-sentry-auth=${{ secrets.GH_AW_OTEL_SENTRY_AUTHORIZATION }},Authorization=${{ secrets.GH_AW_OTEL_GRAFANA_AUTHORIZATION }}
- GH_AW_OTLP_ENDPOINTS: '[{"url":"${{ secrets.GH_AW_OTEL_SENTRY_ENDPOINT }}","headers":"x-sentry-auth=${{ secrets.GH_AW_OTEL_SENTRY_AUTHORIZATION }}"},{"url":"${{ secrets.GH_AW_OTEL_GRAFANA_ENDPOINT }}","headers":"Authorization=${{ secrets.GH_AW_OTEL_GRAFANA_AUTHORIZATION }}"}]'
-
-jobs:
- activation:
- needs: pre_activation
- if: needs.pre_activation.outputs.activated == 'true'
- runs-on: ubuntu-slim
- permissions:
- actions: read
- contents: read
- env:
- GH_AW_MAX_DAILY_AI_CREDITS: ${{ vars.GH_AW_DEFAULT_MAX_DAILY_AI_CREDITS || '5000' }}
- GH_AW_RUNTIME_FEATURES: ${{ vars.GH_AW_RUNTIME_FEATURES }}
- outputs:
- comment_id: ""
- comment_repo: ""
- daily_ai_credits_exceeded: ${{ steps.daily-effective-workflow-guardrail.outputs.daily_ai_credits_exceeded == 'true' }}
- daily_ai_credits_threshold: ${{ steps.daily-effective-workflow-guardrail.outputs.daily_ai_credits_threshold || '' }}
- daily_ai_credits_total_effective_tokens: ${{ steps.daily-effective-workflow-guardrail.outputs.daily_ai_credits_total_effective_tokens || '' }}
- engine_id: ${{ steps.generate_aw_info.outputs.engine_id }}
- lockdown_check_failed: ${{ steps.generate_aw_info.outputs.lockdown_check_failed == 'true' }}
- model: ${{ steps.generate_aw_info.outputs.model }}
- secret_verification_result: ${{ steps.validate-secret.outputs.verification_result }}
- setup-parent-span-id: ${{ steps.setup.outputs.parent-span-id || steps.setup.outputs.span-id }}
- setup-span-id: ${{ steps.setup.outputs.span-id }}
- setup-trace-id: ${{ steps.setup.outputs.trace-id }}
- stale_lock_file_failed: ${{ steps.check-lock-file.outputs.stale_lock_file_failed == 'true' }}
- steps:
- - name: Checkout actions folder
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- with:
- repository: github/gh-aw
- sparse-checkout: |
- actions
- clean: false
- persist-credentials: false
- - name: Setup Scripts
- id: setup
- uses: ./actions/setup
- with:
- destination: ${{ runner.temp }}/gh-aw/actions
- job-name: ${{ github.job }}
- trace-id: ${{ needs.pre_activation.outputs.setup-trace-id }}
- parent-span-id: ${{ needs.pre_activation.outputs.setup-parent-span-id || needs.pre_activation.outputs.setup-span-id }}
- safe-output-artifact-client: ${{ env.GH_AW_MAX_DAILY_AI_CREDITS != '' }}
- env:
- GH_AW_SETUP_WORKFLOW_NAME: "Smoke Token Telemetry"
- GH_AW_CURRENT_WORKFLOW_REF: ${{ github.repository }}/.github/workflows/smoke-token-telemetry.lock.yml@${{ github.ref }}
- GH_AW_INFO_VERSION: "1.0.68"
- GH_AW_INFO_AWF_VERSION: "v0.27.22"
- GH_AW_INFO_ENGINE_ID: "copilot"
- - name: Mask OTLP telemetry headers
- run: bash "${RUNNER_TEMP}/gh-aw/actions/mask_otlp_headers.sh"
- - name: Generate agentic run info
- id: generate_aw_info
- env:
- GH_AW_INFO_ENGINE_ID: "copilot"
- GH_AW_INFO_ENGINE_NAME: "GitHub Copilot CLI"
- GH_AW_INFO_MODEL: ${{ vars.GH_AW_MODEL_AGENT_COPILOT || vars.GH_AW_DEFAULT_MODEL_COPILOT || 'claude-sonnet-4.6' }}
- GH_AW_INFO_VERSION: "1.0.68"
- GH_AW_INFO_AGENT_VERSION: "1.0.68"
- GH_AW_INFO_WORKFLOW_NAME: "Smoke Token Telemetry"
- GH_AW_INFO_EXPERIMENTAL: "false"
- GH_AW_INFO_SUPPORTS_TOOLS_ALLOWLIST: "true"
- GH_AW_INFO_STAGED: "false"
- GH_AW_INFO_ALLOWED_DOMAINS: '["*.grafana.net","*.sentry.io","defaults"]'
- GH_AW_INFO_FIREWALL_ENABLED: "true"
- GH_AW_INFO_AWF_VERSION: "v0.27.22"
- GH_AW_INFO_AWMG_VERSION: ""
- GH_AW_INFO_FIREWALL_TYPE: "squid"
- GH_AW_INFO_FRONTMATTER_EMOJI: "📊"
- GH_AW_COMPILED_STRICT: "true"
- GH_AW_INFO_FEATURES: '{"gh-aw-detection":false}'
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- with:
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/generate_aw_info.cjs');
- await main(core, context);
- - name: Restore daily AIC usage cache
- id: restore-daily-aic-cache
- if: ${{ env.GH_AW_MAX_DAILY_AI_CREDITS != '' }}
- continue-on-error: true
- uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
- with:
- key: agentic-workflow-usage-smoketokentelemetry-${{ github.run_id }}
- restore-keys: agentic-workflow-usage-smoketokentelemetry-
- path: /tmp/gh-aw/agentic-workflow-usage-cache.jsonl
- - name: Restore daily AIC usage cache (artifact fallback)
- id: restore-daily-aic-cache-fallback
- if: ${{ env.GH_AW_MAX_DAILY_AI_CREDITS != '' }}
- continue-on-error: true
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- env:
- GH_AW_RESTORE_DAILY_AIC_CACHE_HIT: ${{ steps.restore-daily-aic-cache.outputs.cache-hit }}
- GH_AW_RESTORE_DAILY_AIC_CACHE_MATCHED_KEY: ${{ steps.restore-daily-aic-cache.outputs.cache-matched-key }}
- with:
- github-token: ${{ secrets.GITHUB_TOKEN }}
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/restore_aic_usage_cache_fallback.cjs');
- await main();
- - name: Check daily workflow token guardrail
- id: daily-effective-workflow-guardrail
- if: ${{ env.GH_AW_MAX_DAILY_AI_CREDITS != '' }}
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- env:
- GH_AW_WORKFLOW_NAME: "Smoke Token Telemetry"
- GH_AW_WORKFLOW_ID: "smoke-token-telemetry"
- GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- GH_AW_WORKFLOW_DISPATCH_AW_CONTEXT: ${{ github.event.inputs.aw_context || '' }}
- GH_AW_HAS_SLASH_COMMAND: "false"
- GH_AW_HAS_LABEL_COMMAND: "false"
- GH_AW_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- GH_AW_MAX_DAILY_AI_CREDITS: ${{ vars.GH_AW_DEFAULT_MAX_DAILY_AI_CREDITS || '5000' }}
- with:
- github-token: ${{ secrets.GITHUB_TOKEN }}
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/check_daily_aic_workflow_guardrail.cjs');
- await main();
- - name: Validate COPILOT_GITHUB_TOKEN secret
- id: validate-secret
- run: bash "${RUNNER_TEMP}/gh-aw/actions/validate_multi_secret.sh" COPILOT_GITHUB_TOKEN 'GitHub Copilot CLI' https://github.github.com/gh-aw/reference/engines/#github-copilot-default
- env:
- COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}
- - name: Checkout .github and .agents folders
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- with:
- persist-credentials: false
- sparse-checkout: |
- .github
- .agents
- actions/setup
- .antigravity
- .claude
- .codex
- .crush
- .gemini
- .opencode
- .pi
- sparse-checkout-cone-mode: true
- fetch-depth: 1
- - name: Save agent config folders for base branch restoration
- env:
- GH_AW_AGENT_FOLDERS: ".agents .antigravity .claude .codex .crush .gemini .github .opencode .pi"
- GH_AW_AGENT_FILES: ".crush.json AGENTS.md ANTIGRAVITY.md CLAUDE.md GEMINI.md PI.md opencode.jsonc"
- # poutine:ignore untrusted_checkout_exec
- run: bash "${RUNNER_TEMP}/gh-aw/actions/save_base_github_folders.sh"
- - name: Check workflow lock file
- id: check-lock-file
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- env:
- GH_AW_WORKFLOW_FILE: "smoke-token-telemetry.lock.yml"
- GH_AW_CONTEXT_WORKFLOW_REF: "${{ github.workflow_ref }}"
- with:
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/check_workflow_timestamp_api.cjs');
- await main();
- - name: Log runtime features
- if: ${{ contains(toJSON(vars), '"GH_AW_RUNTIME_FEATURES":') }}
- run: bash "${RUNNER_TEMP}/gh-aw/actions/log_runtime_features_summary.sh"
- - name: Create prompt with built-in context
- env:
- GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- GH_AW_SAFE_OUTPUTS: ${{ runner.temp }}/gh-aw/safeoutputs/outputs.jsonl
- GH_AW_EXPR_1A3A194A: ${{ github.event.discussion.number || (fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_type == 'discussion' && fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_number) }}
- GH_AW_EXPR_463A214A: ${{ github.event.pull_request.number || (fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_type == 'pull_request' && fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_number) }}
- GH_AW_EXPR_802A9F6A: ${{ github.event.issue.number || (fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_type == 'issue' && fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_number) }}
- GH_AW_EXPR_FF1D34CE: ${{ github.event.comment.id || fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').comment_id }}
- GH_AW_GITHUB_ACTOR: ${{ github.actor }}
- GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
- GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
- GH_AW_GITHUB_WORKSPACE: ${{ github.workspace }}
- # poutine:ignore untrusted_checkout_exec
- run: |
- bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
- {
- cat << 'GH_AW_PROMPT_b251e581d8085e16_EOF'
-
- GH_AW_PROMPT_b251e581d8085e16_EOF
- cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
- cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
- cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
- cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_b251e581d8085e16_EOF'
-
- Tools: create_issue, missing_tool, missing_data, noop
- GH_AW_PROMPT_b251e581d8085e16_EOF
- cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_auto_create_issue.md"
- cat << 'GH_AW_PROMPT_b251e581d8085e16_EOF'
-
- GH_AW_PROMPT_b251e581d8085e16_EOF
- cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_b251e581d8085e16_EOF'
-
- The following GitHub context information is available for this workflow:
- {{#if github.actor}}
- - **actor**: __GH_AW_GITHUB_ACTOR__
- {{/if}}
- {{#if github.repository}}
- - **repository**: __GH_AW_GITHUB_REPOSITORY__
- {{/if}}
- {{#if github.workspace}}
- - **workspace**: __GH_AW_GITHUB_WORKSPACE__
- {{/if}}
- {{#if github.event.issue.number || (github.aw.context.item_type == 'issue' && github.aw.context.item_number)}}
- - **issue-number**: #__GH_AW_EXPR_802A9F6A__
- {{/if}}
- {{#if github.event.discussion.number || (github.aw.context.item_type == 'discussion' && github.aw.context.item_number)}}
- - **discussion-number**: #__GH_AW_EXPR_1A3A194A__
- {{/if}}
- {{#if github.event.pull_request.number || (github.aw.context.item_type == 'pull_request' && github.aw.context.item_number)}}
- - **pull-request-number**: #__GH_AW_EXPR_463A214A__
- {{/if}}
- {{#if github.event.comment.id || github.aw.context.comment_id}}
- - **comment-id**: __GH_AW_EXPR_FF1D34CE__
- {{/if}}
- {{#if github.run_id}}
- - **workflow-run-id**: __GH_AW_GITHUB_RUN_ID__
- {{/if}}
-
-
- GH_AW_PROMPT_b251e581d8085e16_EOF
- cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md"
- cat << 'GH_AW_PROMPT_b251e581d8085e16_EOF'
-
- {{#runtime-import .github/workflows/shared/otlp.md}}
- {{#runtime-import .github/workflows/smoke-token-telemetry.md}}
- GH_AW_PROMPT_b251e581d8085e16_EOF
- } > "$GH_AW_PROMPT"
- - name: Interpolate variables and render templates
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- env:
- GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- GH_AW_ENGINE_ID: "copilot"
- with:
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/interpolate_prompt.cjs');
- await main();
- - name: Substitute placeholders
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- env:
- GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- GH_AW_EXPR_1A3A194A: ${{ github.event.discussion.number || (fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_type == 'discussion' && fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_number) }}
- GH_AW_EXPR_463A214A: ${{ github.event.pull_request.number || (fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_type == 'pull_request' && fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_number) }}
- GH_AW_EXPR_802A9F6A: ${{ github.event.issue.number || (fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_type == 'issue' && fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').item_number) }}
- GH_AW_EXPR_FF1D34CE: ${{ github.event.comment.id || fromJSON(github.event.inputs.aw_context || github.event.client_payload.aw_context || '{}').comment_id }}
- GH_AW_GITHUB_ACTOR: ${{ github.actor }}
- GH_AW_GITHUB_REPOSITORY: ${{ github.repository }}
- GH_AW_GITHUB_RUN_ID: ${{ github.run_id }}
- GH_AW_GITHUB_WORKSPACE: ${{ github.workspace }}
- GH_AW_MCP_CLI_SERVERS_LIST: '- `safeoutputs` — run `safeoutputs --help` to see available tools'
- GH_AW_NEEDS_PRE_ACTIVATION_OUTPUTS_ACTIVATED: ${{ needs.pre_activation.outputs.activated }}
- with:
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
-
- const substitutePlaceholders = require('${{ runner.temp }}/gh-aw/actions/substitute_placeholders.cjs');
-
- // Call the substitution function
- return await substitutePlaceholders({
- file: process.env.GH_AW_PROMPT,
- substitutions: {
- GH_AW_EXPR_1A3A194A: process.env.GH_AW_EXPR_1A3A194A,
- GH_AW_EXPR_463A214A: process.env.GH_AW_EXPR_463A214A,
- GH_AW_EXPR_802A9F6A: process.env.GH_AW_EXPR_802A9F6A,
- GH_AW_EXPR_FF1D34CE: process.env.GH_AW_EXPR_FF1D34CE,
- GH_AW_GITHUB_ACTOR: process.env.GH_AW_GITHUB_ACTOR,
- GH_AW_GITHUB_REPOSITORY: process.env.GH_AW_GITHUB_REPOSITORY,
- GH_AW_GITHUB_RUN_ID: process.env.GH_AW_GITHUB_RUN_ID,
- GH_AW_GITHUB_WORKSPACE: process.env.GH_AW_GITHUB_WORKSPACE,
- GH_AW_MCP_CLI_SERVERS_LIST: process.env.GH_AW_MCP_CLI_SERVERS_LIST,
- GH_AW_NEEDS_PRE_ACTIVATION_OUTPUTS_ACTIVATED: process.env.GH_AW_NEEDS_PRE_ACTIVATION_OUTPUTS_ACTIVATED
- }
- });
- - name: Validate prompt placeholders
- env:
- GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- # poutine:ignore untrusted_checkout_exec
- run: bash "${RUNNER_TEMP}/gh-aw/actions/validate_prompt_placeholders.sh"
- - name: Print prompt
- env:
- GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- # poutine:ignore untrusted_checkout_exec
- run: bash "${RUNNER_TEMP}/gh-aw/actions/print_prompt_summary.sh"
- - name: Upload activation artifact
- if: success()
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
- with:
- name: activation
- include-hidden-files: true
- path: |
- /tmp/gh-aw/aw_info.json
- /tmp/gh-aw/models.json
- /tmp/gh-aw/aw-prompts/prompt.txt
- /tmp/gh-aw/aw-prompts/prompt-template.txt
- /tmp/gh-aw/aw-prompts/prompt-import-tree.json
- /tmp/gh-aw/github_rate_limits.jsonl
- /tmp/gh-aw/base
- /tmp/gh-aw/.github/agents
- /tmp/gh-aw/.github/skills
- if-no-files-found: ignore
- retention-days: 1
-
- agent:
- needs: activation
- if: needs.activation.outputs.daily_ai_credits_exceeded != 'true'
- runs-on: ubuntu-latest
- permissions:
- contents: read
- env:
- DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
- GH_AW_ASSETS_ALLOWED_EXTS: ""
- GH_AW_ASSETS_BRANCH: ""
- GH_AW_ASSETS_MAX_SIZE_KB: 0
- GH_AW_MCP_LOG_DIR: /tmp/gh-aw/mcp-logs/safeoutputs
- GH_AW_PROJECT_UTC: "-08:00"
- GH_AW_RUNTIME_FEATURES: ${{ vars.GH_AW_RUNTIME_FEATURES }}
- GH_AW_WORKFLOW_ID_SANITIZED: smoketokentelemetry
- outputs:
- agentic_engine_timeout: ${{ steps.detect-agent-errors.outputs.agentic_engine_timeout || 'false' }}
- ai_credits_rate_limit_error: ${{ steps.parse-mcp-gateway.outputs.ai_credits_rate_limit_error || 'false' }}
- aic: ${{ steps.parse-mcp-gateway.outputs.aic }}
- ambient_context: ${{ steps.parse-mcp-gateway.outputs.ambient_context }}
- checkout_pr_success: ${{ steps.checkout-pr.outputs.checkout_pr_success || 'true' }}
- effective_tokens: ${{ steps.parse-mcp-gateway.outputs.effective_tokens }}
- has_patch: ${{ steps.collect_output.outputs.has_patch }}
- http_400_response_error: ${{ steps.detect-agent-errors.outputs.http_400_response_error || 'false' }}
- inference_access_error: ${{ steps.detect-agent-errors.outputs.inference_access_error || 'false' }}
- mcp_policy_error: ${{ steps.detect-agent-errors.outputs.mcp_policy_error || 'false' }}
- model: ${{ needs.activation.outputs.model }}
- model_not_supported_error: ${{ steps.detect-agent-errors.outputs.model_not_supported_error || 'false' }}
- output: ${{ steps.collect_output.outputs.output }}
- output_types: ${{ steps.collect_output.outputs.output_types }}
- setup-parent-span-id: ${{ steps.setup.outputs.parent-span-id || steps.setup.outputs.span-id }}
- setup-span-id: ${{ steps.setup.outputs.span-id }}
- setup-trace-id: ${{ steps.setup.outputs.trace-id }}
- unknown_model_ai_credits: ${{ steps.parse-mcp-gateway.outputs.unknown_model_ai_credits || 'false' }}
- steps:
- - name: Checkout actions folder
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- with:
- repository: github/gh-aw
- sparse-checkout: |
- actions
- clean: false
- persist-credentials: false
- - name: Setup Scripts
- id: setup
- uses: ./actions/setup
- with:
- destination: ${{ runner.temp }}/gh-aw/actions
- job-name: ${{ github.job }}
- trace-id: ${{ needs.activation.outputs.setup-trace-id }}
- parent-span-id: ${{ needs.activation.outputs.setup-parent-span-id || needs.activation.outputs.setup-span-id }}
- env:
- GH_AW_SETUP_WORKFLOW_NAME: "Smoke Token Telemetry"
- GH_AW_CURRENT_WORKFLOW_REF: ${{ github.repository }}/.github/workflows/smoke-token-telemetry.lock.yml@${{ github.ref }}
- GH_AW_INFO_VERSION: "1.0.68"
- GH_AW_INFO_AWF_VERSION: "v0.27.22"
- GH_AW_INFO_ENGINE_ID: "copilot"
- - name: Set runtime paths
- id: set-runtime-paths
- run: |
- {
- echo "GH_AW_SAFE_OUTPUTS=${RUNNER_TEMP}/gh-aw/safeoutputs/outputs.jsonl"
- echo "GH_AW_SAFE_OUTPUTS_CONFIG_PATH=${RUNNER_TEMP}/gh-aw/safeoutputs/config.json"
- echo "GH_AW_SAFE_OUTPUTS_TOOLS_PATH=${RUNNER_TEMP}/gh-aw/safeoutputs/tools.json"
- } >> "$GITHUB_OUTPUT"
- - name: Mask OTLP telemetry headers
- run: bash "${RUNNER_TEMP}/gh-aw/actions/mask_otlp_headers.sh"
- - name: Checkout repository
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- with:
- persist-credentials: false
- - name: Create gh-aw temp directory
- run: bash "${RUNNER_TEMP}/gh-aw/actions/create_gh_aw_tmp_dir.sh"
- - name: Configure gh CLI for GitHub Enterprise
- run: bash "${RUNNER_TEMP}/gh-aw/actions/configure_gh_for_ghe.sh"
- env:
- GH_TOKEN: ${{ github.token }}
- - name: Configure Git credentials
- env:
- GITHUB_REPOSITORY: ${{ github.repository }}
- GITHUB_SERVER_URL: ${{ github.server_url }}
- GITHUB_TOKEN: ${{ github.token }}
- run: bash "${RUNNER_TEMP}/gh-aw/actions/configure_git_credentials.sh"
- - name: Checkout PR branch
- id: checkout-pr
- if: |
- github.event.pull_request || github.event.issue.pull_request || github.event_name == 'workflow_dispatch' && fromJSON(github.event.inputs.aw_context || '{}').item_type == 'pull_request'
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- env:
- GH_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
- with:
- github-token: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/checkout_pr_branch.cjs');
- await main();
- - name: Install GitHub Copilot CLI
- run: bash "${RUNNER_TEMP}/gh-aw/actions/install_copilot_cli.sh" 1.0.68
- env:
- GH_HOST: github.com
- - name: Install AWF binary
- run: bash "${RUNNER_TEMP}/gh-aw/actions/install_awf_binary.sh" v0.27.22 --rootless
- - name: Determine automatic lockdown mode for GitHub MCP Server
- id: determine-automatic-lockdown
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 (source v9)
- env:
- GH_AW_GITHUB_TOKEN: ${{ secrets.GH_AW_GITHUB_TOKEN }}
- GH_AW_GITHUB_MCP_SERVER_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN }}
- with:
- script: |
- const determineAutomaticLockdown = require('${{ runner.temp }}/gh-aw/actions/determine_automatic_lockdown.cjs');
- await determineAutomaticLockdown(github, context, core);
- - name: Download activation artifact
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
- with:
- name: activation
- path: /tmp/gh-aw
- - name: Restore agent config folders from base branch
- if: steps.checkout-pr.outcome == 'success'
- env:
- GH_AW_AGENT_FOLDERS: ".agents .antigravity .claude .codex .crush .gemini .github .opencode .pi"
- GH_AW_AGENT_FILES: ".crush.json AGENTS.md ANTIGRAVITY.md CLAUDE.md GEMINI.md PI.md opencode.jsonc"
- run: bash "${RUNNER_TEMP}/gh-aw/actions/restore_base_github_folders.sh"
- - name: Restore inline sub-agents from activation artifact
- env:
- GH_AW_SUB_AGENT_DIR: ".github/agents"
- GH_AW_SUB_AGENT_EXT: ".agent.md"
- run: bash "${RUNNER_TEMP}/gh-aw/actions/restore_inline_sub_agents.sh"
- - name: Restore inline skills from activation artifact
- env:
- GH_AW_SKILL_DIR: ".github/skills"
- run: bash "${RUNNER_TEMP}/gh-aw/actions/restore_inline_skills.sh"
- - name: Download container images
- run: bash "${RUNNER_TEMP}/gh-aw/actions/download_docker_images.sh" ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1 ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59 ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06 ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4
- - name: Generate Safe Outputs Config
- run: |
- mkdir -p "${RUNNER_TEMP}/gh-aw/safeoutputs"
- mkdir -p /tmp/gh-aw/safeoutputs
- mkdir -p /tmp/gh-aw/mcp-logs/safeoutputs
- cat > "${RUNNER_TEMP}/gh-aw/safeoutputs/config.json" << 'GH_AW_SAFE_OUTPUTS_CONFIG_db104cb1c46a0638_EOF'
- {"create_issue":{"labels":["smoke-token-telemetry"],"max":1,"title_prefix":"[smoke-token-telemetry]"},"create_report_incomplete_issue":{},"missing_data":{},"missing_tool":{},"noop":{"max":1,"report-as-issue":"true"},"report_incomplete":{}}
- GH_AW_SAFE_OUTPUTS_CONFIG_db104cb1c46a0638_EOF
- - name: Generate Safe Outputs Tools
- env:
- GH_AW_TOOLS_META_JSON: |
- {
- "description_suffixes": {
- "create_issue": " CONSTRAINTS: Maximum 1 issue(s) can be created. Title will be prefixed with \"[smoke-token-telemetry]\". Labels [\"smoke-token-telemetry\"] will be automatically added."
- },
- "repo_params": {},
- "dynamic_tools": []
- }
- GH_AW_VALIDATION_JSON: |
- {
- "create_issue": {
- "defaultMax": 1,
- "fields": {
- "body": {
- "required": true,
- "type": "string",
- "sanitize": true,
- "maxLength": 65000,
- "minLength": 20
- },
- "fields": {
- "type": "array"
- },
- "labels": {
- "type": "array",
- "itemType": "string",
- "itemSanitize": true,
- "itemMaxLength": 128
- },
- "parent": {
- "issueOrPRNumber": true
- },
- "repo": {
- "type": "string",
- "maxLength": 256
- },
- "temporary_id": {
- "type": "string"
- },
- "title": {
- "required": true,
- "type": "string",
- "sanitize": true,
- "maxLength": 128
- }
- }
- },
- "missing_data": {
- "defaultMax": 20,
- "fields": {
- "alternatives": {
- "type": "string",
- "sanitize": true,
- "maxLength": 256
- },
- "context": {
- "type": "string",
- "sanitize": true,
- "maxLength": 256
- },
- "data_type": {
- "type": "string",
- "sanitize": true,
- "maxLength": 128
- },
- "reason": {
- "type": "string",
- "sanitize": true,
- "maxLength": 256
- }
- }
- },
- "missing_tool": {
- "defaultMax": 20,
- "fields": {
- "alternatives": {
- "type": "string",
- "sanitize": true,
- "maxLength": 512
- },
- "reason": {
- "required": true,
- "type": "string",
- "sanitize": true,
- "maxLength": 256
- },
- "tool": {
- "type": "string",
- "sanitize": true,
- "maxLength": 128
- }
- }
- },
- "noop": {
- "defaultMax": 1,
- "fields": {
- "message": {
- "required": true,
- "type": "string",
- "sanitize": true,
- "maxLength": 65000
- }
- }
- },
- "report_incomplete": {
- "defaultMax": 5,
- "fields": {
- "details": {
- "type": "string",
- "sanitize": true,
- "maxLength": 65000
- },
- "reason": {
- "required": true,
- "type": "string",
- "sanitize": true,
- "maxLength": 1024
- }
- }
- }
- }
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- with:
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/generate_safe_outputs_tools.cjs');
- await main();
- - name: Start MCP Gateway
- id: start-mcp-gateway
- env:
- GH_AW_POLICY_ALLOW_CREATE_PULL_REQUEST: ${{ vars.GH_AW_POLICY_ALLOW_CREATE_PULL_REQUEST || 'true' }}
- GH_AW_SAFE_OUTPUTS: ${{ steps.set-runtime-paths.outputs.GH_AW_SAFE_OUTPUTS }}
- GH_AW_SAFE_OUTPUTS_CONFIG_PATH: ${{ steps.set-runtime-paths.outputs.GH_AW_SAFE_OUTPUTS_CONFIG_PATH }}
- GH_AW_SAFE_OUTPUTS_TOOLS_PATH: ${{ steps.set-runtime-paths.outputs.GH_AW_SAFE_OUTPUTS_TOOLS_PATH }}
- GITHUB_MCP_GUARD_MIN_INTEGRITY: ${{ steps.determine-automatic-lockdown.outputs.min_integrity }}
- GITHUB_MCP_GUARD_REPOS: ${{ steps.determine-automatic-lockdown.outputs.repos }}
- GITHUB_MCP_SERVER_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- run: |
- set -eo pipefail
- mkdir -p "${RUNNER_TEMP}/gh-aw/mcp-config"
-
- # Export gateway environment variables for MCP config and gateway script
- export MCP_GATEWAY_PORT="8080"
- export MCP_GATEWAY_DOMAIN="awmg-mcpg"
- export MCP_GATEWAY_HOST_DOMAIN="localhost"
- MCP_GATEWAY_API_KEY=$(openssl rand -base64 45 | tr -d '/+=')
- echo "::add-mask::${MCP_GATEWAY_API_KEY}"
- export MCP_GATEWAY_API_KEY
- export MCP_GATEWAY_PAYLOAD_DIR="/tmp/gh-aw/mcp-payloads"
- mkdir -p "${MCP_GATEWAY_PAYLOAD_DIR}"
- export MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD="524288"
- export DEBUG="*"
-
- export GH_AW_ENGINE="copilot"
- MCP_GATEWAY_UID=$(id -u 2>/dev/null || echo '0')
- MCP_GATEWAY_GID=$(id -g 2>/dev/null || echo '0')
- case "${DOCKER_HOST:-}" in
- unix://* ) DOCKER_SOCK_PATH="${DOCKER_HOST#unix://}" ;;
- /* ) DOCKER_SOCK_PATH="$DOCKER_HOST" ;;
- * ) DOCKER_SOCK_PATH=/var/run/docker.sock ;;
- esac
- DOCKER_SOCK_GID=$(stat -c '%g' "$DOCKER_SOCK_PATH" 2>/dev/null || echo '0')
- export MCP_GATEWAY_DOCKER_COMMAND='docker run -i --rm --network bridge -p 127.0.0.1:'"${MCP_GATEWAY_PORT}"':'"${MCP_GATEWAY_PORT}"' --name awmg-mcpg --add-host host.docker.internal:host-gateway --user '"${MCP_GATEWAY_UID}"':'"${MCP_GATEWAY_GID}"' --group-add '"${DOCKER_SOCK_GID}"' -v '"${DOCKER_SOCK_PATH}"':/var/run/docker.sock -e MCP_GATEWAY_PORT -e MCP_GATEWAY_DOMAIN -e MCP_GATEWAY_API_KEY -e MCP_GATEWAY_PAYLOAD_DIR -e MCP_GATEWAY_PAYLOAD_SIZE_THRESHOLD -e DOCKER_HOST=unix:///var/run/docker.sock -e DEBUG -e MCP_GATEWAY_LOG_DIR -e GH_AW_MCP_LOG_DIR -e GH_AW_SAFE_OUTPUTS -e GH_AW_SAFE_OUTPUTS_CONFIG_PATH -e GH_AW_SAFE_OUTPUTS_TOOLS_PATH -e GH_AW_POLICY_ALLOW_CREATE_PULL_REQUEST -e GH_AW_ASSETS_BRANCH -e GH_AW_ASSETS_MAX_SIZE_KB -e GH_AW_ASSETS_ALLOWED_EXTS -e DEFAULT_BRANCH -e GITHUB_MCP_SERVER_TOKEN -e GITHUB_MCP_GUARD_MIN_INTEGRITY -e GITHUB_MCP_GUARD_REPOS -e GITHUB_REPOSITORY -e GITHUB_SERVER_URL -e GITHUB_SHA -e GITHUB_WORKSPACE -e GITHUB_TOKEN -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RUN_ATTEMPT -e GITHUB_JOB -e GITHUB_ACTION -e GITHUB_EVENT_NAME -e GITHUB_EVENT_PATH -e GITHUB_ACTOR -e GITHUB_ACTOR_ID -e GITHUB_TRIGGERING_ACTOR -e GITHUB_WORKFLOW -e GITHUB_WORKFLOW_REF -e GITHUB_WORKFLOW_SHA -e GITHUB_REF -e GITHUB_REF_NAME -e GITHUB_REF_TYPE -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e RUNNER_TEMP -e GITHUB_AW_OTEL_TRACE_ID -e GITHUB_AW_OTEL_PARENT_SPAN_ID -e OTEL_EXPORTER_OTLP_HEADERS -v /tmp/gh-aw/mcp-payloads:/tmp/gh-aw/mcp-payloads:rw -v /opt:/opt:ro -v /tmp:/tmp:rw -v '"${GITHUB_WORKSPACE}"':'"${GITHUB_WORKSPACE}"':rw -v '"${RUNNER_TEMP}"'/gh-aw/safeoutputs:'"${RUNNER_TEMP}"'/gh-aw/safeoutputs:rw ghcr.io/github/gh-aw-mcpg:v0.3.33'
-
- mkdir -p "$HOME/.copilot"
- GH_AW_NODE=$(which node 2>/dev/null || command -v node 2>/dev/null || echo node)
- cat << GH_AW_MCP_CONFIG_1f24d04dbd7f74fd_EOF | "$GH_AW_NODE" "${RUNNER_TEMP}/gh-aw/actions/start_mcp_gateway.cjs"
- {
- "mcpServers": {
- "github": {
- "type": "stdio",
- "container": "ghcr.io/github/github-mcp-server:v1.5.0",
- "env": {
- "GITHUB_HOST": "${GITHUB_SERVER_URL}",
- "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_MCP_SERVER_TOKEN}",
- "GITHUB_READ_ONLY": "1",
- "GITHUB_TOOLSETS": "context,repos,issues,pull_requests"
- },
- "guard-policies": {
- "allow-only": {
- "min-integrity": "$GITHUB_MCP_GUARD_MIN_INTEGRITY",
- "repos": "$GITHUB_MCP_GUARD_REPOS"
- }
- }
- },
- "safeoutputs": {
- "type": "stdio",
- "container": "ghcr.io/github/gh-aw-node",
- "mounts": ["\${GITHUB_WORKSPACE}:\${GITHUB_WORKSPACE}:rw", "${RUNNER_TEMP}/gh-aw/safeoutputs:${RUNNER_TEMP}/gh-aw/safeoutputs:rw", "/tmp/gh-aw:/tmp/gh-aw:rw"],
- "args": ["-w", "\${GITHUB_WORKSPACE}"],
- "entrypoint": "sh",
- "entrypointArgs": ["-c", "sh ${RUNNER_TEMP}/gh-aw/safeoutputs/start_safe_outputs_mcp.sh"],
- "env": {
- "DEBUG": "*",
- "DEFAULT_BRANCH": "\${DEFAULT_BRANCH}",
- "GH_AW_ASSETS_ALLOWED_EXTS": "\${GH_AW_ASSETS_ALLOWED_EXTS}",
- "GH_AW_ASSETS_BRANCH": "\${GH_AW_ASSETS_BRANCH}",
- "GH_AW_ASSETS_MAX_SIZE_KB": "\${GH_AW_ASSETS_MAX_SIZE_KB}",
- "GH_AW_MCP_LOG_DIR": "\${GH_AW_MCP_LOG_DIR}",
- "GH_AW_SAFE_OUTPUTS": "\${GH_AW_SAFE_OUTPUTS}",
- "GH_AW_SAFE_OUTPUTS_CONFIG_PATH": "\${GH_AW_SAFE_OUTPUTS_CONFIG_PATH}",
- "GH_AW_SAFE_OUTPUTS_TOOLS_PATH": "\${GH_AW_SAFE_OUTPUTS_TOOLS_PATH}",
- "GH_AW_POLICY_ALLOW_CREATE_PULL_REQUEST": "\${GH_AW_POLICY_ALLOW_CREATE_PULL_REQUEST}",
- "GITHUB_REPOSITORY": "\${GITHUB_REPOSITORY}",
- "GITHUB_SHA": "\${GITHUB_SHA}",
- "GITHUB_TOKEN": "\${GITHUB_TOKEN}",
- "GITHUB_WORKSPACE": "\${GITHUB_WORKSPACE}",
- "RUNNER_TEMP": "\${RUNNER_TEMP}"
- },
- "guard-policies": {
- "write-sink": {
- "accept": [
- "*"
- ]
- }
- }
- }
- },
- "gateway": {
- "port": $MCP_GATEWAY_PORT,
- "domain": "${MCP_GATEWAY_DOMAIN}",
- "apiKey": "${MCP_GATEWAY_API_KEY}",
- "payloadDir": "${MCP_GATEWAY_PAYLOAD_DIR}",
- "opentelemetry": {
- "endpoint": "${OTEL_EXPORTER_OTLP_ENDPOINT}",
- "traceId": "${GITHUB_AW_OTEL_TRACE_ID}",
- "spanId": "${GITHUB_AW_OTEL_PARENT_SPAN_ID}"
- }
- }
- }
- GH_AW_MCP_CONFIG_1f24d04dbd7f74fd_EOF
- - name: Mount MCP servers as CLIs
- id: mount-mcp-clis
- continue-on-error: true
- env:
- MCP_GATEWAY_API_KEY: ${{ steps.start-mcp-gateway.outputs.gateway-api-key }}
- MCP_GATEWAY_DOMAIN: ${{ steps.start-mcp-gateway.outputs.gateway-domain }}
- MCP_GATEWAY_PORT: ${{ steps.start-mcp-gateway.outputs.gateway-port }}
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- with:
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/mount_mcp_as_cli.cjs');
- await main();
- - name: Clean credentials
- continue-on-error: true
- run: bash "${RUNNER_TEMP}/gh-aw/actions/clean_git_credentials.sh"
- - name: Audit pre-agent workspace
- id: pre_agent_audit
- continue-on-error: true
- run: bash "${RUNNER_TEMP}/gh-aw/actions/audit_pre_agent_workspace.sh"
- - name: Execute GitHub Copilot CLI
- id: agentic_execution
- # Copilot CLI tool arguments (sorted):
- timeout-minutes: 5
- run: |
- set -o pipefail
- printf '%s' "$(date +%s%3N)" > /tmp/gh-aw/agent_cli_start_ms.txt
- trap 'rm -f "$HOME/.copilot/settings.json"' EXIT
- mkdir -p "$HOME/.copilot"
- printf '%s' '{"builtInAgents":{"rubberDuck":false}}' > "$HOME/.copilot/settings.json"
- export XDG_CONFIG_HOME="$HOME"
- export GH_AW_MCP_CONFIG="$HOME/.copilot/mcp-config.json"
- touch /tmp/gh-aw/agent-step-summary.md
- GH_AW_NODE_BIN=$(command -v node 2>/dev/null || true)
- export GH_AW_NODE_BIN
- export COPILOT_API_KEY="$COPILOT_DUMMY_BYOK"
- (umask 177 && touch /tmp/gh-aw/agent-stdio.log)
- GH_AW_MAX_AI_CREDITS="${GH_AW_MAX_AI_CREDITS:-1000}"
- printf '%s\n' "{\"\$schema\":\"https://github.com/github/gh-aw-firewall/releases/download/v0.27.22/awf-config.schema.json\",\"network\":{\"allowDomains\":[\"*.grafana.net\",\"*.sentry.io\",\"api.business.githubcopilot.com\",\"api.enterprise.githubcopilot.com\",\"api.github.com\",\"api.githubcopilot.com\",\"api.individual.githubcopilot.com\",\"api.snapcraft.io\",\"archive.ubuntu.com\",\"azure.archive.ubuntu.com\",\"crl.geotrust.com\",\"crl.globalsign.com\",\"crl.identrust.com\",\"crl.sectigo.com\",\"crl.thawte.com\",\"crl.usertrust.com\",\"crl.verisign.com\",\"crl3.digicert.com\",\"crl4.digicert.com\",\"crls.ssl.com\",\"github.com\",\"host.docker.internal\",\"json-schema.org\",\"json.schemastore.org\",\"keyserver.ubuntu.com\",\"ocsp.digicert.com\",\"ocsp.geotrust.com\",\"ocsp.globalsign.com\",\"ocsp.identrust.com\",\"ocsp.sectigo.com\",\"ocsp.ssl.com\",\"ocsp.thawte.com\",\"ocsp.usertrust.com\",\"ocsp.verisign.com\",\"packagecloud.io\",\"packages.cloud.google.com\",\"packages.microsoft.com\",\"ppa.launchpad.net\",\"raw.githubusercontent.com\",\"registry.npmjs.org\",\"s.symcb.com\",\"s.symcd.com\",\"security.ubuntu.com\",\"telemetry.enterprise.githubcopilot.com\",\"ts-crl.ws.symantec.com\",\"ts-ocsp.ws.symantec.com\",\"www.googleapis.com\"],\"isolation\":true,\"topologyAttach\":[\"awmg-mcpg\"]},\"apiProxy\":{\"enabled\":true,\"enableTokenSteering\":true,\"maxRuns\":500,\"maxAiCredits\":${GH_AW_MAX_AI_CREDITS},\"maxCacheMisses\":5,\"models\":{\"agent\":[\"sonnet-6x\",\"gpt-5.4\",\"gpt-5.3\",\"gemini-pro\",\"any\"],\"antigravity\":[\"copilot/antigravity*\",\"google/antigravity*\",\"gemini/antigravity*\"],\"any\":[\"copilot/*\",\"anthropic/*\",\"openai/*\",\"google/*\",\"gemini/*\"],\"claude\":[\"agent\"],\"codex\":[\"agent\"],\"coding\":[\"copilot/gpt-5*codex*\",\"openai/gpt-5*codex*\",\"gpt-5-codex\",\"kimi\"],\"computer-use\":[\"copilot/*computer-use*\",\"google/*computer-use*\",\"gemini/*computer-use*\",\"openai/*computer-use*\"],\"copilot\":[\"agent\"],\"deep-research\":[\"copilot/deep-research*\",\"copilot/o3-deep-research*\",\"copilot/o4-mini-deep-research*\",\"google/deep-research*\",\"gemini/deep-research*\",\"openai/o3-deep-research*\",\"openai/o4-mini-deep-research*\"],\"fable\":[\"copilot/*fable*\",\"anthropic/*fable*\"],\"gemini\":[\"agent\"],\"gemini-3-flash\":[\"copilot/gemini-3*flash*\",\"google/gemini-3*flash*\",\"gemini/gemini-3*flash*\"],\"gemini-3-pro\":[\"copilot/gemini-3*pro*\",\"google/gemini-3*pro*\",\"google/nano-banana*\",\"gemini/gemini-3*pro*\"],\"gemini-3.1-flash\":[\"copilot/gemini-3.1*flash*\",\"google/gemini-3.1*flash*\",\"gemini/gemini-3.1*flash*\"],\"gemini-3.1-pro\":[\"copilot/gemini-3.1*pro*\",\"google/gemini-3.1*pro*\",\"gemini/gemini-3.1*pro*\"],\"gemini-3.5-flash\":[\"copilot/gemini-3.5*flash*\",\"google/gemini-3.5*flash*\",\"gemini/gemini-3.5*flash*\"],\"gemini-flash\":[\"copilot/gemini-*flash*\",\"google/gemini-*flash*\",\"gemini/gemini-*flash*\"],\"gemini-flash-lite\":[\"copilot/gemini-*flash*lite*\",\"google/gemini-*flash*lite*\",\"gemini/gemini-*flash*lite*\"],\"gemini-omni\":[\"copilot/gemini-omni*\",\"google/gemini-omni*\",\"gemini/gemini-omni*\"],\"gemini-pro\":[\"copilot/gemini-*pro*\",\"google/gemini-*pro*\",\"gemini/gemini-*pro*\"],\"gemma\":[\"copilot/gemma*\",\"google/gemma*\",\"gemini/gemma*\"],\"gpt-5\":[\"copilot/gpt-5*\",\"openai/gpt-5*\"],\"gpt-5-codex\":[\"copilot/gpt-5*codex*\",\"openai/gpt-5*codex*\"],\"gpt-5-mini\":[\"copilot/gpt-5*mini*\",\"openai/gpt-5*mini*\"],\"gpt-5-nano\":[\"copilot/gpt-5*nano*\",\"openai/gpt-5*nano*\"],\"gpt-5-pro\":[\"copilot/gpt-5*pro*\",\"openai/gpt-5*pro*\"],\"gpt-5.1\":[\"copilot/gpt-5.1*\",\"openai/gpt-5.1*\"],\"gpt-5.2\":[\"copilot/gpt-5.2*\",\"openai/gpt-5.2*\"],\"gpt-5.3\":[\"copilot/gpt-5.3*\",\"openai/gpt-5.3*\"],\"gpt-5.4\":[\"copilot/gpt-5.4*\",\"openai/gpt-5.4*\"],\"gpt-5.5\":[\"copilot/gpt-5.5*\",\"openai/gpt-5.5*\"],\"gpt-5.6\":[\"copilot/gpt-5.6*\",\"openai/gpt-5.6*\"],\"haiku\":[\"copilot/*haiku*\",\"anthropic/*haiku*\"],\"image-generation\":[\"copilot/gpt-image*\",\"openai/gpt-image*\",\"openai/chatgpt-image*\",\"copilot/gemini-*image*\",\"google/gemini-*image*\",\"gemini/gemini-*image*\",\"google/imagen*\"],\"kimi\":[\"copilot/kimi*\",\"openai/kimi*\"],\"kiwi\":[\"copilot/kiwi*\",\"openai/kiwi*\"],\"large\":[\"fable\",\"sonnet\",\"gpt-5-pro\",\"gpt-5\",\"gemini-pro\"],\"mai-code\":[\"copilot/MAI-Code*\",\"copilot/mai-code*\",\"openai/MAI-Code*\"],\"mini\":[\"haiku\",\"gpt-5-mini\",\"gpt-5-nano\",\"gemini-flash-lite\"],\"nano-banana\":[\"copilot/nano-banana*\",\"google/nano-banana*\",\"gemini/nano-banana*\"],\"opus\":[\"copilot/*opus*\",\"anthropic/*opus*\"],\"opusplan\":[\"opus?effort=high\"],\"reasoning\":[\"copilot/o1*\",\"copilot/o3*\",\"copilot/o4*\",\"openai/o1*\",\"openai/o3*\",\"openai/o4*\"],\"robotics\":[\"copilot/*robotics*\",\"google/*robotics*\",\"gemini/*robotics*\"],\"small\":[\"mini\"],\"small-agent\":[\"haiku\",\"gpt-5-mini\",\"gemini-flash\"],\"sonnet\":[\"copilot/*sonnet*\",\"anthropic/*sonnet*\"],\"sonnet-6x\":[\"copilot/*sonnet-4.5*\",\"copilot/*sonnet-4.6*\",\"copilot/*sonnet-4-5-*\",\"anthropic/*sonnet-4-5-*\",\"copilot/*sonnet-4-6*\",\"anthropic/*sonnet-4-6*\"],\"summarization\":[\"haiku\",\"gpt-5-mini\",\"gemini-flash-lite\",\"mini\"],\"veo\":[\"google/veo*\",\"gemini/veo*\"],\"vision\":[\"copilot/gemini-*image*\",\"google/gemini-*image*\",\"gemini/gemini-*image*\",\"copilot/gemini-*flash*\",\"google/gemini-*flash*\",\"gemini/gemini-*flash*\"]}},\"container\":{\"imageTag\":\"0.27.22,squid=sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59,agent=sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e,api-proxy=sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1,cli-proxy=sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c\"},\"logging\":{\"proxyLogsDir\":\"/tmp/gh-aw/sandbox/firewall/logs\",\"auditDir\":\"/tmp/gh-aw/sandbox/firewall/audit\"}}" > "${RUNNER_TEMP}/gh-aw/awf-config.json"
- cp "${RUNNER_TEMP}/gh-aw/awf-config.json" /tmp/gh-aw/awf-config.json
- export GH_AW_MODELS_JSON_PATH="/tmp/gh-aw/models.json"
- GH_AW_DOCKER_HOST=""
- if [[ "${DOCKER_HOST:-}" =~ ^tcp:// ]]; then
- GH_AW_DOCKER_HOST="${DOCKER_HOST}"
- fi
- GH_AW_DOCKER_HOST_PATH_PREFIX_ARGS=""
- if [[ "${DOCKER_HOST:-}" =~ ^tcp:// ]]; then
- GH_AW_DOCKER_HOST_PATH_PREFIX_ARGS="--docker-host-path-prefix ${RUNNER_TEMP}/gh-aw"
- GH_AW_CHROOT_BINARIES_SOURCE_PATH="${RUNNER_TEMP}/gh-aw" GH_AW_CHROOT_IDENTITY_HOME="${RUNNER_TEMP}/gh-aw/home" node "${RUNNER_TEMP}/gh-aw/actions/patch_awf_chroot_config.cjs"
- fi
- GH_AW_TOOL_CACHE_MOUNT=""
- GH_AW_TOOL_CACHE="${RUNNER_TOOL_CACHE:?RUNNER_TOOL_CACHE must be set}"
- if [ -d "$GH_AW_TOOL_CACHE" ]; then
- if [[ "$GH_AW_TOOL_CACHE" != /opt/* ]]; then
- GH_AW_TOOL_CACHE_MOUNT="$GH_AW_TOOL_CACHE:$GH_AW_TOOL_CACHE:ro"
- fi
- fi
- # shellcheck disable=SC1003,SC2016,SC2086
- awf --config "${RUNNER_TEMP}/gh-aw/awf-config.json" --container-workdir "${GITHUB_WORKSPACE}" --mount "${RUNNER_TEMP}/gh-aw:${RUNNER_TEMP}/gh-aw:ro" --mount "${RUNNER_TEMP}/gh-aw:/host${RUNNER_TEMP}/gh-aw:ro" ${GH_AW_TOOL_CACHE_MOUNT:+--mount "$GH_AW_TOOL_CACHE_MOUNT"} ${GH_AW_DOCKER_HOST:+--docker-host "$GH_AW_DOCKER_HOST"} ${GH_AW_DOCKER_HOST_PATH_PREFIX_ARGS} --env-all --exclude-env COPILOT_GITHUB_TOKEN --exclude-env GITHUB_MCP_SERVER_TOKEN --exclude-env MCP_GATEWAY_API_KEY --log-level info --skip-pull \
- -- /bin/bash -c 'set +o histexpand; export PATH="${RUNNER_TEMP}/gh-aw/mcp-cli/bin:$PATH" && : "${RUNNER_TOOL_CACHE:?RUNNER_TOOL_CACHE must be set}"; GH_AW_TOOL_CACHE="$RUNNER_TOOL_CACHE"; export PATH="$(find "$GH_AW_TOOL_CACHE" -maxdepth 5 -type d -name bin 2>/dev/null | tr '\''\n'\'' '\'':'\'')$PATH"; [ -n "$GOROOT" ] && export PATH="$GOROOT/bin:$PATH" || true && GH_AW_NODE_EXEC="${GH_AW_NODE_BIN:-}"; if [ -z "$GH_AW_NODE_EXEC" ] || [ ! -x "$GH_AW_NODE_EXEC" ]; then GH_AW_NODE_EXEC="$(command -v node 2>/dev/null || true)"; fi; if [ -z "$GH_AW_NODE_EXEC" ]; then echo "node runtime missing on this runner — check runtimes.node in workflow YAML" >&2; exit 127; fi; GH_AW_NPM_GLOBAL_ROOT="$(npm root -g 2>/dev/null || true)"; if [ -n "$GH_AW_NPM_GLOBAL_ROOT" ]; then export NODE_PATH="${GH_AW_NPM_GLOBAL_ROOT}${NODE_PATH:+:${NODE_PATH}}"; fi; "$GH_AW_NODE_EXEC" ${RUNNER_TEMP}/gh-aw/actions/copilot_harness.cjs /usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --disable-builtin-mcps --no-ask-user --allow-all-tools --allow-all-paths --add-dir "${GITHUB_WORKSPACE}" --prompt-file /tmp/gh-aw/aw-prompts/prompt.txt' 2>&1 | tee -a /tmp/gh-aw/agent-stdio.log
- env:
- AWF_REFLECT_ENABLED: 1
- COPILOT_AGENT_RUNNER_TYPE: STANDALONE
- COPILOT_DUMMY_BYOK: dummy-byok-key-for-offline-mode
- COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}
- COPILOT_MODEL: ${{ vars.GH_AW_MODEL_AGENT_COPILOT || vars.GH_AW_DEFAULT_MODEL_COPILOT || 'claude-sonnet-4.6' }}
- GH_AW_LLM_PROVIDER: github
- GH_AW_MAX_AI_CREDITS: ${{ vars.GH_AW_DEFAULT_MAX_AI_CREDITS || '1000' }}
- GH_AW_MAX_TURNS: ${{ vars.GH_AW_DEFAULT_MAX_TURNS || '' }}
- GH_AW_PHASE: agent
- GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- GH_AW_SAFE_OUTPUTS: ${{ steps.set-runtime-paths.outputs.GH_AW_SAFE_OUTPUTS }}
- GH_AW_TIMEOUT_MINUTES: 5
- GH_AW_VERSION: dev
- GITHUB_API_URL: ${{ github.api_url }}
- GITHUB_AW: true
- GITHUB_COPILOT_INTEGRATION_ID: agentic-workflows
- GITHUB_HEAD_REF: ${{ github.head_ref }}
- GITHUB_MCP_SERVER_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
- GITHUB_REF_NAME: ${{ github.ref_name }}
- GITHUB_SERVER_URL: ${{ github.server_url }}
- GITHUB_STEP_SUMMARY: /tmp/gh-aw/agent-step-summary.md
- GITHUB_WORKSPACE: ${{ github.workspace }}
- GIT_AUTHOR_EMAIL: github-actions[bot]@users.noreply.github.com
- GIT_AUTHOR_NAME: github-actions[bot]
- GIT_COMMITTER_EMAIL: github-actions[bot]@users.noreply.github.com
- GIT_COMMITTER_NAME: github-actions[bot]
- RUNNER_TEMP: ${{ runner.temp }}
- TRACEPARENT: ${{ env.GITHUB_AW_OTEL_TRACE_ID != '' && env.GITHUB_AW_OTEL_PARENT_SPAN_ID != '' && format('00-{0}-{1}-01', env.GITHUB_AW_OTEL_TRACE_ID, env.GITHUB_AW_OTEL_PARENT_SPAN_ID) || '' }}
- - name: Detect agent errors
- if: always()
- id: detect-agent-errors
- continue-on-error: true
- run: node "${RUNNER_TEMP}/gh-aw/actions/detect_agent_errors.cjs"
- - name: Configure Git credentials
- env:
- GITHUB_REPOSITORY: ${{ github.repository }}
- GITHUB_SERVER_URL: ${{ github.server_url }}
- GITHUB_TOKEN: ${{ github.token }}
- run: bash "${RUNNER_TEMP}/gh-aw/actions/configure_git_credentials.sh"
- - name: Copy Copilot session state files to logs
- if: always()
- continue-on-error: true
- run: bash "${RUNNER_TEMP}/gh-aw/actions/copy_copilot_session_state.sh"
- - name: Stop MCP Gateway
- if: always()
- continue-on-error: true
- env:
- MCP_GATEWAY_PORT: ${{ steps.start-mcp-gateway.outputs.gateway-port }}
- MCP_GATEWAY_API_KEY: ${{ steps.start-mcp-gateway.outputs.gateway-api-key }}
- GATEWAY_PID: ${{ steps.start-mcp-gateway.outputs.gateway-pid }}
- run: |
- bash "${RUNNER_TEMP}/gh-aw/actions/stop_mcp_gateway.sh" "$GATEWAY_PID"
- - name: Redact secrets in logs
- if: always()
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- with:
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/redact_secrets.cjs');
- await main();
- env:
- GH_AW_SECRET_NAMES: 'COPILOT_GITHUB_TOKEN,GH_AW_GITHUB_MCP_SERVER_TOKEN,GH_AW_GITHUB_TOKEN,GITHUB_TOKEN'
- SECRET_COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}
- SECRET_GH_AW_GITHUB_MCP_SERVER_TOKEN: ${{ secrets.GH_AW_GITHUB_MCP_SERVER_TOKEN }}
- SECRET_GH_AW_GITHUB_TOKEN: ${{ secrets.GH_AW_GITHUB_TOKEN }}
- SECRET_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- - name: Append agent step summary
- if: always()
- run: bash "${RUNNER_TEMP}/gh-aw/actions/append_agent_step_summary.sh"
- - name: Copy Safe Outputs
- if: always()
- env:
- GH_AW_SAFE_OUTPUTS: ${{ steps.set-runtime-paths.outputs.GH_AW_SAFE_OUTPUTS }}
- run: |
- mkdir -p /tmp/gh-aw
- cp "$GH_AW_SAFE_OUTPUTS" /tmp/gh-aw/safeoutputs.jsonl 2>/dev/null || true
- - name: Ingest agent output
- id: collect_output
- if: always()
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- env:
- GH_AW_SAFE_OUTPUTS: ${{ steps.set-runtime-paths.outputs.GH_AW_SAFE_OUTPUTS }}
- GH_AW_ALLOWED_DOMAINS: "*.githubusercontent.com,*.grafana.net,*.sentry.io,127.0.0.1,::1,api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,api.snapcraft.io,app.renovatebot.com,appveyor.com,archive.ubuntu.com,azure.archive.ubuntu.com,badgen.net,circleci.com,codacy.com,codeclimate.com,codecov.io,codeload.github.com,coveralls.io,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,deepsource.io,docs.github.com,drone.io,github-cloud.githubusercontent.com,github-cloud.s3.amazonaws.com,github.blog,github.com,github.githubassets.com,host.docker.internal,img.shields.io,json-schema.org,json.schemastore.org,keyserver.ubuntu.com,lfs.github.com,localhost,objects.githubusercontent.com,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,patch-diff.githubusercontent.com,patchdiff.githubusercontent.com,ppa.launchpad.net,raw.githubusercontent.com,readthedocs.io,readthedocs.org,registry.npmjs.org,renovatebot.com,s.symcb.com,s.symcd.com,security.ubuntu.com,semaphoreci.com,shields.io,snyk.io,sonarcloud.io,sonarqube.com,telemetry.enterprise.githubcopilot.com,travis-ci.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com,www.googleapis.com"
- GITHUB_SERVER_URL: ${{ github.server_url }}
- GITHUB_API_URL: ${{ github.api_url }}
- with:
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/collect_ndjson_output.cjs');
- await main();
- - name: Parse agent logs for step summary
- if: always()
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- env:
- GH_AW_AGENT_OUTPUT: /tmp/gh-aw/sandbox/agent/logs/
- with:
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/parse_copilot_log.cjs');
- await main();
- - name: Parse MCP Gateway logs for step summary
- if: always()
- id: parse-mcp-gateway
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- with:
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/parse_mcp_gateway_log.cjs');
- await main();
- - name: Print firewall logs
- if: always()
- continue-on-error: true
- env:
- AWF_LOGS_DIR: /tmp/gh-aw/sandbox/firewall/logs
- run: |
- # Only run awf logs summary if awf command exists (it may not be installed if workflow failed before install step)
- if command -v awf &> /dev/null; then
- awf logs summary | tee -a "$GITHUB_STEP_SUMMARY"
- else
- echo 'AWF binary not installed, skipping firewall log summary'
- fi
- - name: Parse token usage for step summary
- if: always()
- continue-on-error: true
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- with:
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/parse_token_usage.cjs');
- await main();
- - name: Print AWF reflect summary
- if: always()
- continue-on-error: true
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- with:
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/awf_reflect_summary.cjs');
- await main();
- - name: Generate observability summary
- if: always()
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- with:
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/generate_observability_summary.cjs');
- await main(core);
- - name: Write agent output placeholder if missing
- if: always()
- run: |
- if [ ! -f /tmp/gh-aw/agent_output.json ]; then
- echo '{"items":[]}' > /tmp/gh-aw/agent_output.json
- fi
- - name: Upload agent artifacts
- if: always()
- continue-on-error: true
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
- with:
- name: agent
- path: |
- /tmp/gh-aw/aw-prompts/prompt.txt
- /tmp/gh-aw/sandbox/agent/logs/
- /tmp/gh-aw/redacted-urls.log
- /tmp/gh-aw/mcp-logs/
- /tmp/gh-aw/agent_usage.json
- /tmp/gh-aw/agent-stdio.log
- /tmp/gh-aw/pre-agent-audit.txt
- /tmp/gh-aw/agent/
- /tmp/gh-aw/github_rate_limits.jsonl
- /tmp/gh-aw/otel.jsonl
- /tmp/gh-aw/otlp-export-errors.jsonl
- /tmp/gh-aw/safeoutputs.jsonl
- /tmp/gh-aw/agent_output.json
- /tmp/gh-aw/aw-*.patch
- /tmp/gh-aw/aw-*.bundle
- /tmp/gh-aw/awf-config.json
- /tmp/gh-aw/sandbox/firewall/logs/
- /tmp/gh-aw/sandbox/firewall/audit/
- /tmp/gh-aw/sandbox/firewall/awf-reflect.json
- if-no-files-found: ignore
-
- check_token_telemetry:
- needs: agent
- if: needs.agent.result == 'success'
- runs-on: ubuntu-latest
- permissions:
- contents: read
-
- steps:
- - name: Configure GH_HOST for enterprise compatibility
- id: ghes-host-config
- shell: bash
- run: | # zizmor: ignore[github-env] - GITHUB_SERVER_URL is set by GitHub Actions, not user input.
- # Derive GH_HOST from GITHUB_SERVER_URL so the gh CLI targets the correct
- # GitHub instance (GHES/GHEC). On github.com this is a harmless no-op.
- GH_HOST="${GITHUB_SERVER_URL#https://}"
- GH_HOST="${GH_HOST#http://}"
- echo "GH_HOST=${GH_HOST}" >> "$GITHUB_ENV"
- - name: Download agent artifact
- id: download-agent
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4
- with:
- name: agent
- path: /tmp/gh-aw/
- continue-on-error: true
- - name: Assert token_usage.jsonl is non-empty
- if: steps.download-agent.outcome == 'success'
- run: |
- # The AWF firewall proxy writes token_usage.jsonl for every LLM API call.
- # If all token_usage.jsonl files are missing or empty, the emitter is broken.
- TOKEN_FILES=(
- "/tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl"
- "/tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl"
- "/tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl"
- )
-
- FOUND_NONEMPTY=false
- for f in "${TOKEN_FILES[@]}"; do
- if [ -s "$f" ]; then
- COUNT=$(grep -c . "$f" 2>/dev/null || echo "0")
- echo "OK: $f — ${COUNT} record(s)"
- FOUND_NONEMPTY=true
- else
- [ -f "$f" ] && echo "EMPTY: $f" || echo "MISSING: $f"
- fi
- done
-
- if [ "${FOUND_NONEMPTY}" != "true" ]; then
- echo "::error::All token_usage.jsonl files are empty or missing after a successful agent run."
- echo "::error::The AWF firewall proxy token telemetry emitter may be broken."
- echo "::error::See tracking issue: https://github.com/github/gh-aw/issues/42791"
- exit 1
- fi
- - name: Assert agent_usage.json has non-zero token counts
- if: steps.download-agent.outcome == 'success'
- run: |
- USAGE_FILE="/tmp/gh-aw/agent_usage.json"
- if [ ! -f "${USAGE_FILE}" ]; then
- echo "::error::agent_usage.json not found in agent artifact — token summary was not written."
- exit 1
- fi
- INPUT_TOKENS=$(python3 -c "import json; d=json.load(open('${USAGE_FILE}')); print(d.get('input_tokens', 0))")
- if [ "${INPUT_TOKENS}" -le 0 ]; then
- echo "::error::agent_usage.json has zero input_tokens — token telemetry may be broken."
- cat "${USAGE_FILE}"
- exit 1
- fi
- echo "OK: agent_usage.json reports ${INPUT_TOKENS} input tokens"
-
- conclusion:
- needs:
- - activation
- - agent
- - check_token_telemetry
- - detection
- - safe_outputs
- if: >
- always() && (needs.agent.result != 'skipped' || needs.activation.outputs.lockdown_check_failed == 'true' ||
- needs.activation.outputs.stale_lock_file_failed == 'true' || needs.activation.outputs.daily_ai_credits_exceeded == 'true')
- runs-on: ubuntu-slim
- permissions:
- contents: read
- issues: write
- concurrency:
- group: "gh-aw-conclusion-smoke-token-telemetry"
- cancel-in-progress: false
- queue: max
- env:
- GH_AW_RUNTIME_FEATURES: ${{ vars.GH_AW_RUNTIME_FEATURES }}
- outputs:
- incomplete_count: ${{ steps.report_incomplete.outputs.incomplete_count }}
- noop_message: ${{ steps.noop.outputs.noop_message }}
- tools_reported: ${{ steps.missing_tool.outputs.tools_reported }}
- total_count: ${{ steps.missing_tool.outputs.total_count }}
- steps:
- - name: Checkout actions folder
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- with:
- repository: github/gh-aw
- sparse-checkout: |
- actions
- clean: false
- persist-credentials: false
- - name: Setup Scripts
- id: setup
- uses: ./actions/setup
- with:
- destination: ${{ runner.temp }}/gh-aw/actions
- job-name: ${{ github.job }}
- trace-id: ${{ needs.activation.outputs.setup-trace-id }}
- parent-span-id: ${{ needs.activation.outputs.setup-parent-span-id || needs.activation.outputs.setup-span-id }}
- env:
- GH_AW_SETUP_WORKFLOW_NAME: "Smoke Token Telemetry"
- GH_AW_CURRENT_WORKFLOW_REF: ${{ github.repository }}/.github/workflows/smoke-token-telemetry.lock.yml@${{ github.ref }}
- GH_AW_INFO_VERSION: "1.0.68"
- GH_AW_INFO_AWF_VERSION: "v0.27.22"
- GH_AW_INFO_ENGINE_ID: "copilot"
- - name: Download agent output artifact
- id: download-agent-output
- continue-on-error: true
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
- with:
- name: agent
- path: /tmp/gh-aw/
- - name: Setup agent output environment variable
- id: setup-agent-output-env
- if: steps.download-agent-output.outcome == 'success'
- run: |
- mkdir -p /tmp/gh-aw/
- find "/tmp/gh-aw/" -type f -print
- echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/agent_output.json" >> "$GITHUB_OUTPUT"
- - name: Download safe outputs items manifest
- id: download-safe-outputs-manifest
- if: always()
- continue-on-error: true
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
- with:
- name: safe-outputs-items
- path: /tmp/gh-aw/
- - name: Collect usage artifact files
- if: always()
- continue-on-error: true
- run: |
- mkdir -p /tmp/gh-aw/usage/agent /tmp/gh-aw/usage/detection
- echo "Usage artifact source file status:"
- for file in /tmp/gh-aw/aw_info.json /tmp/gh-aw/aw-info.jsonl /tmp/gh-aw/agent_usage.json /tmp/gh-aw/agent_usage.jsonl /tmp/gh-aw/detection_usage.jsonl /tmp/gh-aw/github_rate_limits.jsonl /tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/threat-detection/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/threat-detection/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/threat-detection/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl; do
- [ -f "$file" ] && echo "FOUND: $file" || echo "MISSING: $file"
- done
- [ -f /tmp/gh-aw/aw_info.json ] && cp /tmp/gh-aw/aw_info.json /tmp/gh-aw/usage/aw_info.json || true
- [ -f /tmp/gh-aw/aw-info.jsonl ] && cp /tmp/gh-aw/aw-info.jsonl /tmp/gh-aw/usage/aw-info.jsonl || true
- [ -f /tmp/gh-aw/agent_usage.json ] && cp /tmp/gh-aw/agent_usage.json /tmp/gh-aw/usage/agent_usage.json || true
- [ -f /tmp/gh-aw/agent_usage.jsonl ] && cp /tmp/gh-aw/agent_usage.jsonl /tmp/gh-aw/usage/agent_usage.jsonl || true
- [ -f /tmp/gh-aw/detection_usage.jsonl ] && cp /tmp/gh-aw/detection_usage.jsonl /tmp/gh-aw/usage/detection_usage.jsonl || true
- [ -f /tmp/gh-aw/github_rate_limits.jsonl ] && cp /tmp/gh-aw/github_rate_limits.jsonl /tmp/gh-aw/usage/github_rate_limits.jsonl || true
- [ -s /tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl ] && cp /tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/usage/agent/token_usage.jsonl || true
- [ -s /tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl ] && cp /tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/usage/agent/token_usage.jsonl || true
- [ -s /tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl ] && cp /tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/usage/agent/token_usage.jsonl || true
- [ -s /tmp/gh-aw/threat-detection/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl ] && cp /tmp/gh-aw/threat-detection/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/usage/detection/token_usage.jsonl || true
- [ -s /tmp/gh-aw/threat-detection/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl ] && cp /tmp/gh-aw/threat-detection/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/usage/detection/token_usage.jsonl || true
- [ -s /tmp/gh-aw/threat-detection/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl ] && cp /tmp/gh-aw/threat-detection/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl /tmp/gh-aw/usage/detection/token_usage.jsonl || true
- [ -f /tmp/gh-aw/usage/agent/token_usage.jsonl ] || : > /tmp/gh-aw/usage/agent/token_usage.jsonl
- [ -f /tmp/gh-aw/usage/detection/token_usage.jsonl ] || : > /tmp/gh-aw/usage/detection/token_usage.jsonl
- mkdir -p /tmp/gh-aw/usage/activity
- node "${RUNNER_TEMP}/gh-aw/actions/generate_usage_activity_summary.cjs"
- find /tmp/gh-aw/usage -type f -print | sort
- - name: Upload usage artifact
- if: always()
- continue-on-error: true
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
- with:
- name: usage
- path: |
- /tmp/gh-aw/usage/aw_info.json
- /tmp/gh-aw/usage/aw-info.jsonl
- /tmp/gh-aw/usage/agent_usage.json
- /tmp/gh-aw/usage/agent_usage.jsonl
- /tmp/gh-aw/usage/detection_usage.jsonl
- /tmp/gh-aw/usage/github_rate_limits.jsonl
- /tmp/gh-aw/usage/agent/token_usage.jsonl
- /tmp/gh-aw/usage/detection/token_usage.jsonl
- /tmp/gh-aw/usage/activity/summary.json
- if-no-files-found: ignore
- - name: Restore daily AIC usage cache
- id: restore-daily-aic-cache-conclusion
- if: always()
- continue-on-error: true
- uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
- with:
- key: agentic-workflow-usage-smoketokentelemetry-${{ github.run_id }}
- restore-keys: agentic-workflow-usage-smoketokentelemetry-
- path: /tmp/gh-aw/agentic-workflow-usage-cache.jsonl
- - name: Write daily AIC usage cache entry
- id: write-daily-aic-cache
- if: always()
- continue-on-error: true
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- with:
- github-token: ${{ github.token }}
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/write_daily_aic_usage_cache.cjs');
- await main();
- - name: Save daily AIC usage cache
- id: save-daily-aic-cache
- if: always()
- continue-on-error: true
- uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
- with:
- key: agentic-workflow-usage-smoketokentelemetry-${{ github.run_id }}
- path: /tmp/gh-aw/agentic-workflow-usage-cache.jsonl
- - name: Upload daily AIC usage cache artifact
- id: upload-daily-aic-cache
- if: always()
- continue-on-error: true
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
- with:
- name: aic-usage-cache
- path: /tmp/gh-aw/agentic-workflow-usage-cache.jsonl
- if-no-files-found: ignore
- retention-days: 7
- - name: Process no-op messages
- id: noop
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- env:
- GH_AW_AGENT_OUTPUT: ${{ steps.setup-agent-output-env.outputs.GH_AW_AGENT_OUTPUT }}
- GH_AW_NOOP_MAX: "1"
- GH_AW_WORKFLOW_NAME: "Smoke Token Telemetry"
- GH_AW_WORKFLOW_SOURCE_URL: "${{ github.server_url }}/${{ github.repository }}/blob/${{ github.ref_name }}/.github/workflows/smoke-token-telemetry.md"
- GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }}
- GH_AW_NOOP_REPORT_AS_ISSUE: "true"
- GH_AW_AIC: ${{ needs.agent.outputs.aic }}
- GH_AW_THREAT_DETECTION_AIC: ${{ needs.detection.outputs.aic }}
- GH_AW_AMBIENT_CONTEXT: ${{ needs.agent.outputs.ambient_context }}
- GH_AW_WORKFLOW_ID: "smoke-token-telemetry"
- with:
- github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/handle_noop_message.cjs');
- await main();
- - name: Log detection run
- id: detection_runs
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- env:
- GH_AW_AGENT_OUTPUT: ${{ steps.setup-agent-output-env.outputs.GH_AW_AGENT_OUTPUT }}
- GH_AW_WORKFLOW_NAME: "Smoke Token Telemetry"
- GH_AW_WORKFLOW_SOURCE_URL: "${{ github.server_url }}/${{ github.repository }}/blob/${{ github.ref_name }}/.github/workflows/smoke-token-telemetry.md"
- GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.outputs.detection_conclusion }}
- GH_AW_DETECTION_REASON: ${{ needs.detection.outputs.detection_reason }}
- with:
- github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/handle_detection_runs.cjs');
- await main();
- - name: Record missing tool
- id: missing_tool
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- env:
- GH_AW_AGENT_OUTPUT: ${{ steps.setup-agent-output-env.outputs.GH_AW_AGENT_OUTPUT }}
- GH_AW_MISSING_TOOL_CREATE_ISSUE: "true"
- GH_AW_WORKFLOW_NAME: "Smoke Token Telemetry"
- GH_AW_WORKFLOW_SOURCE_URL: "${{ github.server_url }}/${{ github.repository }}/blob/${{ github.ref_name }}/.github/workflows/smoke-token-telemetry.md"
- with:
- github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/missing_tool.cjs');
- await main();
- - name: Record incomplete
- id: report_incomplete
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- env:
- GH_AW_AGENT_OUTPUT: ${{ steps.setup-agent-output-env.outputs.GH_AW_AGENT_OUTPUT }}
- GH_AW_REPORT_INCOMPLETE_CREATE_ISSUE: "true"
- GH_AW_WORKFLOW_NAME: "Smoke Token Telemetry"
- GH_AW_WORKFLOW_SOURCE_URL: "${{ github.server_url }}/${{ github.repository }}/blob/${{ github.ref_name }}/.github/workflows/smoke-token-telemetry.md"
- with:
- github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/report_incomplete_handler.cjs');
- await main();
- - name: Handle agent failure
- id: handle_agent_failure
- if: always()
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- env:
- GH_AW_AGENT_OUTPUT: ${{ steps.setup-agent-output-env.outputs.GH_AW_AGENT_OUTPUT }}
- GH_AW_WORKFLOW_NAME: "Smoke Token Telemetry"
- GH_AW_WORKFLOW_SOURCE_URL: "${{ github.server_url }}/${{ github.repository }}/blob/${{ github.ref_name }}/.github/workflows/smoke-token-telemetry.md"
- GH_AW_RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
- GH_AW_AGENT_CONCLUSION: ${{ needs.agent.result }}
- GH_AW_WORKFLOW_ID: "smoke-token-telemetry"
- GH_AW_ACTION_FAILURE_ISSUE_EXPIRES_HOURS: "12"
- GH_AW_ENGINE_ID: "copilot"
- GH_AW_SECRET_VERIFICATION_RESULT: ${{ needs.activation.outputs.secret_verification_result }}
- GH_AW_CHECKOUT_PR_SUCCESS: ${{ needs.agent.outputs.checkout_pr_success }}
- GH_AW_EFFECTIVE_TOKENS: ${{ needs.agent.outputs.effective_tokens || '' }}
- GH_AW_AI_CREDITS_RATE_LIMIT_ERROR: ${{ needs.agent.outputs.ai_credits_rate_limit_error || 'false' }}
- GH_AW_UNKNOWN_MODEL_AI_CREDITS: ${{ needs.agent.outputs.unknown_model_ai_credits || 'false' }}
- GH_AW_AIC: ${{ needs.agent.outputs.aic }}
- GH_AW_THREAT_DETECTION_AIC: ${{ needs.detection.outputs.aic }}
- GH_AW_MAX_AI_CREDITS: ${{ vars.GH_AW_DEFAULT_MAX_AI_CREDITS || '1000' }}
- GH_AW_INFERENCE_ACCESS_ERROR: ${{ needs.agent.outputs.inference_access_error }}
- GH_AW_MCP_POLICY_ERROR: ${{ needs.agent.outputs.mcp_policy_error }}
- GH_AW_AGENTIC_ENGINE_TIMEOUT: ${{ needs.agent.outputs.agentic_engine_timeout }}
- GH_AW_MODEL_NOT_SUPPORTED_ERROR: ${{ needs.agent.outputs.model_not_supported_error }}
- GH_AW_HTTP_400_RESPONSE_ERROR: ${{ needs.agent.outputs.http_400_response_error }}
- GH_AW_ENGINE_API_HOSTS: "api.enterprise.githubcopilot.com,api.githubcopilot.com,api.business.githubcopilot.com,api.individual.githubcopilot.com"
- GH_AW_LOCKDOWN_CHECK_FAILED: ${{ needs.activation.outputs.lockdown_check_failed }}
- GH_AW_STALE_LOCK_FILE_FAILED: ${{ needs.activation.outputs.stale_lock_file_failed }}
- GH_AW_DAILY_AI_CREDITS_EXCEEDED: ${{ needs.activation.outputs.daily_ai_credits_exceeded }}
- GH_AW_DAILY_AI_CREDITS_TOTAL_EFFECTIVE_TOKENS: ${{ needs.activation.outputs.daily_ai_credits_total_effective_tokens }}
- GH_AW_DAILY_AI_CREDITS_THRESHOLD: ${{ needs.activation.outputs.daily_ai_credits_threshold }}
- GH_AW_GROUP_REPORTS: "false"
- GH_AW_FAILURE_REPORT_AS_ISSUE: "true"
- GH_AW_MISSING_TOOL_REPORT_AS_FAILURE: "true"
- GH_AW_MISSING_DATA_REPORT_AS_FAILURE: "true"
- GH_AW_TIMEOUT_MINUTES: "5"
- with:
- github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/handle_agent_failure.cjs');
- await main();
-
- detection:
- needs:
- - activation
- - agent
- if: always() && needs.agent.result != 'skipped'
- runs-on: ubuntu-latest
- permissions:
- contents: read
- env:
- GH_AW_RUNTIME_FEATURES: ${{ vars.GH_AW_RUNTIME_FEATURES }}
- outputs:
- aic: ${{ steps.parse_detection_token_usage.outputs.aic }}
- detection_conclusion: ${{ steps.detection_conclusion.outputs.conclusion }}
- detection_reason: ${{ steps.detection_conclusion.outputs.reason }}
- detection_success: ${{ steps.detection_conclusion.outputs.success }}
- steps:
- - name: Checkout actions folder
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- with:
- repository: github/gh-aw
- sparse-checkout: |
- actions
- clean: false
- persist-credentials: false
- - name: Setup Scripts
- id: setup
- uses: ./actions/setup
- with:
- destination: ${{ runner.temp }}/gh-aw/actions
- job-name: ${{ github.job }}
- trace-id: ${{ needs.activation.outputs.setup-trace-id }}
- parent-span-id: ${{ needs.activation.outputs.setup-parent-span-id || needs.activation.outputs.setup-span-id }}
- env:
- GH_AW_SETUP_WORKFLOW_NAME: "Smoke Token Telemetry"
- GH_AW_CURRENT_WORKFLOW_REF: ${{ github.repository }}/.github/workflows/smoke-token-telemetry.lock.yml@${{ github.ref }}
- GH_AW_INFO_VERSION: "1.0.68"
- GH_AW_INFO_AWF_VERSION: "v0.27.22"
- GH_AW_INFO_ENGINE_ID: "copilot"
- - name: Download agent output artifact
- id: download-agent-output
- continue-on-error: true
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
- with:
- name: agent
- path: /tmp/gh-aw/
- - name: Setup agent output environment variable
- id: setup-agent-output-env
- if: steps.download-agent-output.outcome == 'success'
- run: |
- mkdir -p /tmp/gh-aw/
- find "/tmp/gh-aw/" -type f -print
- echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/agent_output.json" >> "$GITHUB_OUTPUT"
- - name: Checkout repository for patch context
- if: needs.agent.outputs.has_patch == 'true'
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- with:
- persist-credentials: false
- # --- Threat Detection ---
- - name: Clean stale firewall files from agent artifact
- run: |
- rm -rf /tmp/gh-aw/sandbox/firewall/logs
- rm -rf /tmp/gh-aw/sandbox/firewall/audit
- - name: Download container images
- run: bash "${RUNNER_TEMP}/gh-aw/actions/download_docker_images.sh" ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1 ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59
- - name: Check if detection needed
- id: detection_guard
- if: always()
- env:
- OUTPUT_TYPES: ${{ needs.agent.outputs.output_types }}
- HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
- run: |
- if [[ -n "$OUTPUT_TYPES" || "$HAS_PATCH" == "true" ]]; then
- echo "run_detection=true" >> "$GITHUB_OUTPUT"
- echo "Detection will run: output_types=$OUTPUT_TYPES, has_patch=$HAS_PATCH"
- else
- echo "run_detection=false" >> "$GITHUB_OUTPUT"
- echo "Detection skipped: no agent outputs or patches to analyze"
- fi
- - name: Clear MCP Config for detection
- if: always() && steps.detection_guard.outputs.run_detection == 'true'
- run: |
- rm -f "${RUNNER_TEMP}/gh-aw/mcp-config/mcp-servers.json"
- rm -f "$HOME/.copilot/mcp-config.json"
- rm -f "$GITHUB_WORKSPACE/.gemini/settings.json"
- - name: Prepare threat detection files
- if: always() && steps.detection_guard.outputs.run_detection == 'true'
- run: |
- mkdir -p /tmp/gh-aw/threat-detection/aw-prompts
- rm -f /tmp/gh-aw/agent_usage.json
- cp /tmp/gh-aw/aw-prompts/prompt.txt /tmp/gh-aw/threat-detection/aw-prompts/prompt.txt 2>/dev/null || true
- if [ ! -s /tmp/gh-aw/threat-detection/aw-prompts/prompt.txt ]; then
- echo "::warning::ERR_VALIDATION: Missing or empty detection context prompt at /tmp/gh-aw/threat-detection/aw-prompts/prompt.txt. Ensure the agent artifact includes /tmp/gh-aw/aw-prompts/prompt.txt. Detection will continue with fallback workflow context."
- fi
- cp /tmp/gh-aw/agent_output.json /tmp/gh-aw/threat-detection/agent_output.json 2>/dev/null || true
- for f in /tmp/gh-aw/aw-*.patch; do
- [ -f "$f" ] && cp "$f" /tmp/gh-aw/threat-detection/ 2>/dev/null || true
- done
- for f in /tmp/gh-aw/aw-*.bundle; do
- [ -f "$f" ] && cp "$f" /tmp/gh-aw/threat-detection/ 2>/dev/null || true
- done
- echo "Prepared threat detection files:"
- ls -la /tmp/gh-aw/threat-detection/ 2>/dev/null || true
- - name: Setup threat detection
- if: always() && steps.detection_guard.outputs.run_detection == 'true'
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- env:
- WORKFLOW_NAME: "Smoke Token Telemetry"
- WORKFLOW_DESCRIPTION: "Smoke CI assertion: validates that the AWF firewall proxy token-usage emitter populates token_usage.jsonl for copilot agent LLM runs. Fails fast when token telemetry is broken, so regressions are caught in hours not weeks."
- HAS_PATCH: ${{ needs.agent.outputs.has_patch }}
- with:
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/setup_threat_detection.cjs');
- await main();
- - name: Ensure threat-detection directory and log
- if: always() && steps.detection_guard.outputs.run_detection == 'true'
- run: |
- mkdir -p /tmp/gh-aw/threat-detection
- touch /tmp/gh-aw/threat-detection/detection.log
- - name: Setup Node.js
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
- with:
- node-version: '24'
- package-manager-cache: false
- - name: Install GitHub Copilot CLI
- run: bash "${RUNNER_TEMP}/gh-aw/actions/install_copilot_cli.sh" 1.0.68
- env:
- GH_HOST: github.com
- - name: Install AWF binary
- run: bash "${RUNNER_TEMP}/gh-aw/actions/install_awf_binary.sh" v0.27.22
- - name: Execute GitHub Copilot CLI
- if: always() && steps.detection_guard.outputs.run_detection == 'true'
- continue-on-error: true
- id: detection_agentic_execution
- # Copilot CLI tool arguments (sorted):
- timeout-minutes: 20
- run: |
- set -o pipefail
- printf '%s' "$(date +%s%3N)" > /tmp/gh-aw/agent_cli_start_ms.txt
- trap 'rm -f "$HOME/.copilot/settings.json"' EXIT
- mkdir -p "$HOME/.copilot"
- printf '%s' '{"builtInAgents":{"rubberDuck":false}}' > "$HOME/.copilot/settings.json"
- export XDG_CONFIG_HOME="$HOME"
- touch /tmp/gh-aw/agent-step-summary.md
- GH_AW_NODE_BIN=$(command -v node 2>/dev/null || true)
- export GH_AW_NODE_BIN
- export COPILOT_API_KEY="$COPILOT_DUMMY_BYOK"
- (umask 177 && touch /tmp/gh-aw/threat-detection/detection.log)
- GH_AW_MAX_AI_CREDITS="${GH_AW_MAX_AI_CREDITS:-400}"
- printf '%s\n' "{\"\$schema\":\"https://github.com/github/gh-aw-firewall/releases/download/v0.27.22/awf-config.schema.json\",\"network\":{\"allowDomains\":[\"api.business.githubcopilot.com\",\"api.enterprise.githubcopilot.com\",\"api.github.com\",\"api.githubcopilot.com\",\"api.individual.githubcopilot.com\",\"github.com\",\"host.docker.internal\",\"registry.npmjs.org\",\"telemetry.enterprise.githubcopilot.com\"]},\"apiProxy\":{\"enabled\":true,\"enableTokenSteering\":true,\"maxRuns\":500,\"maxAiCredits\":${GH_AW_MAX_AI_CREDITS},\"maxCacheMisses\":5},\"container\":{\"imageTag\":\"0.27.22,squid=sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59,agent=sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e,api-proxy=sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1,cli-proxy=sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c\"},\"logging\":{\"proxyLogsDir\":\"/tmp/gh-aw/sandbox/firewall/logs\",\"auditDir\":\"/tmp/gh-aw/sandbox/firewall/audit\"}}" > "${RUNNER_TEMP}/gh-aw/awf-config.json"
- cp "${RUNNER_TEMP}/gh-aw/awf-config.json" /tmp/gh-aw/awf-config.json
- export GH_AW_MODELS_JSON_PATH="/tmp/gh-aw/models.json"
- GH_AW_DOCKER_HOST=""
- if [[ "${DOCKER_HOST:-}" =~ ^tcp:// ]]; then
- GH_AW_DOCKER_HOST="${DOCKER_HOST}"
- fi
- GH_AW_DOCKER_HOST_PATH_PREFIX_ARGS=""
- if [[ "${DOCKER_HOST:-}" =~ ^tcp:// ]]; then
- GH_AW_DOCKER_HOST_PATH_PREFIX_ARGS="--docker-host-path-prefix ${RUNNER_TEMP}/gh-aw"
- _GH_AW_CHROOT_JSON=$(jq -c --arg src "${RUNNER_TEMP}/gh-aw" --arg user "$(id -un)" --argjson uid "$(id -u)" --argjson gid "$(id -g)" --arg home "${RUNNER_TEMP}/gh-aw/home" '.chroot={"binariesSourcePath":$src,"identity":{"user":$user,"uid":$uid,"gid":$gid,"home":$home}}' "${RUNNER_TEMP}/gh-aw/awf-config.json") || { echo "chroot config patch failed" >&2; exit 1; }
- printf '%s\n' "$_GH_AW_CHROOT_JSON" > "${RUNNER_TEMP}/gh-aw/awf-config.json"
- printf '%s\n' "$_GH_AW_CHROOT_JSON" > "${RUNNER_TEMP}/gh-aw/awf-config.json"
- fi
- GH_AW_TOOL_CACHE_MOUNT=""
- GH_AW_TOOL_CACHE="${RUNNER_TOOL_CACHE:?RUNNER_TOOL_CACHE must be set}"
- if [ -d "$GH_AW_TOOL_CACHE" ]; then
- if [[ "$GH_AW_TOOL_CACHE" != /opt/* ]]; then
- GH_AW_TOOL_CACHE_MOUNT="$GH_AW_TOOL_CACHE:$GH_AW_TOOL_CACHE:ro"
- fi
- fi
- # shellcheck disable=SC1003,SC2016,SC2086
- sudo -E awf --config "${RUNNER_TEMP}/gh-aw/awf-config.json" --container-workdir "${GITHUB_WORKSPACE}" --mount "${RUNNER_TEMP}/gh-aw:${RUNNER_TEMP}/gh-aw:ro" --mount "${RUNNER_TEMP}/gh-aw:/host${RUNNER_TEMP}/gh-aw:ro" ${GH_AW_TOOL_CACHE_MOUNT:+--mount "$GH_AW_TOOL_CACHE_MOUNT"} ${GH_AW_DOCKER_HOST:+--docker-host "$GH_AW_DOCKER_HOST"} ${GH_AW_DOCKER_HOST_PATH_PREFIX_ARGS} --env-all --exclude-env COPILOT_GITHUB_TOKEN --log-level info --enable-host-access --allow-host-ports 80,443,8080 --skip-pull \
- -- /bin/bash -c 'set +o histexpand; : "${RUNNER_TOOL_CACHE:?RUNNER_TOOL_CACHE must be set}"; GH_AW_TOOL_CACHE="$RUNNER_TOOL_CACHE"; export PATH="$(find "$GH_AW_TOOL_CACHE" -maxdepth 5 -type d -name bin 2>/dev/null | tr '\''\n'\'' '\'':'\'')$PATH"; [ -n "$GOROOT" ] && export PATH="$GOROOT/bin:$PATH" || true && GH_AW_NODE_EXEC="${GH_AW_NODE_BIN:-}"; if [ -z "$GH_AW_NODE_EXEC" ] || [ ! -x "$GH_AW_NODE_EXEC" ]; then GH_AW_NODE_EXEC="$(command -v node 2>/dev/null || true)"; fi; if [ -z "$GH_AW_NODE_EXEC" ]; then echo "node runtime missing on this runner — check runtimes.node in workflow YAML" >&2; exit 127; fi; GH_AW_NPM_GLOBAL_ROOT="$(npm root -g 2>/dev/null || true)"; if [ -n "$GH_AW_NPM_GLOBAL_ROOT" ]; then export NODE_PATH="${GH_AW_NPM_GLOBAL_ROOT}${NODE_PATH:+:${NODE_PATH}}"; fi; "$GH_AW_NODE_EXEC" ${RUNNER_TEMP}/gh-aw/actions/copilot_harness.cjs /usr/local/bin/copilot --add-dir /tmp/gh-aw/ --log-level all --log-dir /tmp/gh-aw/sandbox/agent/logs/ --disable-builtin-mcps --no-ask-user --allow-all-tools --add-dir "${GITHUB_WORKSPACE}" --prompt-file /tmp/gh-aw/aw-prompts/prompt.txt' 2>&1 | tee -a /tmp/gh-aw/threat-detection/detection.log
- env:
- AWF_REFLECT_ENABLED: 1
- COPILOT_AGENT_RUNNER_TYPE: STANDALONE
- COPILOT_DUMMY_BYOK: dummy-byok-key-for-offline-mode
- COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}
- COPILOT_MODEL: ${{ vars.GH_AW_MODEL_DETECTION_COPILOT || vars.GH_AW_DEFAULT_MODEL_COPILOT || 'claude-sonnet-4.6' }}
- GH_AW_LLM_PROVIDER: github
- GH_AW_MAX_AI_CREDITS: ${{ vars.GH_AW_DEFAULT_DETECTION_MAX_AI_CREDITS || '400' }}
- GH_AW_MAX_TURNS: ${{ vars.GH_AW_DEFAULT_MAX_TURNS || '' }}
- GH_AW_PHASE: detection
- GH_AW_PROMPT: /tmp/gh-aw/aw-prompts/prompt.txt
- GH_AW_TIMEOUT_MINUTES: 20
- GH_AW_VERSION: dev
- GITHUB_API_URL: ${{ github.api_url }}
- GITHUB_AW: true
- GITHUB_COPILOT_INTEGRATION_ID: agentic-workflows
- GITHUB_HEAD_REF: ${{ github.head_ref }}
- GITHUB_REF_NAME: ${{ github.ref_name }}
- GITHUB_SERVER_URL: ${{ github.server_url }}
- GITHUB_STEP_SUMMARY: /tmp/gh-aw/agent-step-summary.md
- GITHUB_WORKSPACE: ${{ github.workspace }}
- GIT_AUTHOR_EMAIL: github-actions[bot]@users.noreply.github.com
- GIT_AUTHOR_NAME: github-actions[bot]
- GIT_COMMITTER_EMAIL: github-actions[bot]@users.noreply.github.com
- GIT_COMMITTER_NAME: github-actions[bot]
- RUNNER_TEMP: ${{ runner.temp }}
- TRACEPARENT: ${{ env.GITHUB_AW_OTEL_TRACE_ID != '' && env.GITHUB_AW_OTEL_PARENT_SPAN_ID != '' && format('00-{0}-{1}-01', env.GITHUB_AW_OTEL_TRACE_ID, env.GITHUB_AW_OTEL_PARENT_SPAN_ID) || '' }}
- - name: Parse threat detection token usage for step summary
- id: parse_detection_token_usage
- if: always()
- continue-on-error: true
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- env:
- GH_AW_TOKEN_USAGE_SUMMARY_TITLE: Threat Detection Token Usage
- with:
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/parse_token_usage.cjs');
- await main();
- - name: Upload threat detection log
- if: always() && steps.detection_guard.outputs.run_detection == 'true'
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
- with:
- name: detection
- path: /tmp/gh-aw/threat-detection/detection.log
- if-no-files-found: ignore
- - name: Parse and conclude threat detection
- id: detection_conclusion
- if: always()
- continue-on-error: true
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- env:
- RUN_DETECTION: ${{ steps.detection_guard.outputs.run_detection }}
- DETECTION_AGENTIC_EXECUTION_OUTCOME: ${{ steps.detection_agentic_execution.outcome }}
- GH_AW_DETECTION_CONTINUE_ON_ERROR: "true"
- with:
- script: |
- try {
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/parse_threat_detection_results.cjs');
- await main();
- } catch (loadErr) {
- const continueOnError = process.env.GH_AW_DETECTION_CONTINUE_ON_ERROR !== 'false';
- const detectionExecutionFailed = process.env.DETECTION_AGENTIC_EXECUTION_OUTCOME === 'failure';
- const msg = 'ERR_SYSTEM: \u274C Unexpected error loading threat detection module: ' + (loadErr && loadErr.message ? loadErr.message : String(loadErr));
- core.error(msg);
- core.setOutput('reason', 'parse_error');
- if (continueOnError && !detectionExecutionFailed) {
- core.warning('\u26A0\uFE0F ' + msg);
- core.setOutput('conclusion', 'warning');
- core.setOutput('success', 'false');
- } else {
- core.setOutput('conclusion', 'failure');
- core.setOutput('success', 'false');
- core.setFailed(msg);
- }
- }
-
- pre_activation:
- runs-on: ubuntu-slim
- permissions:
- contents: read
- env:
- GH_AW_RUNTIME_FEATURES: ${{ vars.GH_AW_RUNTIME_FEATURES }}
- outputs:
- activated: ${{ steps.check_membership.outputs.is_team_member == 'true' }}
- matched_command: ''
- setup-parent-span-id: ${{ steps.setup.outputs.parent-span-id || steps.setup.outputs.span-id }}
- setup-span-id: ${{ steps.setup.outputs.span-id }}
- setup-trace-id: ${{ steps.setup.outputs.trace-id }}
- steps:
- - name: Checkout actions folder
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- with:
- repository: github/gh-aw
- sparse-checkout: |
- actions
- clean: false
- persist-credentials: false
- - name: Setup Scripts
- id: setup
- uses: ./actions/setup
- with:
- destination: ${{ runner.temp }}/gh-aw/actions
- job-name: ${{ github.job }}
- env:
- GH_AW_SETUP_WORKFLOW_NAME: "Smoke Token Telemetry"
- GH_AW_CURRENT_WORKFLOW_REF: ${{ github.repository }}/.github/workflows/smoke-token-telemetry.lock.yml@${{ github.ref }}
- GH_AW_INFO_VERSION: "1.0.68"
- GH_AW_INFO_AWF_VERSION: "v0.27.22"
- GH_AW_INFO_ENGINE_ID: "copilot"
- - name: Check team membership for workflow
- id: check_membership
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- env:
- GH_AW_REQUIRED_ROLES: "admin,maintainer,write"
- with:
- github-token: ${{ secrets.GITHUB_TOKEN }}
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/check_membership.cjs');
- await main();
-
- safe_outputs:
- needs:
- - activation
- - agent
- - detection
- if: (!cancelled()) && needs.agent.result != 'skipped' && needs.detection.result == 'success'
- runs-on: ubuntu-slim
- permissions:
- contents: read
- issues: write
- timeout-minutes: 45
- env:
- GH_AW_AGENT_AIC: ${{ needs.agent.outputs.aic }}
- GH_AW_AIC: ${{ needs.agent.outputs.aic }}
- GH_AW_AMBIENT_CONTEXT: ${{ needs.agent.outputs.ambient_context }}
- GH_AW_CALLER_WORKFLOW_ID: "${{ github.repository }}/smoke-token-telemetry"
- GH_AW_DETECTION_CONCLUSION: ${{ needs.detection.outputs.detection_conclusion }}
- GH_AW_DETECTION_REASON: ${{ needs.detection.outputs.detection_reason }}
- GH_AW_EFFECTIVE_TOKENS: ${{ needs.agent.outputs.effective_tokens }}
- GH_AW_ENGINE_ID: "copilot"
- GH_AW_ENGINE_MODEL: ${{ needs.agent.outputs.model }}
- GH_AW_ENGINE_VERSION: "1.0.68"
- GH_AW_PROJECT_UTC: "-08:00"
- GH_AW_RUNTIME_FEATURES: ${{ vars.GH_AW_RUNTIME_FEATURES }}
- GH_AW_THREAT_DETECTION_AIC: ${{ needs.detection.outputs.aic }}
- GH_AW_WORKFLOW_EMOJI: "📊"
- GH_AW_WORKFLOW_ID: "smoke-token-telemetry"
- GH_AW_WORKFLOW_NAME: "Smoke Token Telemetry"
- GH_AW_WORKFLOW_SOURCE_URL: "${{ github.server_url }}/${{ github.repository }}/blob/${{ github.ref_name }}/.github/workflows/smoke-token-telemetry.md"
- outputs:
- code_push_failure_count: ${{ steps.process_safe_outputs.outputs.code_push_failure_count }}
- code_push_failure_errors: ${{ steps.process_safe_outputs.outputs.code_push_failure_errors }}
- create_discussion_error_count: ${{ steps.process_safe_outputs.outputs.create_discussion_error_count }}
- create_discussion_errors: ${{ steps.process_safe_outputs.outputs.create_discussion_errors }}
- created_issue_number: ${{ steps.process_safe_outputs.outputs.created_issue_number }}
- created_issue_url: ${{ steps.process_safe_outputs.outputs.created_issue_url }}
- process_safe_outputs_processed_count: ${{ steps.process_safe_outputs.outputs.processed_count }}
- process_safe_outputs_temporary_id_map: ${{ steps.process_safe_outputs.outputs.temporary_id_map }}
- steps:
- - name: Checkout actions folder
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- with:
- repository: github/gh-aw
- sparse-checkout: |
- actions
- clean: false
- persist-credentials: false
- - name: Setup Scripts
- id: setup
- uses: ./actions/setup
- with:
- destination: ${{ runner.temp }}/gh-aw/actions
- job-name: ${{ github.job }}
- trace-id: ${{ needs.activation.outputs.setup-trace-id }}
- parent-span-id: ${{ needs.activation.outputs.setup-parent-span-id || needs.activation.outputs.setup-span-id }}
- env:
- GH_AW_SETUP_WORKFLOW_NAME: "Smoke Token Telemetry"
- GH_AW_CURRENT_WORKFLOW_REF: ${{ github.repository }}/.github/workflows/smoke-token-telemetry.lock.yml@${{ github.ref }}
- GH_AW_INFO_VERSION: "1.0.68"
- GH_AW_INFO_AWF_VERSION: "v0.27.22"
- GH_AW_INFO_ENGINE_ID: "copilot"
- - name: Mask OTLP telemetry headers
- run: bash "${RUNNER_TEMP}/gh-aw/actions/mask_otlp_headers.sh"
- - name: Download agent output artifact
- id: download-agent-output
- continue-on-error: true
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
- with:
- name: agent
- path: /tmp/gh-aw/
- - name: Setup agent output environment variable
- id: setup-agent-output-env
- if: steps.download-agent-output.outcome == 'success'
- run: |
- mkdir -p /tmp/gh-aw/
- find "/tmp/gh-aw/" -type f -print
- echo "GH_AW_AGENT_OUTPUT=/tmp/gh-aw/agent_output.json" >> "$GITHUB_OUTPUT"
- - name: Configure GH_HOST for enterprise compatibility
- id: ghes-host-config
- shell: bash
- run: | # zizmor: ignore[github-env] - GITHUB_SERVER_URL is set by GitHub Actions, not user input.
- # Derive GH_HOST from GITHUB_SERVER_URL so the gh CLI targets the correct
- # GitHub instance (GHES/GHEC). On github.com this is a harmless no-op.
- GH_HOST="${GITHUB_SERVER_URL#https://}"
- GH_HOST="${GH_HOST#http://}"
- echo "GH_HOST=${GH_HOST}" >> "$GITHUB_ENV"
- - name: Process Safe Outputs
- id: process_safe_outputs
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
- env:
- GH_AW_AGENT_OUTPUT: ${{ steps.setup-agent-output-env.outputs.GH_AW_AGENT_OUTPUT }}
- GH_AW_COMMENT_ID: ${{ needs.activation.outputs.comment_id }}
- GH_AW_ALLOWED_DOMAINS: "*.githubusercontent.com,*.grafana.net,*.sentry.io,127.0.0.1,::1,api.business.githubcopilot.com,api.enterprise.githubcopilot.com,api.github.com,api.githubcopilot.com,api.individual.githubcopilot.com,api.snapcraft.io,app.renovatebot.com,appveyor.com,archive.ubuntu.com,azure.archive.ubuntu.com,badgen.net,circleci.com,codacy.com,codeclimate.com,codecov.io,codeload.github.com,coveralls.io,crl.geotrust.com,crl.globalsign.com,crl.identrust.com,crl.sectigo.com,crl.thawte.com,crl.usertrust.com,crl.verisign.com,crl3.digicert.com,crl4.digicert.com,crls.ssl.com,deepsource.io,docs.github.com,drone.io,github-cloud.githubusercontent.com,github-cloud.s3.amazonaws.com,github.blog,github.com,github.githubassets.com,host.docker.internal,img.shields.io,json-schema.org,json.schemastore.org,keyserver.ubuntu.com,lfs.github.com,localhost,objects.githubusercontent.com,ocsp.digicert.com,ocsp.geotrust.com,ocsp.globalsign.com,ocsp.identrust.com,ocsp.sectigo.com,ocsp.ssl.com,ocsp.thawte.com,ocsp.usertrust.com,ocsp.verisign.com,packagecloud.io,packages.cloud.google.com,packages.microsoft.com,patch-diff.githubusercontent.com,patchdiff.githubusercontent.com,ppa.launchpad.net,raw.githubusercontent.com,readthedocs.io,readthedocs.org,registry.npmjs.org,renovatebot.com,s.symcb.com,s.symcd.com,security.ubuntu.com,semaphoreci.com,shields.io,snyk.io,sonarcloud.io,sonarqube.com,telemetry.enterprise.githubcopilot.com,travis-ci.com,ts-crl.ws.symantec.com,ts-ocsp.ws.symantec.com,www.googleapis.com"
- GITHUB_SERVER_URL: ${{ github.server_url }}
- GITHUB_API_URL: ${{ github.api_url }}
- GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG: "{\"create_issue\":{\"labels\":[\"smoke-token-telemetry\"],\"max\":1,\"title_prefix\":\"[smoke-token-telemetry]\"},\"create_report_incomplete_issue\":{},\"missing_data\":{},\"missing_tool\":{},\"noop\":{\"max\":1,\"report-as-issue\":\"true\"},\"report_incomplete\":{}}"
- with:
- github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
- script: |
- const { setupGlobals } = require('${{ runner.temp }}/gh-aw/actions/setup_globals.cjs');
- setupGlobals(core, github, context, exec, io, getOctokit);
- const { main } = require('${{ runner.temp }}/gh-aw/actions/safe_output_handler_manager.cjs');
- await main();
- - name: Upload Safe Outputs Items
- if: always()
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
- with:
- name: safe-outputs-items
- path: |
- /tmp/gh-aw/safe-output-items.jsonl
- /tmp/gh-aw/temporary-id-map.json
- if-no-files-found: ignore
-
diff --git a/docs/src/content/docs/agent-factory-status.mdx b/docs/src/content/docs/agent-factory-status.mdx
index cde4a508a06..f7a4b36e8bf 100644
--- a/docs/src/content/docs/agent-factory-status.mdx
+++ b/docs/src/content/docs/agent-factory-status.mdx
@@ -226,7 +226,6 @@ These are experimental agentic workflows used by the GitHub Next team to learn,
| [Smoke Project](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-project.md) | copilot | [](https://github.com/github/gh-aw/actions/workflows/smoke-project.lock.yml) | - | `/smoke` |
| [Smoke Service Ports](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-service-ports.md) | copilot | [](https://github.com/github/gh-aw/actions/workflows/smoke-service-ports.lock.yml) | - | `/smoke` |
| [Smoke Temporary ID](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-temporary-id.md) | copilot | [](https://github.com/github/gh-aw/actions/workflows/smoke-temporary-id.lock.yml) | - | `/smoke` |
-| [Smoke Token Telemetry](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-token-telemetry.md) | copilot | [](https://github.com/github/gh-aw/actions/workflows/smoke-token-telemetry.lock.yml) | - | - |
| [Smoke Update Cross-Repo PR](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-update-cross-repo-pr.md) | copilot | [](https://github.com/github/gh-aw/actions/workflows/smoke-update-cross-repo-pr.lock.yml) | - | `/smoke` |
| [Smoke Workflow Call](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-workflow-call.md) | copilot | [](https://github.com/github/gh-aw/actions/workflows/smoke-workflow-call.lock.yml) | - | - |
| [Smoke Workflow Call with Inputs](https://github.com/github/gh-aw/blob/main/.github/workflows/smoke-workflow-call-with-inputs.md) | copilot | [](https://github.com/github/gh-aw/actions/workflows/smoke-workflow-call-with-inputs.lock.yml) | - | - |
diff --git a/pkg/actionpins/data/action_pins.json b/pkg/actionpins/data/action_pins.json
index ffe6c94d496..370f6f9eeee 100644
--- a/pkg/actionpins/data/action_pins.json
+++ b/pkg/actionpins/data/action_pins.json
@@ -1,761 +1,766 @@
{
- "entries": {
- "actions-ecosystem/action-add-labels@v1.1.3": {
- "repo": "actions-ecosystem/action-add-labels",
- "version": "v1.1.3",
- "sha": "c96b68fec76a0987cd93957189e9abd0b9a72ff1",
- "inputs": {
- "github_token": {
- "description": "A GitHub token.",
- "default": "${{ github.token }}"
- },
- "labels": {
- "description": "The labels' name to be added. Must be separated with line breaks if there're multiple labels.",
- "required": true
- },
- "number": {
- "description": "The number of the issue or pull request."
- },
- "repo": {
- "description": "The owner and repository name. e.g.) Codertocat/Hello-World",
- "default": "${{ github.repository }}"
- }
- },
- "action_description": "Add labels to an issue or a pull request."
- },
- "actions/cache/restore@v6.1.0": {
- "repo": "actions/cache/restore",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/cache/save@v6.1.0": {
- "repo": "actions/cache/save",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/cache@v6.1.0": {
- "repo": "actions/cache",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/checkout@v7.0.0": {
- "repo": "actions/checkout",
- "version": "v7.0.0",
- "sha": "9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
- },
- "actions/create-github-app-token@v3.2.0": {
- "repo": "actions/create-github-app-token",
- "version": "v3.2.0",
- "sha": "bcd2ba49218906704ab6c1aa796996da409d3eb1"
- },
- "actions/download-artifact@v8.0.1": {
- "repo": "actions/download-artifact",
- "version": "v8.0.1",
- "sha": "3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"
- },
- "actions/github-script@v9.0.0": {
- "repo": "actions/github-script",
- "version": "v9.0.0",
- "sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
- },
- "actions/setup-dotnet@v5.4.0": {
- "repo": "actions/setup-dotnet",
- "version": "v5.4.0",
- "sha": "26b0ec14cb23fa6904739307f278c14f94c95bf1"
- },
- "actions/setup-go@v6.5.0": {
- "repo": "actions/setup-go",
- "version": "v6.5.0",
- "sha": "924ae3a1cded613372ab5595356fb5720e22ba16"
- },
- "actions/setup-java@v5.4.0": {
- "repo": "actions/setup-java",
- "version": "v5.4.0",
- "sha": "1bcf9fb12cf4aa7d266a90ae39939e61372fe520"
- },
- "actions/setup-node@v6.4.0": {
- "repo": "actions/setup-node",
- "version": "v6.4.0",
- "sha": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
- },
- "actions/setup-python@v6.3.0": {
- "repo": "actions/setup-python",
- "version": "v6.3.0",
- "sha": "ece7cb06caefa5fff74198d8649806c4678c61a1"
- },
- "actions/upload-artifact@v7.0.1": {
- "repo": "actions/upload-artifact",
- "version": "v7.0.1",
- "sha": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
- },
- "anchore/sbom-action@v0.24.0": {
- "repo": "anchore/sbom-action",
- "version": "v0.24.0",
- "sha": "e22c389904149dbc22b58101806040fa8d37a610"
- },
- "astral-sh/setup-uv@v8.2.0": {
- "repo": "astral-sh/setup-uv",
- "version": "v8.2.0",
- "sha": "fac544c07dec837d0ccb6301d7b5580bf5edae39"
- },
- "denoland/setup-deno@v2.0.4": {
- "repo": "denoland/setup-deno",
- "version": "v2.0.4",
- "sha": "667a34cdef165d8d2b2e98dde39547c9daac7282"
- },
- "docker/build-push-action@v7.2.0": {
- "repo": "docker/build-push-action",
- "version": "v7.2.0",
- "sha": "f9f3042f7e2789586610d6e8b85c8f03e5195baf",
- "released_at": "2026-05-21T15:23:58Z"
- },
- "docker/login-action@v4.2.0": {
- "repo": "docker/login-action",
- "version": "v4.2.0",
- "sha": "650006c6eb7dba73a995cc03b0b2d7f5ca915bee",
- "released_at": "2026-05-22T11:55:00Z"
- },
- "docker/metadata-action@v6.1.0": {
- "repo": "docker/metadata-action",
- "version": "v6.1.0",
- "sha": "80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9"
- },
- "docker/setup-buildx-action@v4.1.0": {
- "repo": "docker/setup-buildx-action",
- "version": "v4.1.0",
- "sha": "d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5"
- },
- "erlef/setup-beam@v1.24.0": {
- "repo": "erlef/setup-beam",
- "version": "v1.24.0",
- "sha": "fc68ffb90438ef2936bbb3251622353b3dcb2f93"
- },
- "github/codeql-action/upload-sarif@v4.36.2": {
- "repo": "github/codeql-action/upload-sarif",
- "version": "v4.36.2",
- "sha": "8aad20d150bbac5944a9f9d289da16a4b0d87c1e"
- },
- "github/stale-repos@v9.0.15": {
- "repo": "github/stale-repos",
- "version": "v9.0.15",
- "sha": "a0db8bfe2318ed6ddbd01e95d7633803f99f77e9"
- },
- "haskell-actions/setup@v2.11.0": {
- "repo": "haskell-actions/setup",
- "version": "v2.11.0",
- "sha": "cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553"
- },
- "oven-sh/setup-bun@v2.2.0": {
- "repo": "oven-sh/setup-bun",
- "version": "v2.2.0",
- "sha": "0c5077e51419868618aeaa5fe8019c62421857d6"
- },
- "ruby/setup-ruby@v1.314.0": {
- "repo": "ruby/setup-ruby",
- "version": "v1.314.0",
- "sha": "9eb537ca036ebaed86729dcb9309076e4c5c3b74"
- },
- "safedep/pmg@v1": {
- "repo": "safedep/pmg",
- "version": "v1",
- "sha": "46cc70db535107183c9e752bb55d1d5c5f1a9290"
- },
- "super-linter/super-linter@v8.7.0": {
- "repo": "super-linter/super-linter",
- "version": "v8.7.0",
- "sha": "4ce20838b8ab83717e78138c5b3a1407148e0918"
+ "entries": {
+ "actions-ecosystem/action-add-labels@v1.1.3": {
+ "repo": "actions-ecosystem/action-add-labels",
+ "version": "v1.1.3",
+ "sha": "c96b68fec76a0987cd93957189e9abd0b9a72ff1",
+ "inputs": {
+ "github_token": {
+ "description": "A GitHub token.",
+ "default": "${{ github.token }}"
+ },
+ "labels": {
+ "description": "The labels' name to be added. Must be separated with line breaks if there're multiple labels.",
+ "required": true
+ },
+ "number": {
+ "description": "The number of the issue or pull request."
+ },
+ "repo": {
+ "description": "The owner and repository name. e.g.) Codertocat/Hello-World",
+ "default": "${{ github.repository }}"
}
+ },
+ "action_description": "Add labels to an issue or a pull request."
},
- "containers": {
- "alpine:latest": {
- "image": "alpine:latest",
- "digest": "sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11",
- "pinned_image": "alpine:latest@sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11"
- },
- "docker.io/mcp/brave-search": {
- "image": "docker.io/mcp/brave-search",
- "digest": "sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22",
- "pinned_image": "docker.io/mcp/brave-search@sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22"
- },
- "ghcr.io/chopratejas/headroom:latest": {
- "image": "ghcr.io/chopratejas/headroom:latest",
- "digest": "sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e",
- "pinned_image": "ghcr.io/chopratejas/headroom:latest@sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e"
- },
- "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29",
- "digest": "sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29@sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1"
- },
- "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13",
- "digest": "sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13@sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18",
- "digest": "sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18@sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20",
- "digest": "sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20@sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28",
- "digest": "sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28@sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29",
- "digest": "sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29@sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40",
- "digest": "sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40@sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41",
- "digest": "sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41@sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66",
- "digest": "sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66@sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67",
- "digest": "sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67@sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0",
- "digest": "sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0@sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1",
- "digest": "sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1@sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11",
- "digest": "sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11@sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12",
- "digest": "sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12@sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13",
- "digest": "sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13@sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2",
- "digest": "sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22",
- "digest": "sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4",
- "digest": "sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4@sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6",
- "digest": "sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6@sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7",
- "digest": "sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7@sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9",
- "digest": "sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9@sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18",
- "digest": "sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18@sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20",
- "digest": "sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20@sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28",
- "digest": "sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28@sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29",
- "digest": "sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29@sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40",
- "digest": "sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40@sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41",
- "digest": "sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41@sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66",
- "digest": "sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66@sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67",
- "digest": "sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67@sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0",
- "digest": "sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0@sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1",
- "digest": "sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1@sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11",
- "digest": "sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11@sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12",
- "digest": "sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12@sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13",
- "digest": "sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13@sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2",
- "digest": "sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22",
- "digest": "sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4",
- "digest": "sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4@sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6",
- "digest": "sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6@sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7",
- "digest": "sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7@sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9",
- "digest": "sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9@sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28",
- "digest": "sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28@sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29",
- "digest": "sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29@sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40",
- "digest": "sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40@sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41",
- "digest": "sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41@sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66",
- "digest": "sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66@sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67",
- "digest": "sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67@sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0",
- "digest": "sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0@sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1",
- "digest": "sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1@sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12",
- "digest": "sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12@sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13",
- "digest": "sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13@sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2",
- "digest": "sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22",
- "digest": "sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4",
- "digest": "sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4@sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6",
- "digest": "sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6@sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7",
- "digest": "sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7@sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9",
- "digest": "sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9@sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18",
- "digest": "sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18@sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20",
- "digest": "sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20@sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28",
- "digest": "sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28@sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29",
- "digest": "sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29@sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40",
- "digest": "sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40@sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41",
- "digest": "sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41@sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66",
- "digest": "sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66@sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67",
- "digest": "sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67@sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0",
- "digest": "sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0@sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1",
- "digest": "sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1@sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11",
- "digest": "sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11@sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12",
- "digest": "sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12@sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13",
- "digest": "sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13@sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2",
- "digest": "sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22",
- "digest": "sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4",
- "digest": "sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4@sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6",
- "digest": "sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6@sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7",
- "digest": "sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7@sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9",
- "digest": "sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9@sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.2.19": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.2.19",
- "digest": "sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.19@sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.2.30": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.2.30",
- "digest": "sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.30@sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.0": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.0",
- "digest": "sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.0@sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.1": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.1",
- "digest": "sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.1@sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.16": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.16",
- "digest": "sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.16@sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.23": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.23",
- "digest": "sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.23@sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.24": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.24",
- "digest": "sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.24@sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.25": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.25",
- "digest": "sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.26": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.26",
- "digest": "sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.26@sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.27": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.27",
- "digest": "sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.27@sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.29": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.29",
- "digest": "sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.29@sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.30": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.30",
- "digest": "sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.30@sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.31": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.31",
- "digest": "sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.31@sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.32": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.32",
- "digest": "sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.32@sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.33": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.33",
- "digest": "sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.6": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.6",
- "digest": "sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.6@sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.8": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.8",
- "digest": "sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.8@sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.9": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.9",
- "digest": "sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.9@sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388"
- },
- "ghcr.io/github/gh-aw-node": {
- "image": "ghcr.io/github/gh-aw-node",
- "digest": "sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b",
- "pinned_image": "ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"
- },
- "ghcr.io/github/github-mcp-server:v0.32.0": {
- "image": "ghcr.io/github/github-mcp-server:v0.32.0",
- "digest": "sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28",
- "pinned_image": "ghcr.io/github/github-mcp-server:v0.32.0@sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28"
- },
- "ghcr.io/github/github-mcp-server:v1.0.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.0",
- "digest": "sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.0@sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95"
- },
- "ghcr.io/github/github-mcp-server:v1.0.3": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.3",
- "digest": "sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.3@sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959"
- },
- "ghcr.io/github/github-mcp-server:v1.0.4": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.4",
- "digest": "sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.4@sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4"
- },
- "ghcr.io/github/github-mcp-server:v1.1.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.1.0",
- "digest": "sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.0@sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029"
- },
- "ghcr.io/github/github-mcp-server:v1.1.2": {
- "image": "ghcr.io/github/github-mcp-server:v1.1.2",
- "digest": "sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"
- },
- "ghcr.io/github/github-mcp-server:v1.3.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.3.0",
- "digest": "sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.3.0@sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80"
- },
- "ghcr.io/github/github-mcp-server:v1.4.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.4.0",
- "digest": "sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.4.0@sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036"
- },
- "ghcr.io/github/github-mcp-server:v1.5.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.5.0",
- "digest": "sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"
- },
- "ghcr.io/github/serena-mcp-server:latest": {
- "image": "ghcr.io/github/serena-mcp-server:latest",
- "digest": "sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5",
- "pinned_image": "ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"
- },
- "grafana/mcp-grafana": {
- "image": "grafana/mcp-grafana",
- "digest": "sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090",
- "pinned_image": "grafana/mcp-grafana@sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090"
- },
- "mcp/arxiv-mcp-server": {
- "image": "mcp/arxiv-mcp-server",
- "digest": "sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e",
- "pinned_image": "mcp/arxiv-mcp-server@sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e"
- },
- "mcp/ast-grep:latest": {
- "image": "mcp/ast-grep:latest",
- "digest": "sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72",
- "pinned_image": "mcp/ast-grep:latest@sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72"
- },
- "mcp/context7": {
- "image": "mcp/context7",
- "digest": "sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836",
- "pinned_image": "mcp/context7@sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836"
- },
- "mcp/markitdown": {
- "image": "mcp/markitdown",
- "digest": "sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb",
- "pinned_image": "mcp/markitdown@sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb"
- },
- "mcp/memory": {
- "image": "mcp/memory",
- "digest": "sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f",
- "pinned_image": "mcp/memory@sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f"
- },
- "mcp/notion": {
- "image": "mcp/notion",
- "digest": "sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367",
- "pinned_image": "mcp/notion@sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367"
- },
- "mcr.microsoft.com/playwright/mcp": {
- "image": "mcr.microsoft.com/playwright/mcp",
- "digest": "sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2",
- "pinned_image": "mcr.microsoft.com/playwright/mcp@sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2"
- },
- "node:lts-alpine": {
- "image": "node:lts-alpine",
- "digest": "sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14",
- "pinned_image": "node:lts-alpine@sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14"
- },
- "python:alpine": {
- "image": "python:alpine",
- "digest": "sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116",
- "pinned_image": "python:alpine@sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116"
- },
- "semgrep/semgrep:latest": {
- "image": "semgrep/semgrep:latest",
- "digest": "sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2",
- "pinned_image": "semgrep/semgrep:latest@sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2"
- }
+ "actions/cache/restore@v6.1.0": {
+ "repo": "actions/cache/restore",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/cache/save@v6.1.0": {
+ "repo": "actions/cache/save",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/cache@v6.1.0": {
+ "repo": "actions/cache",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/checkout@v7.0.0": {
+ "repo": "actions/checkout",
+ "version": "v7.0.0",
+ "sha": "9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
+ },
+ "actions/create-github-app-token@v3.2.0": {
+ "repo": "actions/create-github-app-token",
+ "version": "v3.2.0",
+ "sha": "bcd2ba49218906704ab6c1aa796996da409d3eb1"
+ },
+ "actions/download-artifact@v4": {
+ "repo": "actions/download-artifact",
+ "version": "v4",
+ "sha": "d3f86a106a0bac45b974a628896c90dbdf5c8093"
+ },
+ "actions/download-artifact@v8.0.1": {
+ "repo": "actions/download-artifact",
+ "version": "v8.0.1",
+ "sha": "3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"
+ },
+ "actions/github-script@v9.0.0": {
+ "repo": "actions/github-script",
+ "version": "v9.0.0",
+ "sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
+ },
+ "actions/setup-dotnet@v5.4.0": {
+ "repo": "actions/setup-dotnet",
+ "version": "v5.4.0",
+ "sha": "26b0ec14cb23fa6904739307f278c14f94c95bf1"
+ },
+ "actions/setup-go@v6.5.0": {
+ "repo": "actions/setup-go",
+ "version": "v6.5.0",
+ "sha": "924ae3a1cded613372ab5595356fb5720e22ba16"
+ },
+ "actions/setup-java@v5.4.0": {
+ "repo": "actions/setup-java",
+ "version": "v5.4.0",
+ "sha": "1bcf9fb12cf4aa7d266a90ae39939e61372fe520"
+ },
+ "actions/setup-node@v6.4.0": {
+ "repo": "actions/setup-node",
+ "version": "v6.4.0",
+ "sha": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
+ },
+ "actions/setup-python@v6.3.0": {
+ "repo": "actions/setup-python",
+ "version": "v6.3.0",
+ "sha": "ece7cb06caefa5fff74198d8649806c4678c61a1"
+ },
+ "actions/upload-artifact@v7.0.1": {
+ "repo": "actions/upload-artifact",
+ "version": "v7.0.1",
+ "sha": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
+ },
+ "anchore/sbom-action@v0.24.0": {
+ "repo": "anchore/sbom-action",
+ "version": "v0.24.0",
+ "sha": "e22c389904149dbc22b58101806040fa8d37a610"
+ },
+ "astral-sh/setup-uv@v8.2.0": {
+ "repo": "astral-sh/setup-uv",
+ "version": "v8.2.0",
+ "sha": "fac544c07dec837d0ccb6301d7b5580bf5edae39"
+ },
+ "denoland/setup-deno@v2.0.4": {
+ "repo": "denoland/setup-deno",
+ "version": "v2.0.4",
+ "sha": "667a34cdef165d8d2b2e98dde39547c9daac7282"
+ },
+ "docker/build-push-action@v7.2.0": {
+ "repo": "docker/build-push-action",
+ "version": "v7.2.0",
+ "sha": "f9f3042f7e2789586610d6e8b85c8f03e5195baf",
+ "released_at": "2026-05-21T15:23:58Z"
+ },
+ "docker/login-action@v4.2.0": {
+ "repo": "docker/login-action",
+ "version": "v4.2.0",
+ "sha": "650006c6eb7dba73a995cc03b0b2d7f5ca915bee",
+ "released_at": "2026-05-22T11:55:00Z"
+ },
+ "docker/metadata-action@v6.1.0": {
+ "repo": "docker/metadata-action",
+ "version": "v6.1.0",
+ "sha": "80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9"
+ },
+ "docker/setup-buildx-action@v4.1.0": {
+ "repo": "docker/setup-buildx-action",
+ "version": "v4.1.0",
+ "sha": "d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5"
+ },
+ "erlef/setup-beam@v1.24.0": {
+ "repo": "erlef/setup-beam",
+ "version": "v1.24.0",
+ "sha": "fc68ffb90438ef2936bbb3251622353b3dcb2f93"
+ },
+ "github/codeql-action/upload-sarif@v4.36.2": {
+ "repo": "github/codeql-action/upload-sarif",
+ "version": "v4.36.2",
+ "sha": "8aad20d150bbac5944a9f9d289da16a4b0d87c1e"
+ },
+ "github/stale-repos@v9.0.15": {
+ "repo": "github/stale-repos",
+ "version": "v9.0.15",
+ "sha": "a0db8bfe2318ed6ddbd01e95d7633803f99f77e9"
+ },
+ "haskell-actions/setup@v2.11.0": {
+ "repo": "haskell-actions/setup",
+ "version": "v2.11.0",
+ "sha": "cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553"
+ },
+ "oven-sh/setup-bun@v2.2.0": {
+ "repo": "oven-sh/setup-bun",
+ "version": "v2.2.0",
+ "sha": "0c5077e51419868618aeaa5fe8019c62421857d6"
+ },
+ "ruby/setup-ruby@v1.314.0": {
+ "repo": "ruby/setup-ruby",
+ "version": "v1.314.0",
+ "sha": "9eb537ca036ebaed86729dcb9309076e4c5c3b74"
+ },
+ "safedep/pmg@v1": {
+ "repo": "safedep/pmg",
+ "version": "v1",
+ "sha": "46cc70db535107183c9e752bb55d1d5c5f1a9290"
+ },
+ "super-linter/super-linter@v8.7.0": {
+ "repo": "super-linter/super-linter",
+ "version": "v8.7.0",
+ "sha": "4ce20838b8ab83717e78138c5b3a1407148e0918"
+ }
+ },
+ "containers": {
+ "alpine:latest": {
+ "image": "alpine:latest",
+ "digest": "sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11",
+ "pinned_image": "alpine:latest@sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11"
+ },
+ "docker.io/mcp/brave-search": {
+ "image": "docker.io/mcp/brave-search",
+ "digest": "sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22",
+ "pinned_image": "docker.io/mcp/brave-search@sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22"
+ },
+ "ghcr.io/chopratejas/headroom:latest": {
+ "image": "ghcr.io/chopratejas/headroom:latest",
+ "digest": "sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e",
+ "pinned_image": "ghcr.io/chopratejas/headroom:latest@sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29",
+ "digest": "sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29@sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13",
+ "digest": "sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13@sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18",
+ "digest": "sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18@sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20",
+ "digest": "sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20@sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28",
+ "digest": "sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28@sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29",
+ "digest": "sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29@sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40",
+ "digest": "sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40@sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41",
+ "digest": "sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41@sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66",
+ "digest": "sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66@sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67",
+ "digest": "sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67@sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0",
+ "digest": "sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0@sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1",
+ "digest": "sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1@sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11",
+ "digest": "sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11@sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12",
+ "digest": "sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12@sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13",
+ "digest": "sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13@sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2",
+ "digest": "sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22",
+ "digest": "sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4",
+ "digest": "sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4@sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6",
+ "digest": "sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6@sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7",
+ "digest": "sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7@sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9",
+ "digest": "sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9@sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18",
+ "digest": "sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18@sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20",
+ "digest": "sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20@sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28",
+ "digest": "sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28@sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29",
+ "digest": "sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29@sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40",
+ "digest": "sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40@sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41",
+ "digest": "sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41@sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66",
+ "digest": "sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66@sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67",
+ "digest": "sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67@sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0",
+ "digest": "sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0@sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1",
+ "digest": "sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1@sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11",
+ "digest": "sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11@sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12",
+ "digest": "sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12@sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13",
+ "digest": "sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13@sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2",
+ "digest": "sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22",
+ "digest": "sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4",
+ "digest": "sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4@sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6",
+ "digest": "sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6@sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7",
+ "digest": "sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7@sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9",
+ "digest": "sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9@sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28",
+ "digest": "sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28@sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29",
+ "digest": "sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29@sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40",
+ "digest": "sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40@sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41",
+ "digest": "sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41@sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66",
+ "digest": "sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66@sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67",
+ "digest": "sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67@sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0",
+ "digest": "sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0@sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1",
+ "digest": "sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1@sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12",
+ "digest": "sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12@sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13",
+ "digest": "sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13@sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2",
+ "digest": "sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22",
+ "digest": "sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4",
+ "digest": "sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4@sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6",
+ "digest": "sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6@sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7",
+ "digest": "sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7@sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9",
+ "digest": "sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9@sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18",
+ "digest": "sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18@sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20",
+ "digest": "sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20@sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28",
+ "digest": "sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28@sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29",
+ "digest": "sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29@sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40",
+ "digest": "sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40@sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41",
+ "digest": "sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41@sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66",
+ "digest": "sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66@sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67",
+ "digest": "sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67@sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0",
+ "digest": "sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0@sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1",
+ "digest": "sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1@sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11",
+ "digest": "sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11@sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12",
+ "digest": "sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12@sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13",
+ "digest": "sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13@sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2",
+ "digest": "sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22",
+ "digest": "sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4",
+ "digest": "sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4@sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6",
+ "digest": "sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6@sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7",
+ "digest": "sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7@sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9",
+ "digest": "sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9@sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.2.19": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.2.19",
+ "digest": "sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.19@sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.2.30": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.2.30",
+ "digest": "sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.30@sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.0": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.0",
+ "digest": "sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.0@sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.1": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.1",
+ "digest": "sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.1@sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.16": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.16",
+ "digest": "sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.16@sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.23": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.23",
+ "digest": "sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.23@sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.24": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.24",
+ "digest": "sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.24@sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.25": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.25",
+ "digest": "sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.26": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.26",
+ "digest": "sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.26@sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.27": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.27",
+ "digest": "sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.27@sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.29": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.29",
+ "digest": "sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.29@sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.30": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.30",
+ "digest": "sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.30@sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.31": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.31",
+ "digest": "sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.31@sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.32": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.32",
+ "digest": "sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.32@sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.33": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.33",
+ "digest": "sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.6": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.6",
+ "digest": "sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.6@sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.8": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.8",
+ "digest": "sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.8@sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.9": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.9",
+ "digest": "sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.9@sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388"
+ },
+ "ghcr.io/github/gh-aw-node": {
+ "image": "ghcr.io/github/gh-aw-node",
+ "digest": "sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b",
+ "pinned_image": "ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"
+ },
+ "ghcr.io/github/github-mcp-server:v0.32.0": {
+ "image": "ghcr.io/github/github-mcp-server:v0.32.0",
+ "digest": "sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v0.32.0@sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.0",
+ "digest": "sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.0@sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.3": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.3",
+ "digest": "sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.3@sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.4": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.4",
+ "digest": "sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.4@sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4"
+ },
+ "ghcr.io/github/github-mcp-server:v1.1.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.1.0",
+ "digest": "sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.0@sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029"
+ },
+ "ghcr.io/github/github-mcp-server:v1.1.2": {
+ "image": "ghcr.io/github/github-mcp-server:v1.1.2",
+ "digest": "sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"
+ },
+ "ghcr.io/github/github-mcp-server:v1.3.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.3.0",
+ "digest": "sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.3.0@sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80"
+ },
+ "ghcr.io/github/github-mcp-server:v1.4.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.4.0",
+ "digest": "sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.4.0@sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036"
+ },
+ "ghcr.io/github/github-mcp-server:v1.5.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.5.0",
+ "digest": "sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"
+ },
+ "ghcr.io/github/serena-mcp-server:latest": {
+ "image": "ghcr.io/github/serena-mcp-server:latest",
+ "digest": "sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5",
+ "pinned_image": "ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"
+ },
+ "grafana/mcp-grafana": {
+ "image": "grafana/mcp-grafana",
+ "digest": "sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090",
+ "pinned_image": "grafana/mcp-grafana@sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090"
+ },
+ "mcp/arxiv-mcp-server": {
+ "image": "mcp/arxiv-mcp-server",
+ "digest": "sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e",
+ "pinned_image": "mcp/arxiv-mcp-server@sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e"
+ },
+ "mcp/ast-grep:latest": {
+ "image": "mcp/ast-grep:latest",
+ "digest": "sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72",
+ "pinned_image": "mcp/ast-grep:latest@sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72"
+ },
+ "mcp/context7": {
+ "image": "mcp/context7",
+ "digest": "sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836",
+ "pinned_image": "mcp/context7@sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836"
+ },
+ "mcp/markitdown": {
+ "image": "mcp/markitdown",
+ "digest": "sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb",
+ "pinned_image": "mcp/markitdown@sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb"
+ },
+ "mcp/memory": {
+ "image": "mcp/memory",
+ "digest": "sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f",
+ "pinned_image": "mcp/memory@sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f"
+ },
+ "mcp/notion": {
+ "image": "mcp/notion",
+ "digest": "sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367",
+ "pinned_image": "mcp/notion@sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367"
+ },
+ "mcr.microsoft.com/playwright/mcp": {
+ "image": "mcr.microsoft.com/playwright/mcp",
+ "digest": "sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2",
+ "pinned_image": "mcr.microsoft.com/playwright/mcp@sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2"
+ },
+ "node:lts-alpine": {
+ "image": "node:lts-alpine",
+ "digest": "sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14",
+ "pinned_image": "node:lts-alpine@sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14"
+ },
+ "python:alpine": {
+ "image": "python:alpine",
+ "digest": "sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116",
+ "pinned_image": "python:alpine@sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116"
+ },
+ "semgrep/semgrep:latest": {
+ "image": "semgrep/semgrep:latest",
+ "digest": "sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2",
+ "pinned_image": "semgrep/semgrep:latest@sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2"
}
+ }
}
diff --git a/pkg/workflow/data/action_pins.json b/pkg/workflow/data/action_pins.json
index ffe6c94d496..370f6f9eeee 100644
--- a/pkg/workflow/data/action_pins.json
+++ b/pkg/workflow/data/action_pins.json
@@ -1,761 +1,766 @@
{
- "entries": {
- "actions-ecosystem/action-add-labels@v1.1.3": {
- "repo": "actions-ecosystem/action-add-labels",
- "version": "v1.1.3",
- "sha": "c96b68fec76a0987cd93957189e9abd0b9a72ff1",
- "inputs": {
- "github_token": {
- "description": "A GitHub token.",
- "default": "${{ github.token }}"
- },
- "labels": {
- "description": "The labels' name to be added. Must be separated with line breaks if there're multiple labels.",
- "required": true
- },
- "number": {
- "description": "The number of the issue or pull request."
- },
- "repo": {
- "description": "The owner and repository name. e.g.) Codertocat/Hello-World",
- "default": "${{ github.repository }}"
- }
- },
- "action_description": "Add labels to an issue or a pull request."
- },
- "actions/cache/restore@v6.1.0": {
- "repo": "actions/cache/restore",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/cache/save@v6.1.0": {
- "repo": "actions/cache/save",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/cache@v6.1.0": {
- "repo": "actions/cache",
- "version": "v6.1.0",
- "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
- },
- "actions/checkout@v7.0.0": {
- "repo": "actions/checkout",
- "version": "v7.0.0",
- "sha": "9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
- },
- "actions/create-github-app-token@v3.2.0": {
- "repo": "actions/create-github-app-token",
- "version": "v3.2.0",
- "sha": "bcd2ba49218906704ab6c1aa796996da409d3eb1"
- },
- "actions/download-artifact@v8.0.1": {
- "repo": "actions/download-artifact",
- "version": "v8.0.1",
- "sha": "3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"
- },
- "actions/github-script@v9.0.0": {
- "repo": "actions/github-script",
- "version": "v9.0.0",
- "sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
- },
- "actions/setup-dotnet@v5.4.0": {
- "repo": "actions/setup-dotnet",
- "version": "v5.4.0",
- "sha": "26b0ec14cb23fa6904739307f278c14f94c95bf1"
- },
- "actions/setup-go@v6.5.0": {
- "repo": "actions/setup-go",
- "version": "v6.5.0",
- "sha": "924ae3a1cded613372ab5595356fb5720e22ba16"
- },
- "actions/setup-java@v5.4.0": {
- "repo": "actions/setup-java",
- "version": "v5.4.0",
- "sha": "1bcf9fb12cf4aa7d266a90ae39939e61372fe520"
- },
- "actions/setup-node@v6.4.0": {
- "repo": "actions/setup-node",
- "version": "v6.4.0",
- "sha": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
- },
- "actions/setup-python@v6.3.0": {
- "repo": "actions/setup-python",
- "version": "v6.3.0",
- "sha": "ece7cb06caefa5fff74198d8649806c4678c61a1"
- },
- "actions/upload-artifact@v7.0.1": {
- "repo": "actions/upload-artifact",
- "version": "v7.0.1",
- "sha": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
- },
- "anchore/sbom-action@v0.24.0": {
- "repo": "anchore/sbom-action",
- "version": "v0.24.0",
- "sha": "e22c389904149dbc22b58101806040fa8d37a610"
- },
- "astral-sh/setup-uv@v8.2.0": {
- "repo": "astral-sh/setup-uv",
- "version": "v8.2.0",
- "sha": "fac544c07dec837d0ccb6301d7b5580bf5edae39"
- },
- "denoland/setup-deno@v2.0.4": {
- "repo": "denoland/setup-deno",
- "version": "v2.0.4",
- "sha": "667a34cdef165d8d2b2e98dde39547c9daac7282"
- },
- "docker/build-push-action@v7.2.0": {
- "repo": "docker/build-push-action",
- "version": "v7.2.0",
- "sha": "f9f3042f7e2789586610d6e8b85c8f03e5195baf",
- "released_at": "2026-05-21T15:23:58Z"
- },
- "docker/login-action@v4.2.0": {
- "repo": "docker/login-action",
- "version": "v4.2.0",
- "sha": "650006c6eb7dba73a995cc03b0b2d7f5ca915bee",
- "released_at": "2026-05-22T11:55:00Z"
- },
- "docker/metadata-action@v6.1.0": {
- "repo": "docker/metadata-action",
- "version": "v6.1.0",
- "sha": "80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9"
- },
- "docker/setup-buildx-action@v4.1.0": {
- "repo": "docker/setup-buildx-action",
- "version": "v4.1.0",
- "sha": "d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5"
- },
- "erlef/setup-beam@v1.24.0": {
- "repo": "erlef/setup-beam",
- "version": "v1.24.0",
- "sha": "fc68ffb90438ef2936bbb3251622353b3dcb2f93"
- },
- "github/codeql-action/upload-sarif@v4.36.2": {
- "repo": "github/codeql-action/upload-sarif",
- "version": "v4.36.2",
- "sha": "8aad20d150bbac5944a9f9d289da16a4b0d87c1e"
- },
- "github/stale-repos@v9.0.15": {
- "repo": "github/stale-repos",
- "version": "v9.0.15",
- "sha": "a0db8bfe2318ed6ddbd01e95d7633803f99f77e9"
- },
- "haskell-actions/setup@v2.11.0": {
- "repo": "haskell-actions/setup",
- "version": "v2.11.0",
- "sha": "cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553"
- },
- "oven-sh/setup-bun@v2.2.0": {
- "repo": "oven-sh/setup-bun",
- "version": "v2.2.0",
- "sha": "0c5077e51419868618aeaa5fe8019c62421857d6"
- },
- "ruby/setup-ruby@v1.314.0": {
- "repo": "ruby/setup-ruby",
- "version": "v1.314.0",
- "sha": "9eb537ca036ebaed86729dcb9309076e4c5c3b74"
- },
- "safedep/pmg@v1": {
- "repo": "safedep/pmg",
- "version": "v1",
- "sha": "46cc70db535107183c9e752bb55d1d5c5f1a9290"
- },
- "super-linter/super-linter@v8.7.0": {
- "repo": "super-linter/super-linter",
- "version": "v8.7.0",
- "sha": "4ce20838b8ab83717e78138c5b3a1407148e0918"
+ "entries": {
+ "actions-ecosystem/action-add-labels@v1.1.3": {
+ "repo": "actions-ecosystem/action-add-labels",
+ "version": "v1.1.3",
+ "sha": "c96b68fec76a0987cd93957189e9abd0b9a72ff1",
+ "inputs": {
+ "github_token": {
+ "description": "A GitHub token.",
+ "default": "${{ github.token }}"
+ },
+ "labels": {
+ "description": "The labels' name to be added. Must be separated with line breaks if there're multiple labels.",
+ "required": true
+ },
+ "number": {
+ "description": "The number of the issue or pull request."
+ },
+ "repo": {
+ "description": "The owner and repository name. e.g.) Codertocat/Hello-World",
+ "default": "${{ github.repository }}"
}
+ },
+ "action_description": "Add labels to an issue or a pull request."
},
- "containers": {
- "alpine:latest": {
- "image": "alpine:latest",
- "digest": "sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11",
- "pinned_image": "alpine:latest@sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11"
- },
- "docker.io/mcp/brave-search": {
- "image": "docker.io/mcp/brave-search",
- "digest": "sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22",
- "pinned_image": "docker.io/mcp/brave-search@sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22"
- },
- "ghcr.io/chopratejas/headroom:latest": {
- "image": "ghcr.io/chopratejas/headroom:latest",
- "digest": "sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e",
- "pinned_image": "ghcr.io/chopratejas/headroom:latest@sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e"
- },
- "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29",
- "digest": "sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29@sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1"
- },
- "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13",
- "digest": "sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13@sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18",
- "digest": "sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18@sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20",
- "digest": "sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20@sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28",
- "digest": "sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28@sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29",
- "digest": "sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29@sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40",
- "digest": "sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40@sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41",
- "digest": "sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41@sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66",
- "digest": "sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66@sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67",
- "digest": "sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67@sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0",
- "digest": "sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0@sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1",
- "digest": "sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1@sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11",
- "digest": "sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11@sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12",
- "digest": "sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12@sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13",
- "digest": "sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13@sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2",
- "digest": "sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22",
- "digest": "sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4",
- "digest": "sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4@sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6",
- "digest": "sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6@sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7",
- "digest": "sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7@sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c"
- },
- "ghcr.io/github/gh-aw-firewall/agent:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9",
- "digest": "sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9@sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18",
- "digest": "sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18@sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20",
- "digest": "sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20@sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28",
- "digest": "sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28@sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29",
- "digest": "sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29@sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40",
- "digest": "sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40@sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41",
- "digest": "sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41@sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66",
- "digest": "sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66@sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67",
- "digest": "sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67@sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0",
- "digest": "sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0@sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1",
- "digest": "sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1@sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11",
- "digest": "sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11@sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12",
- "digest": "sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12@sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13",
- "digest": "sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13@sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2",
- "digest": "sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22",
- "digest": "sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4",
- "digest": "sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4@sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6",
- "digest": "sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6@sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7",
- "digest": "sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7@sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6"
- },
- "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9",
- "digest": "sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9@sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28",
- "digest": "sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28@sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29",
- "digest": "sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29@sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40",
- "digest": "sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40@sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41",
- "digest": "sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41@sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66",
- "digest": "sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66@sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67",
- "digest": "sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67@sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0",
- "digest": "sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0@sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1",
- "digest": "sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1@sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12",
- "digest": "sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12@sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13",
- "digest": "sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13@sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2",
- "digest": "sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22",
- "digest": "sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4",
- "digest": "sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4@sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6",
- "digest": "sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6@sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7",
- "digest": "sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7@sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d"
- },
- "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9",
- "digest": "sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9@sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.18": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18",
- "digest": "sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18@sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.20": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20",
- "digest": "sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20@sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.28": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28",
- "digest": "sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28@sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.29": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29",
- "digest": "sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29@sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.40": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40",
- "digest": "sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40@sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.41": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41",
- "digest": "sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41@sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.66": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66",
- "digest": "sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66@sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.25.67": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67",
- "digest": "sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67@sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.0": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0",
- "digest": "sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0@sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.1": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1",
- "digest": "sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1@sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.11": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11",
- "digest": "sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11@sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.12": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12",
- "digest": "sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12@sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.13": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13",
- "digest": "sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13@sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.2": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2",
- "digest": "sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.22": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22",
- "digest": "sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.4": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4",
- "digest": "sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4@sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.6": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6",
- "digest": "sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6@sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.7": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7",
- "digest": "sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7@sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96"
- },
- "ghcr.io/github/gh-aw-firewall/squid:0.27.9": {
- "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9",
- "digest": "sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c",
- "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9@sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.2.19": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.2.19",
- "digest": "sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.19@sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.2.30": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.2.30",
- "digest": "sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.30@sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.0": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.0",
- "digest": "sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.0@sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.1": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.1",
- "digest": "sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.1@sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.16": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.16",
- "digest": "sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.16@sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.23": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.23",
- "digest": "sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.23@sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.24": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.24",
- "digest": "sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.24@sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.25": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.25",
- "digest": "sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.26": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.26",
- "digest": "sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.26@sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.27": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.27",
- "digest": "sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.27@sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.29": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.29",
- "digest": "sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.29@sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.30": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.30",
- "digest": "sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.30@sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.31": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.31",
- "digest": "sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.31@sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.32": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.32",
- "digest": "sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.32@sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.33": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.33",
- "digest": "sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.6": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.6",
- "digest": "sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.6@sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.8": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.8",
- "digest": "sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.8@sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4"
- },
- "ghcr.io/github/gh-aw-mcpg:v0.3.9": {
- "image": "ghcr.io/github/gh-aw-mcpg:v0.3.9",
- "digest": "sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388",
- "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.9@sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388"
- },
- "ghcr.io/github/gh-aw-node": {
- "image": "ghcr.io/github/gh-aw-node",
- "digest": "sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b",
- "pinned_image": "ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"
- },
- "ghcr.io/github/github-mcp-server:v0.32.0": {
- "image": "ghcr.io/github/github-mcp-server:v0.32.0",
- "digest": "sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28",
- "pinned_image": "ghcr.io/github/github-mcp-server:v0.32.0@sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28"
- },
- "ghcr.io/github/github-mcp-server:v1.0.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.0",
- "digest": "sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.0@sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95"
- },
- "ghcr.io/github/github-mcp-server:v1.0.3": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.3",
- "digest": "sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.3@sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959"
- },
- "ghcr.io/github/github-mcp-server:v1.0.4": {
- "image": "ghcr.io/github/github-mcp-server:v1.0.4",
- "digest": "sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.4@sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4"
- },
- "ghcr.io/github/github-mcp-server:v1.1.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.1.0",
- "digest": "sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.0@sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029"
- },
- "ghcr.io/github/github-mcp-server:v1.1.2": {
- "image": "ghcr.io/github/github-mcp-server:v1.1.2",
- "digest": "sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"
- },
- "ghcr.io/github/github-mcp-server:v1.3.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.3.0",
- "digest": "sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.3.0@sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80"
- },
- "ghcr.io/github/github-mcp-server:v1.4.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.4.0",
- "digest": "sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.4.0@sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036"
- },
- "ghcr.io/github/github-mcp-server:v1.5.0": {
- "image": "ghcr.io/github/github-mcp-server:v1.5.0",
- "digest": "sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4",
- "pinned_image": "ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"
- },
- "ghcr.io/github/serena-mcp-server:latest": {
- "image": "ghcr.io/github/serena-mcp-server:latest",
- "digest": "sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5",
- "pinned_image": "ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"
- },
- "grafana/mcp-grafana": {
- "image": "grafana/mcp-grafana",
- "digest": "sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090",
- "pinned_image": "grafana/mcp-grafana@sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090"
- },
- "mcp/arxiv-mcp-server": {
- "image": "mcp/arxiv-mcp-server",
- "digest": "sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e",
- "pinned_image": "mcp/arxiv-mcp-server@sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e"
- },
- "mcp/ast-grep:latest": {
- "image": "mcp/ast-grep:latest",
- "digest": "sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72",
- "pinned_image": "mcp/ast-grep:latest@sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72"
- },
- "mcp/context7": {
- "image": "mcp/context7",
- "digest": "sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836",
- "pinned_image": "mcp/context7@sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836"
- },
- "mcp/markitdown": {
- "image": "mcp/markitdown",
- "digest": "sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb",
- "pinned_image": "mcp/markitdown@sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb"
- },
- "mcp/memory": {
- "image": "mcp/memory",
- "digest": "sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f",
- "pinned_image": "mcp/memory@sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f"
- },
- "mcp/notion": {
- "image": "mcp/notion",
- "digest": "sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367",
- "pinned_image": "mcp/notion@sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367"
- },
- "mcr.microsoft.com/playwright/mcp": {
- "image": "mcr.microsoft.com/playwright/mcp",
- "digest": "sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2",
- "pinned_image": "mcr.microsoft.com/playwright/mcp@sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2"
- },
- "node:lts-alpine": {
- "image": "node:lts-alpine",
- "digest": "sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14",
- "pinned_image": "node:lts-alpine@sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14"
- },
- "python:alpine": {
- "image": "python:alpine",
- "digest": "sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116",
- "pinned_image": "python:alpine@sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116"
- },
- "semgrep/semgrep:latest": {
- "image": "semgrep/semgrep:latest",
- "digest": "sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2",
- "pinned_image": "semgrep/semgrep:latest@sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2"
- }
+ "actions/cache/restore@v6.1.0": {
+ "repo": "actions/cache/restore",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/cache/save@v6.1.0": {
+ "repo": "actions/cache/save",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/cache@v6.1.0": {
+ "repo": "actions/cache",
+ "version": "v6.1.0",
+ "sha": "55cc8345863c7cc4c66a329aec7e433d2d1c52a9"
+ },
+ "actions/checkout@v7.0.0": {
+ "repo": "actions/checkout",
+ "version": "v7.0.0",
+ "sha": "9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0"
+ },
+ "actions/create-github-app-token@v3.2.0": {
+ "repo": "actions/create-github-app-token",
+ "version": "v3.2.0",
+ "sha": "bcd2ba49218906704ab6c1aa796996da409d3eb1"
+ },
+ "actions/download-artifact@v4": {
+ "repo": "actions/download-artifact",
+ "version": "v4",
+ "sha": "d3f86a106a0bac45b974a628896c90dbdf5c8093"
+ },
+ "actions/download-artifact@v8.0.1": {
+ "repo": "actions/download-artifact",
+ "version": "v8.0.1",
+ "sha": "3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c"
+ },
+ "actions/github-script@v9.0.0": {
+ "repo": "actions/github-script",
+ "version": "v9.0.0",
+ "sha": "3a2844b7e9c422d3c10d287c895573f7108da1b3"
+ },
+ "actions/setup-dotnet@v5.4.0": {
+ "repo": "actions/setup-dotnet",
+ "version": "v5.4.0",
+ "sha": "26b0ec14cb23fa6904739307f278c14f94c95bf1"
+ },
+ "actions/setup-go@v6.5.0": {
+ "repo": "actions/setup-go",
+ "version": "v6.5.0",
+ "sha": "924ae3a1cded613372ab5595356fb5720e22ba16"
+ },
+ "actions/setup-java@v5.4.0": {
+ "repo": "actions/setup-java",
+ "version": "v5.4.0",
+ "sha": "1bcf9fb12cf4aa7d266a90ae39939e61372fe520"
+ },
+ "actions/setup-node@v6.4.0": {
+ "repo": "actions/setup-node",
+ "version": "v6.4.0",
+ "sha": "48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e"
+ },
+ "actions/setup-python@v6.3.0": {
+ "repo": "actions/setup-python",
+ "version": "v6.3.0",
+ "sha": "ece7cb06caefa5fff74198d8649806c4678c61a1"
+ },
+ "actions/upload-artifact@v7.0.1": {
+ "repo": "actions/upload-artifact",
+ "version": "v7.0.1",
+ "sha": "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
+ },
+ "anchore/sbom-action@v0.24.0": {
+ "repo": "anchore/sbom-action",
+ "version": "v0.24.0",
+ "sha": "e22c389904149dbc22b58101806040fa8d37a610"
+ },
+ "astral-sh/setup-uv@v8.2.0": {
+ "repo": "astral-sh/setup-uv",
+ "version": "v8.2.0",
+ "sha": "fac544c07dec837d0ccb6301d7b5580bf5edae39"
+ },
+ "denoland/setup-deno@v2.0.4": {
+ "repo": "denoland/setup-deno",
+ "version": "v2.0.4",
+ "sha": "667a34cdef165d8d2b2e98dde39547c9daac7282"
+ },
+ "docker/build-push-action@v7.2.0": {
+ "repo": "docker/build-push-action",
+ "version": "v7.2.0",
+ "sha": "f9f3042f7e2789586610d6e8b85c8f03e5195baf",
+ "released_at": "2026-05-21T15:23:58Z"
+ },
+ "docker/login-action@v4.2.0": {
+ "repo": "docker/login-action",
+ "version": "v4.2.0",
+ "sha": "650006c6eb7dba73a995cc03b0b2d7f5ca915bee",
+ "released_at": "2026-05-22T11:55:00Z"
+ },
+ "docker/metadata-action@v6.1.0": {
+ "repo": "docker/metadata-action",
+ "version": "v6.1.0",
+ "sha": "80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9"
+ },
+ "docker/setup-buildx-action@v4.1.0": {
+ "repo": "docker/setup-buildx-action",
+ "version": "v4.1.0",
+ "sha": "d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5"
+ },
+ "erlef/setup-beam@v1.24.0": {
+ "repo": "erlef/setup-beam",
+ "version": "v1.24.0",
+ "sha": "fc68ffb90438ef2936bbb3251622353b3dcb2f93"
+ },
+ "github/codeql-action/upload-sarif@v4.36.2": {
+ "repo": "github/codeql-action/upload-sarif",
+ "version": "v4.36.2",
+ "sha": "8aad20d150bbac5944a9f9d289da16a4b0d87c1e"
+ },
+ "github/stale-repos@v9.0.15": {
+ "repo": "github/stale-repos",
+ "version": "v9.0.15",
+ "sha": "a0db8bfe2318ed6ddbd01e95d7633803f99f77e9"
+ },
+ "haskell-actions/setup@v2.11.0": {
+ "repo": "haskell-actions/setup",
+ "version": "v2.11.0",
+ "sha": "cd0d9bdd65b20557f41bea4dbe43d0b5fbbfe553"
+ },
+ "oven-sh/setup-bun@v2.2.0": {
+ "repo": "oven-sh/setup-bun",
+ "version": "v2.2.0",
+ "sha": "0c5077e51419868618aeaa5fe8019c62421857d6"
+ },
+ "ruby/setup-ruby@v1.314.0": {
+ "repo": "ruby/setup-ruby",
+ "version": "v1.314.0",
+ "sha": "9eb537ca036ebaed86729dcb9309076e4c5c3b74"
+ },
+ "safedep/pmg@v1": {
+ "repo": "safedep/pmg",
+ "version": "v1",
+ "sha": "46cc70db535107183c9e752bb55d1d5c5f1a9290"
+ },
+ "super-linter/super-linter@v8.7.0": {
+ "repo": "super-linter/super-linter",
+ "version": "v8.7.0",
+ "sha": "4ce20838b8ab83717e78138c5b3a1407148e0918"
+ }
+ },
+ "containers": {
+ "alpine:latest": {
+ "image": "alpine:latest",
+ "digest": "sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11",
+ "pinned_image": "alpine:latest@sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11"
+ },
+ "docker.io/mcp/brave-search": {
+ "image": "docker.io/mcp/brave-search",
+ "digest": "sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22",
+ "pinned_image": "docker.io/mcp/brave-search@sha256:ca96b8acb27d8cf601a8faef86a084602cffa41d8cb18caa1e29ba4d16989d22"
+ },
+ "ghcr.io/chopratejas/headroom:latest": {
+ "image": "ghcr.io/chopratejas/headroom:latest",
+ "digest": "sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e",
+ "pinned_image": "ghcr.io/chopratejas/headroom:latest@sha256:af709363c4f9515a88a50939baec513be13c7cd778fb6635527b104d5173cb1e"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29",
+ "digest": "sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.25.29@sha256:97b4cc14dc2123a45b9d5b9927489f66882dec5857de6afc0e5bab257be92ef1"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13",
+ "digest": "sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent-act:0.27.13@sha256:676de58a0abad8054cd9d4fc45b861715856819f083a268372d60bca0090018c"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18",
+ "digest": "sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.18@sha256:c77e8c26bab6c39e8568d8e2f8c17015944849a8cbcdfb4bd9725d8893725ca2"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20",
+ "digest": "sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.20@sha256:9161f2415a3306a344aca34dd671ee69f122317e0a512e66dc64c94b9c508682"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28",
+ "digest": "sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.28@sha256:a8834e285807654bf680154faa710d43fe4365a0868142f5c20e48c85e137a7a"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29",
+ "digest": "sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.29@sha256:e68f37e36962dcb3f3d1de680a49bc2302cefd001b941a7dc377155ec7ce42f4"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40",
+ "digest": "sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.40@sha256:14ff567e8d9d4c2fbc5e55c973488381c71d7e0fdbe72d30ee7b8a738fd86504"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41",
+ "digest": "sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.41@sha256:cb2b565d070116d4b67e355775340528b5a2c3cb18b2c9049638bcc2df681770"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66",
+ "digest": "sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.66@sha256:8373ba626ffd28ce1af503a3218205fa7744a5774479173f92e50a378a1ed00d"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67",
+ "digest": "sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.25.67@sha256:0f54fa48dd1a03ef6d171574eecf9a9edbf0406cea011a534cd12ed1fcb46715"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0",
+ "digest": "sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.0@sha256:3816d1692e6d96887b27f1e4f1d64b8d7edb43ed9d7506b8f203913cbb81c248"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1",
+ "digest": "sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.1@sha256:55149fa2daf8fa8afa2803f2ac1a3534591a7c96f173ee2aec9545fbe67305df"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11",
+ "digest": "sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.11@sha256:979723c628182da7729333f2208bb249fd25ddee579645cf9a3892d681a929c7"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12",
+ "digest": "sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.12@sha256:a3911ae633bfc49a96be10e660d447b65023731850fee3de8a074ff8861ffde3"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13",
+ "digest": "sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.13@sha256:691a06b64961b5b35aac117eaace202fa721e91da19d1d2e22dcdd6663cd571b"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2",
+ "digest": "sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.2@sha256:f88e5b17b6b7a600117bc121114d6ce2155c88c983c0c939c5df884f730fa1d6"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22",
+ "digest": "sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4",
+ "digest": "sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.4@sha256:b268ebf37df2428b19efcb383f001d65dc6a5ec10af43feb886d1a8477ab0e3a"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6",
+ "digest": "sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.6@sha256:5b778c712a25397a38a47cee3467a9cbc726b16320cc133a0758c0592a6f0792"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7",
+ "digest": "sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.7@sha256:aae231e4635c8999d039c132f1602d3df850fe9b84a00aa2b5ac981179b5661c"
+ },
+ "ghcr.io/github/gh-aw-firewall/agent:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9",
+ "digest": "sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/agent:0.27.9@sha256:13f522853a688bfe24b04adbbe40b68101e8ef4b6fe0b636068527141bf1c269"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18",
+ "digest": "sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.18@sha256:d16a40a3ca6e989896d0cef9f31b9412bb1fcc8755bafcafb95012ae1078539b"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20",
+ "digest": "sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.20@sha256:6971639e381e82e45134bcd333181f456df3a52cd6f818a3e3d6de068ff91519"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28",
+ "digest": "sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.28@sha256:93290f2393752252911bd7c39a047f776c0b53063575e7bde4e304962a9a61cb"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29",
+ "digest": "sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.29@sha256:d1219e4110684402aabbeb5a43858f26790c9d0be210581cf3f7a521bd2c87b6"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40",
+ "digest": "sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.40@sha256:2883ca3e5ae9f330cafdd9345bfd4ae17fc8da36c96d4c9a1f76e922b4c45280"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41",
+ "digest": "sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.41@sha256:fadd0de387209f69a9a7a1b8722bb5e7fdfb80ba9749a5c60f0e4cd7582a74d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66",
+ "digest": "sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.66@sha256:4da87d0c633816cec29a26b1d1ed5fbcb0df38de19075f0429bf1d6deec3dcdc"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67",
+ "digest": "sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.25.67@sha256:d3f51df1869bda0e1f71ae31a81450641c6ae67404e0769469aae34c2738aeb5"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0",
+ "digest": "sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.0@sha256:f28d2bd3197fb6ef9ec40ef345bbf2bb33e50151a8e72e89abb618fc3d0066eb"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1",
+ "digest": "sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.1@sha256:2802437f05830336ea3ae8639f628776608d14d95b5b3cf30f161eb505e29752"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11",
+ "digest": "sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.11@sha256:807e4831999b44513b0a66e5859d478dc4da7ae74ab1918cec967d513f95bf9d"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12",
+ "digest": "sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.12@sha256:2329aff5e54bb5bf466ad94182eebbdfe4a4db497a9dfbe87442eb3400aa4a86"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13",
+ "digest": "sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.13@sha256:c57febf4aeeefbb4fd96f5b12c07f4279ca55edca6a700032debf9dd0787286e"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2",
+ "digest": "sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.2@sha256:ee39841d980878ebbb87592903b06d31a1af500c71525c9616f7e8e2a27041a4"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22",
+ "digest": "sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4",
+ "digest": "sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.4@sha256:3ea0d12a2d124db8ed6e2d18aff040e30ab3568161f258a132fccdeede4198cd"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6",
+ "digest": "sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.6@sha256:7b14e481f3a9898f1e9be50acc4e58541d9fcd85b49b1e4945b708f1bf1bf68e"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7",
+ "digest": "sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.7@sha256:009caf2e3d88fa77b64e9a03a95a228fc58db0f1701c6d324b29ba5a3c7c79b6"
+ },
+ "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9",
+ "digest": "sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/api-proxy:0.27.9@sha256:9fec93937dc9d3e04f3954705c2c42f58976ebb8479b10778602631b5316e1e2"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28",
+ "digest": "sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.28@sha256:fdf310e4678ce58d248c466b89399e9680a3003038fd19322c388559016aaac7"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29",
+ "digest": "sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.29@sha256:29917488eb90a01ff9544ffeeb5cc26434a8ea16d69ae8972f5f6be0e567e276"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40",
+ "digest": "sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.40@sha256:3e7152911d4b4b7b97beef9d3d7d924ff7902227e86001ef3838fb728d5d514c"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41",
+ "digest": "sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.41@sha256:62171f2fa508667b8b0a9e096f826983f312e3da0ce894f80c0f83a875af60fe"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66",
+ "digest": "sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.66@sha256:ff53f2b227ceaf7334baeab5daa2537211089aca251af9630cb0b5a8899492d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67",
+ "digest": "sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.25.67@sha256:97387002ec54c8ab9f255d5aaf3d435071642e058f528c8268ca0e80b201609a"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0",
+ "digest": "sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.0@sha256:42529ecb9f90da5adb00593d268dfdbd35d14bb1dc92dd897286b27ce1e3d58d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1",
+ "digest": "sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.1@sha256:2e6dc98321dbf82840f83ec0ef8b198506149255a15d3a7854d59c0d34063e27"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12",
+ "digest": "sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.12@sha256:7d267199839cc0f23c01fd39f8c050a5d86cb6cc5058aa829cd472f405fb1a1d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13",
+ "digest": "sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.13@sha256:79dfd3a5d139bd1956ba6d7d1782b831a07175cf5afa29c45cb20bb0140f23c5"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2",
+ "digest": "sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.2@sha256:02f3ec08f32dc26c5427920c6a2e2f3036238fce44802f2f11ef49ed8621b5d0"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22",
+ "digest": "sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4",
+ "digest": "sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.4@sha256:72c378c029d2fad4684847ab44c329e526ac6b1a78cdf97656870ea11d201545"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6",
+ "digest": "sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.6@sha256:194b21f5d3284b0b2abf2603a14ec607f89d798165a7ef453667706c69401735"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7",
+ "digest": "sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.7@sha256:4757f198a3fa20f88bdbe70be7ae1a05f127d9c0a9e96a5d6460ef40c08fc83d"
+ },
+ "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9",
+ "digest": "sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.9@sha256:89b715de241408e03d35d5c4851361ae350f69aa56d7955dd2ed1d6d3ce037cc"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.18": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18",
+ "digest": "sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.18@sha256:eb102afcfbae26ffcec016adebb74d3be7b0a5bf376ba306599cdf3effbe288e"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.20": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20",
+ "digest": "sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.20@sha256:5411d903f73ee597e6a084971c2adef3eb0bd405910df3ed7bf5e3d6bd58a236"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.28": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28",
+ "digest": "sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.28@sha256:844c18280f82cd1b06345eb2f4e91966b34185bfc51c9f237c3e022e848fb474"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.29": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29",
+ "digest": "sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.29@sha256:8a71ad9e40454051672312917e51567abfb8251d7c294d086c48f63d84e4cb53"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.40": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40",
+ "digest": "sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.40@sha256:b084f4a2c771f584ee68084ced52fa6b3245197a1889645d817462d307d3ac51"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.41": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41",
+ "digest": "sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.41@sha256:1260445d25968dbf3ae70143964177a0e5914cf2ce07a6117f7d3caec6c3e3c4"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.66": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66",
+ "digest": "sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.66@sha256:9c47e6d0210c5b1581b56d1fe8ac32c1d8fdd7cb04ef95592f2431e59f533bd3"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.25.67": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67",
+ "digest": "sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.25.67@sha256:9a05085db054f41bd67c772bcfc25cabc15bc33ee993b051a31e30669dd2031f"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.0": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0",
+ "digest": "sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.0@sha256:d6a01d4cf3d928e6a7fc42e34afef228e753dce87646edc91d8a5cd0b612d9a6"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.1": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1",
+ "digest": "sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.1@sha256:1f3df3207dc9faa9080088115ca50a5ab0d7a692c61dffa8c8898d0b7b750413"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.11": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11",
+ "digest": "sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.11@sha256:ff27ea0525ad953a6adee28a5fbe9d2e22be47dbec755c15767af4ea3f91df7d"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.12": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12",
+ "digest": "sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.12@sha256:f5d9403364543b23a8510278854cf5517345419daed19de044a7130c03388484"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.13": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13",
+ "digest": "sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.13@sha256:700b1b5a73098373b04fb684f291e95d9be0124ab559717b04f27acaf8b41bed"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.2": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2",
+ "digest": "sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.2@sha256:2e3a717e5f19a654cd9a2263beb52012b56bcb68562ec5ae2e42f9d156b49591"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.22": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22",
+ "digest": "sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.4": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4",
+ "digest": "sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.4@sha256:87979038897e40caed22245b64d1daa796390d2dca289b99d3d1174c85740af8"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.6": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6",
+ "digest": "sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.6@sha256:730985e67931b9774545bce76b3ac5a354aa1dc11f19ee8f2d9cbf3211d73c3a"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.7": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7",
+ "digest": "sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.7@sha256:deb1d4e19de62d51cee0508057a596a19315c3423ada4d675cad136dc8037c96"
+ },
+ "ghcr.io/github/gh-aw-firewall/squid:0.27.9": {
+ "image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9",
+ "digest": "sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c",
+ "pinned_image": "ghcr.io/github/gh-aw-firewall/squid:0.27.9@sha256:f186085bd04864e59f5057ff9e6bbd506475275ffe165111517d7d1acdc1de9c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.2.19": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.2.19",
+ "digest": "sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.19@sha256:44d4d8de7e6c37aaea484eba489940c52df6a0b54078ddcbc9327592d5b3c3dd"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.2.30": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.2.30",
+ "digest": "sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.2.30@sha256:e950e6d39f003862d33bfb8d4eb93e242d919cf6ca874b90728e5e0ea7434c6f"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.0": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.0",
+ "digest": "sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.0@sha256:9c2228324fb1f26f39dc9471612e530ae3efc3156dac05efb2e8d212878d454d"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.1": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.1",
+ "digest": "sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.1@sha256:287fad0236959f3b3d9936ea1ef8d5b4f135ef2a5f5789713495cbbef191e60c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.16": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.16",
+ "digest": "sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.16@sha256:8001e4bfa52d45abd05c45a8f855ce62bc893eb66e4807bb487bf2ff07fc1473"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.23": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.23",
+ "digest": "sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.23@sha256:0dd1bd91a41e24a3ccc31b1ec6cb61d36608997fabf91f2d643b64e3fc33180a"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.24": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.24",
+ "digest": "sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.24@sha256:72cc921901afa1d67b6fee568f110c6b84436624c437fb2996d14c83e90a2b54"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.25": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.25",
+ "digest": "sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.25@sha256:c10331ad17668ef89f38f5e356678788a40b0cd5fef96e8f92e1d9c1de47cbaa"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.26": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.26",
+ "digest": "sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.26@sha256:d3b03f54eee3a8176818c9a52087623e45b7f644a28814337fcc0838e2534490"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.27": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.27",
+ "digest": "sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.27@sha256:fe984bddde4ec05d756d9043edb0a32912e6b7b72f6a121b1082f29221421cc7"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.29": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.29",
+ "digest": "sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.29@sha256:f24e968e6e5aeb819e9a98b9d273efe36b0fc1a0cb17e9ace263b5ab20de87cd"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.30": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.30",
+ "digest": "sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.30@sha256:35625d1a2269b1238606078c879f59a91cffc4ac33eb54bf39c6418822c1a8be"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.31": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.31",
+ "digest": "sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.31@sha256:3147d7332939aeb2bc6a4220d96f6a0ca600b5cc0971200eca3d1e948fc8122a"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.32": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.32",
+ "digest": "sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.32@sha256:63e46b56dfd70895a701b6fc6dd0189e11e2d875f327f1781e81b31848735477"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.33": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.33",
+ "digest": "sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.6": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.6",
+ "digest": "sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.6@sha256:2bb8eef86006a4c5963c55616a9c51c32f27bfdecb023b8aa6f91f6718d9171c"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.8": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.8",
+ "digest": "sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.8@sha256:71e102af76e1ce10b455d2a2ef5717d9cc4c135a5db06fbadcb58e6c1a950cd4"
+ },
+ "ghcr.io/github/gh-aw-mcpg:v0.3.9": {
+ "image": "ghcr.io/github/gh-aw-mcpg:v0.3.9",
+ "digest": "sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388",
+ "pinned_image": "ghcr.io/github/gh-aw-mcpg:v0.3.9@sha256:64828b42a4482f58fab16509d7f8f495a6d97c972a98a68aff20543531ac0388"
+ },
+ "ghcr.io/github/gh-aw-node": {
+ "image": "ghcr.io/github/gh-aw-node",
+ "digest": "sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b",
+ "pinned_image": "ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"
+ },
+ "ghcr.io/github/github-mcp-server:v0.32.0": {
+ "image": "ghcr.io/github/github-mcp-server:v0.32.0",
+ "digest": "sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v0.32.0@sha256:2763823c63bcca718ce53850a1d7fcf2f501ec84028394f1b63ce7e9f4f9be28"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.0",
+ "digest": "sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.0@sha256:d2550953f8050bc5a1c8f80d1678766f66f60bbfbcd953fdeaf661fe4269bd95"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.3": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.3",
+ "digest": "sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.3@sha256:2ac27ef03461ef2b877031b838a7d1fd7f12b12d4ace7796d8cad91446d55959"
+ },
+ "ghcr.io/github/github-mcp-server:v1.0.4": {
+ "image": "ghcr.io/github/github-mcp-server:v1.0.4",
+ "digest": "sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.0.4@sha256:e3816a476a977cfb836e7d221510011436c654d11861db66ecfd826601aba6a4"
+ },
+ "ghcr.io/github/github-mcp-server:v1.1.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.1.0",
+ "digest": "sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.0@sha256:71b07d9abecb83b4a2595bcd8ccb35f9a0166361a12335f9e16da1ef07172029"
+ },
+ "ghcr.io/github/github-mcp-server:v1.1.2": {
+ "image": "ghcr.io/github/github-mcp-server:v1.1.2",
+ "digest": "sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.1.2@sha256:30197479d8036c7811892bc07e06f9a05c9ef3cdd79bc59f256d50647f95788c"
+ },
+ "ghcr.io/github/github-mcp-server:v1.3.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.3.0",
+ "digest": "sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.3.0@sha256:5c83359327a0bacc3d34db730bea6557d39d341cee0bf6c58c9a896e33150e80"
+ },
+ "ghcr.io/github/github-mcp-server:v1.4.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.4.0",
+ "digest": "sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.4.0@sha256:2afb26356481d1a350e14544a6e160f7f7ec1561a1ea309b823665abf0309036"
+ },
+ "ghcr.io/github/github-mcp-server:v1.5.0": {
+ "image": "ghcr.io/github/github-mcp-server:v1.5.0",
+ "digest": "sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4",
+ "pinned_image": "ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"
+ },
+ "ghcr.io/github/serena-mcp-server:latest": {
+ "image": "ghcr.io/github/serena-mcp-server:latest",
+ "digest": "sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5",
+ "pinned_image": "ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"
+ },
+ "grafana/mcp-grafana": {
+ "image": "grafana/mcp-grafana",
+ "digest": "sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090",
+ "pinned_image": "grafana/mcp-grafana@sha256:60a4e3a417a69eeb864a72052c53b4aa4466ff3577d6ef9bacc671f4b77d7090"
+ },
+ "mcp/arxiv-mcp-server": {
+ "image": "mcp/arxiv-mcp-server",
+ "digest": "sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e",
+ "pinned_image": "mcp/arxiv-mcp-server@sha256:6dc6bba6dfed97f4ad6eb8d23a5c98ef5b7fa6184937d54b2d675801cd9dd29e"
+ },
+ "mcp/ast-grep:latest": {
+ "image": "mcp/ast-grep:latest",
+ "digest": "sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72",
+ "pinned_image": "mcp/ast-grep:latest@sha256:5fc3f2e9dcf2c019e92662f608b8d89e12134ed6d91e6f5461de6efd506a1e72"
+ },
+ "mcp/context7": {
+ "image": "mcp/context7",
+ "digest": "sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836",
+ "pinned_image": "mcp/context7@sha256:1174e6a29634a83b2be93ac1fefabf63265f498c02c72201fe3464e687dd8836"
+ },
+ "mcp/markitdown": {
+ "image": "mcp/markitdown",
+ "digest": "sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb",
+ "pinned_image": "mcp/markitdown@sha256:1cef3bf502503310ed0884441874ccf6cdaac20136dc1179797fa048269dc4cb"
+ },
+ "mcp/memory": {
+ "image": "mcp/memory",
+ "digest": "sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f",
+ "pinned_image": "mcp/memory@sha256:db0c2db07a44b6797eba7a832b1bda142ffc899588aae82c92780cbb2252407f"
+ },
+ "mcp/notion": {
+ "image": "mcp/notion",
+ "digest": "sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367",
+ "pinned_image": "mcp/notion@sha256:4de8eb0de33402fcbd3740b4f4039918e4893155c7ea833c7a0c472001b88367"
+ },
+ "mcr.microsoft.com/playwright/mcp": {
+ "image": "mcr.microsoft.com/playwright/mcp",
+ "digest": "sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2",
+ "pinned_image": "mcr.microsoft.com/playwright/mcp@sha256:7b82f29c6ef83480a97f612d53ac3fd5f30a32df3fea1e06923d4204d3532bb2"
+ },
+ "node:lts-alpine": {
+ "image": "node:lts-alpine",
+ "digest": "sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14",
+ "pinned_image": "node:lts-alpine@sha256:2bdb65ed1dab192432bc31c95f94155ca5ad7fc1392fb7eb7526ab682fa5bf14"
+ },
+ "python:alpine": {
+ "image": "python:alpine",
+ "digest": "sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116",
+ "pinned_image": "python:alpine@sha256:6f873e340e6786787a632c919ecfb1d2301eb33ccfbe9f0d0add16cbc0892116"
+ },
+ "semgrep/semgrep:latest": {
+ "image": "semgrep/semgrep:latest",
+ "digest": "sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2",
+ "pinned_image": "semgrep/semgrep:latest@sha256:17d89ddd91a7729bbd5de09402f7f79a70204289e2a94635086e9db532a495f2"
}
+ }
}
From 03a0c92af162aa08f26454da6e137e340d3a2831 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 5 Jul 2026 03:47:45 +0000
Subject: [PATCH 6/7] Apply remaining changes
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
---
pkg/actionpins/data/action_pins.json | 5 -----
pkg/workflow/data/action_pins.json | 5 -----
2 files changed, 10 deletions(-)
diff --git a/pkg/actionpins/data/action_pins.json b/pkg/actionpins/data/action_pins.json
index 370f6f9eeee..0540eda0972 100644
--- a/pkg/actionpins/data/action_pins.json
+++ b/pkg/actionpins/data/action_pins.json
@@ -48,11 +48,6 @@
"version": "v3.2.0",
"sha": "bcd2ba49218906704ab6c1aa796996da409d3eb1"
},
- "actions/download-artifact@v4": {
- "repo": "actions/download-artifact",
- "version": "v4",
- "sha": "d3f86a106a0bac45b974a628896c90dbdf5c8093"
- },
"actions/download-artifact@v8.0.1": {
"repo": "actions/download-artifact",
"version": "v8.0.1",
diff --git a/pkg/workflow/data/action_pins.json b/pkg/workflow/data/action_pins.json
index 370f6f9eeee..0540eda0972 100644
--- a/pkg/workflow/data/action_pins.json
+++ b/pkg/workflow/data/action_pins.json
@@ -48,11 +48,6 @@
"version": "v3.2.0",
"sha": "bcd2ba49218906704ab6c1aa796996da409d3eb1"
},
- "actions/download-artifact@v4": {
- "repo": "actions/download-artifact",
- "version": "v4",
- "sha": "d3f86a106a0bac45b974a628896c90dbdf5c8093"
- },
"actions/download-artifact@v8.0.1": {
"repo": "actions/download-artifact",
"version": "v8.0.1",
From c6939717a46fbf7c2f34134098406dcd61479cfd Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 5 Jul 2026 04:03:16 +0000
Subject: [PATCH 7/7] Import shared token telemetry check into 10 more smoke
workflows
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
---
.../smoke-copilot-aoai-apikey.lock.yml | 93 ++++++++++++++++---
.../workflows/smoke-copilot-aoai-apikey.md | 1 +
.../smoke-copilot-aoai-entra.lock.yml | 93 ++++++++++++++++---
.github/workflows/smoke-copilot-aoai-entra.md | 1 +
.github/workflows/smoke-copilot-arm.lock.yml | 89 ++++++++++++++++--
.github/workflows/smoke-copilot-arm.md | 1 +
.github/workflows/smoke-crush.lock.yml | 89 ++++++++++++++++--
.github/workflows/smoke-crush.md | 1 +
.github/workflows/smoke-gemini.lock.yml | 89 ++++++++++++++++--
.github/workflows/smoke-gemini.md | 1 +
.github/workflows/smoke-opencode.lock.yml | 89 ++++++++++++++++--
.github/workflows/smoke-opencode.md | 1 +
.github/workflows/smoke-project.lock.yml | 93 ++++++++++++++++---
.github/workflows/smoke-project.md | 1 +
.../workflows/smoke-service-ports.lock.yml | 89 ++++++++++++++++--
.github/workflows/smoke-service-ports.md | 1 +
.github/workflows/smoke-temporary-id.lock.yml | 89 ++++++++++++++++--
.github/workflows/smoke-temporary-id.md | 1 +
.github/workflows/smoke-test-tools.lock.yml | 89 ++++++++++++++++--
.github/workflows/smoke-test-tools.md | 1 +
20 files changed, 816 insertions(+), 96 deletions(-)
diff --git a/.github/workflows/smoke-copilot-aoai-apikey.lock.yml b/.github/workflows/smoke-copilot-aoai-apikey.lock.yml
index 4e850828440..a0b985d9bb3 100644
--- a/.github/workflows/smoke-copilot-aoai-apikey.lock.yml
+++ b/.github/workflows/smoke-copilot-aoai-apikey.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"375f6474ae21f8b625f17901cc43c512496306cc98a1e6c08bde14a3f6fae730","body_hash":"a13876411448bd11c97a456387470b0f60ff28cfee436da38ec13d1abdbd7584","strict":true,"agent_id":"copilot","agent_model":"o4-mini-aw","engine_versions":{"copilot":"1.0.68"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"e7a11d2101f5cb4b30040d7009126f732a10632260f98866a7efc76da7446fd6","body_hash":"0e13cfa0290b65aff1b709d8b9ef21101a50c0560621f6531d2cac29fa714f74","strict":true,"agent_id":"copilot","agent_model":"o4-mini-aw","engine_versions":{"copilot":"1.0.68"}}
# gh-aw-manifest: {"version":1,"secrets":["FOUNDRY_API_KEY","FOUNDRY_OPENAI_ENDPOINT","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-go","sha":"924ae3a1cded613372ab5595356fb5720e22ba16","version":"v6.5.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"docker/build-push-action","sha":"f9f3042f7e2789586610d6e8b85c8f03e5195baf","version":"v7.2.0"},{"repo":"docker/setup-buildx-action","sha":"d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5","version":"v4.1.0"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22","digest":"sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"},{"image":"ghcr.io/github/serena-mcp-server:latest","digest":"sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5","pinned_image":"ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
@@ -34,6 +34,7 @@
# - shared/mcp/serena.md
# - shared/otlp.md
# - shared/reporting.md
+# - shared/token-telemetry-check.md
#
# Secrets used:
# - FOUNDRY_API_KEY
@@ -372,25 +373,25 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_17ad83e4a655e128_EOF'
+ cat << 'GH_AW_PROMPT_c6fbd5be9f015671_EOF'
- GH_AW_PROMPT_17ad83e4a655e128_EOF
+ GH_AW_PROMPT_c6fbd5be9f015671_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/playwright_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_17ad83e4a655e128_EOF'
+ cat << 'GH_AW_PROMPT_c6fbd5be9f015671_EOF'
Tools: add_comment(max:2), create_issue, create_discussion, create_pull_request_review_comment(max:5), submit_pull_request_review, reply_to_pull_request_review_comment(max:5), add_labels, remove_labels, create_check_run, set_issue_type, dispatch_workflow, missing_tool, missing_data, noop, send_slack_message
- GH_AW_PROMPT_17ad83e4a655e128_EOF
+ GH_AW_PROMPT_c6fbd5be9f015671_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_comment_memory.md"
- cat << 'GH_AW_PROMPT_17ad83e4a655e128_EOF'
+ cat << 'GH_AW_PROMPT_c6fbd5be9f015671_EOF'
- GH_AW_PROMPT_17ad83e4a655e128_EOF
+ GH_AW_PROMPT_c6fbd5be9f015671_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_17ad83e4a655e128_EOF'
+ cat << 'GH_AW_PROMPT_c6fbd5be9f015671_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -419,12 +420,12 @@ jobs:
{{/if}}
- GH_AW_PROMPT_17ad83e4a655e128_EOF
+ GH_AW_PROMPT_c6fbd5be9f015671_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
if [ "$GITHUB_EVENT_NAME" = "issue_comment" ] && [ -n "$GH_AW_IS_PR_COMMENT" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review_comment" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review" ]; then
cat "${RUNNER_TEMP}/gh-aw/prompts/pr_context_prompt.md"
fi
- cat << 'GH_AW_PROMPT_17ad83e4a655e128_EOF'
+ cat << 'GH_AW_PROMPT_c6fbd5be9f015671_EOF'
{{#runtime-import .github/workflows/shared/github-guard-policy.md}}
{{#runtime-import .github/workflows/shared/gh.md}}
@@ -432,12 +433,13 @@ jobs:
{{#runtime-import .github/workflows/shared/github-queries-mcp-script.md}}
{{#runtime-import .github/workflows/shared/mcp/serena-go.md}}
{{#runtime-import .github/workflows/shared/otlp.md}}
+ {{#runtime-import .github/workflows/shared/token-telemetry-check.md}}
## Serena Code Analysis
Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/smoke-copilot-aoai-apikey.md}}
- GH_AW_PROMPT_17ad83e4a655e128_EOF
+ GH_AW_PROMPT_c6fbd5be9f015671_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
@@ -2142,10 +2144,79 @@ jobs:
/tmp/gh-aw/sandbox/firewall/awf-reflect.json
if-no-files-found: ignore
+ check_token_telemetry:
+ needs: agent
+ if: needs.agent.result == 'success'
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+
+ steps:
+ - name: Configure GH_HOST for enterprise compatibility
+ id: ghes-host-config
+ shell: bash
+ run: | # zizmor: ignore[github-env] - GITHUB_SERVER_URL is set by GitHub Actions, not user input.
+ # Derive GH_HOST from GITHUB_SERVER_URL so the gh CLI targets the correct
+ # GitHub instance (GHES/GHEC). On github.com this is a harmless no-op.
+ GH_HOST="${GITHUB_SERVER_URL#https://}"
+ GH_HOST="${GH_HOST#http://}"
+ echo "GH_HOST=${GH_HOST}" >> "$GITHUB_ENV"
+ - name: Download agent artifact
+ id: download-agent
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ name: agent
+ path: /tmp/gh-aw/
+ continue-on-error: true
+ - name: Assert token_usage.jsonl is non-empty
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ # The AWF firewall proxy writes token_usage.jsonl for every LLM API call.
+ # If all token_usage.jsonl files are missing or empty, the emitter is broken.
+ TOKEN_FILES=(
+ "/tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl"
+ )
+
+ FOUND_NONEMPTY=false
+ for f in "${TOKEN_FILES[@]}"; do
+ if [ -s "$f" ]; then
+ COUNT=$(grep -c . "$f" 2>/dev/null || echo "0")
+ echo "OK: $f — ${COUNT} record(s)"
+ FOUND_NONEMPTY=true
+ else
+ [ -f "$f" ] && echo "EMPTY: $f" || echo "MISSING: $f"
+ fi
+ done
+
+ if [ "${FOUND_NONEMPTY}" != "true" ]; then
+ echo "::error::All token_usage.jsonl files are empty or missing after a successful agent run."
+ echo "::error::The AWF firewall proxy token telemetry emitter may be broken."
+ echo "::error::See tracking issue: https://github.com/github/gh-aw/issues/42791"
+ exit 1
+ fi
+ - name: Assert agent_usage.json has non-zero token counts
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ USAGE_FILE="/tmp/gh-aw/agent_usage.json"
+ if [ ! -f "${USAGE_FILE}" ]; then
+ echo "::error::agent_usage.json not found in agent artifact — token summary was not written."
+ exit 1
+ fi
+ INPUT_TOKENS=$(python3 -c "import json; d=json.load(open('${USAGE_FILE}')); print(d.get('input_tokens', 0))")
+ if [ "${INPUT_TOKENS}" -le 0 ]; then
+ echo "::error::agent_usage.json has zero input_tokens — token telemetry may be broken."
+ cat "${USAGE_FILE}"
+ exit 1
+ fi
+ echo "OK: agent_usage.json reports ${INPUT_TOKENS} input tokens"
+
conclusion:
needs:
- activation
- agent
+ - check_token_telemetry
- detection
- push_experiments_state
- safe_outputs
diff --git a/.github/workflows/smoke-copilot-aoai-apikey.md b/.github/workflows/smoke-copilot-aoai-apikey.md
index 748a65a0272..e163ef82df1 100644
--- a/.github/workflows/smoke-copilot-aoai-apikey.md
+++ b/.github/workflows/smoke-copilot-aoai-apikey.md
@@ -40,6 +40,7 @@ imports:
- shared/github-queries-mcp-script.md
- shared/mcp/serena-go.md
- shared/otlp.md
+ - shared/token-telemetry-check.md
network:
allowed:
- defaults
diff --git a/.github/workflows/smoke-copilot-aoai-entra.lock.yml b/.github/workflows/smoke-copilot-aoai-entra.lock.yml
index 342f775a4fb..a06e6c03f56 100644
--- a/.github/workflows/smoke-copilot-aoai-entra.lock.yml
+++ b/.github/workflows/smoke-copilot-aoai-entra.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"8ec2a94375e8330338a191ac08d92ece0a7eab4906dfed6975b0a4133332f057","body_hash":"37cb91ca24bfc273335fc9f42352436fb55cec08dde128c0b67e1c13dc516e7f","strict":true,"agent_id":"copilot","agent_model":"o4-mini-aw","engine_versions":{"copilot":"1.0.68"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"32e19287d5401cd1b0bb25d24385340b6ce3f163537b86942cc3cba78ccda1c5","body_hash":"ed920da6b492875697d51da3258d3b5c57fdbb22ce259798ab3b71e2c500aa68","strict":true,"agent_id":"copilot","agent_model":"o4-mini-aw","engine_versions":{"copilot":"1.0.68"}}
# gh-aw-manifest: {"version":1,"secrets":["FOUNDRY_OPENAI_ENDPOINT","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-go","sha":"924ae3a1cded613372ab5595356fb5720e22ba16","version":"v6.5.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"docker/build-push-action","sha":"f9f3042f7e2789586610d6e8b85c8f03e5195baf","version":"v7.2.0"},{"repo":"docker/setup-buildx-action","sha":"d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5","version":"v4.1.0"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22","digest":"sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"},{"image":"ghcr.io/github/serena-mcp-server:latest","digest":"sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5","pinned_image":"ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
@@ -34,6 +34,7 @@
# - shared/mcp/serena.md
# - shared/otlp.md
# - shared/reporting.md
+# - shared/token-telemetry-check.md
#
# Secrets used:
# - FOUNDRY_OPENAI_ENDPOINT
@@ -371,25 +372,25 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_0688b38d643fbc31_EOF'
+ cat << 'GH_AW_PROMPT_5c2f43dbb4d1a32a_EOF'
- GH_AW_PROMPT_0688b38d643fbc31_EOF
+ GH_AW_PROMPT_5c2f43dbb4d1a32a_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/playwright_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_0688b38d643fbc31_EOF'
+ cat << 'GH_AW_PROMPT_5c2f43dbb4d1a32a_EOF'
Tools: add_comment(max:2), create_issue, create_discussion, create_pull_request_review_comment(max:5), submit_pull_request_review, reply_to_pull_request_review_comment(max:5), add_labels, remove_labels, create_check_run, set_issue_type, dispatch_workflow, missing_tool, missing_data, noop, send_slack_message
- GH_AW_PROMPT_0688b38d643fbc31_EOF
+ GH_AW_PROMPT_5c2f43dbb4d1a32a_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_comment_memory.md"
- cat << 'GH_AW_PROMPT_0688b38d643fbc31_EOF'
+ cat << 'GH_AW_PROMPT_5c2f43dbb4d1a32a_EOF'
- GH_AW_PROMPT_0688b38d643fbc31_EOF
+ GH_AW_PROMPT_5c2f43dbb4d1a32a_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_0688b38d643fbc31_EOF'
+ cat << 'GH_AW_PROMPT_5c2f43dbb4d1a32a_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -418,12 +419,12 @@ jobs:
{{/if}}
- GH_AW_PROMPT_0688b38d643fbc31_EOF
+ GH_AW_PROMPT_5c2f43dbb4d1a32a_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
if [ "$GITHUB_EVENT_NAME" = "issue_comment" ] && [ -n "$GH_AW_IS_PR_COMMENT" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review_comment" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review" ]; then
cat "${RUNNER_TEMP}/gh-aw/prompts/pr_context_prompt.md"
fi
- cat << 'GH_AW_PROMPT_0688b38d643fbc31_EOF'
+ cat << 'GH_AW_PROMPT_5c2f43dbb4d1a32a_EOF'
{{#runtime-import .github/workflows/shared/github-guard-policy.md}}
{{#runtime-import .github/workflows/shared/gh.md}}
@@ -431,12 +432,13 @@ jobs:
{{#runtime-import .github/workflows/shared/github-queries-mcp-script.md}}
{{#runtime-import .github/workflows/shared/mcp/serena-go.md}}
{{#runtime-import .github/workflows/shared/otlp.md}}
+ {{#runtime-import .github/workflows/shared/token-telemetry-check.md}}
## Serena Code Analysis
Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/smoke-copilot-aoai-entra.md}}
- GH_AW_PROMPT_0688b38d643fbc31_EOF
+ GH_AW_PROMPT_5c2f43dbb4d1a32a_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
@@ -2145,10 +2147,79 @@ jobs:
/tmp/gh-aw/sandbox/firewall/awf-reflect.json
if-no-files-found: ignore
+ check_token_telemetry:
+ needs: agent
+ if: needs.agent.result == 'success'
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+
+ steps:
+ - name: Configure GH_HOST for enterprise compatibility
+ id: ghes-host-config
+ shell: bash
+ run: | # zizmor: ignore[github-env] - GITHUB_SERVER_URL is set by GitHub Actions, not user input.
+ # Derive GH_HOST from GITHUB_SERVER_URL so the gh CLI targets the correct
+ # GitHub instance (GHES/GHEC). On github.com this is a harmless no-op.
+ GH_HOST="${GITHUB_SERVER_URL#https://}"
+ GH_HOST="${GH_HOST#http://}"
+ echo "GH_HOST=${GH_HOST}" >> "$GITHUB_ENV"
+ - name: Download agent artifact
+ id: download-agent
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ name: agent
+ path: /tmp/gh-aw/
+ continue-on-error: true
+ - name: Assert token_usage.jsonl is non-empty
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ # The AWF firewall proxy writes token_usage.jsonl for every LLM API call.
+ # If all token_usage.jsonl files are missing or empty, the emitter is broken.
+ TOKEN_FILES=(
+ "/tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl"
+ )
+
+ FOUND_NONEMPTY=false
+ for f in "${TOKEN_FILES[@]}"; do
+ if [ -s "$f" ]; then
+ COUNT=$(grep -c . "$f" 2>/dev/null || echo "0")
+ echo "OK: $f — ${COUNT} record(s)"
+ FOUND_NONEMPTY=true
+ else
+ [ -f "$f" ] && echo "EMPTY: $f" || echo "MISSING: $f"
+ fi
+ done
+
+ if [ "${FOUND_NONEMPTY}" != "true" ]; then
+ echo "::error::All token_usage.jsonl files are empty or missing after a successful agent run."
+ echo "::error::The AWF firewall proxy token telemetry emitter may be broken."
+ echo "::error::See tracking issue: https://github.com/github/gh-aw/issues/42791"
+ exit 1
+ fi
+ - name: Assert agent_usage.json has non-zero token counts
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ USAGE_FILE="/tmp/gh-aw/agent_usage.json"
+ if [ ! -f "${USAGE_FILE}" ]; then
+ echo "::error::agent_usage.json not found in agent artifact — token summary was not written."
+ exit 1
+ fi
+ INPUT_TOKENS=$(python3 -c "import json; d=json.load(open('${USAGE_FILE}')); print(d.get('input_tokens', 0))")
+ if [ "${INPUT_TOKENS}" -le 0 ]; then
+ echo "::error::agent_usage.json has zero input_tokens — token telemetry may be broken."
+ cat "${USAGE_FILE}"
+ exit 1
+ fi
+ echo "OK: agent_usage.json reports ${INPUT_TOKENS} input tokens"
+
conclusion:
needs:
- activation
- agent
+ - check_token_telemetry
- detection
- push_experiments_state
- safe_outputs
diff --git a/.github/workflows/smoke-copilot-aoai-entra.md b/.github/workflows/smoke-copilot-aoai-entra.md
index bd220a5e92a..e68d915795d 100644
--- a/.github/workflows/smoke-copilot-aoai-entra.md
+++ b/.github/workflows/smoke-copilot-aoai-entra.md
@@ -46,6 +46,7 @@ imports:
- shared/github-queries-mcp-script.md
- shared/mcp/serena-go.md
- shared/otlp.md
+ - shared/token-telemetry-check.md
network:
allowed:
- defaults
diff --git a/.github/workflows/smoke-copilot-arm.lock.yml b/.github/workflows/smoke-copilot-arm.lock.yml
index 255f1958a59..d7a178d6e8b 100644
--- a/.github/workflows/smoke-copilot-arm.lock.yml
+++ b/.github/workflows/smoke-copilot-arm.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"8eaba5348986a9df90593129269c5ffff388e7c77be8c9eb453e6379e09f566a","body_hash":"26c548a1139a15cdaed6d80164ccd26e682ca333ff33ce2e701aa7e60337e0e6","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.68"},"agent_image_runner":"ubuntu-24.04-arm"}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"34278b8861a90f011fa58af393c8c80f002a46043cbd6aa772414aaf68e66369","body_hash":"1a60ee31c1feb7e1a1ed0c60e2190d71d9026b0c5829f7f15f5cc547f0e63f50","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.68"},"agent_image_runner":"ubuntu-24.04-arm"}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-go","sha":"924ae3a1cded613372ab5595356fb5720e22ba16","version":"v6.5.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"},{"repo":"docker/build-push-action","sha":"f9f3042f7e2789586610d6e8b85c8f03e5195baf","version":"v7.2.0"},{"repo":"docker/setup-buildx-action","sha":"d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5","version":"v4.1.0"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"},{"image":"ghcr.io/github/serena-mcp-server:latest","digest":"sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5","pinned_image":"ghcr.io/github/serena-mcp-server:latest@sha256:bf343399e3725c45528f531a230f3a04521d4cdef29f9a5af6282ff0d3c393c5"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
@@ -34,6 +34,7 @@
# - shared/otlp.md
# - shared/reporting.md
# - shared/reporting-otlp.md
+# - shared/token-telemetry-check.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
@@ -326,22 +327,22 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_f9fc99e8b1ad011d_EOF'
+ cat << 'GH_AW_PROMPT_e009e9031142ebae_EOF'
- GH_AW_PROMPT_f9fc99e8b1ad011d_EOF
+ GH_AW_PROMPT_e009e9031142ebae_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/playwright_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_f9fc99e8b1ad011d_EOF'
+ cat << 'GH_AW_PROMPT_e009e9031142ebae_EOF'
Tools: add_comment(max:2), create_issue, create_discussion, create_pull_request_review_comment(max:5), submit_pull_request_review, add_labels, remove_labels, dispatch_workflow, missing_tool, missing_data, noop, send_slack_message
- GH_AW_PROMPT_f9fc99e8b1ad011d_EOF
+ GH_AW_PROMPT_e009e9031142ebae_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_f9fc99e8b1ad011d_EOF'
+ cat << 'GH_AW_PROMPT_e009e9031142ebae_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -370,25 +371,26 @@ jobs:
{{/if}}
- GH_AW_PROMPT_f9fc99e8b1ad011d_EOF
+ GH_AW_PROMPT_e009e9031142ebae_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md"
if [ "$GITHUB_EVENT_NAME" = "issue_comment" ] && [ -n "$GH_AW_IS_PR_COMMENT" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review_comment" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review" ]; then
cat "${RUNNER_TEMP}/gh-aw/prompts/pr_context_prompt.md"
fi
- cat << 'GH_AW_PROMPT_f9fc99e8b1ad011d_EOF'
+ cat << 'GH_AW_PROMPT_e009e9031142ebae_EOF'
{{#runtime-import .github/workflows/shared/gh.md}}
{{#runtime-import .github/workflows/shared/reporting-otlp.md}}
{{#runtime-import .github/workflows/shared/github-queries-mcp-script.md}}
{{#runtime-import .github/workflows/shared/mcp/serena-go.md}}
{{#runtime-import .github/workflows/shared/otlp.md}}
+ {{#runtime-import .github/workflows/shared/token-telemetry-check.md}}
{{#runtime-import .github/workflows/shared/reporting.md}}
## Serena Code Analysis
Serena is enabled for **["go"]** in `__GH_AW_GITHUB_WORKSPACE__`. Start by calling `activate_project` with that workspace path, then prefer Serena semantic tools for symbol lookup, references, docs, diagnostics, and structured edits.
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/smoke-copilot-arm.md}}
- GH_AW_PROMPT_f9fc99e8b1ad011d_EOF
+ GH_AW_PROMPT_e009e9031142ebae_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
@@ -1977,10 +1979,79 @@ jobs:
/tmp/gh-aw/sandbox/firewall/awf-reflect.json
if-no-files-found: ignore
+ check_token_telemetry:
+ needs: agent
+ if: needs.agent.result == 'success'
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+
+ steps:
+ - name: Configure GH_HOST for enterprise compatibility
+ id: ghes-host-config
+ shell: bash
+ run: | # zizmor: ignore[github-env] - GITHUB_SERVER_URL is set by GitHub Actions, not user input.
+ # Derive GH_HOST from GITHUB_SERVER_URL so the gh CLI targets the correct
+ # GitHub instance (GHES/GHEC). On github.com this is a harmless no-op.
+ GH_HOST="${GITHUB_SERVER_URL#https://}"
+ GH_HOST="${GH_HOST#http://}"
+ echo "GH_HOST=${GH_HOST}" >> "$GITHUB_ENV"
+ - name: Download agent artifact
+ id: download-agent
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ name: agent
+ path: /tmp/gh-aw/
+ continue-on-error: true
+ - name: Assert token_usage.jsonl is non-empty
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ # The AWF firewall proxy writes token_usage.jsonl for every LLM API call.
+ # If all token_usage.jsonl files are missing or empty, the emitter is broken.
+ TOKEN_FILES=(
+ "/tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl"
+ )
+
+ FOUND_NONEMPTY=false
+ for f in "${TOKEN_FILES[@]}"; do
+ if [ -s "$f" ]; then
+ COUNT=$(grep -c . "$f" 2>/dev/null || echo "0")
+ echo "OK: $f — ${COUNT} record(s)"
+ FOUND_NONEMPTY=true
+ else
+ [ -f "$f" ] && echo "EMPTY: $f" || echo "MISSING: $f"
+ fi
+ done
+
+ if [ "${FOUND_NONEMPTY}" != "true" ]; then
+ echo "::error::All token_usage.jsonl files are empty or missing after a successful agent run."
+ echo "::error::The AWF firewall proxy token telemetry emitter may be broken."
+ echo "::error::See tracking issue: https://github.com/github/gh-aw/issues/42791"
+ exit 1
+ fi
+ - name: Assert agent_usage.json has non-zero token counts
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ USAGE_FILE="/tmp/gh-aw/agent_usage.json"
+ if [ ! -f "${USAGE_FILE}" ]; then
+ echo "::error::agent_usage.json not found in agent artifact — token summary was not written."
+ exit 1
+ fi
+ INPUT_TOKENS=$(python3 -c "import json; d=json.load(open('${USAGE_FILE}')); print(d.get('input_tokens', 0))")
+ if [ "${INPUT_TOKENS}" -le 0 ]; then
+ echo "::error::agent_usage.json has zero input_tokens — token telemetry may be broken."
+ cat "${USAGE_FILE}"
+ exit 1
+ fi
+ echo "OK: agent_usage.json reports ${INPUT_TOKENS} input tokens"
+
conclusion:
needs:
- activation
- agent
+ - check_token_telemetry
- detection
- safe_outputs
- send_slack_message
diff --git a/.github/workflows/smoke-copilot-arm.md b/.github/workflows/smoke-copilot-arm.md
index 2cafe6602ee..ae11e429077 100644
--- a/.github/workflows/smoke-copilot-arm.md
+++ b/.github/workflows/smoke-copilot-arm.md
@@ -28,6 +28,7 @@ imports:
- shared/github-queries-mcp-script.md
- shared/mcp/serena-go.md
- shared/otlp.md
+ - shared/token-telemetry-check.md
network:
allowed:
- defaults
diff --git a/.github/workflows/smoke-crush.lock.yml b/.github/workflows/smoke-crush.lock.yml
index ad4828f7079..84f41a9d196 100644
--- a/.github/workflows/smoke-crush.lock.yml
+++ b/.github/workflows/smoke-crush.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"de3ee20e06b09683fda7ca602e67cfc9507eb73e2b6c6f17363425093fcbedc7","body_hash":"cc2ef81f034ad1a5a273c6e10b2297d10ee6e25484f18a23ba46525842e74e5e","strict":true,"agent_id":"crush","agent_model":"anthropic/claude-sonnet-4-20250514","engine_versions":{"crush":"0.59.0"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"8137dad322d50cb949a65af7f22d3232bdded2ba5029f75a51656d1d1180d491","body_hash":"b0b4650fccfa1722b34bb18583b431aff118fe48341fecad23a09256b643c7c7","strict":true,"agent_id":"crush","agent_model":"anthropic/claude-sonnet-4-20250514","engine_versions":{"crush":"0.59.0"}}
# gh-aw-manifest: {"version":1,"secrets":["ANTHROPIC_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
@@ -30,6 +30,7 @@
# - shared/gh.md
# - shared/otlp.md
# - shared/reporting.md
+# - shared/token-telemetry-check.md
#
# Secrets used:
# - ANTHROPIC_API_KEY
@@ -316,20 +317,20 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_7136928fa05f6ebe_EOF'
+ cat << 'GH_AW_PROMPT_3e0b6449aeee3947_EOF'
- GH_AW_PROMPT_7136928fa05f6ebe_EOF
+ GH_AW_PROMPT_3e0b6449aeee3947_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_7136928fa05f6ebe_EOF'
+ cat << 'GH_AW_PROMPT_3e0b6449aeee3947_EOF'
Tools: add_comment(max:2), create_issue, add_labels, missing_tool, missing_data, noop
- GH_AW_PROMPT_7136928fa05f6ebe_EOF
+ GH_AW_PROMPT_3e0b6449aeee3947_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_7136928fa05f6ebe_EOF'
+ cat << 'GH_AW_PROMPT_3e0b6449aeee3947_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -358,19 +359,20 @@ jobs:
{{/if}}
- GH_AW_PROMPT_7136928fa05f6ebe_EOF
+ GH_AW_PROMPT_3e0b6449aeee3947_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md"
if [ "$GITHUB_EVENT_NAME" = "issue_comment" ] && [ -n "$GH_AW_IS_PR_COMMENT" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review_comment" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review" ]; then
cat "${RUNNER_TEMP}/gh-aw/prompts/pr_context_prompt.md"
fi
- cat << 'GH_AW_PROMPT_7136928fa05f6ebe_EOF'
+ cat << 'GH_AW_PROMPT_3e0b6449aeee3947_EOF'
{{#runtime-import .github/workflows/shared/gh.md}}
{{#runtime-import .github/workflows/shared/reporting.md}}
{{#runtime-import .github/workflows/shared/otlp.md}}
+ {{#runtime-import .github/workflows/shared/token-telemetry-check.md}}
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/smoke-crush.md}}
- GH_AW_PROMPT_7136928fa05f6ebe_EOF
+ GH_AW_PROMPT_3e0b6449aeee3947_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
@@ -1087,10 +1089,79 @@ jobs:
/tmp/gh-aw/sandbox/firewall/awf-reflect.json
if-no-files-found: ignore
+ check_token_telemetry:
+ needs: agent
+ if: needs.agent.result == 'success'
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+
+ steps:
+ - name: Configure GH_HOST for enterprise compatibility
+ id: ghes-host-config
+ shell: bash
+ run: | # zizmor: ignore[github-env] - GITHUB_SERVER_URL is set by GitHub Actions, not user input.
+ # Derive GH_HOST from GITHUB_SERVER_URL so the gh CLI targets the correct
+ # GitHub instance (GHES/GHEC). On github.com this is a harmless no-op.
+ GH_HOST="${GITHUB_SERVER_URL#https://}"
+ GH_HOST="${GH_HOST#http://}"
+ echo "GH_HOST=${GH_HOST}" >> "$GITHUB_ENV"
+ - name: Download agent artifact
+ id: download-agent
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ name: agent
+ path: /tmp/gh-aw/
+ continue-on-error: true
+ - name: Assert token_usage.jsonl is non-empty
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ # The AWF firewall proxy writes token_usage.jsonl for every LLM API call.
+ # If all token_usage.jsonl files are missing or empty, the emitter is broken.
+ TOKEN_FILES=(
+ "/tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl"
+ )
+
+ FOUND_NONEMPTY=false
+ for f in "${TOKEN_FILES[@]}"; do
+ if [ -s "$f" ]; then
+ COUNT=$(grep -c . "$f" 2>/dev/null || echo "0")
+ echo "OK: $f — ${COUNT} record(s)"
+ FOUND_NONEMPTY=true
+ else
+ [ -f "$f" ] && echo "EMPTY: $f" || echo "MISSING: $f"
+ fi
+ done
+
+ if [ "${FOUND_NONEMPTY}" != "true" ]; then
+ echo "::error::All token_usage.jsonl files are empty or missing after a successful agent run."
+ echo "::error::The AWF firewall proxy token telemetry emitter may be broken."
+ echo "::error::See tracking issue: https://github.com/github/gh-aw/issues/42791"
+ exit 1
+ fi
+ - name: Assert agent_usage.json has non-zero token counts
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ USAGE_FILE="/tmp/gh-aw/agent_usage.json"
+ if [ ! -f "${USAGE_FILE}" ]; then
+ echo "::error::agent_usage.json not found in agent artifact — token summary was not written."
+ exit 1
+ fi
+ INPUT_TOKENS=$(python3 -c "import json; d=json.load(open('${USAGE_FILE}')); print(d.get('input_tokens', 0))")
+ if [ "${INPUT_TOKENS}" -le 0 ]; then
+ echo "::error::agent_usage.json has zero input_tokens — token telemetry may be broken."
+ cat "${USAGE_FILE}"
+ exit 1
+ fi
+ echo "OK: agent_usage.json reports ${INPUT_TOKENS} input tokens"
+
conclusion:
needs:
- activation
- agent
+ - check_token_telemetry
- detection
- safe_outputs
if: >
diff --git a/.github/workflows/smoke-crush.md b/.github/workflows/smoke-crush.md
index 487969d12ea..d79ab4fc402 100644
--- a/.github/workflows/smoke-crush.md
+++ b/.github/workflows/smoke-crush.md
@@ -26,6 +26,7 @@ imports:
- shared/gh.md
- shared/reporting.md
- shared/otlp.md
+ - shared/token-telemetry-check.md
network:
allowed:
- defaults
diff --git a/.github/workflows/smoke-gemini.lock.yml b/.github/workflows/smoke-gemini.lock.yml
index 263d6f1be46..f1e2f3b3505 100644
--- a/.github/workflows/smoke-gemini.lock.yml
+++ b/.github/workflows/smoke-gemini.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"c0fc379529b8efffd7d734bbc31e3a3df2c9286c69c03c75e54a0bbeaa4c9e18","body_hash":"e6391525e0b408c59088189c4afeac1d643885a1f4f9d68465795d4e65427502","strict":true,"agent_id":"gemini","engine_versions":{"gemini":"0.39.1"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"a43b274adbcfa67b48edc1e6c8bc75d8b0891de537ba8d3d2c9ef67ca6378191","body_hash":"31a3f365078fdd4d39b8a4c6c98c4078a22c810819ad066131c2ce16520325f3","strict":true,"agent_id":"gemini","engine_versions":{"gemini":"0.39.1"}}
# gh-aw-manifest: {"version":1,"secrets":["GEMINI_API_KEY","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22","digest":"sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c","pinned_image":"ghcr.io/github/gh-aw-firewall/cli-proxy:0.27.22@sha256:e23e1604241f579b418e6522d938285b57ada31bc27742a65c90ee2250b1755c"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
@@ -31,6 +31,7 @@
# - shared/otlp.md
# - shared/reporting.md
# - shared/reporting-otlp.md
+# - shared/token-telemetry-check.md
#
# Secrets used:
# - GEMINI_API_KEY
@@ -354,21 +355,21 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_13366d92a8d2cf24_EOF'
+ cat << 'GH_AW_PROMPT_32d6fae0714cfe73_EOF'
- GH_AW_PROMPT_13366d92a8d2cf24_EOF
+ GH_AW_PROMPT_32d6fae0714cfe73_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/cache_memory_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_13366d92a8d2cf24_EOF'
+ cat << 'GH_AW_PROMPT_32d6fae0714cfe73_EOF'
Tools: add_comment(max:2), create_issue, add_labels, missing_tool, missing_data, noop
- GH_AW_PROMPT_13366d92a8d2cf24_EOF
+ GH_AW_PROMPT_32d6fae0714cfe73_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_13366d92a8d2cf24_EOF'
+ cat << 'GH_AW_PROMPT_32d6fae0714cfe73_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -397,20 +398,21 @@ jobs:
{{/if}}
- GH_AW_PROMPT_13366d92a8d2cf24_EOF
+ GH_AW_PROMPT_32d6fae0714cfe73_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/cli_proxy_with_safeoutputs_prompt.md"
if [ "$GITHUB_EVENT_NAME" = "issue_comment" ] && [ -n "$GH_AW_IS_PR_COMMENT" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review_comment" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review" ]; then
cat "${RUNNER_TEMP}/gh-aw/prompts/pr_context_prompt.md"
fi
- cat << 'GH_AW_PROMPT_13366d92a8d2cf24_EOF'
+ cat << 'GH_AW_PROMPT_32d6fae0714cfe73_EOF'
{{#runtime-import .github/workflows/shared/gh.md}}
{{#runtime-import .github/workflows/shared/reporting-otlp.md}}
{{#runtime-import .github/workflows/shared/otlp.md}}
+ {{#runtime-import .github/workflows/shared/token-telemetry-check.md}}
{{#runtime-import .github/workflows/shared/reporting.md}}
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/smoke-gemini.md}}
- GH_AW_PROMPT_13366d92a8d2cf24_EOF
+ GH_AW_PROMPT_32d6fae0714cfe73_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
@@ -1197,10 +1199,79 @@ jobs:
/tmp/gh-aw/sandbox/firewall/awf-reflect.json
if-no-files-found: ignore
+ check_token_telemetry:
+ needs: agent
+ if: needs.agent.result == 'success'
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+
+ steps:
+ - name: Configure GH_HOST for enterprise compatibility
+ id: ghes-host-config
+ shell: bash
+ run: | # zizmor: ignore[github-env] - GITHUB_SERVER_URL is set by GitHub Actions, not user input.
+ # Derive GH_HOST from GITHUB_SERVER_URL so the gh CLI targets the correct
+ # GitHub instance (GHES/GHEC). On github.com this is a harmless no-op.
+ GH_HOST="${GITHUB_SERVER_URL#https://}"
+ GH_HOST="${GH_HOST#http://}"
+ echo "GH_HOST=${GH_HOST}" >> "$GITHUB_ENV"
+ - name: Download agent artifact
+ id: download-agent
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ name: agent
+ path: /tmp/gh-aw/
+ continue-on-error: true
+ - name: Assert token_usage.jsonl is non-empty
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ # The AWF firewall proxy writes token_usage.jsonl for every LLM API call.
+ # If all token_usage.jsonl files are missing or empty, the emitter is broken.
+ TOKEN_FILES=(
+ "/tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl"
+ )
+
+ FOUND_NONEMPTY=false
+ for f in "${TOKEN_FILES[@]}"; do
+ if [ -s "$f" ]; then
+ COUNT=$(grep -c . "$f" 2>/dev/null || echo "0")
+ echo "OK: $f — ${COUNT} record(s)"
+ FOUND_NONEMPTY=true
+ else
+ [ -f "$f" ] && echo "EMPTY: $f" || echo "MISSING: $f"
+ fi
+ done
+
+ if [ "${FOUND_NONEMPTY}" != "true" ]; then
+ echo "::error::All token_usage.jsonl files are empty or missing after a successful agent run."
+ echo "::error::The AWF firewall proxy token telemetry emitter may be broken."
+ echo "::error::See tracking issue: https://github.com/github/gh-aw/issues/42791"
+ exit 1
+ fi
+ - name: Assert agent_usage.json has non-zero token counts
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ USAGE_FILE="/tmp/gh-aw/agent_usage.json"
+ if [ ! -f "${USAGE_FILE}" ]; then
+ echo "::error::agent_usage.json not found in agent artifact — token summary was not written."
+ exit 1
+ fi
+ INPUT_TOKENS=$(python3 -c "import json; d=json.load(open('${USAGE_FILE}')); print(d.get('input_tokens', 0))")
+ if [ "${INPUT_TOKENS}" -le 0 ]; then
+ echo "::error::agent_usage.json has zero input_tokens — token telemetry may be broken."
+ cat "${USAGE_FILE}"
+ exit 1
+ fi
+ echo "OK: agent_usage.json reports ${INPUT_TOKENS} input tokens"
+
conclusion:
needs:
- activation
- agent
+ - check_token_telemetry
- detection
- push_experiments_state
- safe_outputs
diff --git a/.github/workflows/smoke-gemini.md b/.github/workflows/smoke-gemini.md
index 54032a4fa6e..9c6b714c4a0 100644
--- a/.github/workflows/smoke-gemini.md
+++ b/.github/workflows/smoke-gemini.md
@@ -40,6 +40,7 @@ imports:
- shared/gh.md
- shared/reporting-otlp.md
- shared/otlp.md
+ - shared/token-telemetry-check.md
network:
allowed:
- defaults
diff --git a/.github/workflows/smoke-opencode.lock.yml b/.github/workflows/smoke-opencode.lock.yml
index fafdffaca1e..69de6786328 100644
--- a/.github/workflows/smoke-opencode.lock.yml
+++ b/.github/workflows/smoke-opencode.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"d6a00159ea49120815fb5373d14199b4a32ea8c2ec97968dbfa5bfee8ed78cf2","body_hash":"fd8a2bdc8108d3170cf3743ed350b5139285a58f4d68875cf729458566659a22","strict":true,"agent_id":"opencode","agent_model":"copilot/gpt-5","engine_versions":{"opencode":"1.2.14"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"1f2828d89a07fdfcf41990e440495f1911d86e0318407d46df2d4a49a24f0236","body_hash":"ad6162a2491bc6a039914c9ccb464bf47d04bb5e28b25e746f3d5d1be14025f2","strict":true,"agent_id":"opencode","agent_model":"copilot/gpt-5","engine_versions":{"opencode":"1.2.14"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
@@ -31,6 +31,7 @@
# - shared/otlp.md
# - shared/reporting.md
# - shared/reporting-otlp.md
+# - shared/token-telemetry-check.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
@@ -318,20 +319,20 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_2a98ed4f634b97b9_EOF'
+ cat << 'GH_AW_PROMPT_5d9b4e5b09b20f20_EOF'
- GH_AW_PROMPT_2a98ed4f634b97b9_EOF
+ GH_AW_PROMPT_5d9b4e5b09b20f20_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_2a98ed4f634b97b9_EOF'
+ cat << 'GH_AW_PROMPT_5d9b4e5b09b20f20_EOF'
Tools: add_comment(max:2), create_issue, add_labels, missing_tool, missing_data, noop
- GH_AW_PROMPT_2a98ed4f634b97b9_EOF
+ GH_AW_PROMPT_5d9b4e5b09b20f20_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_2a98ed4f634b97b9_EOF'
+ cat << 'GH_AW_PROMPT_5d9b4e5b09b20f20_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -360,20 +361,21 @@ jobs:
{{/if}}
- GH_AW_PROMPT_2a98ed4f634b97b9_EOF
+ GH_AW_PROMPT_5d9b4e5b09b20f20_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md"
if [ "$GITHUB_EVENT_NAME" = "issue_comment" ] && [ -n "$GH_AW_IS_PR_COMMENT" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review_comment" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review" ]; then
cat "${RUNNER_TEMP}/gh-aw/prompts/pr_context_prompt.md"
fi
- cat << 'GH_AW_PROMPT_2a98ed4f634b97b9_EOF'
+ cat << 'GH_AW_PROMPT_5d9b4e5b09b20f20_EOF'
{{#runtime-import .github/workflows/shared/gh.md}}
{{#runtime-import .github/workflows/shared/reporting-otlp.md}}
{{#runtime-import .github/workflows/shared/otlp.md}}
+ {{#runtime-import .github/workflows/shared/token-telemetry-check.md}}
{{#runtime-import .github/workflows/shared/reporting.md}}
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/smoke-opencode.md}}
- GH_AW_PROMPT_2a98ed4f634b97b9_EOF
+ GH_AW_PROMPT_5d9b4e5b09b20f20_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
@@ -1092,10 +1094,79 @@ jobs:
/tmp/gh-aw/sandbox/firewall/awf-reflect.json
if-no-files-found: ignore
+ check_token_telemetry:
+ needs: agent
+ if: needs.agent.result == 'success'
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+
+ steps:
+ - name: Configure GH_HOST for enterprise compatibility
+ id: ghes-host-config
+ shell: bash
+ run: | # zizmor: ignore[github-env] - GITHUB_SERVER_URL is set by GitHub Actions, not user input.
+ # Derive GH_HOST from GITHUB_SERVER_URL so the gh CLI targets the correct
+ # GitHub instance (GHES/GHEC). On github.com this is a harmless no-op.
+ GH_HOST="${GITHUB_SERVER_URL#https://}"
+ GH_HOST="${GH_HOST#http://}"
+ echo "GH_HOST=${GH_HOST}" >> "$GITHUB_ENV"
+ - name: Download agent artifact
+ id: download-agent
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ name: agent
+ path: /tmp/gh-aw/
+ continue-on-error: true
+ - name: Assert token_usage.jsonl is non-empty
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ # The AWF firewall proxy writes token_usage.jsonl for every LLM API call.
+ # If all token_usage.jsonl files are missing or empty, the emitter is broken.
+ TOKEN_FILES=(
+ "/tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl"
+ )
+
+ FOUND_NONEMPTY=false
+ for f in "${TOKEN_FILES[@]}"; do
+ if [ -s "$f" ]; then
+ COUNT=$(grep -c . "$f" 2>/dev/null || echo "0")
+ echo "OK: $f — ${COUNT} record(s)"
+ FOUND_NONEMPTY=true
+ else
+ [ -f "$f" ] && echo "EMPTY: $f" || echo "MISSING: $f"
+ fi
+ done
+
+ if [ "${FOUND_NONEMPTY}" != "true" ]; then
+ echo "::error::All token_usage.jsonl files are empty or missing after a successful agent run."
+ echo "::error::The AWF firewall proxy token telemetry emitter may be broken."
+ echo "::error::See tracking issue: https://github.com/github/gh-aw/issues/42791"
+ exit 1
+ fi
+ - name: Assert agent_usage.json has non-zero token counts
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ USAGE_FILE="/tmp/gh-aw/agent_usage.json"
+ if [ ! -f "${USAGE_FILE}" ]; then
+ echo "::error::agent_usage.json not found in agent artifact — token summary was not written."
+ exit 1
+ fi
+ INPUT_TOKENS=$(python3 -c "import json; d=json.load(open('${USAGE_FILE}')); print(d.get('input_tokens', 0))")
+ if [ "${INPUT_TOKENS}" -le 0 ]; then
+ echo "::error::agent_usage.json has zero input_tokens — token telemetry may be broken."
+ cat "${USAGE_FILE}"
+ exit 1
+ fi
+ echo "OK: agent_usage.json reports ${INPUT_TOKENS} input tokens"
+
conclusion:
needs:
- activation
- agent
+ - check_token_telemetry
- detection
- safe_outputs
if: >
diff --git a/.github/workflows/smoke-opencode.md b/.github/workflows/smoke-opencode.md
index 3b7e6efbc5b..2bb01feca9b 100644
--- a/.github/workflows/smoke-opencode.md
+++ b/.github/workflows/smoke-opencode.md
@@ -26,6 +26,7 @@ imports:
- shared/gh.md
- shared/reporting-otlp.md
- shared/otlp.md
+ - shared/token-telemetry-check.md
network:
allowed:
- defaults
diff --git a/.github/workflows/smoke-project.lock.yml b/.github/workflows/smoke-project.lock.yml
index c39150b1450..ed5ce61e85a 100644
--- a/.github/workflows/smoke-project.lock.yml
+++ b/.github/workflows/smoke-project.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"d859471e6176db44927c32c185e5c4e9a44607f500a808de98210551a6523cc0","body_hash":"a06527944f758e799e436bef444ec14e9c38546538220b343897f74877fb3c1c","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.68"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"168a5e6e5b002f538cfb700c71be4eb15088d2a56ac50ac6803169c503aad013","body_hash":"d3e86b65d04757c43703b11dfe533a6f852e2ecc903cd646eff4667a94f302a9","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.68"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_CI_TRIGGER_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GH_AW_PROJECT_GITHUB_TOKEN","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
@@ -28,6 +28,7 @@
# Resolved workflow manifest:
# Imports:
# - shared/otlp.md
+# - shared/token-telemetry-check.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
@@ -354,23 +355,23 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_a0507a40057c6822_EOF'
+ cat << 'GH_AW_PROMPT_ced7b8c9e639a437_EOF'
- GH_AW_PROMPT_a0507a40057c6822_EOF
+ GH_AW_PROMPT_ced7b8c9e639a437_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_a0507a40057c6822_EOF'
+ cat << 'GH_AW_PROMPT_ced7b8c9e639a437_EOF'
Tools: add_comment(max:2), create_issue, create_pull_request, add_labels, remove_labels, update_project(max:20), create_project_status_update, missing_tool, missing_data, noop
- GH_AW_PROMPT_a0507a40057c6822_EOF
+ GH_AW_PROMPT_ced7b8c9e639a437_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_create_pull_request.md"
- cat << 'GH_AW_PROMPT_a0507a40057c6822_EOF'
+ cat << 'GH_AW_PROMPT_ced7b8c9e639a437_EOF'
- GH_AW_PROMPT_a0507a40057c6822_EOF
+ GH_AW_PROMPT_ced7b8c9e639a437_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_a0507a40057c6822_EOF'
+ cat << 'GH_AW_PROMPT_ced7b8c9e639a437_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -399,17 +400,18 @@ jobs:
{{/if}}
- GH_AW_PROMPT_a0507a40057c6822_EOF
+ GH_AW_PROMPT_ced7b8c9e639a437_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md"
if [ "$GITHUB_EVENT_NAME" = "issue_comment" ] && [ -n "$GH_AW_IS_PR_COMMENT" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review_comment" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review" ]; then
cat "${RUNNER_TEMP}/gh-aw/prompts/pr_context_prompt.md"
fi
- cat << 'GH_AW_PROMPT_a0507a40057c6822_EOF'
+ cat << 'GH_AW_PROMPT_ced7b8c9e639a437_EOF'
{{#runtime-import .github/workflows/shared/otlp.md}}
+ {{#runtime-import .github/workflows/shared/token-telemetry-check.md}}
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/smoke-project.md}}
- GH_AW_PROMPT_a0507a40057c6822_EOF
+ GH_AW_PROMPT_ced7b8c9e639a437_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
@@ -1313,10 +1315,79 @@ jobs:
/tmp/gh-aw/sandbox/firewall/awf-reflect.json
if-no-files-found: ignore
+ check_token_telemetry:
+ needs: agent
+ if: needs.agent.result == 'success'
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+
+ steps:
+ - name: Configure GH_HOST for enterprise compatibility
+ id: ghes-host-config
+ shell: bash
+ run: | # zizmor: ignore[github-env] - GITHUB_SERVER_URL is set by GitHub Actions, not user input.
+ # Derive GH_HOST from GITHUB_SERVER_URL so the gh CLI targets the correct
+ # GitHub instance (GHES/GHEC). On github.com this is a harmless no-op.
+ GH_HOST="${GITHUB_SERVER_URL#https://}"
+ GH_HOST="${GH_HOST#http://}"
+ echo "GH_HOST=${GH_HOST}" >> "$GITHUB_ENV"
+ - name: Download agent artifact
+ id: download-agent
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ name: agent
+ path: /tmp/gh-aw/
+ continue-on-error: true
+ - name: Assert token_usage.jsonl is non-empty
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ # The AWF firewall proxy writes token_usage.jsonl for every LLM API call.
+ # If all token_usage.jsonl files are missing or empty, the emitter is broken.
+ TOKEN_FILES=(
+ "/tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl"
+ )
+
+ FOUND_NONEMPTY=false
+ for f in "${TOKEN_FILES[@]}"; do
+ if [ -s "$f" ]; then
+ COUNT=$(grep -c . "$f" 2>/dev/null || echo "0")
+ echo "OK: $f — ${COUNT} record(s)"
+ FOUND_NONEMPTY=true
+ else
+ [ -f "$f" ] && echo "EMPTY: $f" || echo "MISSING: $f"
+ fi
+ done
+
+ if [ "${FOUND_NONEMPTY}" != "true" ]; then
+ echo "::error::All token_usage.jsonl files are empty or missing after a successful agent run."
+ echo "::error::The AWF firewall proxy token telemetry emitter may be broken."
+ echo "::error::See tracking issue: https://github.com/github/gh-aw/issues/42791"
+ exit 1
+ fi
+ - name: Assert agent_usage.json has non-zero token counts
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ USAGE_FILE="/tmp/gh-aw/agent_usage.json"
+ if [ ! -f "${USAGE_FILE}" ]; then
+ echo "::error::agent_usage.json not found in agent artifact — token summary was not written."
+ exit 1
+ fi
+ INPUT_TOKENS=$(python3 -c "import json; d=json.load(open('${USAGE_FILE}')); print(d.get('input_tokens', 0))")
+ if [ "${INPUT_TOKENS}" -le 0 ]; then
+ echo "::error::agent_usage.json has zero input_tokens — token telemetry may be broken."
+ cat "${USAGE_FILE}"
+ exit 1
+ fi
+ echo "OK: agent_usage.json reports ${INPUT_TOKENS} input tokens"
+
conclusion:
needs:
- activation
- agent
+ - check_token_telemetry
- detection
- push_experiments_state
- safe_outputs
diff --git a/.github/workflows/smoke-project.md b/.github/workflows/smoke-project.md
index 38c6889caa1..2037026ff85 100644
--- a/.github/workflows/smoke-project.md
+++ b/.github/workflows/smoke-project.md
@@ -89,6 +89,7 @@ experiments:
issue: 37302
imports:
- shared/otlp.md
+ - shared/token-telemetry-check.md
features:
gh-aw-detection: false
---
diff --git a/.github/workflows/smoke-service-ports.lock.yml b/.github/workflows/smoke-service-ports.lock.yml
index 1f71f23718e..86ebda74503 100644
--- a/.github/workflows/smoke-service-ports.lock.yml
+++ b/.github/workflows/smoke-service-ports.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"daaa2adced53566ee21a8c36d89f56052a12aa170ad6972e14af883311f46673","body_hash":"f0d52a8ac256d3e86659f87c0811c0ad3901a243a5b96432e69002106b780c42","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.68"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"3c56208145af0b3ffbda97f9d0371eaa0adcf59a0f0c882db7db0baef46f53af","body_hash":"1104977033f3c713b638f0c4236aeca750ec5890c4d5897658851dd39b8effe1","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.68"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
@@ -28,6 +28,7 @@
# Resolved workflow manifest:
# Imports:
# - shared/otlp.md
+# - shared/token-telemetry-check.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
@@ -308,20 +309,20 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_8676aedd5232efa7_EOF'
+ cat << 'GH_AW_PROMPT_4c7aa5beeceed398_EOF'
- GH_AW_PROMPT_8676aedd5232efa7_EOF
+ GH_AW_PROMPT_4c7aa5beeceed398_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_8676aedd5232efa7_EOF'
+ cat << 'GH_AW_PROMPT_4c7aa5beeceed398_EOF'
Tools: add_comment(max:2), missing_tool, missing_data, noop
- GH_AW_PROMPT_8676aedd5232efa7_EOF
+ GH_AW_PROMPT_4c7aa5beeceed398_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_8676aedd5232efa7_EOF'
+ cat << 'GH_AW_PROMPT_4c7aa5beeceed398_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -350,16 +351,17 @@ jobs:
{{/if}}
- GH_AW_PROMPT_8676aedd5232efa7_EOF
+ GH_AW_PROMPT_4c7aa5beeceed398_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md"
if [ "$GITHUB_EVENT_NAME" = "issue_comment" ] && [ -n "$GH_AW_IS_PR_COMMENT" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review_comment" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review" ]; then
cat "${RUNNER_TEMP}/gh-aw/prompts/pr_context_prompt.md"
fi
- cat << 'GH_AW_PROMPT_8676aedd5232efa7_EOF'
+ cat << 'GH_AW_PROMPT_4c7aa5beeceed398_EOF'
{{#runtime-import .github/workflows/shared/otlp.md}}
+ {{#runtime-import .github/workflows/shared/token-telemetry-check.md}}
{{#runtime-import .github/workflows/smoke-service-ports.md}}
- GH_AW_PROMPT_8676aedd5232efa7_EOF
+ GH_AW_PROMPT_4c7aa5beeceed398_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
@@ -1064,10 +1066,79 @@ jobs:
/tmp/gh-aw/sandbox/firewall/awf-reflect.json
if-no-files-found: ignore
+ check_token_telemetry:
+ needs: agent
+ if: needs.agent.result == 'success'
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+
+ steps:
+ - name: Configure GH_HOST for enterprise compatibility
+ id: ghes-host-config
+ shell: bash
+ run: | # zizmor: ignore[github-env] - GITHUB_SERVER_URL is set by GitHub Actions, not user input.
+ # Derive GH_HOST from GITHUB_SERVER_URL so the gh CLI targets the correct
+ # GitHub instance (GHES/GHEC). On github.com this is a harmless no-op.
+ GH_HOST="${GITHUB_SERVER_URL#https://}"
+ GH_HOST="${GH_HOST#http://}"
+ echo "GH_HOST=${GH_HOST}" >> "$GITHUB_ENV"
+ - name: Download agent artifact
+ id: download-agent
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ name: agent
+ path: /tmp/gh-aw/
+ continue-on-error: true
+ - name: Assert token_usage.jsonl is non-empty
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ # The AWF firewall proxy writes token_usage.jsonl for every LLM API call.
+ # If all token_usage.jsonl files are missing or empty, the emitter is broken.
+ TOKEN_FILES=(
+ "/tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl"
+ )
+
+ FOUND_NONEMPTY=false
+ for f in "${TOKEN_FILES[@]}"; do
+ if [ -s "$f" ]; then
+ COUNT=$(grep -c . "$f" 2>/dev/null || echo "0")
+ echo "OK: $f — ${COUNT} record(s)"
+ FOUND_NONEMPTY=true
+ else
+ [ -f "$f" ] && echo "EMPTY: $f" || echo "MISSING: $f"
+ fi
+ done
+
+ if [ "${FOUND_NONEMPTY}" != "true" ]; then
+ echo "::error::All token_usage.jsonl files are empty or missing after a successful agent run."
+ echo "::error::The AWF firewall proxy token telemetry emitter may be broken."
+ echo "::error::See tracking issue: https://github.com/github/gh-aw/issues/42791"
+ exit 1
+ fi
+ - name: Assert agent_usage.json has non-zero token counts
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ USAGE_FILE="/tmp/gh-aw/agent_usage.json"
+ if [ ! -f "${USAGE_FILE}" ]; then
+ echo "::error::agent_usage.json not found in agent artifact — token summary was not written."
+ exit 1
+ fi
+ INPUT_TOKENS=$(python3 -c "import json; d=json.load(open('${USAGE_FILE}')); print(d.get('input_tokens', 0))")
+ if [ "${INPUT_TOKENS}" -le 0 ]; then
+ echo "::error::agent_usage.json has zero input_tokens — token telemetry may be broken."
+ cat "${USAGE_FILE}"
+ exit 1
+ fi
+ echo "OK: agent_usage.json reports ${INPUT_TOKENS} input tokens"
+
conclusion:
needs:
- activation
- agent
+ - check_token_telemetry
- detection
- safe_outputs
if: >
diff --git a/.github/workflows/smoke-service-ports.md b/.github/workflows/smoke-service-ports.md
index 92def18275f..792487d43e3 100644
--- a/.github/workflows/smoke-service-ports.md
+++ b/.github/workflows/smoke-service-ports.md
@@ -46,6 +46,7 @@ safe-outputs:
timeout-minutes: 5
imports:
- shared/otlp.md
+ - shared/token-telemetry-check.md
features:
gh-aw-detection: false
---
diff --git a/.github/workflows/smoke-temporary-id.lock.yml b/.github/workflows/smoke-temporary-id.lock.yml
index 3fd9e8a1f16..7ee49541c0d 100644
--- a/.github/workflows/smoke-temporary-id.lock.yml
+++ b/.github/workflows/smoke-temporary-id.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"3e4271b8ed01954621f0b41f638d0b57f2e1afbd57ae577f7274312e0d938817","body_hash":"837357879ba43b6a872a306ef6aa48f02a2b63b43cf0a142dd3860175463961b","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.68"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"8edff1954fd913b37dccc602d01c690bee7052e688320d85d3f36abb70e551ab","body_hash":"428092bc63e0e9f7d493de670e6bf0a7e9a78b43456e00179474228201807a14","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.68"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
@@ -28,6 +28,7 @@
# Resolved workflow manifest:
# Imports:
# - shared/otlp.md
+# - shared/token-telemetry-check.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
@@ -352,20 +353,20 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_42902931571bc859_EOF'
+ cat << 'GH_AW_PROMPT_141a03aeb3c586c0_EOF'
- GH_AW_PROMPT_42902931571bc859_EOF
+ GH_AW_PROMPT_141a03aeb3c586c0_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_42902931571bc859_EOF'
+ cat << 'GH_AW_PROMPT_141a03aeb3c586c0_EOF'
Tools: add_comment(max:2), create_issue(max:5), link_sub_issue(max:3), missing_tool, missing_data, noop
- GH_AW_PROMPT_42902931571bc859_EOF
+ GH_AW_PROMPT_141a03aeb3c586c0_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_42902931571bc859_EOF'
+ cat << 'GH_AW_PROMPT_141a03aeb3c586c0_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -394,17 +395,18 @@ jobs:
{{/if}}
- GH_AW_PROMPT_42902931571bc859_EOF
+ GH_AW_PROMPT_141a03aeb3c586c0_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md"
if [ "$GITHUB_EVENT_NAME" = "issue_comment" ] && [ -n "$GH_AW_IS_PR_COMMENT" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review_comment" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review" ]; then
cat "${RUNNER_TEMP}/gh-aw/prompts/pr_context_prompt.md"
fi
- cat << 'GH_AW_PROMPT_42902931571bc859_EOF'
+ cat << 'GH_AW_PROMPT_141a03aeb3c586c0_EOF'
{{#runtime-import .github/workflows/shared/otlp.md}}
+ {{#runtime-import .github/workflows/shared/token-telemetry-check.md}}
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/smoke-temporary-id.md}}
- GH_AW_PROMPT_42902931571bc859_EOF
+ GH_AW_PROMPT_141a03aeb3c586c0_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
@@ -1164,10 +1166,79 @@ jobs:
/tmp/gh-aw/sandbox/firewall/awf-reflect.json
if-no-files-found: ignore
+ check_token_telemetry:
+ needs: agent
+ if: needs.agent.result == 'success'
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+
+ steps:
+ - name: Configure GH_HOST for enterprise compatibility
+ id: ghes-host-config
+ shell: bash
+ run: | # zizmor: ignore[github-env] - GITHUB_SERVER_URL is set by GitHub Actions, not user input.
+ # Derive GH_HOST from GITHUB_SERVER_URL so the gh CLI targets the correct
+ # GitHub instance (GHES/GHEC). On github.com this is a harmless no-op.
+ GH_HOST="${GITHUB_SERVER_URL#https://}"
+ GH_HOST="${GH_HOST#http://}"
+ echo "GH_HOST=${GH_HOST}" >> "$GITHUB_ENV"
+ - name: Download agent artifact
+ id: download-agent
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ name: agent
+ path: /tmp/gh-aw/
+ continue-on-error: true
+ - name: Assert token_usage.jsonl is non-empty
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ # The AWF firewall proxy writes token_usage.jsonl for every LLM API call.
+ # If all token_usage.jsonl files are missing or empty, the emitter is broken.
+ TOKEN_FILES=(
+ "/tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl"
+ )
+
+ FOUND_NONEMPTY=false
+ for f in "${TOKEN_FILES[@]}"; do
+ if [ -s "$f" ]; then
+ COUNT=$(grep -c . "$f" 2>/dev/null || echo "0")
+ echo "OK: $f — ${COUNT} record(s)"
+ FOUND_NONEMPTY=true
+ else
+ [ -f "$f" ] && echo "EMPTY: $f" || echo "MISSING: $f"
+ fi
+ done
+
+ if [ "${FOUND_NONEMPTY}" != "true" ]; then
+ echo "::error::All token_usage.jsonl files are empty or missing after a successful agent run."
+ echo "::error::The AWF firewall proxy token telemetry emitter may be broken."
+ echo "::error::See tracking issue: https://github.com/github/gh-aw/issues/42791"
+ exit 1
+ fi
+ - name: Assert agent_usage.json has non-zero token counts
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ USAGE_FILE="/tmp/gh-aw/agent_usage.json"
+ if [ ! -f "${USAGE_FILE}" ]; then
+ echo "::error::agent_usage.json not found in agent artifact — token summary was not written."
+ exit 1
+ fi
+ INPUT_TOKENS=$(python3 -c "import json; d=json.load(open('${USAGE_FILE}')); print(d.get('input_tokens', 0))")
+ if [ "${INPUT_TOKENS}" -le 0 ]; then
+ echo "::error::agent_usage.json has zero input_tokens — token telemetry may be broken."
+ cat "${USAGE_FILE}"
+ exit 1
+ fi
+ echo "OK: agent_usage.json reports ${INPUT_TOKENS} input tokens"
+
conclusion:
needs:
- activation
- agent
+ - check_token_telemetry
- detection
- push_experiments_state
- safe_outputs
diff --git a/.github/workflows/smoke-temporary-id.md b/.github/workflows/smoke-temporary-id.md
index 9cce4b09b4e..9ec6be5facf 100644
--- a/.github/workflows/smoke-temporary-id.md
+++ b/.github/workflows/smoke-temporary-id.md
@@ -48,6 +48,7 @@ safe-outputs:
timeout-minutes: 10
imports:
- shared/otlp.md
+ - shared/token-telemetry-check.md
tools:
cli-proxy: true
experiments:
diff --git a/.github/workflows/smoke-test-tools.lock.yml b/.github/workflows/smoke-test-tools.lock.yml
index 0259d7724d1..f11c2415d3d 100644
--- a/.github/workflows/smoke-test-tools.lock.yml
+++ b/.github/workflows/smoke-test-tools.lock.yml
@@ -1,4 +1,4 @@
-# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"4a947ad618503b28a686a16364f047871969a8fda8d345b13a10f28ac02f5521","body_hash":"81f2125a67a8ec3e67401b66459850f8ca4c45d4f70c874e470b359ae4733083","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.68"}}
+# gh-aw-metadata: {"schema_version":"v4","frontmatter_hash":"fef4d3cd05c76ebe71c7ea3703d83446e561550acf3080cd88c53110a6abc18d","body_hash":"cf53a834b09d4e5b794c651454718653367ede664f6a2610ec130969528828ac","strict":true,"agent_id":"copilot","engine_versions":{"copilot":"1.0.68"}}
# gh-aw-manifest: {"version":1,"secrets":["COPILOT_GITHUB_TOKEN","GH_AW_GITHUB_MCP_SERVER_TOKEN","GH_AW_GITHUB_TOKEN","GH_AW_OTEL_GRAFANA_AUTHORIZATION","GH_AW_OTEL_GRAFANA_ENDPOINT","GH_AW_OTEL_SENTRY_AUTHORIZATION","GH_AW_OTEL_SENTRY_ENDPOINT","GITHUB_TOKEN"],"actions":[{"repo":"actions/cache/restore","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/cache/save","sha":"55cc8345863c7cc4c66a329aec7e433d2d1c52a9","version":"v6.1.0"},{"repo":"actions/checkout","sha":"9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0","version":"v7.0.0"},{"repo":"actions/download-artifact","sha":"3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c","version":"v8.0.1"},{"repo":"actions/github-script","sha":"3a2844b7e9c422d3c10d287c895573f7108da1b3","version":"v9.0.0"},{"repo":"actions/setup-dotnet","sha":"26b0ec14cb23fa6904739307f278c14f94c95bf1","version":"v5.4.0"},{"repo":"actions/setup-go","sha":"924ae3a1cded613372ab5595356fb5720e22ba16","version":"v6.5.0"},{"repo":"actions/setup-java","sha":"1bcf9fb12cf4aa7d266a90ae39939e61372fe520","version":"v5.4.0"},{"repo":"actions/setup-node","sha":"48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e","version":"v6.4.0"},{"repo":"actions/setup-python","sha":"ece7cb06caefa5fff74198d8649806c4678c61a1","version":"v6.3.0"},{"repo":"actions/upload-artifact","sha":"043fb46d1a93c77aae656e7c1c64a875d1fc6a0a","version":"v7.0.1"}],"containers":[{"image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22","digest":"sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e","pinned_image":"ghcr.io/github/gh-aw-firewall/agent:0.27.22@sha256:55f06588411008b7148eb64b8dfe28602a0cce3675b36c6b190b54aca138468e"},{"image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22","digest":"sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1","pinned_image":"ghcr.io/github/gh-aw-firewall/api-proxy:0.27.22@sha256:afb9ff9140b17d38871dfb9dbac5ff8689ea634c2f91c435da2825192d4881c1"},{"image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22","digest":"sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59","pinned_image":"ghcr.io/github/gh-aw-firewall/squid:0.27.22@sha256:3cdcc1e2b4b4fe602ba69fd3e21aac7ac512d5c1fce24df4ce69dc4f98164b59"},{"image":"ghcr.io/github/gh-aw-mcpg:v0.3.33","digest":"sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06","pinned_image":"ghcr.io/github/gh-aw-mcpg:v0.3.33@sha256:f0e1f1d562f01e737f3ef125cb4d7057ff87a68a97927f5ea9fd6d3f5091da06"},{"image":"ghcr.io/github/gh-aw-node","digest":"sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b","pinned_image":"ghcr.io/github/gh-aw-node@sha256:529d02eb970b1161aa25c593a9c3df57fdfad5a8add328cb3b6eccef66f3183b"},{"image":"ghcr.io/github/github-mcp-server:v1.5.0","digest":"sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4","pinned_image":"ghcr.io/github/github-mcp-server:v1.5.0@sha256:e25564dccc9110a70a77b9df560cbde11aa392fcb5f08b9abe5c4ebc6d146ea4"}]}
# This file was automatically generated by gh-aw. DO NOT EDIT. To debug this workflow, load the skill at https://github.com/github/gh-aw/blob/main/debug.md
#
@@ -28,6 +28,7 @@
# Resolved workflow manifest:
# Imports:
# - shared/otlp.md
+# - shared/token-telemetry-check.md
#
# Secrets used:
# - COPILOT_GITHUB_TOKEN
@@ -319,20 +320,20 @@ jobs:
run: |
bash "${RUNNER_TEMP}/gh-aw/actions/create_prompt_first.sh"
{
- cat << 'GH_AW_PROMPT_697463475cfdd779_EOF'
+ cat << 'GH_AW_PROMPT_e1d660274ca48bb6_EOF'
- GH_AW_PROMPT_697463475cfdd779_EOF
+ GH_AW_PROMPT_e1d660274ca48bb6_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/xpia.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/temp_folder_prompt.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/markdown.md"
cat "${RUNNER_TEMP}/gh-aw/prompts/safe_outputs_prompt.md"
- cat << 'GH_AW_PROMPT_697463475cfdd779_EOF'
+ cat << 'GH_AW_PROMPT_e1d660274ca48bb6_EOF'
Tools: add_comment(max:2), missing_tool, missing_data, noop
- GH_AW_PROMPT_697463475cfdd779_EOF
+ GH_AW_PROMPT_e1d660274ca48bb6_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/mcp_cli_tools_prompt.md"
- cat << 'GH_AW_PROMPT_697463475cfdd779_EOF'
+ cat << 'GH_AW_PROMPT_e1d660274ca48bb6_EOF'
The following GitHub context information is available for this workflow:
{{#if github.actor}}
@@ -361,17 +362,18 @@ jobs:
{{/if}}
- GH_AW_PROMPT_697463475cfdd779_EOF
+ GH_AW_PROMPT_e1d660274ca48bb6_EOF
cat "${RUNNER_TEMP}/gh-aw/prompts/github_mcp_tools_with_safeoutputs_prompt.md"
if [ "$GITHUB_EVENT_NAME" = "issue_comment" ] && [ -n "$GH_AW_IS_PR_COMMENT" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review_comment" ] || [ "$GITHUB_EVENT_NAME" = "pull_request_review" ]; then
cat "${RUNNER_TEMP}/gh-aw/prompts/pr_context_prompt.md"
fi
- cat << 'GH_AW_PROMPT_697463475cfdd779_EOF'
+ cat << 'GH_AW_PROMPT_e1d660274ca48bb6_EOF'
{{#runtime-import .github/workflows/shared/otlp.md}}
+ {{#runtime-import .github/workflows/shared/token-telemetry-check.md}}
{{#runtime-import .github/workflows/shared/noop-reminder.md}}
{{#runtime-import .github/workflows/smoke-test-tools.md}}
- GH_AW_PROMPT_697463475cfdd779_EOF
+ GH_AW_PROMPT_e1d660274ca48bb6_EOF
} > "$GH_AW_PROMPT"
- name: Interpolate variables and render templates
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
@@ -1095,10 +1097,79 @@ jobs:
/tmp/gh-aw/sandbox/firewall/awf-reflect.json
if-no-files-found: ignore
+ check_token_telemetry:
+ needs: agent
+ if: needs.agent.result == 'success'
+ runs-on: ubuntu-latest
+ permissions:
+ contents: read
+
+ steps:
+ - name: Configure GH_HOST for enterprise compatibility
+ id: ghes-host-config
+ shell: bash
+ run: | # zizmor: ignore[github-env] - GITHUB_SERVER_URL is set by GitHub Actions, not user input.
+ # Derive GH_HOST from GITHUB_SERVER_URL so the gh CLI targets the correct
+ # GitHub instance (GHES/GHEC). On github.com this is a harmless no-op.
+ GH_HOST="${GITHUB_SERVER_URL#https://}"
+ GH_HOST="${GH_HOST#http://}"
+ echo "GH_HOST=${GH_HOST}" >> "$GITHUB_ENV"
+ - name: Download agent artifact
+ id: download-agent
+ uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
+ with:
+ name: agent
+ path: /tmp/gh-aw/
+ continue-on-error: true
+ - name: Assert token_usage.jsonl is non-empty
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ # The AWF firewall proxy writes token_usage.jsonl for every LLM API call.
+ # If all token_usage.jsonl files are missing or empty, the emitter is broken.
+ TOKEN_FILES=(
+ "/tmp/gh-aw/sandbox/firewall-audit-logs/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/audit/api-proxy-logs/token-usage.jsonl"
+ "/tmp/gh-aw/sandbox/firewall/logs/api-proxy-logs/token-usage.jsonl"
+ )
+
+ FOUND_NONEMPTY=false
+ for f in "${TOKEN_FILES[@]}"; do
+ if [ -s "$f" ]; then
+ COUNT=$(grep -c . "$f" 2>/dev/null || echo "0")
+ echo "OK: $f — ${COUNT} record(s)"
+ FOUND_NONEMPTY=true
+ else
+ [ -f "$f" ] && echo "EMPTY: $f" || echo "MISSING: $f"
+ fi
+ done
+
+ if [ "${FOUND_NONEMPTY}" != "true" ]; then
+ echo "::error::All token_usage.jsonl files are empty or missing after a successful agent run."
+ echo "::error::The AWF firewall proxy token telemetry emitter may be broken."
+ echo "::error::See tracking issue: https://github.com/github/gh-aw/issues/42791"
+ exit 1
+ fi
+ - name: Assert agent_usage.json has non-zero token counts
+ if: steps.download-agent.outcome == 'success'
+ run: |
+ USAGE_FILE="/tmp/gh-aw/agent_usage.json"
+ if [ ! -f "${USAGE_FILE}" ]; then
+ echo "::error::agent_usage.json not found in agent artifact — token summary was not written."
+ exit 1
+ fi
+ INPUT_TOKENS=$(python3 -c "import json; d=json.load(open('${USAGE_FILE}')); print(d.get('input_tokens', 0))")
+ if [ "${INPUT_TOKENS}" -le 0 ]; then
+ echo "::error::agent_usage.json has zero input_tokens — token telemetry may be broken."
+ cat "${USAGE_FILE}"
+ exit 1
+ fi
+ echo "OK: agent_usage.json reports ${INPUT_TOKENS} input tokens"
+
conclusion:
needs:
- activation
- agent
+ - check_token_telemetry
- detection
- safe_outputs
if: >
diff --git a/.github/workflows/smoke-test-tools.md b/.github/workflows/smoke-test-tools.md
index 1994bb857cf..548ad71351a 100644
--- a/.github/workflows/smoke-test-tools.md
+++ b/.github/workflows/smoke-test-tools.md
@@ -51,6 +51,7 @@ safe-outputs:
timeout-minutes: 5
imports:
- shared/otlp.md
+ - shared/token-telemetry-check.md
features:
gh-aw-detection: false
---