From 6acf871853106b66e349005f91de9d7fbd8ca22f Mon Sep 17 00:00:00 2001 From: Nhu Do Date: Mon, 10 Nov 2025 11:04:13 -0800 Subject: [PATCH 1/8] Add Copilot SWE to supported models (#58359) Co-authored-by: Sunbrye Ly <56200261+sunbrye@users.noreply.github.com> --- content/copilot/reference/ai-models/model-comparison.md | 2 ++ content/copilot/reference/ai-models/model-hosting.md | 8 ++++++++ data/reusables/copilot/model-use-cases/copilot-swe.md | 1 + data/tables/copilot/model-multipliers.yml | 4 ++++ data/tables/copilot/model-release-status.yml | 8 ++++++++ data/tables/copilot/model-supported-clients.yml | 8 ++++++++ data/tables/copilot/model-supported-plans.yml | 7 +++++++ data/variables/copilot.yml | 2 ++ 8 files changed, 40 insertions(+) create mode 100644 data/reusables/copilot/model-use-cases/copilot-swe.md diff --git a/content/copilot/reference/ai-models/model-comparison.md b/content/copilot/reference/ai-models/model-comparison.md index fb577cf687b4..bb2c284dea09 100644 --- a/content/copilot/reference/ai-models/model-comparison.md +++ b/content/copilot/reference/ai-models/model-comparison.md @@ -42,6 +42,7 @@ Use this table to find a suitable model quickly, see more detail in the sections | {% data variables.copilot.copilot_gemini_25_pro %} | Deep reasoning and debugging | Complex code generation, debugging, and research workflows | Reasoning, vision | [{% data variables.copilot.copilot_gemini_25_pro %} model card](https://storage.googleapis.com/model-cards/documents/gemini-2.5-pro.pdf) | | {% data variables.copilot.copilot_grok_code %} | General-purpose coding and writing | Fast, accurate code completions and explanations | Agent mode | [{% data variables.copilot.copilot_grok_code %} model card](https://data.x.ai/2025-08-20-grok-4-model-card.pdf) | | {% data variables.copilot.copilot_qwen_25 %} | General-purpose coding and writing | Code generation, reasoning, and code repair / debugging | Reasoning | [{% data variables.copilot.copilot_qwen_25 %} model card](https://arxiv.org/pdf/2409.12186) | +| {% data variables.copilot.copilot_swe_mini %} | General-purpose coding and writing | Fast, accurate code completions and explanations | Agent mode | Coming soon | ## Task: General-purpose coding and writing @@ -52,6 +53,7 @@ Use these models for common development tasks that require a balance of quality, | {% data variables.copilot.copilot_gpt_5_codex %} | Delivers higher-quality code on complex engineering tasks like features, tests, debugging, refactors, and reviews without lengthy instructions. | | {% data variables.copilot.copilot_gpt_5_mini %} | Reliable default for most coding and writing tasks. Fast, accurate, and works well across languages and frameworks. | | {% data variables.copilot.copilot_grok_code %} | Specialized for coding tasks. Performs well on code generation, and debugging across multiple languages. | +| {% data variables.copilot.copilot_swe_mini %} | Specialized for fast, accurate code completions and explanations. | ### When to use these models diff --git a/content/copilot/reference/ai-models/model-hosting.md b/content/copilot/reference/ai-models/model-hosting.md index b0d03f372c9b..b0bcfd184400 100644 --- a/content/copilot/reference/ai-models/model-hosting.md +++ b/content/copilot/reference/ai-models/model-hosting.md @@ -31,6 +31,14 @@ Used for: When using OpenAI's models, input requests and output responses continue to run through {% data variables.product.prodname_copilot %}'s content filters for public code matching, when applied, along with those for harmful or offensive content. +## OpenAI models fine-tuned by Microsoft + +Used for: + +* {% data variables.copilot.copilot_swe_mini %} + +{% data variables.copilot.copilot_swe_mini %} is deployed on {% data variables.product.github %} managed Azure OpenAI tenant. + ## Anthropic models Used for: diff --git a/data/reusables/copilot/model-use-cases/copilot-swe.md b/data/reusables/copilot/model-use-cases/copilot-swe.md new file mode 100644 index 000000000000..4b6816e10697 --- /dev/null +++ b/data/reusables/copilot/model-use-cases/copilot-swe.md @@ -0,0 +1 @@ +{% data variables.copilot.copilot_swe_mini %} is a good choice for common development tasks that benefit from general-purpose coding and writing. If you're working on tasks that require fast iteration, accurate code completions and explanations, {% data variables.copilot.copilot_swe_mini %} is likely the model to use. diff --git a/data/tables/copilot/model-multipliers.yml b/data/tables/copilot/model-multipliers.yml index c9e52d152527..03f8db755702 100644 --- a/data/tables/copilot/model-multipliers.yml +++ b/data/tables/copilot/model-multipliers.yml @@ -52,3 +52,7 @@ - name: Grok Code Fast 1 multiplier_paid: 0.25 multiplier_free: Not applicable + +- name: Copilot-SWE mini + multiplier_paid: Not applicable + multiplier_free: 1 diff --git a/data/tables/copilot/model-release-status.yml b/data/tables/copilot/model-release-status.yml index 2c8263353eda..358863248e74 100644 --- a/data/tables/copilot/model-release-status.yml +++ b/data/tables/copilot/model-release-status.yml @@ -91,3 +91,11 @@ agent_mode: true ask_mode: true edit_mode: true + +# Fine-tuned OAI models +- name: 'Copilot-SWE mini' + provider: 'Fine-tuned GPT-5 mini' + release_status: 'Public preview' + agent_mode: true + ask_mode: true + edit_mode: true diff --git a/data/tables/copilot/model-supported-clients.yml b/data/tables/copilot/model-supported-clients.yml index 02b7640a4397..0d9a45347829 100644 --- a/data/tables/copilot/model-supported-clients.yml +++ b/data/tables/copilot/model-supported-clients.yml @@ -92,3 +92,11 @@ eclipse: true xcode: true jetbrains: true + +- name: Copilot-SWE mini + dotcom: false + vscode: true + vs: false + eclipse: false + xcode: false + jetbrains: false diff --git a/data/tables/copilot/model-supported-plans.yml b/data/tables/copilot/model-supported-plans.yml index e96c36d97885..1c36306b7c89 100644 --- a/data/tables/copilot/model-supported-plans.yml +++ b/data/tables/copilot/model-supported-plans.yml @@ -81,3 +81,10 @@ pro_plus: true business: true enterprise: true + +- name: Copilot-SWE mini + free: true + pro: false + pro_plus: false + business: false + enterprise: false diff --git a/data/variables/copilot.yml b/data/variables/copilot.yml index 45fa31e10c98..158a42fca46c 100644 --- a/data/variables/copilot.yml +++ b/data/variables/copilot.yml @@ -154,6 +154,8 @@ copilot_o4_mini: 'o4-mini' copilot_grok_code: 'Grok Code Fast 1' # Qwen: copilot_qwen_25: 'Qwen2.5' +# Microsoft fine-tuned: +copilot_swe_mini: 'Copilot-SWE mini' ## Current model used by Copilot coding agent and Copilot CLI cca_current_model: '{% data variables.copilot.copilot_claude_sonnet_40 %}' From d0d305fbf5bd59a99a5283c37173a727e49886f2 Mon Sep 17 00:00:00 2001 From: Sunbrye Ly <56200261+sunbrye@users.noreply.github.com> Date: Mon, 10 Nov 2025 12:32:22 -0800 Subject: [PATCH 2/8] Update Copilot-SWE mini to Raptor mini (#58428) --- .../reference/ai-models/model-comparison.md | 14 +++++++------- .../copilot/reference/ai-models/model-hosting.md | 4 ++-- .../copilot/model-use-cases/copilot-swe.md | 2 +- data/tables/copilot/model-multipliers.yml | 2 +- data/tables/copilot/model-release-status.yml | 2 +- data/tables/copilot/model-supported-clients.yml | 2 +- data/tables/copilot/model-supported-plans.yml | 2 +- data/variables/copilot.yml | 2 +- 8 files changed, 15 insertions(+), 15 deletions(-) diff --git a/content/copilot/reference/ai-models/model-comparison.md b/content/copilot/reference/ai-models/model-comparison.md index bb2c284dea09..00b0877f7aca 100644 --- a/content/copilot/reference/ai-models/model-comparison.md +++ b/content/copilot/reference/ai-models/model-comparison.md @@ -42,18 +42,18 @@ Use this table to find a suitable model quickly, see more detail in the sections | {% data variables.copilot.copilot_gemini_25_pro %} | Deep reasoning and debugging | Complex code generation, debugging, and research workflows | Reasoning, vision | [{% data variables.copilot.copilot_gemini_25_pro %} model card](https://storage.googleapis.com/model-cards/documents/gemini-2.5-pro.pdf) | | {% data variables.copilot.copilot_grok_code %} | General-purpose coding and writing | Fast, accurate code completions and explanations | Agent mode | [{% data variables.copilot.copilot_grok_code %} model card](https://data.x.ai/2025-08-20-grok-4-model-card.pdf) | | {% data variables.copilot.copilot_qwen_25 %} | General-purpose coding and writing | Code generation, reasoning, and code repair / debugging | Reasoning | [{% data variables.copilot.copilot_qwen_25 %} model card](https://arxiv.org/pdf/2409.12186) | -| {% data variables.copilot.copilot_swe_mini %} | General-purpose coding and writing | Fast, accurate code completions and explanations | Agent mode | Coming soon | +| {% data variables.copilot.copilot_raptor_mini %} | General-purpose coding and writing | Fast, accurate code completions and explanations | Agent mode | Coming soon | ## Task: General-purpose coding and writing Use these models for common development tasks that require a balance of quality, speed, and cost efficiency. These models are a good default when you don't have specific requirements. -| Model | Why it's a good fit | -|-------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------| -| {% data variables.copilot.copilot_gpt_5_codex %} | Delivers higher-quality code on complex engineering tasks like features, tests, debugging, refactors, and reviews without lengthy instructions. | -| {% data variables.copilot.copilot_gpt_5_mini %} | Reliable default for most coding and writing tasks. Fast, accurate, and works well across languages and frameworks. | -| {% data variables.copilot.copilot_grok_code %} | Specialized for coding tasks. Performs well on code generation, and debugging across multiple languages. | -| {% data variables.copilot.copilot_swe_mini %} | Specialized for fast, accurate code completions and explanations. | +| Model | Why it's a good fit | +|--------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------| +| {% data variables.copilot.copilot_gpt_5_codex %} | Delivers higher-quality code on complex engineering tasks like features, tests, debugging, refactors, and reviews without lengthy instructions. | +| {% data variables.copilot.copilot_gpt_5_mini %} | Reliable default for most coding and writing tasks. Fast, accurate, and works well across languages and frameworks. | +| {% data variables.copilot.copilot_grok_code %} | Specialized for coding tasks. Performs well on code generation, and debugging across multiple languages. | +| {% data variables.copilot.copilot_raptor_mini %} | Specialized for fast, accurate code completions and explanations. | ### When to use these models diff --git a/content/copilot/reference/ai-models/model-hosting.md b/content/copilot/reference/ai-models/model-hosting.md index b0bcfd184400..d84c34c8eb20 100644 --- a/content/copilot/reference/ai-models/model-hosting.md +++ b/content/copilot/reference/ai-models/model-hosting.md @@ -35,9 +35,9 @@ When using OpenAI's models, input requests and output responses continue to run Used for: -* {% data variables.copilot.copilot_swe_mini %} +* {% data variables.copilot.copilot_raptor_mini %} -{% data variables.copilot.copilot_swe_mini %} is deployed on {% data variables.product.github %} managed Azure OpenAI tenant. +{% data variables.copilot.copilot_raptor_mini %} is deployed on {% data variables.product.github %} managed Azure OpenAI tenant. ## Anthropic models diff --git a/data/reusables/copilot/model-use-cases/copilot-swe.md b/data/reusables/copilot/model-use-cases/copilot-swe.md index 4b6816e10697..8e388c731b7f 100644 --- a/data/reusables/copilot/model-use-cases/copilot-swe.md +++ b/data/reusables/copilot/model-use-cases/copilot-swe.md @@ -1 +1 @@ -{% data variables.copilot.copilot_swe_mini %} is a good choice for common development tasks that benefit from general-purpose coding and writing. If you're working on tasks that require fast iteration, accurate code completions and explanations, {% data variables.copilot.copilot_swe_mini %} is likely the model to use. +{% data variables.copilot.copilot_raptor_mini %} is a good choice for common development tasks that benefit from general-purpose coding and writing. If you're working on tasks that require fast iteration, accurate code completions and explanations, {% data variables.copilot.copilot_raptor_mini %} is likely the model to use. diff --git a/data/tables/copilot/model-multipliers.yml b/data/tables/copilot/model-multipliers.yml index 03f8db755702..7e32496eb95f 100644 --- a/data/tables/copilot/model-multipliers.yml +++ b/data/tables/copilot/model-multipliers.yml @@ -53,6 +53,6 @@ multiplier_paid: 0.25 multiplier_free: Not applicable -- name: Copilot-SWE mini +- name: Raptor mini multiplier_paid: Not applicable multiplier_free: 1 diff --git a/data/tables/copilot/model-release-status.yml b/data/tables/copilot/model-release-status.yml index 358863248e74..7d6bf15aa582 100644 --- a/data/tables/copilot/model-release-status.yml +++ b/data/tables/copilot/model-release-status.yml @@ -93,7 +93,7 @@ edit_mode: true # Fine-tuned OAI models -- name: 'Copilot-SWE mini' +- name: 'Raptor mini' provider: 'Fine-tuned GPT-5 mini' release_status: 'Public preview' agent_mode: true diff --git a/data/tables/copilot/model-supported-clients.yml b/data/tables/copilot/model-supported-clients.yml index 0d9a45347829..754450c241a0 100644 --- a/data/tables/copilot/model-supported-clients.yml +++ b/data/tables/copilot/model-supported-clients.yml @@ -93,7 +93,7 @@ xcode: true jetbrains: true -- name: Copilot-SWE mini +- name: Raptor mini dotcom: false vscode: true vs: false diff --git a/data/tables/copilot/model-supported-plans.yml b/data/tables/copilot/model-supported-plans.yml index 1c36306b7c89..f78d44180004 100644 --- a/data/tables/copilot/model-supported-plans.yml +++ b/data/tables/copilot/model-supported-plans.yml @@ -82,7 +82,7 @@ business: true enterprise: true -- name: Copilot-SWE mini +- name: Raptor mini free: true pro: false pro_plus: false diff --git a/data/variables/copilot.yml b/data/variables/copilot.yml index 158a42fca46c..79d4c3683841 100644 --- a/data/variables/copilot.yml +++ b/data/variables/copilot.yml @@ -155,7 +155,7 @@ copilot_grok_code: 'Grok Code Fast 1' # Qwen: copilot_qwen_25: 'Qwen2.5' # Microsoft fine-tuned: -copilot_swe_mini: 'Copilot-SWE mini' +copilot_raptor_mini: 'Raptor mini' ## Current model used by Copilot coding agent and Copilot CLI cca_current_model: '{% data variables.copilot.copilot_claude_sonnet_40 %}' From fd64d5c7b1459ebaa27a9ad5f1879eb0527eb27d Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Mon, 10 Nov 2025 12:53:58 -0800 Subject: [PATCH 3/8] Delete orphaned features (2025-11-10-16-30) (#58422) --- data/features/immutable-releases-preview.yml | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 data/features/immutable-releases-preview.yml diff --git a/data/features/immutable-releases-preview.yml b/data/features/immutable-releases-preview.yml deleted file mode 100644 index 50885a08f878..000000000000 --- a/data/features/immutable-releases-preview.yml +++ /dev/null @@ -1,7 +0,0 @@ -# Reference: #18409 -# Documentation for the immutable releases public preview - -versions: - fpt: '*' - ghec: '*' - ghes: '>3.18' From a5db857ebe05ae7def59555d9de3f20087728705 Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Mon, 10 Nov 2025 12:54:10 -0800 Subject: [PATCH 4/8] Delete orphaned files (2025-11-10-16-30) (#58423) --- .../copilot/activity-report-enterprise.png | Bin 89759 -> 0 bytes .../help/copilot/activity-report-non-ghe.png | Bin 50677 -> 0 bytes .../copilot/coding-agent/log-view-session.png | Bin 36020 -> 0 bytes .../copilot/copilot-business-manage-seats.png | Bin 33504 -> 0 bytes .../help/copilot/vsc-mcp-server-restart.png | Bin 33164 -> 0 bytes .../help/copilot/vscode-current-usage.png | Bin 75017 -> 0 bytes .../help/issues/issues-create-saved-view.png | Bin 144643 -> 0 bytes .../actions/actions-spending-limit-brief.md | 1 - .../billing/overages-billed-monthly.md | 1 - 9 files changed, 2 deletions(-) delete mode 100644 assets/images/help/copilot/activity-report-enterprise.png delete mode 100644 assets/images/help/copilot/activity-report-non-ghe.png delete mode 100644 assets/images/help/copilot/coding-agent/log-view-session.png delete mode 100644 assets/images/help/copilot/copilot-business-manage-seats.png delete mode 100644 assets/images/help/copilot/vsc-mcp-server-restart.png delete mode 100644 assets/images/help/copilot/vscode-current-usage.png delete mode 100644 assets/images/help/issues/issues-create-saved-view.png delete mode 100644 data/reusables/actions/actions-spending-limit-brief.md delete mode 100644 data/reusables/billing/overages-billed-monthly.md diff --git a/assets/images/help/copilot/activity-report-enterprise.png b/assets/images/help/copilot/activity-report-enterprise.png deleted file mode 100644 index d559de1f3cae5267fe8a92ea10e0f85913a42fd4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89759 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 z 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 z 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 diff --git a/assets/images/help/copilot/activity-report-non-ghe.png b/assets/images/help/copilot/activity-report-non-ghe.png deleted file mode 100644 index ca83d2f80779cfa18ff671d5c1e6f351c10d4153..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50677 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 l4LvDbT(?{le*eYzP;O-W0!T>f?N{{d~)3ikj2 diff --git a/assets/images/help/copilot/coding-agent/log-view-session.png b/assets/images/help/copilot/coding-agent/log-view-session.png deleted file mode 100644 index 69a8cdd0c88315ea0df5b14120cfbe09d15caf2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36020 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 diff --git a/assets/images/help/copilot/copilot-business-manage-seats.png b/assets/images/help/copilot/copilot-business-manage-seats.png deleted file mode 100644 index 763e608287055de8c4a2b03adf5debfde0fad9a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33504 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 diff --git a/assets/images/help/copilot/vsc-mcp-server-restart.png b/assets/images/help/copilot/vsc-mcp-server-restart.png deleted file mode 100644 index 0d347888cfa814a0c6538bcd19c146f342a7b7c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33164 zcmX`S1yo#3(=|#UKydfq?k+(S+&#eHI%sg$1ShyNxVyU(+y-|K5ZvA24$u4j7uJGa zbNW=D-rc8a@2Z|KWko3zL_$O;C@2&eX>nC3C>RPzyYUk=^%my>F zMm+Jt5$Z7Ce^oka5VWz^+645&yR#|YIPxGl?auiU(!1H$-+yy`t;K}v91R%}3hFCx z?ZbbKA*TQP_rJzh;5XoZ7rp|=%-*m31p9+)_w&nZ!I^!{EZ(o5zFUdEf1c6=GK+C4 z{+GGVqpGB%X+WA$RG*t>#4qgfQ$97F{3h6Z}Y0C;I*3gwNZhBe?RX zEr+JH#1-itAGaJ?n9_jCYITXHqg?c&_#B6}tL?;xf�NYJ7!-pHN$} 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

9Xoi_{a&k;hj4%U)$)u;3>Z+%nu3j=? zSHdA1!6^x30!lR2jb9~$AP^kP=@eo?K_I(=w9BtbDf+EYb?`1J=?k>auSSO) zw#q1_f6pmKtzr@@*ISAPPjcfJ0OkMwyS#X(@*t4}81+$~zqNxM&=ZSl&>~`_Ho91S z27mTajj(ba2LJNREeB6HSojOSxX z@ANuQFkFFfG+Cjm5-A%=(w~AuQyeE_WagAshLu9p*p&(x2zi41(NA_n8iIe|LiKoA zUlAHTrNSw*&H^KH&__DUbEx&}*Do$#LDa)f##gNc4q?pNFs1e@uu4VCq=_Ush*5d& zSMS0o={*M{%nkEk$gE6a8Ynj@-RmZGlfOZNK^KM5E^$P;!8h)IBHAduCB|A*-)Ux- zLVc=+Cab(OgvK05W)Hn3RUN@7h#GnJ;e}wmBb^y$gEaf*U!&m&PkVgrj07+&tq6s#L}l2Irki^PEM6 zdhG4Np_>+=7dXWC@82~F=I*y*QH6aHCJX{k@K*&ip&`2gsHG$tsQ!78su%uh3-5wt zn0$%f`1BB@!eu!_8Qh3t0I%Kx&BXQN#}6@QT?X+zhs%OAN|as>@dMr0?3HntPc_UX z7^}&j7=6WkiC2YXxFtYdSGqAAc7+p|`pohCl`EmSa-y`9O1Ly+`|m)WH)DPlC_?oG+72HS=h51;|TMWa5n$ZZmlU24LAHTA6>46N$Vtp#ZDm6sPi3DhD zaj$_{I@lZ!*{S{_C|~QZ7AEgB|D{B&ZnxJ~dp)-%Nd<@{#x|wgX$0uFj;ldK6I2QmfqJtm`^dr0<|((4L3!bfncmYag{O9 z+qZ8Y{EwS&-@b*{yKdjbGYCpOp*ftzBoGDk5qE(^JD8Nu{ zu~rdoLKE>V;x&R4Gy+AF|dIT~Mxnll7iM@rP`{OHRpQP7#FfAwzw;M!yNJ3XYUcUnrKONZ6! za>A!9oJJUiK4UrBNdH|-iKXi!9-Y?FXI&sMv#NKfF&^(%l!ZR)Vwx`>OYSfjpkaEH zCbI<###v>Ss1%8{PF6-=ObOOyN`+3Xai;mkCl~{(@d=uk12!fo#Zojp8ZlNtN~Y#s z@laJ&Ljs2EEwgXT#B;G9-5W)ZyL;~^$RVv`pt=t3l*;^#6Twk}HrD*O!6Xe|1l7DF18jgrWMtU@X2mSo{ zGl_MLlp00hV>!u$izQ?Z6;Gw5+TQf#m90|cpFDXo?2g*d0YTHbu^$FSm#C0t(vbU1 zN$GTwr&k9NmkXydX|jAso~tHpN=}XGDhB3>!4K{ARW~6h`a%aWCHjowBmJ)CRwQFV zEG{*cE&VrL>mdLE6nGVKqiJ5xE|`+2Fs79$F}+NQD55xWwib$ssflt6?z%?56hm#D zVv!ixVjJqCVn~mH4gTR?m6Se9AKKWVIAjaUi5y3RFhZZ?L+w?@uWcvvgbY=zsj;~_ ztc_r;S^g6^?ANv~9t7yPZuerV0x*mgSnwH!H7t#%EX*_4Y|gR9!nvT9t2UMbnw%44 z6y9Lcw{xhB0hWpZ8baf-KshEPihwwR$kq*v6|7JdQj;gC!YS^gwm@OX4$;7whRaZH z?#bUnpM+*S`svfBC?j9aSIJP~q7C7~Mf*nUWhr0y?i3)PVxKiPP&-_Z?rPVkVo?c>xk!0X;%)S~4sLcw$6xrztgq zmYn5dNP`|#+pTw(KphYrRaG~6ssLzGG(j=sCd*{YBt4l(RSCo=0oHfg!YYkk$Wx(o zUI$@#q?B-c0tas)f9f+A$>TJqk68-mW0teV>hlTEaUBRC4&=9 zwI-k5-j%59tXW~O`2^^=j;j?04V1gtBg!J%LMBWCz@ZDvsJoFU>}$5dXCzF@u>i0w z4^{6*_G_(YggLDIoG|-A>m<58z5=aeMwI!(PloZh*kZojXcnwpKA;K9ebL)%I zYA?b;&pm0KuX{clny+9Q-Q*7p?hSwCZ?vjb<^}Kr87fZx_Yu&RtLp;ZsD3F_pkD;} z)!#hAto2pu-_dO(v&6fErs#O{`5DTs&0Hy%971YMR{wTa^}K_0+efW+deG=!OsMqa zj4&DByL8Rf2vC+H%&_z&(~qT=AtgZ?T1wJ(o;!~?*WK+~JSY4^j4tWff?jKvSxn0f zlMzX-~wg%7GhC9Ea#ZuOzq#vaXPQg5H~R{>`k zFhjY~giJ}|tts`~^BB}Dr5Hz0%TB_r^kvE*M_N;cW;7UTksy2C#oGCfwLMraXLo3T6C;F z+V1Ocme8~K&7;oLZws!<%XSr3aox8TxSHt1ny*AMRJvYErKkUy<;o;=!C<;NS0C+t zvH-yfx+s@!beh1H0MRIw)Z++{DxG;qX{QonDy^xCtjo<;%3s{H^>f(&IHX>hVx=ex zu~Rw5g^v;oepBd9{KJZV$*4*>yBLKn=m;EoBoh~S(Svjq0m5?Fh=*BXrbNML7gLh5 z;}yqD5axD74Msx9{6|zttO(k6 z;)r0rPFb$5)oK^sW8JZ2xm)MfQhDiO(if92zs>$B}_|`mvuGBkpPjMYNO(!|X>GNMSoc`-L@*Fa6;_}Km ztOBn4<|*i5toQuLD;b*nrGchhXghtzhuT2e2J$#JffIs(5WQNS=PnIJ#fFPJf(ybA z#9aCa8UPuHL75rgfSu0l@leif2*3|$tfJ*W!5VU~luQZ7qHoNBK4W8Adgg2t9;SN5 z#=Nec%grJ(ZwVSIRy1qw1aX9~erYB0@+crrB3`S}@AOeFROzUc6Pqh_W!w4)YSy3h z9R%pn*Kvgo03F;6cWbmH>M-3fxK(QpJ4tNiv|7u_-CEpW*assRZLwSx^9i;PAZP-@ zq%m{Pc+C0(kwMH&~7r`@1W7 zT8^#j0Vs!|tajVUZP`=C?(IV!Ju4rSRG#^yi8PeskA(H_C0G~b@u@B9-x`#Tz)cy8jz~Bv7X8wLb4`*w<*%SIAtgGcY1bz})TxCv_YpOp=dS_RB9xIu8064- zH)0hOhJv};XHJn25!%SEizTdVs-YT;l3OkoIIsdjgJYmW&bp~i$@IL{ABM0p1vQN; zbHgyWL1`Hsd%=(-D-I-wObJmtvvtKLH4QaaZMkWzg+xm1S5|}9YBfV6Re&~SvXVWv zYN{DY_Sifxs8s*vyihK7O(r z`Edm3xQ+`n7}3%{X6fo-Ybsd|EA0%{R5L*I6Bv@_H0ZNEW+^38T>d#It7voPc2HFi z$Rb=R4W107#CSZLxR@&si$=(2v8Fod{PIvonA}P@<1aMjh%j& zuPUi0eCMhSH(L#$dY*Hr4h!*h^n%g>cca+aV&P5)HsUn>$@5r;-mdKCalk9~BLSb$ zMir|=IA)S}!50^Y0g)4wpEv{WLLAF`F)+}{wKolc{iqnP03RFHZ_l`E*^O%nKwgQO z6qlMPMok9gW&l;5B#Q&J98F8VeEGsa?w^9kES}5uJ|EOw_qL5BYe~pp9qBQ&*ZEWfa9G z^(mCV?X;-O$+N%ia_M@%YCGOgU@}^dhW6snG+`m?hcco#W0up4(nBh*TklV#Y=os~ zPP6cIHA|FO>%=uXSrN}}c{O^?UYhPCd@Ws~MDVBxA{yN!CBLrnePv?eN%Aj@CpSz> z0>-YFrw|~S6QH^^@Q%2?C=~xT@&Dx7*FaNKY z1+q-8>rOXW@agsI*Zy<~qvyN}kMmgasSZJ*1dx=mMH(akb4+^tM-O8=?I*mYdL+QP zO6lFXvW-W+di9E*06GwMv}H9_hdlsFC^lC0wsGA(bjE?&hTVwG!rdqd-+2*rBgU3gC&vCb;>C*>>f_0S?pBq==LT}f8@t`iiAI)^<(J@GO(L=(2U zsvv!&*QmtRPFnN^jL#;ATQi0+si~^I3yfbyF6?fmi7fokcR8VueN% z0=!%CDKcxNt_RbjA zlqQPfrqDMMH&ICx6aq9pA-+qGQqC}%n+z#{>?L2O%EoA8Nc+e+tPj3ntJfPQBpsgmz8BM^b;&eKZ zIg)9m`O~6ZF4tr-8I495;-Km19;k*^7e%>`DHn47PlIGKiK1(@TC3F>4u^xmpx^KJ zdcAJ9+v#+0#BZFzd0cHan;3+%*=#Hp)5;Kv_VEyCn$PEpL?Zuxl1`_~<#N4VZ@1g1 zNwr$d=kvUTG~sX zo6Sat;RGcT#tt?bji=Lzb3k12#L$AY7aHChlgXqg3goa{F4ybzE9{_*tihEBH{oJl zzFIMo2%uj%LrQ`lpBxScE(g0~cR8QWTqgNN7@$882v{r@A;e;_*lxGSPJv1Ei>j)t)r#>|c}B9|@5kdYw;-jRTyIDuoHP_d@CE%cElB?oK1AOcI^xXd zbI1p}%;o5RCG09)3{_QS2qJFf#x0roo=WhWQ;Ods8M-810&qNQ0#^vZHga<$m=g7C z0g_1Q?1m$BkF(AaXfGWO{@u@LiA2I^WOOTpBJM4?W0NO!l0G)PMiASHs*-Q6G{l0$FJ-oy7 z_&w+Sy}xsv*?(})T-V-v-K*DUt(!0vB^ew{GE5{SBpf+eDK#V{%n2kU045Lx@r!Dj z{7)nlo_;wgh=vF9-n?`?fhj4PidHAn6c%@WDU>nApOM_8yK-LmfYFM7Z@GMbo`3W8 zZbAi}>xZ}>7N;vtWpHpVb;>f;k1KVay;f02+v!T(v&0{^c3|9SD_m;YYf`tKY5d-cEG@V^uHKiqn>cD)8$?QRZ{cRw7GW?QqiZ*pUX|Idyt5lIIRpLCDW_jzvf?`wV{C=I8N;=p;>}~vF z6Jyu9CL#9CpEO~w5M39Gye7gVHT9!SdQYtv5sxqY(4x-&F%9;Xr!3#XaAFpz%`YY1 zbwTa4`{&G$;a6=A(~Ve5ufG5=J5Cq|`r40!lai7I(Rv03yiMP2*C@%o8+%UJD#-7X+!0q;o_JkL0_$0j9Ewqi2%E}T<&&}*~mH^P*2pi zSbrfS@}COGM*q+TlOY^h!#{I*BtTs7u!uVa0$ zeLNH8Q;ds$37OA+jkZ1B^~jjJ#wFMFy@;V)`3Ue<*!peBIZi$qJOMSd`skZ@r- z%Re5ct)-xjL~NKRZ2Ar#3F${~C*IyVNQ4ZT?;3S;kF* zPxJXb?RD5(Z=owg=`*%=rtz~(orr^1HBN(bQ3mwgIJEBl1Zgc@$F0T|nZ$lr_rY6n)hud6d@iA#^fM(G>d4(~#dM{{4IF z@mN2R2F9<}q*Tv*PKxN`o&cMTc6N5ON_Cv>aVBMGzuM)4>I7n?ql|TQt~#jUj(_Cn z_iKhkg{pmsUs6q!>gM#6pcH>%%3&%pD^8Dk4vZPC!Tbeq9i-;%&kYzG*r_O^Uq*%g zh<2DZwMr^4Qs-G_DVE{PnlfdK`&n6REz_STb=4ER|=#{Hfp zyU$@BiIK;07m4v0iP-(L@_9#sv9BO;)VAp;_b4Xy3;eJO?{#M3!={=qbyrvX3m!R4 zCR{khpNrq_+Or9Y~DrisL7wza)K3GfpcucX1>-KXY&LBqnr zN-A1}G&1*otbXaCbf4R=Uxe3I`0Rg^XA@iwBDfGUdAPrrRW3sLRlRc(-ZGARUUGlA zXpGx`G7NFMGI0VdH=X|e^{%F2GNL#)yy#19Ae5FHW^^H=$W4<| zJnsqX_>K$#Jd%9`PuD9EuYp6Pk&rUwE7>~jBazr$IUWBWwf!&4q0(d=9W5xj*P$f} zd-=Mjdq3>q>({T`zXhJJ=_vGq*Q`g7wJVIu;_yFsN)xG{YshJ85?$y5vi#m_R7`f) zeQtTm!K*T;VQyo0jH>pp=&xV73Yqi0N075#fSt+K8EHlG+J8{$>(li+j{hRV&*mn) zg=qodPK@;c5alyAKTssSd7t9wD0f2>mxze>pFa9vCRMjtyZSO(AX9NVQ&Dj;AvA*) zxIgdnvG3hSjB{82q5$iBGJVb3kDHBRORnwyg#XyDhmZ37^r-PPD=89^i7>k1mjp4C zQbW>InO|XGj`kq~Y-hQIHZ ziHv{BOk>*r?~Q;~PdmpVJix22bL%r4?4-MZcw(JYF_omm#2+X9%*^-@f!)2D>S8g7)#HfuOoZw6 z^S1E+K|igi;7<8hcL7v;T{38j%QEJDk>^ip9@>;cbKBww586cW@Wvwh;VW zVFbJyh!}c;qgZwxHkN$;b)@RpVEJS#CrU3~6Ao-|Ts%F1!5|^wMKi@s$(ab(D+T(| zCS2hsj`>dn=b13+Znz~@&`T$qM4*-cf z`?W~;xQ!p92<22b0zsCpmePV+vMapTWFGb&R=BN%BQn{~%6zv*w)rk`tRJARI|kj^6% z?C5=@Bw;+F?U@3*XN5k%)hhL5%A#uP~Wu!o%V1IXfgbhi^XuI>o zkHOJ8p64{QTX=ilg)^6P=yPaP>cpRKnMVmpz0~-JOtn#OD#%hs{pEFF85MguJudvX zBH?r>+aWE(j0*Sh=}YNkkCfj915xk*|I$uM_H6V6a&o1EV*MtCJP+BpC@|{{i3OOg z`RvcvuXvj?#e&wc$@%CL_JDvW_2l2|qR^!`AQ+9eiZ=jKyu<#FNBIA6q?$ASoA80x zfX8A_3wUFf`tEE}!ua^-Nl{o)lEPu8zKndmyY&#t;Kb0tZ=pl`%vubIan*&h4gQzv zeF&C6GDs1pbOeY(T@W6IM|ka069Uaft-BKm$ik5Qdds-w|MKnge|UxcQWAbu@3(k5 ztWNzf$Ir90OG~K|G7hU3qD1n4LPZOtpl*s`Ff!r7=o$|6oSe5$d|p_=T&@_{kyF)4 zr#SBJ=8D)eUrO^%aS4J3mR~pb)V>+BMyfeuJP4mx+Vu|&x_Ksz7*2BpS!b5pV=O`c zyt(CyS}7Y@YJ`NyL4YiIlz##4|JwCcp8A$lz%~z(36%Z;%69Yfs)s{Z9Dv*uv-K+L zyK>w|v&gf!dt$w}F^Y*f@y6P2QE~bGi>#yjhUBzWwdC2Sr>BBF)s>Y?O;~}`w2)-|+CK>)z!URNg9B+yaxjk!qu3;=D0Hi9u=5_i*uTJiy`h z*tqVie?+Y`YNRu6`r@mAMDPiQ-MjTbhk5U)38pPd(hrwcLYYrX0#k_aT!d~YknTib ztKN_YcCSrj>MqyX`(Xn|c8ApTB^P0(!$EJS3V{PgIsl2SWBqm)?98mqC5Z7G1J}6A zi;P4t;L|pRnW3)R<}MP0g&t=*vH^Tc@6n{pqgQ*`4R5J%E{XS>eyvu^H)Q zvC*5**5p*dmceD#aZAvl)lAYL2!3U2w|vaH{&iNKw$37`q62Im^7QUJ%Ap}w*}+)G z+iFXmVZae)^_-^+gaU2;K?q<1$}X3ruGaIt02Jkm18IUl5+IA2%7yZ@#@9fEpjq4_QYR9zxyuoz~Y37HxpRX7?Mm%hkH_7mlf3f zwkGV<827i_e)TzEFb^P<1Fuw=2(arXUF3NECKr?LDozWe0}Obi4?*OZAHK9GuP`pe z2c--SnWRuE3HA?U!WX3p;&7S@Q)a!z_>_n6zG9j;pB}VaMq}=2sa^=c^1hH@8#6cQHp|I;` z`2SK1Bm$H;ke(|G^r@vy$zo;cCklC)CI}*%i7aJS2Qw%+=}IdZ(J)jL{_Isoqfwwp ze#p0}jaaK_IFA|pgRYN_Q;2ZHVsN{@pSl@c!cP_;t?Q^TZ*mxMLK^ewAn{iH)d_Ac za`YFHxEWg4^E)KUxck|)W38^2xnTaoqN5qPH4-9{B%&ayS09@MullkH^t)&Z`$DaY zS**&Bd1Bvst+rQniSlk2BsX;p@)F_XO)pGw*qOts28YDXK~LWboVEF3e=h=q#e>33 z@TzAC0ZxLNY(e0!Oe!YgS#eLtGO|?k7gh8Qh>n=~em?oHP3tdm2tCNgpv8^X_7>kj z6w|y!J74kJ3Mjc2^~~~ybObmGP-xVFx}J&JV=i!UxQ}3_<47b5eD8SKB< zN=mqyf&B9xh6r0&0cmtozqhfnx3ROcv4T}9#^n`;`tQ3Hz7g_nDO22ypiZ_a$#s|r zh%TwvvJp6orjfK|0wz9bm#PF#+hIZ(G``S2)HbR?#LZo{%}j`T0b|AyG;cfJ-Fs`5 zV!G|<{9`depltDMlvbhn5!_ELoWvnVftogaKQ|O7Y1M8*gD_EOFvZbecazf(t*hU* zw>{{-VWJQLvaixQS2mXX$=0FH7EWGc7$pu?1UzodFD8%WvFHsTuavY*dwct@rxr?T zYtOsM9e6yDxL-GIedQ%IlhofWd1YDCzNs+HcQBYZxT~K+wp(p(SJnz5nK0NdVq_Kl zVKOl>QX%bNfJKreDkdFoPI}$Gh#i8^f$xf*DC|LuHk>~o5ED-Yo4ZR~jatyp%YA+F zYE`kMb!OBwF@}F#K@dYip(Fg46tj`H&v!q}_V6X#BCyLK9>2q)u-`UQrSl;&krD|J zKmwuSxt4dox%A$Cd{kB@;6Y1_z>8<()<{2A4U&`-q~qsXg8iLczsi4@C@k&C!px|{ zl(cH-X@MS<7~j8PM>d$gJPB2lmwsM2DB{ync7C+d0D17HbsS!W1ZMOL`TpqBe}ThN zs3bf+G3Vkk?Oo<@RHM9^{^fl!(|Py7I2na*Yo_wy!cESQmtVRM8nUUi4JX)<3CN}m zG9h9(pawEHEbZxGYk>Ybxx3u$J9CC^3jrc^kQTZ_Ce#GX$ori0C8bGRxRS_+1FttgZMzKZRAh8`9HPM3=15= zKgZu#TbV%Yv=p2rJ7#G79+Vg9FO<9r^2&?3L=9{}_ahkm240aAKV_n*^y}?wE5Kj{ zKtwd201@E1255{u2uU{pp=JN-qJW+NA%iCBsCZIAb!G0{0QXR9KBas2+{=Bw!qTD~ z=+dqt`?*IESOwzvEJy{?=CdG%hU_<(rcAF6$%Kk)w8rS9$c1~~s2r8sEK}>$yWdp# zhH2>D8x~0bDWiD!TS1K1Q$cG{cCFEexY(F~n1RL*e-w{}wZmRJmJ8(6HZWc_6i7p+ zt}E~&$Bhu%nx76zuEux4gJ$>?HR9;dtnjiAeGlYYKGdMWd z^5!}C-~FjTD%k=u-_ryQg+rr_b-a&`sx$*^L}#j)8P~C?>Z+VWcV=#`I%5^}>(I(| z{mwk3Or44<;%m<%r3)mI- z>ya=fJT)yD&WQkHn!U^{RSYyH$BdCm|f3FcyZ0Ov~Q_-_)~!lc-)-$o&f5W{qZ$rm5G^-KnE@wvNIC{ z6Ki~bVGs!Mkc(z-LJh+3bJTh_VSo!-Qf&BRri#4k8KV z_}5lXPq4mLR+JWh4vTz(g*996XDk2@dB8;!5@)?t1U<^>B2V_gCov?xQ_Yr_cJ=e0 zq(MBmnaUXpA(O12$V|FZ7k!&uxaTP9!!>{c%RO7QE7GemJBEDWHI+w|p`pMeDqm5jmCmZwo{Rn25W`#CJzPoB+Y3rD zUlB1e>epyc>0V$e!c7PH1fA4qH%jv_-fVIJyg|{`UkilCp&n}QjdDgm0b()1Ca-XpvUK`Q2TJ zQw|Mb=r;(fP+Dg?g2Aqx*Y9|v_?A{wL7>>owjHW3QsJAC=BqJZqZVr|hr;8S-S*}J zUNpCOAo)%h+1c3@GW+kKoM$xc?CiddqoV#F=e^nwi8C7`a`xvNNye37F1ATI!8 zW60LVs(diKi|tiO zYh*RX`R2~C(4=E|QPGoc0SfxmvYMLXRpvcf808C9&Lk4Amw>H^gop{q!nD+*hrPoL zR2^|@ZM|38y&g&zrq=cANZXoc94+&jce=bscK~W)oZ)2RCDNxR$7eZkTimcn27coj zT10SyCXN?%MGQ#dO45#40FJl9R3uS3a{NPDe(k9d_V5ma?dB9p^gZBJw|NE zXE(bl<3gWf#`=kp-%6{|0_mu4@*_N@{?P8yu~4Uy0X&?&8as`3-i0!#O;}9U8#IV1 zu^vpv=e(dss9322qBY0&J~uppaF7v57?gr_#KI!PM*p;7&j{asW_&dN-yOnX)g>Ig zhM}0yB`q}A&5oM5wbKhV5p4>Bgivp9P1i^o%f&x`zNMr@grj&}985RZ6lhr?@!}ta zM@B|QL@)S=Wia)VpMaCeKa`l7&In`%V&#G4Q_ zVM$!l*U|ij#%?It%~?XhO^5GF2Z=geVPBqiD-&VC9Ho(q(oD2KOT@B+*f18I%t&u@ zlOLar$&bI(ZdQHVr~6JH^uq`Os+7(#+(cT!NHP33DJ$0o?X_B%@n*3f`LUuS9JMy+ zb9o9%iI)JLm8bOj_7q@kbtuh7JPmaWSDZ}@3^tiQ@o&p)D;!m2;PC&65~--j5a8eZ zQ3jb^2N;dSL!N0llwM-_`MOn}N$NY#Sh|Cq6+>T9=mP6(uwBk4d!Jj+Q#X~k58v}z zcD!wDB)4@P2K;Vc+dti!FG+|MClz)p%^E|__7@2dTpgd9N=!<+9;vhYg%Xd(f(yjK zktV|65w8S33wZ9W%?SKa=~yMyZ@GngS1Nc|QU<;fv*b}%hmdleX-dvR?S$QAdgyHD zs`t<9Uz1H}Mb98rJ(2r_RPZ~|XK$^@oSt@L(D3M8zl|UyB7W-$E^amkRv=h zPv9U%`C-1&X7|F75o7Uf5HP6pMgvNa@X>IHi|= z)=_DLuY=i}pQdlekfNI%zWBPkPr>f8|5S(fOZF(itcJCFd(;oVFadite=TPV*B+p3 z;7n73pR>&b)S+#OkrNZf?VPUYV6P~=e)>DNG|N8{dcOi5hUCfO8}kXY=8 z^(8fQ%pLpbbha@%%H)%cK*0{+6PVVye5#pTa?a|5X&2IP9&q@*8DmvRhE)BCN`bND)1Avn?LfOYtm`Ads1rhznDL(JA9*DW=} zojj{L#IYV~V)#ZTVEk2T`1jmWS|&QG>#Ly7pumhKE-vn`xerqdSXOXO^KNm`;Z%S9 z*73v6PcPF8-C|Kr@v(_ig-$*jfbkJXqX99rPSGuUUn&*dC^F^i0J%ly`eW)oJ*Tu{8kYi zex#1Jo3M*A;f`G7liH1-Dv>d^s1YoW4~AqW^FH@%EO!;k=;Wf3G|YDuMb3H1CyNLP z2ki1iJfR^Mz6{kVl#q&aBRAPc3L~kqISEKdl!9*pwHMM&PJbL>vk*J^dm+oW8NiVp zzKafK#CuMxeB+Y>cuKgL=HW{Ac&Ax$dTyX#p_v}GJl}9MG2fasd4(n!7+y?9C^&qv zauZ@@sshU0k#s8R8FsfgLO0*XkqF%-1l)2V!*6aURRel1?)tF65NR}6fJO<5Zle9q z@Ir8}g~@|YE>s*1SxopXVUc4!I~%JE7geT+e@m+WJxRQv$IW&DFDt^Fsp@?;H_nb+ zNi;y!ZWT(?KLErizM?f2x*O%1Zl%Fi4!8|_f8=@Qmk|(c=$9`S4!=3*zZc@Qco6~` za#PVC2G3bpd6}5UT4J=eO0Hc7w?kITDm<{8o${OdXx?O> zdV#P!1W0%etDoZZ9ux2(C$!x%sr)yGEyN`Pc<;GZL6M@p>U1KI?E~uE2Rfg%;CBl| zzi`1RnWxcZ8w__<_Eks~RlW(IHu3O&=$e#~SM}*31QZc~b&R6#>;-v&0d<4*&1As?kvzc{$Rjb(`DqjIRV9b#t*@I*S2 zY^2QV3~nm>Abrhb0xn(reh+T6M7)# zDC<|^xLB*ctEhV)2ud3Y&hyuwe=L6@=Ml_Y)NcLpaU=2b{qCz4ALt(fecYjE)Z{$; zZ11Uj83e1)$XR6<2zV~?EZMf_$yYCT#&>(f;7)JfzIeKS`MtIfPqYMlby&+-4hAbb zI2ZY*pfYh-j+cNbc56^FB4@JDsf{ zO%9%}Ll)m1SL5E{{&kMoEzqS0dgI*+ym2+q1*On|4eO_DwWvKzVaKslj=FL+lR`KD z?3-`r{1wLz?>tRHd6*e19AzQVF2bKNa<3buAp&^Ma*UZ_o55+Rbb}In`<2dfsZA2w zPzw^XlCRC0T^zx|Zg{x7(5St!4whO9Yz4%DT}cJ-*ED&G>EqKp zQvC(hT5w5QA~b~%@U}Je*R~nM__v#@gwMr`M>UvG6in!;HXadxr^bW&u}q8}{S)?Z zz1q1laP>f4I)e#qQjuC7&XRPWbCNk+Xja8rE@r-guhbnzlJjwVkQbjW+Fw@{9*}2^ z&6tU=;TN!UP|@w=Gq%9(r>&Q9xHXv@4iJOG>u=5ug1_Eg?B8A-El*ERe|XOX?8f@7 zx+cz62p!&jtR$Qcn{3ke)%_?#pP0WyG1inh!HO7c_PvQ%Y~eNInRqY0jJyR@VgNc) zo;AK3NVa*mmUw)_cc_rM;`i4e7*NzHe|w>lLM+gbYcZo^?c7<>S-!LD>U*Ff{M32i z2@>vZ3bmc`P=8#cPT+&BuWBQpY%$x*iL#o*>VAKo zl*ad61a;^FD9OfH=Rg zoR+NQqS^*$LXV4!J3l|)GFu=zG3~uFAL)>z)7*qxun)+7F&){^q^MjH( zrw)BjPt?5g)bIWpw*~7IDX`7<$8k6L;m_UjtE;Oh;k)*Mal=s9Jfh@4kGWQ025u(_ zw%+XT6LUZGEN$}JO>Z1)Jxgfwc1V|I-vX*z4t$CjZoq`vejh@lfx8}mMFB!o)_0|F zCTw43Akww1oM4K!X|x_1!Z*os+>$+Ocx%PyaExj9JpL#ll26c=sryj^&%S>F;blH| zNq|;zc?3#X8y1S6TplVUnV$~p_#y8Pn!I7iQ_)ege{Zb62)47uubjC;roa+583B}1 z(ERbI!a{>(w$MUE31TJOT624Dc-J!k5m3(2gVWo-NZrF~O((+u48pX2 zgyT^GQ|{9LHkQ@^tr^yBQ>!2#o?#~}WJ?_CHdJaJ0jZ5RRl!e!fiiiCS9 zwt=Chp`E>ore>|fVvBCgyH_Gh%j~|}5wGB<>7@Pj1i$Z5 znlIVawHLqNzP|Cp$z+Sm=!1dZ{(6Gp%xMf82d;g?dORc$ozTG)yk>#(va#;)h zPtt8r0?tfq9c<##bGviY0KMQ`eE8y3x*0WapLC`m*&}#LtmpDo0*z7|l#5x25JaYB z2qJRZ{6&YtMTA3*DaoXe(I6WLRFhQORGe&90#Zpuk@T+Y*-7K4JnFqbwzP6^CRyu% z-KtDuRbC@u(6zjluH_<{2&|&k+xe{VqJWGbgGHV+5tj3C9sDwXoPQ6s;cXt=QQ!TO zZvCY)WLOzHxWuSO~o}# z+0XkIt{;c@%2a2rl&x*Og}y%dw|hZLXDBq#$Zz$0*1mDyna^m_*zZ0kN>s?Rf34Z; z@?-PD#Dv!8=OJ6MB#)>C#j-l&eLmEG9oH7SP-PlDC_f(xj%uP1#zO?yANqb*>Jjbe zy^G{R#KZ~ZIz)F%{yi*a8C-S~1!^EfOt#a4h>t+sMh=tt{ZxAbU;Yz{I|UPWwk{-q zpO_k_vJuaI+azMdZo_FiOT6~{YVOyP`Z1xM7QITUc$v`5G0j|fTBo<4BYY+ky5x%n6QUJ#m?(HkzMqIGAa%(E zTqsUX{2{frT4G~uw{d7gp5nH*aG$bxw_(HYxB9hJ^m?Es5EB!NZOUfzcNzlRtH}YM z?ay8!W?^2#0;4Fs{=qHrM2UiwK0U(vS#>R(oPw_RAt?(KqW!5^#$=U$+&zhh;DIt5 zEv=4iIm*c$GGV=LL_xt32}vPBA4S>|pht+%8@r#Fo_3T5{2OCw3sqaD9vt)rhmsje z!2X%%`q(y{j~LA?)B@$GBpB)+vgd=7qOC(as0HvVv4bLxW0v!(hgsq8mT>1tEr0fER zrhQHCgXLoAKnQ%^rZnX24tRSlo0_M;!GF;G~BnPSq}ETSuKb6 zxc9o(b41>uo z;$xFdH-G3n&#BC%xDx6sM9OkjJQ=`}OjK@ZYM5z6T^p?*`vb~?iA!rnwqkLT_ACI90n?jGDy6&IFHT+X*RN43BzwHL?g zBq@g-9voMRC8Yx}FhuelqGOZky!_5*XU`kK%)JRL9(Ah?G?G;#rC?dqjsFxb3iHdANGhhLvsqGcOM03J0;lr#UONj;#f&2Yh?GWnd)rD>Q#agw`}VEE z_q@c1tzj(>ufp&4b}>c7?u~(gfs>q*g+<=vE~3-&ipX>4dNU(L8N7~jbGH3F9p*Y| zc)5S*t?#=(T~pAa)1FvmPN5fp45NJuP(p*PW1^Izy!9KeU_&ZtL&KDCvu`micAxVR zQ-e2Ne6pKwu^G4u`_!CLZ$BxNedli*8+2csS=)PAfoU*`$WqQ4k4oSX#Wa$}yl2hl zA!0r|6{uZ$2$-}j)e{Q`XNd=!n%BO&w4tJv7hm#OJ8beb0b5`oS-Hz==d> zsw;b0T{K8~*QEMJ(RVFSkOlK(yyl&Qxd?H^(CfgCp6573PorfLnq}{^?ZqfQ=sJm0 z04vu5mwpqWyucGRKUgW(y)lLV(ZpA3D|UUC^9U%pZBOco!;t#s4xb7aE_yBX%BA$+ z%=>A4G$jh$n?soneuk)K4O=HuKa=&sS!RQ?*7p$9!QZDXHvR9q2oI_%Zu903Rf z_VPQ+p`QP+%UXSj(1?^+&8<$7$L{^JfW|kF=-ob5$6FN|HTq&KSvO;g2c*o1WK5Jc zC>mdm|4Z=p9W)!?r+P8@9wTZi%42C*b@xJrn1vAFjmEPyLcdQz!maQ|aP-(@Jmg=4 zV*P#frU~g;Gro^KLWx6u((GJ z%BhATN$}a$Ie)`>$v?C~B+9+jfYlE`0JR&8rpxHYhLxQih~SQehV0R#$^O)9@Mf4H z(vgXYEK->2Z|GU$zSOL~s7;`}7O$)W#j1g5vscbeMLy8}(St-|K73%|?%n8jXWQtI z`|#5++Mk_?@z8+A1Xew+x9SwL_B?A96J+R=}Wincid`Bv>de+-- z`F8#4>qy8;5Cw(zs3L!u&eASgy~#mS!$-7b`0b%_?Z-HtAE&>CUr`OMCm5IC3oU&` zMt}o|Q6q%kI-o^^z_DDY&Lfph^{}n=fCACg&IF~W_d0B_IlAY&ELv*fGYc#L?2m4} zU(MBC{rRy&|JtUW4p~dnUubEZNv%%iXa+x9|X=L zMW1)&{)wux95q2(2TDZ25vnWNMvJmF+aMwCq#I0uvVF>?4niX4Y758rc)KV8L8?T4 zH(*F>2LK{^zFk-RnmSmJ-Fn$7Ol1Acf~DruaYR?O@i=GRgBpj@G!+nHdp?dA!EU0{ zaJObQOuPy-sGn|vqE5AVWguvH8gTJW62-b5BYxQXg#EG^`K2!G=zG;Hz| zda|ffh4+m0f}vdkT!@L4FAm&3qg^2zX;QrA;`Vf0$;_@eKH-$DHw9o5aZfDKoJZ8= z|DGVJg(Wi1u+lV?G~@ zR7Mt-<4qi?)Q4FTvll{2v;OSPC>Y|y#8gtXCWmO?BN`Lo^1tjZprB|UK3ps||Ftof z6lJf>XVx#4bdWHl?NG(&uq}{%E`tuR7X5%Zrl5kqHCYgnwy%?eDGh_Pg=?9D!`CsT z$}DgwEILgeM41q@C)&TXikfy$A(-AE(^ELr`F$X@KUpXw$UhE7{ym;yKFSy|)dcEi zF0TA8Wh&PYY!bljzk{Yj0THIzc-y+jCh^+M{;h(sl&0x=EXnK@QB5Pk4H> z2~GsG-mSCy9Y+|S9WFi`_fS8KQu^Ve(Qt66RDeaUmI7@iN;w&TkH;dMF;P&)v`oc& z5k1(un&l-u>?t5FQaW-aF&<$wE=AJcj(gBi3>|Awnip>GTy$Pt1=xjM?Ide#wf0+A zi8Y6Q1TWoQAgYx-X(34XahPz+4_!4t2&Ms=;}p#r2x9g9h4E*8p6EHCl?dRxpEPvV zz-5GPJz19^D{R5~>1<%{>Bdz`N(wVG^RNE?H}dk$Mu!c~n<#-OK8(P}Gc`Y5cYh*= z$^0+0O%c`TH`%Y}^=~$3hfyj?_D2Q|pCsZgpWp-kPH;$|A?vVEmmr~aSuj*qC}RJ* zHveTQ3qcGI($EpO9VJSWYY>Vbqx#3e^CSZOmc#`po)(Mm1wBUO2U$DR+bLr=M3U9x z&fgTXgl^_%O0sKVFx*wP`DW!@_$^ix@}~N>^LmKMvWUR@OCusQ>6e_xaRM&EkwiG@sknk`sIS|3xsQ#Y#=) z5!|hD+AVj_ANZ<^{C0O-8#JKQ)_bhpxZx-eU3;7?{;Y?u!gx!KAg=d<17LPO4?d7MTZ zf6VX&jDaw&ip6ave~S85Sse7g1Bf&kT|;Bvnz!8OhEg4_-Z7b+3r&}_K*68W1PD%( z>OJyCG1_Sy!4ygXg->XL!a9CW;_*C(MAhLP8FOiXWE(5f!)bs0U?{h7IUO~tYWKu>r z#fh#m-u8fk%@XjR0oyx;vUF&r&ycThbKM?LQ}J;a=N6G=>#+jH=o!vEgx$TdLrrUM zFa$tP3&h9%ktjZ5qUkEg9Ul+RmRP;v{SZ+FGu-a6u)w5QBOydo=|`Oe%C^(hU76rH z#}1swNb!a_z@GzAr>}k6XCX)02&gSGF-CJN1W8z?A^&C3GQA@HvzSVs%a&KSPwDgX zwY4T^_JZRP6DZ);N~tuRKU~h=^?+ZXl1t(rR1o(l9Q`GugJA#WCFxP%CoSdR&G1R0 z2fp>Sjh;?=8qLM2u`xuO+#5v^qSIh~zEx!|4f%2SRg4|efEiQbL2O=CLM2Pa%G7u9wOB;-1VmK?#67<^;C*UP0HSlklbEU}zDT5Z(kXRGp3E?4l z!}+5t3n4QO7y^u2C0LO2D1W?4kF~~M0O$4OoMX<#uCnj>ta`9!QTokYa(91s{KV5S80+nwcP|u9P@?X6-TR4aQ$PU71i$eq5SDLmrj6Ddx!F7;)*wXsZxr zBtnCHEHuvx2G2V1-rHIUuNEz)88-0FH!_ydzR0^vaDN5HY+u8br1o4sAG();T#XV8 zeKu~^Bn&!ySg8--^fbObV4bOGzBx;3q+jXaCL*=8`Q)yxWuez4SP0CRkP-(2F(5QN z09iChv%D5E7BYF7Xf}0kDMD@j74nr_%;W06M3>I|c-dI*{Lag_Fd2jf<&K@!Vd3)B z)e(*HP_h?Jryd0JWFluQC8@@IJliW`MB`t)S>-*Ju79{@U!k}&9~gTX67%u0LF)EA zV)1IDzqhpK)6>K8lKQ&!Td{}1cGP3iH*Ht+ST-j%$;o?VBmN)|@R5g+h=IO2iXzu$ zWLHAK`J&=~>)_++|CJ>pV~MO_jFS+ZC_Vq8QgUl$KFyu&c|OlqT%HH;C5ijo;^v=U zCit0qu!I|*-FeqWZRvII)!TZjkFdN1QfYPHm$zf3TZx&yuQXyr-+i#6-@5 z>hdgyjErx8v#x5}J&`*nl?tj%EzX|l#$v(;A_sse0Ozd;VK0dlROUkCf;0W0U>nIo z+`q$>h~V+KN?gi9jF&$-d?BL!cuk}ZGRwY^>$pM7Tc?Tu_|0BNjW*+uk7lBgCe>ZH zk+i_mQd;2qzV-04ELcV9=YHJ;jhp^Gi&tWd;f}hC%;?IA*A7+S@tQ4hksa!@t2NhI zhuezJ{YDvT@SQz>ec$sQ_JzCVA;0q!zmF%>AJHIF-wp#xS#C)!3o1V#og$wL^l!3^%|<( z1)Izyibx=|R>l<#(!#bZCf}8@CP#5m;|9enb9lU|TTws!~@~bGCUD z{HV}yiq$ACIFI|==+ASs*LA5@RK6XE<8T&qEtB>_k2{$~;LDZ15O1?Lwh|vCC36IO z7XM7tH8kH~v{#3&Oq+UgU&2##vpi$?W#BjPRx$X^SzeFxM1jW{tLhqr-UN4D>LJsyS=bm|eIOg7=4Gji;(>sQ| zeUhAoeDTJsaw(MOwD0#o_)I?WeJ6*e0_kY?8eaQ@~+e(8a+-)s2NKZkYw zM-R5eQiL0Dv^$WI{6CrF^phpyQbANWlYl5hz8hvh?qj`>>WVGq-xuRQ&DDTaZ+GGe z+yA&WH*(B%{OVyc%3V4i9q+lsN55&f4!mR+R)!lj!8=yt3LaQKV$pl-QqOf5UoW^+ zHF5f7<|p3;kR87IY8M6eSjT4*uV2c?CJzORoETF5b1v!KD+SSEbfhVCZ%5rgF6!EP zGDzm*fk;z2qsQZzn6T*<1H010UXXr8u;VYvXT=@U_1m|(pal{AQ(B-ydYPDe;hxVe zeEn0rxW~oe{Qyj+>RzDzG^GD>klH)Rdi~?AqT1=0EUzYxR*lbLIB@;j61#YyGR;&d zSjX`09~xAOc`I_OlO$Z#5l1DF$U=E3Y*a36w2WR_&;m6OlBF3SoR~~ToXHcIO(B%v zNpB*Iyu1kB755TH4-oamQsQk3NBKAg||2<)G*`-^^DiXPuaAxeCWh|4T&y?~_>UN>Yf)G3p~3 zm2KN+2$qbriA5n!4)R>Rt{BX*5xB6)*!J$yK%7}sc|0)9p&n}dD5DkI#rJi*F!qG< z7uDCwkHHP!T_AKrp&@7#Jk_NDER)hLw6l5TQgg64Dy(z}wG=+}C|~ z{!754wvsz@E_=9hCUiEDKd^Zi2QS$!9$ctzKTQ0hc~RaSQ>0X1|I;&tHU6QlCj@hz znmf(m&px}_S9Joq(Fs; z^Z1g9VgJZU!n=<8OF@G~AB&*l%lO`naK!%sa6PSanLqX(A>H5jI2sWL8`4fy9vWK^ z)q-!C?GKLD()%)(8XBWzWwB#hJavf)PQWEv6xF)lQ#c|QRHTXjJW_`z7)Og;)xvSZ}MaNBMb;D6>r(6@GM#4*P zXCRh)D~euTd$#}o(Dv3*RdrqCC~<%zc|b}KIDiUDDbh$BKtPa`kOqD;9FL;&9XE_pOC+jz1hEZP;~k^5+}^wQsgOO z`k3Q_4ekLyk1BUxp6TQd?35;x1p{H)NaG!(+nnDUL=|mzP^Ih>Xq`o%^YzJ38~myo z69y7=Nk=wu#KXsjtc777q^mSycyd{Xy4eF1m^1^c&b-GFZ+eN&6!-@7575qDUhb0F zCB?2orsuBomh()A!AP{|M>C1vzP&i^>3U1u^}_V3m@f``vznXsWh`lEm8i2M1=+4c zd@rkd=W_lt^!6_RIHb$3iG$K|CG%yCRO84NmR@~E!};X^h5h+ELd5!}aUqG+@=uJj zCW~jD?ULA5%#oIYrcTuN07h}!{?qxeJ}Obz_vhu?KVKoEue{qKtue@6XJ|Nk;-yK2>6u%Wr3RDaiu zGWQou=yH)A8Zn;W3k08Sw_mK!6MS;lXn*=J(~NGcAGyRooJGNRH9$s~-Ougfyn7qi zg1`F#1rYFOA8t15@6O?Y{y+2pHtV+C?C5_V<6k}gPPkJA%yBd8O}qI!Fx71XM)*q_ z|Fg$mBDxvj|Gme*hWpnn{~qJN^Z+LOKlJ$5gnxVde**gd*JZVDw(Ep06Na+Z*5-2` zRy%&=DIs?zxW(elnje8bojM-tp_y<-d8SoB2Pg$epe2L{~{&+Rtv zIO4RUoTUxFx$Sv_Wjrsw(v7k;obJrjf4x38Gs$O;arfda!nC;e@-7=VOQ5$e-cpi4 ze!Fvy#WpCBFz9YuZ@04ifQk4b2oz3qfB`F>=xd{ zmZG*-_XHTe-#)rQ|06J2+=S5oenh_he|xmFiqrj{^+Y~~-E11rZUza1ib7g%h4~HD zLV-W^K6V|g!dPZ2VhEjg>tNpJ)%BsQ)5@E}eCfrB?EuwAe|gh9n|}FoMtrTRQ{J@w z$(74E))P^+xt%VVdXY4c8{wQS%ycn_&xcXzco7-h6=caViZG+zMAwMVt z*3KZOIAT0jY0}X6dj82<5-#KBb{Xw-iTDcFCgJ?VqO7&>k@3sLnTuq_R6(CVCl;tf z0pODgsN99?6;r=Rr#S7n?D87jS^NvmXOk(XqrywSg`1Lt`=(W%pN z9B!MD5kFryG*2fPOzWql428yUI>D@dqdTM!`_vClwem{Gmr! zgg|c$a=7bo{Lc%IO#>ZVkcwH|u@-P0Y^2Qsp#sXxTiB-_(3z&9T$TuE4fB=RVy4>2UPmDa_!EsXipra=Mow}FEwA)xcS})yqJ8jcaQy}u)mrnqw;BjA zvHsM}uJD5>%d2w<;o>HrLZBX41?D972$OgV^DXWG!xxUpG;y43rnn7E zJF=b;txVTA8TfwuQRnGsyFJG3){sOg=t~rdtyKMSZ1=uS;rpCEBJH8!VMjDqo{ZjF zXEpw{pV`?))!H_X595`$q9S9|8GEOy>^3Q<#Y^%0n;QguBN;Sa*iL#~xFVk~98>UG z9wfDh+is1kDJm|LNHS@i287Skyd{x)KUt$k5o@(lfIFb~t3T;O`W@SF&nU<75?&92 z0t=!7mu`3=Uq1XQr;m*5#cDJ%h8*vB+b^rAE{Sby{j3rp;Zyr&|8#f+fRyJ%imz&Qe zZBvRNa3oh(tHL}qE{{ULF&=UQHyLH#kBOMnJNB->GQKZg8C%vsx8J0AQc zZjB|DsJSce*@D$XewasO*-nmfje>_eeZIrSi9e&X(%8?oIQv#|VhG}!M|h0Qcd(6G zQGTMz>%fB22KENrR3vl<3$St1gX~JZ!HpZ7R+}ELAA4F6!bBh8>8cAz8@w0Lrv?{U zkDPJ2HdeM&wpVtog@LHReZbMe1-)$ICxF0q z*gmw&8UDZpo#SV%2t$BMVa3aEo}Gi$mz;r6P!C^0sv7aZU}7+|ePY{Xr7F20n3TQ0 zh=}XQ=Ej$qx<0c{5|kXtMOhs|hV7+3!NiM=z}P@@zwlt+pEX^a(h?V5aWxm83QnVC z;A0SAXeqx(1%dgo-LO(x{xCx30vy(2YfZxwC~HE(^@A3$fQd=2sSMgAQV$F?H+i}r zTt!5_1a1t^R&>$BwBDQ^NR6t~{IuCumF4FyZn1H4Zz5tmUyT%rWH?7{d5x6I*vl+E z?=)3$dL?!yU*%Zc@#i;3)9LC}fmv&tPZtM75mmxqb zuUO;gBv&DpNT?S+Sj6%aKou^)kZ`?<#Yl~N%ljY59sQE=hc^G-6^~@vo~p{XZhtN%CpQHwZX zJu|uNO#s8+#=qz+O|?}}9671ICS^B~Ja;iz^W4rv4;0JSsQY9*;DdqAvcmrRyjxCA zt{lJCWV`mdFL$C$EdU_YGxfQznFDH3cSI1z*Nf@Q5DCq9i7!R!vQBu00fjwxl@Q`Sza z01FUgW-fe}k>Rn$UFas|5w<5Q{y_W)k@_`1tI_m_NN=B`Yzf~-=ZDseH)ZXBc8WYT z72NWH=gFbu^zKmZ%=1aFG+HL_gqF<5By`PYsclD-PWYdq04mb zm(3V17oW~qA*FAdZi^+h>P@@%d9fS`BO69M(Mz}m4Y5dhi(2;4#86WrijWwk1x=L$4t?Q@AVdr5DLMr5|M}hWpf%YY2 zc$uQKBa}mSmQ<-=5y9(LS{I-QzH+Vl-7Q#ig@1K{*g_9tkYi9}P<{!f6uT4R9$hXsZ#hmwZ+!~dWJASaS>x82{V#XvEJ)J_G=2VB)IzTLG}V7bj{M|Q$M zRwK~d(I$7TRBTtQnVKztoxQ^Z0V~n^Su`sX37ID0pgqYd&x8MjvC#&p2alvw4rP{p!5Uie%B*Ht53gCNhW|0i&uL1eC zR-8(@+(iQ8a5)Qdk?Z+glrV)wg%9i9LhXQqHk{{}SJ)F0GO56)m#CHa08xOq$|hL! zS>U?bUN5~9!eB?2V+;4J1*&eGX7o1`3quE66t>iJCo0ce9pttI-(d>$0vH%VidcDl zOBSHVsQCDzxkTuatnwgOx)^uGGXY$Xk+fFf_7*}%Dx1bF)2%J5R3p4PkyiJj0yCR7 zJ}NmKZhrGl74=3uW`W_ZM2z0QTLIBU>WEjfNh1|!IhXL&{WFNo83G;4@2H*Oy<@ig z;tM#k)L@HXT!yGq0%}NxK2W1dzr=bSN8m{bj%I=<(3FH`J)@&jgZ2#x)50NvEwV4~A9c_@dlv1A4iAPB>*&ysMqBm{saM%f zA?n|$uENj^yu$ZyH6A)9ub4~?4EddB06b+h5EiH)u86_$DeU}B-yhu!9kjp;PY5st z!PH&m8JtcwD)x;*l;>4fl{I7#800*|@Hno9v3K>Q-Vk9TSODOD!R=`6JD-wGexN=B z?2Oz*o7KHV_bv`V^rXj90$WYDIB&vKs~ma}=wJCHU<^XN`y7RV>cxfr%2%SB@9KGK&>Z)?X^H{xq4V5``Dok)@6pSu5 z1LhX*$;!a&n>!O5LH`pNZn`2&2j|CyN#nwH(!D$^Q5#a-;TRN`j5ZT0?A2z|)ei#O z)bt;|vL2OmGR@r}izL!;>|({aVZb8PELxxjHX$as=9QJP(PrhLde4uZx{stR^)n9; z%X;L+W*vA)*-Vc%`$7;(N=mwWBez*OC;@yH&eM$R#x~e>dNwA>a(}5WT_pow(bM=} z6J2YZCH7H3UEH=i6?6WmoKQHwj1c7N;uNjc!&4Nf8EQ9kt~f7~+*a8OXdOLO&x4Ij zjc`E{oVH!4fSxmo3GC!LV6lALS~t3nnBV0}$vay&bp|wt4nG;VDvW{_hiiX2ltr_>wY{O5Mn@3zWbO%4qVr&GJMe zQHHLv-p8EOnzG(S)Qlo`yWUQbA_B?EqIv*J@Po?9r@n@ybcsM@2T;$H{Jq=}?@cFD zCYnt+T^r`O>DwkI-s_q6wpkta1Pc@de`h=Xxt)Ku_T7vOuteLneCqZ51P-Xd(HDH$ zOUB>%c6gtsxFS51-U&BTk+CoskKD^wtGaTmvNKKx6h*-1HVIX%M2w%YtFMRW&$wJu zpX*0agB{loRy%DOm8&0(?KqrE9`(`0xiYF>cd3>*=9=txYXb_?l$}{%*4o;~CP3NL zC#@xyTe)cd@S>*Bqsn06?s5wdY+3rk5Lzm*ybuIls@eV|dDf}iRk~ub(tcNVobRF0 zbPaxm^Ejo&S5I!V2g}5RQ4|>W>X<1`C_ujzB}E4|$$o5;ICe$gvdN;wbNV zQZnks#63`EspMZ>#py21! z)Z;G~UVF7V{eUCX@aMHN8*iQk#}WB`zAuK%iod}QYAZ4uvI8qMFq407j6S531Gb#xvn*GeGvTGCaVXA z0+g%EfQ~MDuHaFQ9wQSahCT&@`RahJe2_Cy@KiRmK@a=-b3gN&6Eiak9AZrNq)0mO zJwcHu?VT+%!p5B(xW}M0`uk4#6SMY^SvI3%GCxN%+8z%e$@=Cl{N`dA_zxY4l$5~B z{XHJ>=$FT$Zc>W^<@qR&7*(qu@x|Af%e)p~$jE;83852F3-y9s;TxVg`g;Z9g%-a^ zo5lTQo5RCr0^<`Cg@!*eGoJ?dm)|=vlX?n1VGoL)?8(kbk+#D$Ffb|M`v6juMtjsR zsQrrkorHwMU{CZ-2-hCrdy>{>L&aXQvmp5Mg~0q&md~fh4^Z8EE^}0CbcbUe#RI|C z8drt$_czZ~!)r@(bICjb%$pyK-s_PA#ZmBe$5qWbq>6-+*#%F2`b5w&(0mn6WHe&p z_ra`ubI%~`Kg&GugZBcpVm3__AY4FD(*P+*8ghVW#(|3@#@w03dU4ie$H!S0@{p%n z>g3@}Cl2WgWx^-FeJNbeY+ACcX%J?APB|T0^dfrlju649^!9Qm?7kuvA#_Fh61CwRXs~ySqMQG_pBhkt%uZ|0R8Q9k6L|S^MnZh$DG3(h6}Akv$U1?%BgM zzkMdFZB&$CC(b{M2psXW7n1llO++zeXu*2jaaMUKA|u;b1LoP`h`%2K)=z_=U9MpZ z=LIhMQ@8h9G@qZZW3cbyA86iF=Ug=!UKMGxmZLB;F?u)GFwlIaJV~qQV)3dyMP05k}PmZ@(wv(1Pv1kCt7#UkXx8Yb^ZmO6`i`M5~3np}^eBeTezc z5ob5~r?-VeV-XS)D=US45`Wk|1DEr~>0m=48P8`w@PvDxouQ71I$!L3qeI#p@zQE% zNNn_EH@$WeY)a?0c%gk8w{S;eK&*@KO}<978mwR)h55;}Kjb4;r87>*qUp+5jb6NS zc#vPd4kO{^cX7-^_sZH?DLew`h6#3rPeyf4ROE-BMMFXB)E|OXnVO{(d}@6p2EevxEqqB|)I~I?m^R--hx0^OwTjEg!tVpfI>~8F_>N}FjmWcPeg1q* zYWpYL{diF{7Fj4^7mbk89CY$xYPpT497Uyc6Y{$LA~5#*_vIkfuQ7($JJ-jP7oca3 zNv9ErFC<^T7S=6w`0Q|s@(j~_>Uuo^gR&VrmhH*#Ej zZJ|74RkqpBp~>#f6-?b8^x;;U@1kDW_|Q!E}&<>Z0}IsCMmBqu72aHbJIfkay< zoG+fwJlUDfI=i1yNM!bJA=``lz?arH*p)#BuI7{+QQLF!N(} zCJhaL+RkldWo5=?)uG6ik>TMp8A#X{ir9WOlj*gOk9?xtKWR80#u^vVg8K`a?^~D> z6Wc3kf8$+~UNPb?M3*+0thG{%4@5^=fr;IVdT?T>KJ&6R!7f)~P|-W-02y7F1B2od zF9{0$$1hSSum~sHi`V0yb(lw15jiqk`3?t2`7A8QJbj}=B!HasjK%~CvL0G=6qp%i4X8* zffxo5OQ0Ko?b6v;B&GYR61-~mREI&om=T{5|BHzO^l@%DRAv`9xw)}MpGi+v=>ReV z6L{Hwc*N;0>`oqqrk{i_`c5I}lLex9D-Run+AaTpnm8YGXI7_v=acp?`OpkTdWahS)s+Uo9Qm_3G?y8nO zFrvhGaTfetjN0IeYK+BY$@s?#M-brycY?A2KsHbcOJp&;j~=v0fJ2-faenFBQF`3} zi@&`s;RD+LpbuWr%Y}Uc4bIKj7K)Q^RP$)`5B4HZJ23>jE%&p(XBpr~!~D3DNJhW& zpdgi!P|qXD{_Z^9dk@b?+de$JJhDd!5Trx)+86I6Pgq@bINSg`%Bj~U+3FD<&E&$} zn;ZK>OU^qmeuWS1+oB| zs#6ue9T3XTz!vR(2_qWyIJ;~(8Bnl2-GLlBz=h4{em|zMkQ~wAvw(Z5&*a02qk$5#TgMvu{0-{KGFuFjs;R}!=q~Pbn2Q-h~xGRx8 zsMva}9Hf_n*~^6N9Dyj@?d%V_sI{&LjSP~2@yEHXmf=T4bRZF;Xtfh*&@n-J!YVQx z=r0QxQz#H|78^zT!-_Qv2W5`lF(aJctQk&JWV2n1tR?vQ6vfd2;~E|QNU;D%H0G6r z17)qKWyf~Ef4c4)4ocBq_wGHrrELuZpsGMHRFm6&#V_FL|Db03i@n1BQAdX=my4jO zA0Kzt`84WM8}=vr-Cm?bD=$?C_`C{W1wFoG z6oHWtZY95}`^dBdT3mzU^p6*1anL*I*u2^Kv6 z0SkJ-E_3t%U0&0rPVdVLH&Wh?xAE>qim0+bk(LQ@P+&~RpT2)jZ*-4=Fk>zjUjkJN z#hbc{arhm~-oe_ZOH?FL^9#-GNK;upMo|F;6@Xd^Wk5wVPCvH->oKv{e>E_mhK-0*aL&idIY3fvBLwp1_}lvDddrEJy{Y@`l-&|D#Jn1b$-^fTU-X zulX=$R-4e_#Zr-&Y3%$cbHQh55NvvChB%KX^j%3WcN*UXL`3aMCiQBej!W}*(u**G zD=r{o`O8k}*wSN$jg5_iWT3x$ zC9cp@$ULPzrB8BONSi8*_+TuusHgeoKqITyn^viqAc~J$i!s^EyK5!uw#ZO&^v2IR zbRUhJswO{9cvJrr>Ujn(+8A;z+jXoDgz&wM<4Vrg1S>VQ!fyg`B4&S{28?oSx~H!jEhp_{RjZvsa%ZG zp6!9VU-?={US8hhP!|RLMg$pNsOfW;~}ClMJqa zL-jDc1zsZ!f9UvWJQb();9fozIXaSm?G^0aZHf(#4JE$HU`ePmqUW)bz0H$2!~%s`PA~hG_OBf1aE#RxG(w3||Ft z4~z}1a$Tn#E#(+->%6a564|EsqUBBSI_`YZTX$YB5Ua+1#t7Aj-PE2=Rh3Ua8pzq0 z@}E)^d=%YLqP3?~p{TWAaL9U~_~Rp{Dppn7?9XrTA94^!W)%3K#tx1p>FEALe(vWu zxG^qh*kW&q2p%}+jn5QV1RhZLU3Nwe>CYkUu$xVP_6Lrw6_=5bQLNJ39u;(wv4jB7 z9AZ2Vl65}n0y)rD_dTGc=t!o~4mM8+2zr1D(m@IuGtgMTWTpQ`^DLfEv0j#uG79c~ zZd@oOO*z5J@7_<@RFF}uN8q)zq|5o>7=}XXuKjMYy9jJP`XY2UlIe- zuR`F}naYWiMgA-}JY7K~3o6GhPe(z|6+`tdBJMro1dqUrJsOEpGXRMe#TEq?@_|CTjeK>) zv-gPj;<{$v!#Z!KTq&uMh*4b@74YVLMOggNe zB|re&XM4PWIt5n1-M`>Os=~_c_!Lo7@|9>V0b@1n3a~1-H#V##UO80YE6m{5oI?z;0iqSxS63UmQA5k6Unc_E-T z{fAFD7Q%N{KR5X8u77S&%&tAmhd!*fdT)^Ms3EtlEb^g-4>Krl5X=#fLU#f^yr25Q zd==sn&n#meZrOfLt)a5(#t0NYiIl0oKNk1JgL`KzAYU3X=O7r~Ph6_=F-)m}z^ggu zDY||eLneI-u1q!+pPYMoGE1x8BUzZe5kBaR7xWFbbMQUXh$V3rc0k1&B5QAAn#Vv7 zjFF^giIfDz$+(}Eq%o^j#voU~P&FMY2LSik!_^pGD_b>}nzsgqhGKx~P|7GNxt|Q3 zP4Ht+p6Le!Lr?`Ap{U4i)eb@H9LSKO<(hiOr8*&KKQlI5f{Bdi0fXqozcIB4H#H5c5y{;5$QW+h1FAYOD^F0Ct^_ zS))`s?c&JPo->OMcO5WaPTz>hGb5|ghF@_!Tc^u}Hd8cVN<&T2kQr}AI1MI@j%ctZ42KJ#{S@09x=Cvu$t zR2);3Ev9|F>FJ6O%BdSsTmU3eh6Bf=*I_S$O@jN~xUPc^w1db+B3&(T1xhF%?8uBG zjGTgGAWw9pSi6TG|zgpJ9_G!>*#5YOdEvL(~MTYYj9FmT>G=YIw^W5f_J zXW&0Ts>+0X(VlzyCg|auN<0qMA=0CjK<_=-M2$T{FC*X3hw^YmIOxYEp!j{1*a38l zA>`)H$IxJ-=KPkH$C3e809FzJ{}Q6vIT?Q@c(G-R=bZkBWXvlbtE1`_e31J|O@-75 z@q$4?{Ams+khanXlq}4Ap=DsdV%hB#=9&a$u|5Ja&m%McO)Lv0(vT~=xhe@0i8FMk zdoe)iw7qD{F|YV8ZGTy4!j|ViC^KUJSnn`&K6E+Gnycz+qvL4}RbT(L(n-im=%Q%! z+vXAwpb(0miW=105Ep#()8RwZMUjVup(F8FS~Zd(9d{%>1#FyTZ%8#W(vkaR^*3!E zhdsI9C4luVch%c8luBfWS%YQQZ^Fsu(Nz)7I-}7O!J#s?0;?#m;NvuNPb>bgREbKCP(HT58r}X(IVRx5Ub=tE&tA`~2YJ=a!-< zhM&AW`LC)JV`Y1aSqKlbc&W`EmLk+z^Od3PPBv~GMkrLyaTE2RY@89))=%9TyPS^*M*nbQC}&T1r}j%@!Cgd2@|<(`0FZsD_Pp^kq)hc_DicZ2NcB zqf8&zB=xDOM05o0f#wT8hjSu*#+jvU76*z6u^)S-;g0u(LZO(-m$5De=3K1Q*Ok#v z-)BJ^6>zD+m8xZ`pF=)Aq=vh9OYQe6xWLTztL)d-*Ed@nvA+A8Q3KIv9=4dpnzxhR z#HPWht2ibc`iHS_{Gp={o%bcCSf|)D%*{VB%s6P3ML5^FmNPgQ{LWUkOsDPSkyDk& zGa}Z~P>$`Z4^gp zO7Wn>fo0vyD*qIPsvhVD4=H)~mvF3Q8CmZxJb{a^oxPNi%W+h!U@U6(U;{}4P;B5* z`#g4R_NB=sK8t$nMVd*RVnqI95#|tO72i>=&d|JK8&~c#4JW2`z3W#F`*PVr5MxZG za~EM(pY9hjCdjNxe&zCC!2-H6Y5R{V$18OV@o>*o)Sh!WfDjA9Jc>}RPL|^@eot)G zI3BE>_h*}(bjmZq2+q|ekb#h~L4kyu4}9G=;LbgnJ=A3HnOhPVz6Kc;`94rqJgb?t zo@J7yemywp@C6&mOu}WP_IIdCtI3-g!)rOVBpYfl8*lVwrX@o3o|)_tY?FY>bWsFS z6!7Esmfl3grUf`Gh|` z;r<(&KhXF=^gb3I~q(J<)UPW#e2VaetdW4a&8ix5L7paYr$}Ralu~Ny*i;cDfp~1VHjuF zho9ngDAc(sqpjKGi}w6Lg$9T{rpm2$f5lq4I$S=gV8GdSGEjnT5KnEP9JowYGLI`% zX=NW9t`$(^W^?5`I;8<(G*^`5vb`_Suo=~hjISD7zLy#Ed~q#JEbQZX1H`MrHEPkI;h}f{v)5{*>wc%Aaei?U8NIPQdN_ZzBq2t$ z5g@=Ed(Kdc^83uH$RYVws;)|hPO6k`^GG*H`Ux{ zms&%)tnIumSn2&75RJYpgAF}lIMq3od}Sn+XU6=3BIv2}i|cg-Aa$!`R%KZx5rqKf z#C*6dOC@0s)$nrm)q~Rq4AUJxj6ktJW$FM=*6*b$Tv# z$7U6cU;P;K7qL2(7?znpS?;5+B@_;Uj&c%KnY*U@>#G=SR2NKm2Tb@i2s@lb?+w*s`Nx&`xMk?JZs4r!d=-}uCO0pNw#pER%BB3p&GhH?qfon ziH*(3uV`s?Mp%+p@V~$TBG?|ck@8i)v_A}^u$3G*v6Ts(3Aq~i%I%G#>&oJAj&r|E z;_AcINC$fHl!Br73;jd8m$p5!LdhfjwNjy{E=9gs)dBz|rENv?>a-0a(xIK&Joys= z@`sRn)%~E)iG}V0Wd1w@K24~36NL>N)IU#vUqGLmH~E1(*}DeFgoeAw)4RAw;3+N$ z)$=YO>`$MY_b~5*KmU>l5C)2liFy+qbqmOC$NvU`v=oRk91YjY@#ghgXl}Z?13xvN z{~rMP&w#jIZmawIg8@*W>q_FL{#`KEU&#HSgRgi_j-v-ISHm=HFDmp<1p&)ak*Cs7Cn9;Whb0>;7mvY~ZWUh|r zZJYshAGme_PTavk#RIZx5S)C3p9t0BhP(4XgtbNATA)Ks z@4aL13C0YdxUjm8Z;2D;iE!kgDAmjunm4=ylpmC+JyvQJFCi1DC|53bKM48{WBx2a z2{O<>dB^SZ9$o7+F1(I(@-f?CHm4>EF3W?Qh7^uuvJYs53m)D$2efM*L5nya7>Ezb zr-|}G0&92l>y^-vwKiD||J+{`7S91xsAb!a#h3ro!BnmC?%f0~6__ikvFf$X;!iaS zHNv5=-qndigV$#snd|Qq?eaZ^Al8pgQM_$m;g&Ql4k=Womz3E2*$R9C`wV~@wa^n4 z?$_w(ERH#h-5-%Cg(7+OT?vN9lMCnW+qF`wuTo4D~xuG}48%4Fl%vP##f?W#{!M7iZ(!si8m8YDeYRVSW3j-%at zmuWLm_XgNZrxN28ehNblCXCi{ybGyE-dF94UkML?y6ZTswX zJ|%VQIv=RYU5fUOTE|~B%Yt#ZndRga73JiiD1BZfVNv}d%3h303LnP0B&sQ zRAfz`_=w_GdUDZ1$LJAm#6A(-uq(0M5G`Z|MDo_vut=DG$9YStO^LeM7Gd<6x9^+j zSS@#7gMN>N+r(<_8KR&F&A8!#mqDdMLq4`%Lx{l-A|KUwT0joKVaS=O3uH)cjl`@D`qgOlA_vQO*s5dphDgd3$CmiHQ z3M;pM+(hUTluRR8<-Te~$YUuOE?;hYscQuU&=Y|S^Jhl5%&}%P#60j`&964SXtKJ$qV z-3iIroBDes zdQx6q7ytFRSUZZ#2qp^BYMpE;Wk(@0He&z+p-tA1^~*RNr^Sj}vCc}0;Rs8C%s5C&7KYC;sG_RtU)Ce?*+4 zUw6%buGdVs_S!izO7hhQP(z1+{u5qqnr*|@;Fo$#D+d#t@C1xSJe69<tC=t> zvhEAvYl!h^v0XE`u~K3}6)CG65(IUg&UG`Mt1o`R_+rRX-vUHQ$8EPb-i7QFQtEji z!Yu*;j+2!?8Mi}gt>QiZ6uf}kU%BqE0!`r-bV81C5V&Dh5EvA0 zUY1d=GDBI~q$>=e&v|bAD`f>2L>G{-btMCc)PWQ#u*MN_Z;UztaFQ7SW#-Hx(hVNU z15fA%GZy~Jd3dcZ5(+KuSd@Pn61Mzq4t0GOI8!%`g(s83wo-*t*L$1?FVqKy){GMFo$ovY&m53X0{IC>r}?%@ zn|LtMq<8gkm%b{1^)=%DL@zxH;hFDq%SoJP951AZN~Zu1QZ-}Y!0Pg*lT;ih5x^q@ zB9A2%x~pH)$yrjL{K{w%HdXidvkeFUJ-~mX03VfEfC71}fc}?A1r}G#EmM1HC2e2U z?w_8wr9KI6?EQ4#xIzG#0myz-H8fh!`B2xoaVkE+0DnH`JJ#^?3i|rRXFxe089C1k z@e~PRN6q`ZGzbs_gdF94l~%UPHXvq^aY3DrSyFv_0UWI^0$iEX;cO$t!0P*;0DytJ z*7NQu2`|_SQ}(If4K#pni|0^#9bhX|rjc0~k$J7b&|lGYgAv(bu7T9xh7Xu*!Bg0{ zUV$!h)llh6XloNTX)^iql~h`7M?U}ivrz%p@+Q(`75HHaHEk+ zr;*{vkvO!+&x{56{zIedz0@EvSY|$LYtjnJRL8H8$ZC@Pks8ePS@Rw8 zKyPmbli@NL9!%XP#ko7k&f+}aRFIn>>amYW%*9ozI>H%+T5$dW*K4@4+KrgGqn5pH zCl6z1;sx#Yht9v?N~P*w)i8zsSqOB#cOg6hBJ$sqf;@LWO(ohKUwo2_Gc8$$GO$mO2032G<%=nFcA#4JpSi1hfXmA|JZ zE?xG88^pzIGe&^JZSMCO*7vlxu~)txp1vtq-+8r%ml*gWA|tCJ8kZPUuCLvW;{gHb z?2_`6?`@#T-hjphP|)l?rnfA8y8F3A0>+~Oaik)?z8p80#!^X4W9WE<)0j}}<$ zzf_AGiLsm9J&l}6>0LhoEJ{G7q#!AXK7}2noh+GDk&m&~>t@!B3@nF7gag$u$3HiT zNLAX)E!2-6op+&Jaaj0tC7eg(DVwdA+lRz)Y;I@eo$Mkc}KSiXf)#@ zgwG+%KY_Y%Y;a8!gtTsD{rxSrbJvBFr!JNDr{kk|L&2gfGxmunX)|ebnfu3bI?Ywh&C_pcsptUrp&C960814zQd1AC0E%xjzE>6$w>ANi zrT^q+BS06az$S8q32#JDM^NP!W)InC`i$*PP6F$$&JPZLFb>fJPEh@E^WY()VO$u3 zyB{t{pXwBFD0Cs}P5&I8tPuZvwlP`hBJy3M!nUR~uiJ(yTA?hS&XH;6u~ZEzK7G0Q zYSwFXa_%W=0!nENWO>|-oE*!p^ks>gJ^CD z9nz2^iT)e_KWMSoJy0h_iV&q&$vWG~7<`^a@`+*pE8}KbmCd@#o;p9)7|DA8{Xjo} z5PRv%<9!BK0Mibzih@YkOPuNwuPkeNQGkL6!hp|UbE7BqC(85yD_gm^=mz3C38r&%SlpHnb}fSV@L*AU<~ z=|@qK%?0Bdu1}NI)qs1WG!VK%XK87-`>WE|U^2FUkVJ52MHlGmK6*9==f6F7YKVfp0j`?l93W}Mm(0;f2gt|*#w?d30x(e%4vE@Kl z41{8B5F#xD9R;thWzyI#U~GIYcv*?n$1^i1U35q7gt{$5JlVWO|vc_D;)w$C?$<_Eg>acN{gg)Bh8YE zbV+weOLuo8(v5U?$2a&q=RNQF=AR{YX70J?%HLH-%0(aRu>fqLt3hrYJ@DNA`fXjX zWdFkzZ8K>45XfL?O~CpR0LPFQ04hH*-|I!)F_0{;j1u1+Pb$#P*Z}c}QEE^=e#Bu0 zDuePX?TQW|83kcd<*_#AWKqg}rD7xP>UrHdhuWR))K0uj!YYY?G}$Gd z8yqewI*-0XN$}!SNRQ~V6+(F`Yihj zscbus@zjNqYp`qTu;8kKPBS1SfOMN47CNAU4=5ivh|_Z}4^!PstE!s#eCxcg)&L{+ z-%cQ5nq1H9{&vzlnUgnOo3>9mZc+MVcM4}Tx5_?7;Sk%it%F|E4jA>us8O6B;FFxt zxN@*FX6?P`{$a50>?iWr^XB`i28n189Lt~KH^!emnJxrkR`fTjuflYjSNyJ5GJ-)9;T_v3+^W^k1Me zLfVNWWOpo_3u~FN+6*PV^srbsZtg2kQ+E{y1lACmc^)3Ml&VKmS^KA}gA10@FwSAi zez&u&10>biMfDonKRLKzF_4jthT!f4+ftyl2yF_7x_7H90nPUqVYhSbG5W?6LQO{a zA)w_rpWtq$)){yfp*|=FUKo_NVSb`qrnv&akqG2)n5>&`(wp0W5|_j|y=1sYevovB z76SC_(R=y#5QjvDq0+sD9GhMCeXtEQJ@u>=PJUc%KLKYtv1tK;qM{;EHNUrU2UGWw zg0)_)D-#zGS#CG!#(pl4q>2K&sj#G#Pgq$|szlS;SfZS5PGoniW6~>gs0}vh>>Gb% zfqh`q*cuW81H-A3jjrAq@@{Azp_mk5Kz#W|6@X@Mie0KHE7Q>U8rX(xRzF4|{%3LC zLlm%};v#Agt$a!u?>tb#3rLRTMr>iHm#r1mpN{KMxrh0U?*CMg0r*0A zyk}*I%@LjIhn*}eQnUVX#THR~X122!Kr?^{&{#jc)i2l+wi$`VmL`qOBlNYZw#<+x z09^W4ho4l5##2Gqm2*P_75IPzqSzt;T#El$4Z_G4DO;A}T&vfa`{0aY5kBm@kbPCu z$dy@RTxxPMuJhYuu6Ff$_p7fMrTO;^2;qrw&S#okTO3;nD%Q3r%ZXNkma~P0yW;4^ zJMPC<8iSa+MB|visuX*{aUyk-S^7tjMpfEIXgFsEr7G$>D73wjkXtemoyJ3ahyGiT zXqMK9Er9?1XFZRNgKFHW>E4A1yP|v;UCCxn`O~eiIhGYrsaooUIa_rw(tkHm*h&F7 zVGZ}|{L*CO_ACtsgHJ7%^F}}F7<^)eu))&~?4AIbpEI9uU&`B(?~JAmNR}G-;cJ+} zP+(UvkB;#F_e!1v;M`h*?5kUq&#UX_5`a5uJIcw)HIrnO>WMtV2TwB;0bHsgVXNxF zah4_jIKA>PO*Xi`Pk`~$!JYa*00p#IF2iTkG1%d@_=*Elr1dw}bzkF1lEkNnHxdE! zzm3o{_tC=G00Z{_?*23tC>9eG1{ElC^$`Luelb8VB7#8%-*y9Go0XCWU6tRKBrrv3 zJ4T!2Z!Z@Q;VykF4og)Y@#fU+p}{oz$Nr7Ykf-1 z<1he}|Bg~z7whvPY7tGI5|>k{!%U?b)PS}JMO;p|;u}htU-e%u0ciufhRFg=0O<68 zC7wwr^j#a2MsNuoWPv?1@=)QyC-g{vD$ORt$$kHyW)MN z{QLqn&lcn0sISoI=-3%&EK;_<7wzmQ35sD_MazIr14!kP_gh(+T^!~PG_BxSlO_P8 zRPFI=BlX!&efm@exlq~ZEVZAsy4e6U6TcJ+r3(gtMf`^*6#!iX#-dRIQ977bo^Q25 z84j!?;NhRGIL!J~i;S(uxrO2SXXiz6&AQ#rN2aw4mtk1^Qa8$E-oYk77pB24(1xq? z8|I~@^!BQ~M~e|@dYboVCIb^wx&Ncs-}o)Yrzrjnnzth^)__GyLZa(>hNV^1(6Dvu z;V2hEfl=y;S!W>62gF`i{;yOnmw*(C`{0Y3!oaX;e`Bjn%`gM>dz34nGnF=y`9#sh zWP>Xc^)v`RgEF;F;c&;vlUsaotd`d@q2%WOl3%0Klh6jR0MtQWpqupu6!g~1UOxs` zZW1YkZGWLANei1ZKJx#=C#~XS)29nxXlZFR`l;VQ;PKd*t~gb0!=oR&6L&Xi33Y9Mu>nnatP%g~K@gIe;7~ak zk{ZxVItrYgnSM0MA?p1nBUC(4DY1hWCV6DeoCpShifq~36i=;ld0y@0%F4)EGL9RU zh84#6uHW1V`T=#%Y^Wad-1Dy2*l^}OzaITZEe&x*p*XN0z!>~5!rb%&vPjq!#nT-7@l9!qYKFtFQBvLS z)mWcHl5nb?+yh|qDo|8VWjB|8byn{joaDk~G56d~^%Elmu!IU9{;`EEwbB^V@-dfl zoAs9s2*dKp{F0PrN+W>8lMvuroDJ}&lzOANi{1ev^YY($I`x_>DhkCUAQ_AQ&7~q= zDd8jcUl3!IO#^Rz8UvahT3~Ltf;>W-*JkU<{LDVhmpjd2MO7A^G8c3}!rDJ{&*Yvq zeJvh!3g|-DyFup!3w9dIceb{+Vq(5b)3xSd7=YQNVS?UFbk51mV zok`26;ik)(%AO*vYD?Na_m0M*sy1M#p|*&cT1=76=HWBi|Np(ehC|*`(!EK0!9v+;DHN;OFhrBV5|olDb-2vjat^ z;3lqGpwj%z*Hox6sDuF9-``oR56!gfp)aQ38ce1IxJZ{M%?i0`wO6<^yKn29R%X1P zYT-X~urT>Gy!}f1WHSiqSx6||_5Wpj6$!{I|B*5TAUdka=!I~)Jpqe5_`mY2DfIX6FgYE(4k_Zj{F$acV=8>TY7WFj)~GSAz92Ow*<2ZSVQ6l<1$+$bh} z2y3j@jKl+FAY4B*SMM(<7kzV^FfOde1B7xZ}D_;BjTtSJ8Pu{!aFraO!GRdTf2Q~4b! zr}L-BNGXjeLN!JlTD|-!7lH?#`-p!pTw}~kwcbB?@ClvjKgTwRSG+MO&o?OO%C5la z@WnQ$mVyeHivrxP*vCTAlb*sb*Y2m)Id<64(6IU6&UW6E+sj8=l|u`yM|IPQ(PvQ_ zQ7jUEh~(14D(>_Yt3OVVj@ge5W=f=r&(7UO3~sPg|E|98(~T_?%VLZLx$0j{h3}VI zW_6y@9Pgp6@!k^s`}F$Oah6!Il7;Z!#hMx^tJi+557R47od4VRHw}K+JrFlrPZ7&S zzcb@&_TDRLdi~4o0dw=LXRQLTi$D$4*QST1)^cuL&%bxbgWlepY*I8^XsOQ%0fojk zEW$*5RY1W!LLRi@A$F>px#*ufL*UZQUdUeVM1tr=$-@?B*a2aCxq!{d04mZJcQ2H_ zzWFvh{{e4}2M}u*R4VQ5TGN|66jX-~R zn{3lII&bDR4MT;FFSM_a;y`66b7W559X8G``}@l7pYdCZ-uxQdSY2U_-_HLXzJF8q z;}JT*_v_ig_At-(8C89yrxZ%)V5{S4e-%>M3@j=Sx~c_rLHQdBNP{cd3E#R?`>DQK zL~5lbT6K=oD}4UX{*@o~Zn(c1<89840t`Y7? z{(apuKTPy_7Os|hT>d^R9Z;Ib!HVE@pu z=)L;qP1C8}4ix#x0q9LQ5L_bDISQB$}JGkIjavdp8fPLms&-lCFs>kjglMZA};r+d1 zi|>$)$9@N2Dz*f?e7u^=@vf0!cas=zBA4}-)zs8_2f++Duyrdz|Ew7C?8>#3$ZW;L zyu~8H^%(_tYDE0;>Pjp<$-b#CC!eW8R3UxT|16*OyKdoluS!_?UGG0@2}I)JeD>1> zDa{?y2^W^SZU3qc*%xw8u;0ENm%0^4O_u|vK0a>5HQL6u<2q+oBAwpng*6{r(d^R;w)D&E8$t3CnTSR9q|k;aqL%k;bmu!e4wbTXh=d3c}Pq1AL;7f zR-(W3eb(8m3^R2W|L5%=ZXQK7Kg@o&zhBAz%~{M9f!!|&^eW-CBMoiyl8gW6a2psH zAd(M_k3VR8|CkS7T#}HVvR6EImJ~UA>2dOu+PwEVgxVuQPN}J1gU7Nz*><&~8LyLQ z8GSJK{ZdVCsz(H7u}bdnQl{kZsLDXVRtIi}AO1T*FQW z=9m@a-~0tWFMEYcA8(;(FgKPdfYZ__$rc2Pj7f*Ojsi~Y2XD`+g?k-;=f8gamyaI2 z8~sJrDdVrvS9LLql1a+O5wC)$-rf%1mqF5?(0}?+i+ICZA_0R=1$8-QauMgd&-hD` zh1f-PzFt+&+PR0|^{D9ydQ$g{9L4ceV;wPE;`gcU=P!g@)ljcK*ZN{^bO&r6TG266 zf06nysrit{?I@=EJ9?l^xDc3IkS;LIsi4^>zUwvqPI9;x=MDjnGizNcS~t}c>G?vq zXK}oIZm_nDj^mzOx}wx0!!1#;RzZ3MXs92&zoQ@Ttudj{fyi_c@C(dy-lm@2gg+At z2ua|wADXFqY1UVu@eo(2Rp z{b26aadP5ZJf@iJO(vUdUDCH#!Q%n={Nie#H=UV?J2ULE3eo96>&3r=CM%E65qh_e zLPeW2e!@k@c-qw}=#fNVVxCtU8EX;370CC7BmfGoV@P>fmJb61elp;_#;u~>-|?w4O=OKPeNbzQE`#3Vx* zH;H`!eg_UZP@&YzD8sO^Frlk9<7x~{Z#cBQH!AlB(yy^hANb*7ArGV&XxOpOa@-xh z3{Pk|l&rf$<@4MLmB2qmKwaKlFpZ#K-NoNKEqTlMW|r{QitHk#X|sT%nJwEO$pF>I zc>EoD_uY*EBAA3K0X-|>uFhad<1TQ##>|oIxpfJB-vRQCI-n6J`NkD|c5)9REZ1%eY^1W)0tOzS2iEDXQzB$B`mz@~xfB z&3lekSSTu;sZ^MFUcMk7f+#*7N*lKDolNl$U9S_JM;YHj02;9BhBg-#PfU_kK&I zep~SrKM|>W2Is@~%ZbI3h-|Hhw?E$(HmsU)L>oI#cDpCy%gAeux3_$iih~3QFW^vw z5bZ`Uox3P+RiuI9d%JNbED9K{Ll~2qIK?kyLV?YlHjITGUIr$eWoe#hbH9Kh?1RC?K4X6VBt=6>p_rgBiw zH0D-fu}3bg{<}audo^WTuo0*edU@wzUW88W`s#Cz$2HcgQW+JMF<`VF?>p{*>ZT_0 zL{e@mPQn*JJ!{tW*^V6QB;=)QZvM92Qs!`O?)LufkD6X~PK%m+bk&+NS_}TqVrfbN z7;_V1aaMapHSu@agRUp98jm^nH}=c9&1enHF0W^YWuszl?tg=4amt=~q#<{m4_Rl? zT5_?w2EFP2Ht2W5UP?LJbB_Ny11a2Q*?5d>)^h{9vh3hWoE|fPiVoECbt|Uq*7m)e zy?3cnsZNrxSL>AJ)DZ*2(9hh;qhQQ*0)9#|Q!FqNKUzW8cb6>s52KYw1}2H~Zu>7U zEX^EWa$ID)njaWDd?ROfxc#+~&%tAH8OSovg?X-8;esNRxQClxcHkvl>C`3y7Cra) zgWpn68uX>xO)-o*32w79QS@*veE;gIOtZ#R`lLiYL;MTQ3mHtGv=P*9nZBMZeVX?z zX@?VSAI{FfK1(XZY19t#;I@PPo6H*22iM^PY;vLX*%qlwJ+JdgcDJ2mZ1(*(zolS7 zz(u0zlrqG@qP8YSUNsM`i}TLHn##)Cq(JxY4?U&Nh6OGnhwkr>QV%}gg;dAAx8snNO$2Tih& z@7vSNm@G?FQ-O`S%=Yj_x|7uQ4{QZ$&nmE9-{SUr-DGtP;(52O=s5ak%IVYget$Sy zyo;g(-O5R47_F^+KO<$OyV}525H$aG-X)i)7J-K#y_`_FqsmPQDSTJEeUDB)vFDPe zv*^A-SiZf`sQmnBD6prqg| zTi>kg2$0Suj``%ZS*_NgX|pk`;;UfAWWBPzl3XXzyLBC_1QFSJtq4G@hgd-G;242~ zRGAcy31eEx>7+Ren`Uc!) zP<)WH-1}|Dv46Mcp=xVFPue#9^(z(m-GE$WZ{B_SjqQDHZQ<4yCGGr?m**vYT(F3G zXyA1;hXRgo^XHAtU}}XwQJ+3C$vRJtSt!e1cc&P=(oGA+B&<=L9rbPOzr+Vj-NwGD z%Bh{Q&h0jCg|@GU)!Xvg_Am6!-Z46#ug|#qzP0|GX7#WYgW-Pu-Fb8md0aTvgFKD7 zKjLVe2DG;GXQ(DBP^f`ByKM;dWN^XN_$9Y86G@ig@4kMLj5c~u=7JzSgUHrGK&(1t z3d|PIFF4n#$8LI6)_-o&YxGd`^L;k+471QfnOooeX*>sj%6`PKTNHO!+MQ|awh}&+ zKtl{BB&MAEu`+SDl&NsBC#;Bqim0EGn?%>c4a}q!=Cr@`72F7<4q<*iYcyacCqMDq z3sZp2;JunT%Q-$eDfyPxzPia;SqqkUyzIy35>JDXCl?%Fth1_Lrs!0t%B+$0EC%EK|Yk{O}d+&AT>E1Jes_-06|| zY}t66a&UW2A@E-1ncI9s?Qio|i3zE`@2?|I7aM~;e_vAMtGMOZu{F%CovlB8WHf+n zzXqXRof3x7a~d#QcI|-*>IHjCf5=M#NkQf|?W6-q94x78he{ufx@tp4jsKjHcK0h- zPBokzjz(U0?L=4PPrTM<&v*>2k^Q-<4y!nrqP`IuK#cE7*&U*-Gi9PNN%iGBSFtlj}H(|Ul$;A(bDEv@cF zjd%O#NUHjnH2(G*Op2608BrQ9`3zRSyEFaiWpJ3&(3HP68}?bD1L^yaO#QYMfaEZ* zA;+|)8~HxyZ8PZSFDd8+dT4Ym*WW+sPnW<$nc^kMNO~2*z39nO3%0AWx_d)>gNK4d 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

rANlA|ln-+;`@I(6|m_B}p0S&(ABU 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

    Byqv9HcMdWD4({%RZ zY>a_xW*3td?2!>fX8r-eRCQj$K%$IqetO(CpK~SKDY%dN-2@jl-w<%~yl~|bla++9 z4AA#Lz|U`&==F26I^wZ5{{9|aSpI8+d)c$4fM)#>jzCX9e*?DVklE;=KkPWg0ct2e zKsa^9;4NA?DqDXq|KgutPN~qK+c36gY`lQgSk8@IZm=%6Pt1;MbcTbkf|rp3a<9D~ z0Xi{28rAbPyQj;3r#$k4P4j|HsT>NKP3yV!N9;jqo*fPtHUiE_n{g$)hp99&R8J3^ zmVeGD!o=)ebf(=si-&W2tS@#uBSk=zJleDHFZErFd66hBFs(U$3FB61pglTeZ#3+f|+qO!_I&0mL>7tW$`YDfB)jN zfWF54w9{)X=R)H93EH6$O%J0`djNaE%~4Wnyq?=eRn2^OFiG|PWI`B6b1jDuFDGYB z1VWF&$~xrG&KX~YUS`;p#zEGAiG7&B2vloWDEWP6LPswip z>zJ-fgZ{$eyGjA;z%Tj}Uhx12O&BQHG=yGW@&QryxRRtmW<}$=^%i!Ohsy4HFpq`W z^o;TW+^3|$6SEAsN6U4~TPpu__z!4oy{y{P^L8Vx@RIt5gFTfhl{S@u>z{Ju|2#?x z(T8@ws~!~x+f0tvN?U)o4i+JL9{?P9)nVdF>^=M!9#l>W%s|= zA{me1wtq(P@Jzr_p2r_C!~ho$A3QW*c#sF+>_hX7g8T Date: Mon, 10 Nov 2025 13:16:19 -0800 Subject: [PATCH 5/8] [2025-11-10] Remove Copilot Extensions from the docs (#58331) --- .../requirements-for-listing-an-app.md | 19 +- .../about-github-marketplace-for-apps.md | 6 - .../concepts/billing/copilot-requests.md | 1 - content/copilot/concepts/chat.md | 4 - .../concepts/context/copilot-extensions.md | 93 ------- content/copilot/concepts/context/index.md | 1 - content/copilot/concepts/context/mcp.md | 17 ++ content/copilot/concepts/extensions/agents.md | 29 --- .../concepts/extensions/build-extensions.md | 105 -------- content/copilot/concepts/extensions/index.md | 19 -- .../concepts/extensions/openid-connect.md | 95 ------- .../copilot/concepts/extensions/skillsets.md | 62 ----- content/copilot/concepts/index.md | 1 - content/copilot/get-started/features.md | 4 - .../configure-mcp-server-access.md | 3 + .../manage-for-organization/index.md | 1 - .../manage-policies.md | 1 - .../set-extension-permissions.md | 46 ---- .../how-tos/chat-with-copilot/chat-in-ide.md | 34 ++- content/copilot/how-tos/index.md | 1 - .../copilot/how-tos/provide-context/index.md | 1 - .../install-copilot-extensions/index.md | 17 -- .../install-extensions.md | 55 ---- .../install-personal-extensions.md | 41 --- .../use-copilot-extensions.md | 100 ------- .../use-mcp/set-up-the-github-mcp-server.md | 8 + .../use-mcp/use-the-github-mcp-server.md | 1 + .../copilot/how-tos/set-up/set-up-for-self.md | 2 +- .../use-ai-models/change-the-chat-model.md | 2 - .../configure-access-to-ai-models.md | 1 + .../communicate-with-copilot-platform.md | 159 ----------- .../communicate-with-github.md | 54 ---- .../build-a-copilot-agent/index.md | 20 -- .../use-context-passing.md | 246 ------------------ .../build-a-copilot-agent/use-copilots-llm.md | 55 ---- .../build-copilot-skillsets.md | 91 ------- .../configure-app-for-extension.md | 88 ------- .../create-github-app.md | 49 ---- .../host-your-extension.md | 58 ----- .../create-a-copilot-extension/index.md | 19 -- .../debug-copilot-extension.md | 79 ------ .../how-tos/use-copilot-extensions/index.md | 22 -- .../manage-extension-availability.md | 71 ----- .../set-up-copilot-extensions.md | 121 --------- .../use-copilot-extensions/set-up-oidc.md | 111 -------- .../copilot/reference/extensions-glossary.md | 83 ------ content/copilot/reference/index.md | 1 - content/copilot/reference/policy-conflicts.md | 1 - .../tutorials/enhance-agent-mode-with-mcp.md | 2 + content/copilot/tutorials/index.md | 1 - content/copilot/tutorials/try-extensions.md | 135 ---------- .../get-started/using-github/github-mobile.md | 3 +- .../github-models/use-github-models/index.md | 1 - ...i-models-into-your-development-workflow.md | 109 -------- content/index.md | 1 - .../extending-copilot-chat.md | 2 - .../copilot/differences-cfi-cfb-table.md | 4 +- data/reusables/copilot/mcp/mcp-chat-in-ide.md | 1 + 58 files changed, 64 insertions(+), 2293 deletions(-) delete mode 100644 content/copilot/concepts/context/copilot-extensions.md delete mode 100644 content/copilot/concepts/extensions/agents.md delete mode 100644 content/copilot/concepts/extensions/build-extensions.md delete mode 100644 content/copilot/concepts/extensions/index.md delete mode 100644 content/copilot/concepts/extensions/openid-connect.md delete mode 100644 content/copilot/concepts/extensions/skillsets.md delete mode 100644 content/copilot/how-tos/administer-copilot/manage-for-organization/set-extension-permissions.md delete mode 100644 content/copilot/how-tos/provide-context/install-copilot-extensions/index.md delete mode 100644 content/copilot/how-tos/provide-context/install-copilot-extensions/install-extensions.md delete mode 100644 content/copilot/how-tos/provide-context/install-copilot-extensions/install-personal-extensions.md delete mode 100644 content/copilot/how-tos/provide-context/install-copilot-extensions/use-copilot-extensions.md delete mode 100644 content/copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/communicate-with-copilot-platform.md delete mode 100644 content/copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/communicate-with-github.md delete mode 100644 content/copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/index.md delete mode 100644 content/copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/use-context-passing.md delete mode 100644 content/copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/use-copilots-llm.md delete mode 100644 content/copilot/how-tos/use-copilot-extensions/build-copilot-skillsets.md delete mode 100644 content/copilot/how-tos/use-copilot-extensions/create-a-copilot-extension/configure-app-for-extension.md delete mode 100644 content/copilot/how-tos/use-copilot-extensions/create-a-copilot-extension/create-github-app.md delete mode 100644 content/copilot/how-tos/use-copilot-extensions/create-a-copilot-extension/host-your-extension.md delete mode 100644 content/copilot/how-tos/use-copilot-extensions/create-a-copilot-extension/index.md delete mode 100644 content/copilot/how-tos/use-copilot-extensions/debug-copilot-extension.md delete mode 100644 content/copilot/how-tos/use-copilot-extensions/index.md delete mode 100644 content/copilot/how-tos/use-copilot-extensions/manage-extension-availability.md delete mode 100644 content/copilot/how-tos/use-copilot-extensions/set-up-copilot-extensions.md delete mode 100644 content/copilot/how-tos/use-copilot-extensions/set-up-oidc.md delete mode 100644 content/copilot/reference/extensions-glossary.md delete mode 100644 content/copilot/tutorials/try-extensions.md delete mode 100644 content/github-models/use-github-models/integrating-ai-models-into-your-development-workflow.md create mode 100644 data/reusables/copilot/mcp/mcp-chat-in-ide.md diff --git a/content/apps/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app.md b/content/apps/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app.md index 81cfff1cf82a..75b66b44c06c 100644 --- a/content/apps/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app.md +++ b/content/apps/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app.md @@ -41,7 +41,7 @@ All listings should meet the following requirements, regardless of whether they * Listings must provide a method to receive support through a valid support link and/or a support email address. * All additional links in a listing, such as Terms of Service or a Status Page, must work and resolve to a relevant page. * Apps must provide value to customers and integrate with the platform in some way beyond authentication. -* Apps must be publicly available in {% data variables.product.prodname_marketplace %} and cannot be in {% data variables.release-phases.public_preview %} or available by invite only, with the exception of {% data variables.copilot.copilot_extensions_short %}. +* Apps must be publicly available in {% data variables.product.prodname_marketplace %} and cannot be in {% data variables.release-phases.public_preview %} or available by invite only. * Apps must have webhook events set up to notify the publisher of any plan changes or cancellations using the {% data variables.product.prodname_marketplace %} API. For more information, see [AUTOTITLE](/apps/github-marketplace/using-the-github-marketplace-api-in-your-app). For more information on providing a good customer experience, see [AUTOTITLE](/apps/github-marketplace/creating-apps-for-github-marketplace/customer-experience-best-practices-for-apps). @@ -58,23 +58,6 @@ To protect your customers, we recommend that you also follow security best pract {% data reusables.marketplace.free-apps-encouraged %} -## Requirements for {% data variables.copilot.copilot_extensions %} - -{% data variables.copilot.copilot_extensions_short %} are essentially {% data variables.product.prodname_github_apps %} with additional read access to {% data variables.copilot.copilot_chat_short %}, integration with the {% data variables.product.prodname_copilot_short %} API, and optional integration into other LLMs. - -To publish an extension, it must be owned by an organization account with Verified Creator status. For more information about the verification process or transferring ownership of your app, see [AUTOTITLE](/apps/github-marketplace/github-marketplace-overview/applying-for-publisher-verification-for-your-organization). - -The requirements to publish a {% data variables.copilot.copilot_extension_short %} are the same as the requirements for free apps, with the following exceptions: -* Your extension must provide a clear and descriptive response to a prompt like "What can you do?" or "List your capabilities". -* Your extension can be in {% data variables.release-phases.public_preview %} as long as that is clearly communicated in the listing description. If you are using a waitlist, you must also include a link to sign up at the top of the description. Someone from the {% data variables.product.github %} review team will join the waitlist and email your technical lead requesting access for testing. -* You must include links to two videos that demonstrate the following: - * A few example prompts and responses from your extension - * A net new user installing, authenticating, and sending their first prompt to your extension - - These videos are private to {% data variables.product.github %} and are used solely for reviewing your listing submission. The videos can be brief, and you don't need to edit them. -* Your extension must provide a stable and reliable user experience, and be able to perform the capabilities listed in the description. -* You must provide a pathway for new users to install, set up, and authorize your extension with minimal friction. If the {% data variables.product.github %} review team is not able to successfully test your extension, it will not be approved for publishing. - ## Requirements for paid apps To publish a paid plan for your app on the {% data variables.product.prodname_marketplace %}, your app must be owned by an organization that is a verified publisher. For more information about the verification process or transferring ownership of your app, see [AUTOTITLE](/apps/github-marketplace/github-marketplace-overview/applying-for-publisher-verification-for-your-organization). diff --git a/content/apps/github-marketplace/github-marketplace-overview/about-github-marketplace-for-apps.md b/content/apps/github-marketplace/github-marketplace-overview/about-github-marketplace-for-apps.md index b7e5d8e98b8e..4573242c425d 100644 --- a/content/apps/github-marketplace/github-marketplace-overview/about-github-marketplace-for-apps.md +++ b/content/apps/github-marketplace/github-marketplace-overview/about-github-marketplace-for-apps.md @@ -44,12 +44,6 @@ If you're interested in creating an app for {% data variables.product.prodname_m {% data reusables.marketplace.github_apps_preferred %}, although you can list both OAuth and {% data variables.product.prodname_github_apps %} in {% data variables.product.prodname_marketplace %}. For more information, see [AUTOTITLE](/apps/oauth-apps/building-oauth-apps/differences-between-github-apps-and-oauth-apps) and [AUTOTITLE](/apps/creating-github-apps/about-creating-github-apps/migrating-oauth-apps-to-github-apps). -### {% data variables.copilot.copilot_extensions %} - -{% data reusables.copilot.copilot-extensions.copilot-extensions-intro %} - -To learn more about {% data variables.copilot.copilot_extensions_short %}, see [AUTOTITLE](/copilot/github-copilot-chat/github-copilot-extensions/using-github-copilot-extensions). - ## Publishing an app to {% data variables.product.prodname_marketplace %} overview When you have finished creating your app, you can share it with other users by publishing it to {% data variables.product.prodname_marketplace %}. In summary, the process is: diff --git a/content/copilot/concepts/billing/copilot-requests.md b/content/copilot/concepts/billing/copilot-requests.md index 7253e42d7f69..263523bb2574 100644 --- a/content/copilot/concepts/billing/copilot-requests.md +++ b/content/copilot/concepts/billing/copilot-requests.md @@ -44,7 +44,6 @@ The following {% data variables.product.prodname_copilot_short %} features can u | [{% data variables.copilot.copilot_cli_short %}](/copilot/concepts/agents/about-copilot-cli) | Each prompt to {% data variables.copilot.copilot_cli_short %} uses **one premium request** with the default model. For other models, this is multiplied by the model's rate. | {% data variables.product.prodname_copilot_short %} premium requests | | [{% data variables.product.prodname_copilot_short %} code review](/copilot/using-github-copilot/code-review/using-copilot-code-review) | When you assign {% data variables.product.prodname_copilot_short %} as a reviewer for a pull request, **one premium request** is used each time {% data variables.product.prodname_copilot_short %} posts comments to the pull request. | {% data variables.product.prodname_copilot_short %} premium requests | | [{% data variables.copilot.copilot_coding_agent %}](/copilot/concepts/about-copilot-coding-agent) | {% data variables.copilot.copilot_coding_agent %} uses **one premium request** per session, plus **one premium request** for each real-time steering comment made during an active session. A session begins when you ask {% data variables.product.prodname_copilot_short %} to create a pull request or make one or more changes to an existing pull request. | {% data variables.copilot.copilot_coding_agent %} premium requests | -| [{% data variables.copilot.copilot_extensions_short %}](/copilot/concepts/copilot-extensions/about-copilot-extensions) | {% data variables.copilot.copilot_extensions_short %} uses **one premium request** per user prompt, multiplied by the model's rate. | {% data variables.product.prodname_copilot_short %} premium requests | | [{% data variables.copilot.copilot_spaces %}](/copilot/using-github-copilot/copilot-spaces/about-organizing-and-sharing-context-with-copilot-spaces) | {% data variables.copilot.copilot_spaces %} uses **one premium request** per user prompt, multiplied by the model's rate. | {% data variables.product.prodname_copilot_short %} premium requests | | [{% data variables.product.prodname_spark_short %}](/copilot/tutorials/building-ai-app-prototypes) | Each prompt to {% data variables.product.prodname_spark_short %} uses a fixed rate of **four premium requests**. | {% data variables.product.prodname_spark_short %} premium requests | | [{% data variables.product.prodname_openai_codex %} integration](/copilot/concepts/agents/openai-codex) | While in preview, each prompt to {% data variables.product.prodname_openai_codex %} uses **one premium request** multiplied by the model multiplier rates. | {% data variables.product.prodname_copilot_short %} premium requests | diff --git a/content/copilot/concepts/chat.md b/content/copilot/concepts/chat.md index 3e63f8b80bec..0e0a0fade75a 100644 --- a/content/copilot/concepts/chat.md +++ b/content/copilot/concepts/chat.md @@ -58,10 +58,6 @@ MCP is an open standard that defines how applications share context with large l You can configure MCP servers to provide context to {% data variables.copilot.copilot_chat_short %} in various IDEs, such as {% data variables.product.prodname_vscode %} and JetBrains IDEs. For {% data variables.copilot.copilot_chat_dotcom_short %}, the {% data variables.product.github %} MCP server is automatically configured, enabling {% data variables.copilot.copilot_chat_short %} to perform a limited set of tasks, at your request, such as creating branches or merging pull requests. For more information, see [AUTOTITLE](/copilot/how-tos/context/model-context-protocol/extending-copilot-chat-with-mcp) and [AUTOTITLE](/copilot/how-tos/context/model-context-protocol/using-the-github-mcp-server). -### Extending {% data variables.copilot.copilot_chat_short %} with external tools - -{% data reusables.copilot.copilot-extensions.extending-copilot-chat %} - ### Further reading * [AUTOTITLE](/copilot/how-tos/chat-with-copilot) how-to guides diff --git a/content/copilot/concepts/context/copilot-extensions.md b/content/copilot/concepts/context/copilot-extensions.md deleted file mode 100644 index 031b3328946a..000000000000 --- a/content/copilot/concepts/context/copilot-extensions.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: About GitHub Copilot Extensions -shortTitle: Copilot extensions -intro: 'Learn about {% data variables.copilot.copilot_extensions_short %}.' -allowTitleToDifferFromFilename: true -product: '{% data reusables.gated-features.copilot-extensions %}' -versions: - feature: copilot-extensions -topics: - - Copilot -redirect_from: - - /copilot/reference/copilot-extensions/copilot-extensions-faq - - /copilot/reference/copilot-extensions - - /copilot/concepts/copilot-extensions/about-copilot-extensions - - /copilot/concepts/copilot-extensions/about-extensions -contentType: concepts -category: - - Learn about Copilot ---- - - - - - -{% data reusables.copilot.copilot-extensions.extensions-retirement %} - - - -## About {% data variables.copilot.copilot_extensions_short %} - -{% data reusables.copilot.copilot-extensions.about-copilot-extensions %} - -## Supported clients and IDEs - -{% data reusables.copilot.copilot-extensions.supported-clients-and-ides-table %} - -## Visibility of {% data variables.copilot.copilot_extensions %} - -{% data variables.copilot.copilot_extensions %} can be private, public and shareable, or public and listed on the {% data variables.product.prodname_marketplace %}. Which visibility option you choose will depend on your use case and the audience you are targeting. - -* Private extensions are often preferred by large enterprises or companies that: - * Want more customization and controls over data access - * Need to integrate with a large volume of internal documents and databases - * Have strict security policies making it difficult to authorize permissions for third-parties -* Public extensions are suitable for: - * Open-source projects - * Collaborative development and use across organizations within an enterprise - * Sharing your tool and getting feedback before publishing to the {% data variables.product.prodname_marketplace %} -* {% data variables.product.prodname_marketplace %} extensions are ideal for third-parties that want to: - * Offer their service to a broader audience - * Integrate their tool into the developer workflow on {% data variables.product.company_short %} and the IDE - * Leverage the {% data variables.product.company_short %} ecosystem to raise awareness for their product - -## {% data variables.copilot.copilot_extensions %} permissions - -Permissions vary by extension, depending on the level of authorization that the extension requires in order to respond to your query. You can view the required permissions on the extension’s installation page, located after the billing information step and before the install and authorize step. - -**For extension users**: At a minimum, the **{% data variables.copilot.copilot_chat_short %}** permissions must be set to "Read-only". Additional permissions may include executing write actions on other surfaces and authorizing read access to repository and organization level data in {% data variables.product.github %}. - -**For extension creators**: In addition to the above, you may also request local context from a user’s editor to further tailor responses. To do so, the **{% data variables.product.prodname_copilot_short %} Editor Context** permissions must be set to "Read-only". Users will be notified to provide the required authorization. - -For more information on {% data variables.product.prodname_github_app %} permissions, see [AUTOTITLE](/apps/creating-github-apps/registering-a-github-app/choosing-permissions-for-a-github-app). - -### Granting permissions to access organization resources - -Users with an individual {% data variables.product.prodname_copilot_short %} subscription can install and use {% data variables.copilot.copilot_extensions_short %}. Users with a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} subscription need an organization administrator to enable this feature. - -Only organization administrators can grant permissions for {% data variables.copilot.copilot_extensions_short %} to access organization resources. - -To grant organization members access, the organization administrator must: - -* Install the extension -* Grant the extension permission to access specific repositories -* Authorize access for all, or specific repositories - -### Controlling access at the enterprise level - -If you are an enterprise administrator, you can disable {% data variables.copilot.copilot_extensions_short %} across your enterprise by setting the **{% data variables.copilot.copilot_extensions_short %}** policy to "Disabled". The "No Policy" setting allows organization administrators to set their own policy. - -No, there is no allowlist or blocklist at the enterprise level. - -## Sharing data with {% data variables.copilot.copilot_extensions_short %} - -The following data is shared when you interact with {% data variables.copilot.copilot_extensions_short %}: - -* Data attached to your account and {% data variables.copilot.copilot_chat_short %} usage, such as {% data variables.product.github %} user ID, and timestamps of messages. -* Past messages within the chat thread where you are invoking an extension. Only one extension can be used per thread, preventing data sharing across extensions. The data retention period for thread context is 30 days. -* Any additional organization and repository data that is authorized for the extension by your organization administrator. Administrators installing extensions must approve access to the required permissions prior to completing installation. -* For {% data variables.copilot.copilot_chat_dotcom_short %}, if your administrator has approved the extension to access repository or organization metadata, that data will be shared as well. - -## Further reading - -* [AUTOTITLE](/copilot/concepts/extensions/build-extensions) diff --git a/content/copilot/concepts/context/index.md b/content/copilot/concepts/context/index.md index fcd2299cccc1..1e46e81152e5 100644 --- a/content/copilot/concepts/context/index.md +++ b/content/copilot/concepts/context/index.md @@ -13,7 +13,6 @@ children: - /repository-indexing - /content-exclusion - /knowledge-bases - - /copilot-extensions contentType: concepts --- diff --git a/content/copilot/concepts/context/mcp.md b/content/copilot/concepts/context/mcp.md index e538ad7d86fc..373189bb65a0 100644 --- a/content/copilot/concepts/context/mcp.md +++ b/content/copilot/concepts/context/mcp.md @@ -10,6 +10,23 @@ topics: contentType: concepts redirect_from: - /copilot/concepts/about-mcp + - /copilot/concepts/extensions/agents + - /copilot/concepts/extensions/build-extensions + - /copilot/concepts/extensions/skillsets + - /copilot/concepts/extensions/openid-connect + - /copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/use-copilots-llm + - /copilot/how-tos/use-copilot-extensions/create-a-copilot-extension/create-github-app + - /copilot/how-tos/use-copilot-extensions/build-copilot-skillsets + - /copilot/how-tos/use-copilot-extensions/debug-copilot-extension + - /copilot/how-tos/use-copilot-extensions/manage-extension-availability + - /copilot/how-tos/use-copilot-extensions/set-up-oidc + - /copilot/how-tos/provide-context/install-copilot-extensions + - /copilot/concepts/extensions + - /copilot/how-tos/use-copilot-extensions/create-a-copilot-extension + - /copilot/how-tos/use-copilot-extensions + - /copilot/concepts/context/copilot-extensions + - /copilot/reference/extensions-glossary + - /copilot/how-tos/use-copilot-extensions/build-a-copilot-agent category: - Learn about Copilot --- diff --git a/content/copilot/concepts/extensions/agents.md b/content/copilot/concepts/extensions/agents.md deleted file mode 100644 index 542055e06029..000000000000 --- a/content/copilot/concepts/extensions/agents.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: About agents for GitHub Copilot Extensions -shortTitle: Agents -intro: 'Learn what {% data variables.copilot.copilot_agents %} are and how they can enhance your {% data variables.copilot.copilot_chat %} experience.' -allowTitleToDifferFromFilename: true -versions: - feature: copilot-extensions -topics: - - Copilot -redirect_from: - - /copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/about-copilot-agents - - /copilot/concepts/build-copilot-extensions/agents-for-copilot-extensions - - /copilot/concepts/copilot-extensions/agents-for-copilot-extensions - - /copilot/concepts/copilot-extensions/agents -contentType: concepts -category: - - Learn about Copilot ---- - -{% data variables.copilot.copilot_agents_short %} are custom tools embedded in {% data variables.copilot.copilot_extensions_short %}. They integrate with {% data variables.copilot.copilot_chat_short %} to provide additional functionalities tailored to specific needs. {% data variables.copilot.copilot_agents_short %} can perform various tasks such as querying documentation, retrieving data, executing specific actions, or providing AI-assisted coding suggestions. They enhance the capabilities of {% data variables.product.prodname_copilot %} by allowing developers to build and integrate custom features directly into the {% data variables.copilot.copilot_chat_short %} interface. - -To use a {% data variables.copilot.copilot_agent_short %} in {% data variables.copilot.copilot_chat_short %}, it must be associated with a {% data variables.product.prodname_github_app %}. This combination of a {% data variables.product.prodname_github_app %} and a {% data variables.copilot.copilot_agent_short %} is what we refer to as a {% data variables.copilot.copilot_extension %}. For more information on {% data variables.copilot.copilot_extensions_short %}, see [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions). - -Any {% data variables.product.company_short %} user can create a {% data variables.copilot.copilot_extension_short %} by building a {% data variables.copilot.copilot_agent_short %} and associating it with a {% data variables.product.prodname_github_app %}. For more information on creating a {% data variables.copilot.copilot_extension_short %}, see [AUTOTITLE](/copilot/building-copilot-extensions/setting-up-copilot-extensions). - -## Further reading - -* [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-the-copilot-platform) -* [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github) diff --git a/content/copilot/concepts/extensions/build-extensions.md b/content/copilot/concepts/extensions/build-extensions.md deleted file mode 100644 index 6d1166f3acea..000000000000 --- a/content/copilot/concepts/extensions/build-extensions.md +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: About building GitHub Copilot Extensions -shortTitle: Build extensions -intro: Learn about developing {% data variables.copilot.copilot_extensions_short %}. -allowTitleToDifferFromFilename: true -product: '{% data reusables.gated-features.copilot-extensions %}' -versions: - feature: copilot-extensions -topics: - - Copilot -redirect_from: - - /copilot/building-copilot-extensions/about-building-copilot-extensions - - /copilot/concepts/build-copilot-extensions/about-building-copilot-extensions - - /copilot/concepts/copilot-extensions/about-building-copilot-extensions - - /copilot/concepts/extensions/about-extensions -contentType: concepts -category: - - Integrate Copilot with your tools ---- - - - - - -{% data reusables.copilot.copilot-extensions.extensions-retirement %} - - - -## About building {% data variables.copilot.copilot_extensions_short %} - -{% data reusables.copilot.copilot-extensions.about-copilot-extensions %} - -## About skillsets and agents - -{% data reusables.copilot.copilot-extensions.differences-between-agents-and-skillsets-1 %} -For more information about skillsets, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/about-copilot-skillsets). -{% data reusables.copilot.copilot-extensions.differences-between-agents-and-skillsets-2 %} - -## About context passing - -You can allow your {% data variables.copilot.copilot_extension_short %} to receive context from the editor, such as the currently opened file, by enabling the **Read-only** access level for the "{% data variables.product.prodname_copilot_short %} Editor Context" permission in your {% data variables.product.prodname_github_app %} settings. See step 10 of [Configuring your {% data variables.product.prodname_github_app %}](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-extension#configuring-your-github-app). - -The {% data variables.copilot.copilot_extensibility_platform %} automatically handles messaging when implicit and explicit context is unavailable or unauthorized. To enable context passing, you are required to request permissions from users. To enable context passing, you are required to: - -* Update your APIs to handle new reference types. -* Request permissions from users. When requesting permissions, follow these best practices: - * Clearly communicate what context you need and what you need it for. - * Implement appropriate error handling for unavailable context that your own application logic and API calls. - * If context is unavailable, provide value where possible without this data. - * Request only the minimum required permissions for your extension. - -Context passing respects content exclusions, which refers to any files listed in your context exclusion settings, including files that begin with `.`. - -For more information about context passing, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/context-passing-for-your-agent). - -## Using APIs in {% data variables.copilot.copilot_extensions %} - -Building {% data variables.copilot.copilot_extensions %} requires using the {% data variables.product.github %} API. Optionally, the {% data variables.product.prodname_copilot_short %} API can be used for additional capabilities. For details on request and response formatting, see the [OpenAI API documentation](https://platform.openai.com/docs/api-reference/chat). - -> [!NOTE] The {% data variables.product.prodname_copilot_short %} API is available for {% data variables.copilot.copilot_extension_short %} builders, but only {% data variables.product.prodname_github_apps %} and {% data variables.product.prodname_vscode_shortname %} Chat extensions can be used to access these endpoints. - -## Resources for building {% data variables.copilot.copilot_extensions %} - -{% data variables.product.company_short %} provides a comprehensive toolkit for extension builders, with code samples, a CLI debugging tool, quickstart SDKs, and a user feedback repository. For more information, see the [copilot-extensions](https://github.com/orgs/copilot-extensions/) organization on {% data variables.product.company_short %}. - -Before creating your own {% data variables.copilot.copilot_extension %} from scratch, you may want to explore an existing {% data variables.copilot.copilot_agent_short %}, then integrate it with a {% data variables.product.prodname_github_app %} to see how it works. {% data variables.product.company_short %} provides a few example {% data variables.copilot.copilot_agents_short %} that you can clone and use as the basis for your own {% data variables.copilot.copilot_extension %}: - -* **Blackbeard:** A simple {% data variables.copilot.copilot_agent_short %} that responds to requests like a pirate, using {% data variables.product.prodname_copilot_short %}'s LLM API and special system prompts. It is a good starting point for learning how to build a {% data variables.copilot.copilot_extension %}. For more information, see the [Blackbeard {% data variables.copilot.copilot_extension_short %}](https://github.com/copilot-extensions/blackbeard-extension). -* **{% data variables.product.prodname_github_models %}:** A more complex {% data variables.copilot.copilot_agent_short %} that lets you ask about and interact with various LLMs listed on the {% data variables.product.prodname_marketplace %} from within {% data variables.copilot.copilot_chat_short %}. For more information, see the [{% data variables.product.prodname_github_models %} {% data variables.copilot.copilot_extension_short %}](https://github.com/copilot-extensions/github-models-extension). - - > [!NOTE] {% data variables.product.prodname_github_models %} are in {% data variables.release-phases.public_preview %} and subject to change. - -* **Function calling:** an example agent written in Go that demonstrates function calling and confirmation dialogues. For more information, see the [Function calling extension](https://github.com/copilot-extensions/function-calling-extension). -* **RAG extension:** an example agent written in Go that demonstrates a simple implementation of retrieval augmented generation. For more information, see the [RAG extension](https://github.com/copilot-extensions/rag-extension). -* **Preview SDK:** An SDK that simplifies the process of building {% data variables.copilot.copilot_extensions %} by handling request verification, response formatting, and API interactions. It allows builders to focus on their extension's core functionality rather than boilerplate, by streamlining the integration of tools, APIs, and data sources into {% data variables.copilot.copilot_chat_short %}. For more information, see the [Preview SDK](https://github.com/copilot-extensions/preview-sdk.js). - -## About building {% data variables.copilot.copilot_vsc_chat_participants %} - -> [!NOTE] The {% data variables.product.github %} documentation focuses on building {% data variables.copilot.copilot_extensions %}, not {% data variables.copilot.copilot_vsc_chat_participants %}. - -You can build a {% data variables.copilot.copilot_extension_short %} that is exclusive and native to {% data variables.product.prodname_vscode %}, called a {% data variables.copilot.copilot_vsc_chat_participant %}. - -{% data variables.copilot.copilot_extensions %} and {% data variables.copilot.copilot_vsc_chat_participants %} use the same backend platform to route requests to extensions. Both provide similar end-user experiences, integrate with {% data variables.copilot.copilot_chat_short %}, and can leverage the {% data variables.product.prodname_copilot_short %} API or other LLMs. - -While they share similarities, below are several key differences: - -* {% data variables.copilot.copilot_extensions %} can be used in any editor where extensions are supported, while {% data variables.copilot.copilot_vsc_chat_participants %} are only available in {% data variables.product.prodname_vscode %}. -* {% data variables.copilot.copilot_extensions %} are server-side extensions, requiring server infrastructure to build. These extensions provide a built-in connection to your {% data variables.product.github %} workspaces, as set by your organization administrator. -* {% data variables.copilot.copilot_vsc_chat_participants %} are client-side extensions that have more access to {% data variables.product.prodname_vscode_shortname %}'s features and APIs, allowing more editor-specific interactions like accessing local workspace data, manipulating {% data variables.product.prodname_vscode %}'s interface, and read/write access to local files. They do not require server infrastructure. -* Because {% data variables.copilot.copilot_vsc_chat_participants %} are local to the user's machine, they cannot be controlled by the {% data variables.product.prodname_copilot_short %} policies of an organization or enterprise on {% data variables.product.prodname_dotcom_the_website %}. -* {% data variables.copilot.copilot_vsc_chat_participants %} are published to the {% data variables.product.prodname_vs_marketplace_shortname %}, not the {% data variables.product.prodname_marketplace %}. - -{% data variables.copilot.copilot_vsc_chat_participants %} are best suited for developers who want to build extensions that use {% data variables.product.prodname_vscode_shortname %}-specific APIs and functionality, or extend existing {% data variables.product.prodname_vscode_shortname %} extensions. - -For more information on {% data variables.copilot.copilot_vsc_chat_participants %}, see [Chat extensions](https://code.visualstudio.com/api/extension-guides/chat) in the {% data variables.product.prodname_vscode %} documentation. - -## Indemnity for {% data variables.copilot.copilot_extensions_short %} - -{% data variables.copilot.copilot_extensions_short %} are not covered by {% data variables.product.prodname_copilot %}’s indemnity policy. However, this exclusion applies only to issues that arise within extension chat threads. - -Installing and using extensions does not affect indemnity coverage for any issues that occur while using other {% data variables.product.prodname_copilot_short %} features such as code completion and chat. - -## Further reading - -* [AUTOTITLE](/copilot/building-copilot-extensions/copilot-extensions-glossary) diff --git a/content/copilot/concepts/extensions/index.md b/content/copilot/concepts/extensions/index.md deleted file mode 100644 index 18ebc2726af4..000000000000 --- a/content/copilot/concepts/extensions/index.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: GitHub Copilot Extensions -shortTitle: Extensions -intro: Understand components for building {% data variables.copilot.copilot_extensions_short %}. -versions: - feature: copilot -topics: - - Copilot -redirect_from: - - /copilot/concepts/build-copilot-extensions - - /copilot/concepts/copilot-extensions -children: - - /build-extensions - - /agents - - /skillsets - - /openid-connect -contentType: concepts ---- - diff --git a/content/copilot/concepts/extensions/openid-connect.md b/content/copilot/concepts/extensions/openid-connect.md deleted file mode 100644 index 47168fe03a6c..000000000000 --- a/content/copilot/concepts/extensions/openid-connect.md +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: OpenID Connect (OIDC) for GitHub Copilot Extensions -shortTitle: OpenID Connect -allowTitleToDifferFromFilename: true -intro: 'Learn how OpenID Connect (OIDC) enables {% data variables.copilot.copilot_extensions_short %} to securely authenticate users and access cloud resources without storing long-lived credentials.' -versions: - feature: copilot-extensions -topics: - - Copilot -redirect_from: - - /copilot/concepts/build-copilot-extensions/openid-connect - - /copilot/concepts/copilot-extensions/openid-connect -contentType: concepts -category: - - Integrate Copilot with your tools ---- - -## About OpenID Connect (OIDC) for {% data variables.copilot.copilot_extensions_short %} - -OpenID Connect (OIDC) allows {% data variables.copilot.copilot_extensions_short %} to exchange short-lived tokens directly from their cloud provider instead of storing long-lived {% data variables.product.github %} credentials. This feature enables both Copilot agents and skillsets to more securely authenticate users and access cloud resources. - -### Overview of OIDC - -{% data variables.copilot.copilot_extensions_short %} often need to access third-party resources or APIs on behalf of users. Traditionally, this required storing {% data variables.product.github %} tokens as secrets and making additional API calls to map these tokens to user identities in your system. With OIDC, your extension can request short-lived access tokens directly from your authentication service by exchanging {% data variables.product.github %} identity information. - -When enabled, {% data variables.product.github %}'s OIDC provider automatically generates a token containing claims about the user and the request context. Your authentication service can validate these claims and exchange them for an access token scoped specifically for your service. - -Using OIDC is especially valuable for {% data variables.product.prodname_copilot_short %} skillsets development because it allows you to leverage your existing API endpoints without maintaining separate {% data variables.product.github %}-specific endpoints. Instead of duplicating endpoints to accept {% data variables.product.github %} tokens, you can use OIDC to translate {% data variables.product.github %} identities into your service’s native authentication tokens. - -### Benefits of using OIDC - -By implementing OIDC token exchange in your {% data variables.copilot.copilot_extension_short %}, you can: - -* Avoid storing long-lived {% data variables.product.github %} tokens or maintain a mapping between {% data variables.product.github %} and your service's identities. -* Use short-lived tokens that automatically expire and can be scoped specifically to your service's needs. -* Avoid making additional calls to {% data variables.product.github %}'s API to validate tokens and fetch user information. -* Enable direct integration for {% data variables.product.prodname_copilot_short %} Skills with your existing APIs without maintaining separate endpoints for {% data variables.product.github %}. -* Reuse existing API endpoints by translating {% data variables.product.github %} authentication into your service's native tokens. - -## About token exchange flow - -The following outlines how the {% data variables.copilot.copilot_extensibility_platform_short %} exchanges an OIDC token for an access token to authenticate requests to your extension. - -### Initial request - -1. The user sends a message to your {% data variables.copilot.copilot_extension_short %}. -1. GitHub generates an OIDC token containing user identity information. -1. GitHub calls your token exchange endpoint with the OIDC token. -1. Your service validates the token and returns an access token. -1. GitHub includes your access token in the request to your extension. - -```http request -# HTTP header -Authorization: Bearer -X-GitHub-Token: -``` - -### Subsequent requests - -1. {% data variables.product.github %} caches your access token for up to 10 minutes. -1. The cached token is reused for subsequent requests. -1. If the token expires or becomes invalid, {% data variables.product.github %} requests a new one. - -## Understanding OIDC tokens - -The OIDC token from {% data variables.product.github %} is a JWT containing claims about the user and request context: - -```json -{ - "jti": "", - "sub": "", - "aud": "", - "iss": "https://github.com/login/oauth", - "nbf": 1632492967, - "exp": 1632493867, - "iat": 1632493567, - "act": { - "sub": "api.copilotchat.com" - } -} -``` - -## Best practices - -* Scope tokens to the minimum required permissions. -* Implement proper error handling and logging. -* Monitor token exchange patterns for security anomalies. -* Keep tokens short-lived to minimize security risks. -* Validate all claims before issuing access tokens. -* Consider implementing rate limiting on your token exchange endpoint. -* Use HTTPS for all token exchange communications. - -## Next steps - -* [AUTOTITLE](/copilot/how-tos/build-copilot-extensions/set-up-oidc) diff --git a/content/copilot/concepts/extensions/skillsets.md b/content/copilot/concepts/extensions/skillsets.md deleted file mode 100644 index 9d41d94683f6..000000000000 --- a/content/copilot/concepts/extensions/skillsets.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: About skillsets for GitHub Copilot Extensions -shortTitle: Skillsets -allowTitleToDifferFromFilename: true -intro: 'Learn what {% data variables.copilot.copilot_skillsets %} are and how they simplify integrating third-party tools and functions into your {% data variables.product.prodname_copilot_short %} experience.' -versions: - feature: copilot-extensions -topics: - - Copilot -redirect_from: - - /copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/about-copilot-skillsets - - /copilot/concepts/build-copilot-extensions/skillsets-for-copilot-extensions - - /copilot/concepts/copilot-extensions/skillsets-for-copilot-extensions - - /copilot/concepts/copilot-extensions/skillsets -contentType: concepts -category: - - Integrate Copilot with your tools ---- - -A skill within {% data variables.product.prodname_copilot %} is a tool that the model calls to perform a specific task in response to a user query. A skillset is a collection of these skills (up to five per skillset). {% data variables.copilot.copilot_skillsets %} provide a streamlined way to extend {% data variables.product.prodname_copilot_short %}’s functionality, allowing builders to integrate external services or custom API endpoints into their {% data variables.product.prodname_copilot_short %} workflow. With skillsets, builders can enable {% data variables.product.prodname_copilot_short %} to perform tasks—such as retrieving data or executing actions in third-party services—without needing to manage complex workflows or architecture. - -For a quickstart example of a skillset, see the [skillset-example](https://github.com/copilot-extensions/skillset-example) repository. For information on building a skillset, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/building-copilot-skillsets). - -## How skillsets and agents differ - -{% data reusables.copilot.copilot-extensions.differences-between-agents-and-skillsets-1 %} -{% data reusables.copilot.copilot-extensions.differences-between-agents-and-skillsets-2 %} - -## The extensibility platform - -Skillsets and agents both operate on the {% data variables.copilot.copilot_extensibility_platform %}, which manages the flow of user requests and function evaluations. With {% data variables.copilot.copilot_skillsets_short %}, the platform handles routing, prompt crafting, function calls and prompt generation. - -### Workflow overview - -The extensibility platform follows a structured workflow to process user requests and generate responses: - -1. **User request** -A user issues a request in the {% data variables.copilot.copilot_chat_short %} interface, such as asking for data or executing a specific action. - -1. **Routing** -The request is routed to the appropriate extension. For skillsets, this means the platform agent identifies and invokes the corresponding skillset based on the user’s intent. Each skill’s inference description helps the platform determine which skill to call. - -1. **Dynamic Prompt Crafting** -{% data variables.product.prodname_copilot %} generates a prompt using: - * The user’s query. - * Relevant thread history. - * Available functions within the skillset. - * Results from any prior function calls. - -1. **LLM Completion** -The language model (LLM) processes the prompt and determines: - * Whether the user’s intent matches a skillset function. - * Which function(s) to call and with what arguments. - * If required, the LLM may send additional function calls to gather more context. - -1. **Function Evaluation** -The extension invokes the selected function(s), which may involve: - * Gathering relevant context, such as {% data variables.copilot.copilot_skillsets_short %} repository or user metadata. - * Making an API call to an external service to retrieve data or execute an action. - -1. **Response generation** -The platform iteratively refines the output, looping through prompt crafting, LLM completion, and function evaluation as needed. Once the process is complete, {% data variables.product.prodname_copilot_short %} streams a final response back to the user in the chat interface. diff --git a/content/copilot/concepts/index.md b/content/copilot/concepts/index.md index c8ffc4f1b3ec..119630fff292 100644 --- a/content/copilot/concepts/index.md +++ b/content/copilot/concepts/index.md @@ -20,7 +20,6 @@ children: - /about-enterprise-accounts-for-copilot-business - /policies - /network-settings - - /extensions - /copilot-metrics contentType: concepts --- diff --git a/content/copilot/get-started/features.md b/content/copilot/get-started/features.md index 72bf3053cc16..fc278e2dc28a 100644 --- a/content/copilot/get-started/features.md +++ b/content/copilot/get-started/features.md @@ -51,10 +51,6 @@ AI-generated summaries of the changes that were made in a pull request, which fi AI-generated text completion to help you write pull request descriptions quickly and accurately. See [AUTOTITLE](/copilot/using-github-copilot/using-copilot-text-completion). -### {% data variables.copilot.copilot_extensions_short %} - -{% data reusables.copilot.copilot-extensions.copilot-extensions-intro %} See [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions). - ### {% data variables.copilot.copilot_edits_short %} {% data variables.copilot.copilot_edits_short %} is available in {% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, and JetBrains IDEs. {% data reusables.copilot.copilot-edits.about-copilot-edits %} diff --git a/content/copilot/how-tos/administer-copilot/configure-mcp-server-access.md b/content/copilot/how-tos/administer-copilot/configure-mcp-server-access.md index 58b270c1c3c2..bf00998c76fa 100644 --- a/content/copilot/how-tos/administer-copilot/configure-mcp-server-access.md +++ b/content/copilot/how-tos/administer-copilot/configure-mcp-server-access.md @@ -10,11 +10,14 @@ topics: - Copilot - Enterprise shortTitle: Configure MCP server access +redirect_from: + - /copilot/how-tos/administer-copilot/manage-for-organization/set-extension-permissions contentType: how-tos category: - Manage Copilot for a team --- + > [!NOTE] > The MCP registry URL and allowlist are in {% data variables.release-phases.public_preview %} and subject to change. diff --git a/content/copilot/how-tos/administer-copilot/manage-for-organization/index.md b/content/copilot/how-tos/administer-copilot/manage-for-organization/index.md index 786c0268a20c..cf12c72d3ea9 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-organization/index.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-organization/index.md @@ -18,7 +18,6 @@ children: - /manage-policies - /add-copilot-coding-agent - /prepare-for-custom-agents - - /set-extension-permissions - /review-activity contentType: how-tos --- diff --git a/content/copilot/how-tos/administer-copilot/manage-for-organization/manage-policies.md b/content/copilot/how-tos/administer-copilot/manage-for-organization/manage-policies.md index 5f8f95c07e5f..af7f21c89afa 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-organization/manage-policies.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-organization/manage-policies.md @@ -54,5 +54,4 @@ If your organization has a {% data variables.copilot.copilot_business_short %} o * [{% data variables.product.prodname_copilot %} Trust Center](https://copilot.github.trust.page) * [AUTOTITLE](/copilot/using-github-copilot/finding-public-code-that-matches-github-copilot-suggestions) -* [AUTOTITLE](/copilot/how-tos/administer/organizations/set-extension-permissions) * [AUTOTITLE](/enterprise-cloud@latest/copilot/setting-up-github-copilot/setting-up-github-copilot-for-your-enterprise) diff --git a/content/copilot/how-tos/administer-copilot/manage-for-organization/set-extension-permissions.md b/content/copilot/how-tos/administer-copilot/manage-for-organization/set-extension-permissions.md deleted file mode 100644 index 5bfaa292b1f9..000000000000 --- a/content/copilot/how-tos/administer-copilot/manage-for-organization/set-extension-permissions.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: Setting permissions for a GitHub Copilot extension in your organization -intro: 'Learn how to control access to {% data variables.copilot.copilot_extensions %}.' -permissions: Organization owners -product: 'Organizations with a {% data variables.copilot.copilot_for_business %} or {% data variables.copilot.copilot_enterprise %} plan' -versions: - feature: copilot-extensions -allowTitleToDifferFromFilename: true -topics: - - Copilot - - Organizations - - Permissions -shortTitle: Set extension permissions -redirect_from: - - /copilot/how-tos/administer/organizations/set-extension-permissions - - /copilot/how-tos/administer/manage-for-organization/set-extension-permissions -contentType: how-tos -category: - - Manage Copilot for a team ---- - -{% data variables.copilot.copilot_extensions %} integrate external tools with {% data variables.copilot.copilot_chat %}. See [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions). - -## Prerequisites - -* Set a usage policy to enable or disable {% data variables.copilot.copilot_extensions_short %} for all users granted a {% data variables.product.prodname_copilot_short %} license by your organization, controlling your security risk. See [AUTOTITLE](/copilot/how-tos/administer/organizations/managing-policies-for-copilot-in-your-organization). -* Install a {% data variables.copilot.copilot_extension_short %} in your organization. See [AUTOTITLE](/copilot/how-tos/context/install-copilot-extensions/extending-the-capabilities-of-github-copilot-in-your-organization). - -## Managing permissions for a {% data variables.copilot.copilot_extension %} in your organization - -After you have installed a {% data variables.copilot.copilot_extension_short %} in your organization, you can view the permissions the extension has in your organization, and why those permissions are necessary. If you do not want the {% data variables.copilot.copilot_extension_short %} to have the listed permissions, you can suspend or uninstall the extension. - -{% data reusables.profile.access_org %} -{% data reusables.profile.org_settings %} -{% data reusables.apps.access-org-app-settings %} -1. Optionally, to filter your installed {% data variables.product.prodname_github_apps %} for {% data variables.copilot.copilot_extensions_short %}, select the **Filter:** dropdown menu, then click **{% data variables.copilot.copilot_extensions_short %}**. -1. Next to the {% data variables.copilot.copilot_extension_short %} you want to review or modify, click **Configure**. -1. In the "Permissions" section, review the permissions listed for the {% data variables.copilot.copilot_extension_short %}. Optionally, you can block the {% data variables.copilot.copilot_extension_short %}'s access to your organization in one of two ways: - * To indefinitely suspend the {% data variables.copilot.copilot_extension_short %}'s access to resources in your organization while keeping the extension installed, in the "Danger zone" section, click **Suspend**. - * To uninstall a {% data variables.copilot.copilot_extension_short %} completely, in the "Danger zone" section, click **Uninstall**. - -## Further reading - -* [{% data variables.product.prodname_copilot %} Trust Center](https://copilot.github.trust.page) -* [AUTOTITLE](/copilot/how-tos/context/install-copilot-extensions/using-extensions-to-integrate-external-tools-with-copilot-chat) -* [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions) diff --git a/content/copilot/how-tos/chat-with-copilot/chat-in-ide.md b/content/copilot/how-tos/chat-with-copilot/chat-in-ide.md index 3be722ce11c3..4ca79db38f01 100644 --- a/content/copilot/how-tos/chat-with-copilot/chat-in-ide.md +++ b/content/copilot/how-tos/chat-with-copilot/chat-in-ide.md @@ -68,10 +68,6 @@ Alternatively, you can manually specify a chat participant to scope your prompt For a list of available chat participants, type `@` in the chat prompt box. See also [AUTOTITLE](/copilot/using-github-copilot/github-copilot-chat-cheat-sheet?tool=vscode#chat-participants) or [Chat participants](https://code.visualstudio.com/docs/copilot/copilot-chat#_chat-participants) in the {% data variables.product.prodname_vscode %} documentation. -### {% data variables.copilot.copilot_extensions_short %} chat participants - -You can also install {% data variables.copilot.copilot_extensions_short %} that provide chat participants. You can install these extensions from [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace?type=apps&copilot_app=true) and from [{% data variables.product.prodname_vscode_marketplace %}](https://marketplace.visualstudio.com/search?target=VSCode&category=Chat&sortBy=Installs). For information about extensions from {% data variables.product.prodname_marketplace %} that provide chat participants, see [AUTOTITLE](/copilot/github-copilot-chat/github-copilot-extensions/about-github-copilot-extensions). - ### Slash commands Use slash commands to avoid writing complex prompts for common scenarios. To use a slash command, type `/` in the chat prompt box, followed by a command. @@ -105,6 +101,10 @@ You can tell {% data variables.product.prodname_copilot_short %} to answer a que {% endif %} +## Using Model Context Protocol (MCP) servers + +{% data reusables.copilot.mcp.mcp-chat-in-ide %} + ## AI models for {% data variables.copilot.copilot_chat_short %} {% data reusables.copilot.change-the-ai-model %} @@ -227,10 +227,6 @@ You can ask {% data variables.copilot.copilot_chat_short %} to give you code sug You can use special keywords to help {% data variables.product.prodname_copilot_short %} understand your prompt. -### Extending {% data variables.copilot.copilot_chat_short %} - -{% data reusables.copilot.copilot-extensions.extending-copilot-chat %} - ### Slash commands Use slash commands to avoid writing complex prompts for common scenarios. To use a slash command, type `/` in the chat prompt box, followed by a command. @@ -272,6 +268,10 @@ You can tell {% data variables.product.prodname_copilot_short %} to answer a que {% endif %} +## Using Model Context Protocol (MCP) servers + +{% data reusables.copilot.mcp.mcp-chat-in-ide %} + ## AI models for {% data variables.copilot.copilot_chat_short %} {% data reusables.copilot.change-the-ai-model %} @@ -375,6 +375,12 @@ You can ask {% data variables.copilot.copilot_chat_short %} to give you code sug You can use special keywords to help {% data variables.product.prodname_copilot_short %} understand your prompt. +### Chat participants + +Chat participants are like domain experts who have a specialty that they can help you with. You can use a chat participant to scope your prompt to a specific domain. To do this, type `@` in the chat prompt box, followed by a chat participant name. + +For a list of available chat participants, type `@` in the chat prompt box. See also [AUTOTITLE](/copilot/using-github-copilot/github-copilot-chat-cheat-sheet?tool=jetbrains#chat-participants-1). + ### Extending {% data variables.copilot.copilot_chat_short %} {% data reusables.copilot.copilot-extensions.extending-copilot-chat %} @@ -393,6 +399,10 @@ By default, {% data variables.copilot.copilot_chat_short %} will reference the f {% data reusables.copilot.using-skills %} +## Using Model Context Protocol (MCP) servers + +{% data reusables.copilot.mcp.mcp-chat-in-ide %} + ## AI models for {% data variables.copilot.copilot_chat_short %} {% data reusables.copilot.change-the-ai-model %} @@ -483,6 +493,10 @@ You can ask {% data variables.copilot.copilot_chat_short %} to give you code sug To see the files that {% data variables.copilot.copilot_chat_short %} used to generate the response, click the **References** link below the response. The references may include a link to a custom instructions file for your repository. This file contains additional information that is automatically added to all of your chat questions to improve the quality of the responses. For more information, see [AUTOTITLE](/copilot/how-tos/custom-instructions/adding-repository-custom-instructions-for-github-copilot). +## Using Model Context Protocol (MCP) servers + +{% data reusables.copilot.mcp.mcp-chat-in-ide %} + ## AI models for {% data variables.copilot.copilot_chat_short %} {% data reusables.copilot.change-the-ai-model %} @@ -567,6 +581,10 @@ Use slash commands to avoid writing complex prompts for common scenarios. To use To see all available slash commands, type `/` in the chat prompt box. +## Using Model Context Protocol (MCP) servers + +{% data reusables.copilot.mcp.mcp-chat-in-ide %} + ## AI models for {% data variables.copilot.copilot_chat_short %} {% data reusables.copilot.change-the-ai-model %} diff --git a/content/copilot/how-tos/index.md b/content/copilot/how-tos/index.md index 4f4655bedcea..33f4ee2caa27 100644 --- a/content/copilot/how-tos/index.md +++ b/content/copilot/how-tos/index.md @@ -21,7 +21,6 @@ children: - /manage-your-account - /administer-copilot - /troubleshoot-copilot - - /use-copilot-extensions redirect_from: - /copilot/using-github-copilot contentType: how-tos diff --git a/content/copilot/how-tos/provide-context/index.md b/content/copilot/how-tos/provide-context/index.md index 7af9e7085411..46bb578eb024 100644 --- a/content/copilot/how-tos/provide-context/index.md +++ b/content/copilot/how-tos/provide-context/index.md @@ -11,7 +11,6 @@ children: - /use-mcp - /create-knowledge-bases - /use-knowledge-bases - - /install-copilot-extensions redirect_from: - /copilot/customizing-copilot - /copilot/how-tos/context diff --git a/content/copilot/how-tos/provide-context/install-copilot-extensions/index.md b/content/copilot/how-tos/provide-context/install-copilot-extensions/index.md deleted file mode 100644 index 427564269d61..000000000000 --- a/content/copilot/how-tos/provide-context/install-copilot-extensions/index.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Install GitHub Copilot Extensions -shortTitle: Install Copilot Extensions -intro: 'You can interact with external tools and add additional functionality to {% data variables.product.prodname_copilot_short %}.' -versions: - feature: copilot -topics: - - Copilot -children: - - /use-copilot-extensions - - /install-personal-extensions - - /install-extensions -redirect_from: - - /copilot/how-tos/context/install-copilot-extensions -contentType: how-tos ---- - diff --git a/content/copilot/how-tos/provide-context/install-copilot-extensions/install-extensions.md b/content/copilot/how-tos/provide-context/install-copilot-extensions/install-extensions.md deleted file mode 100644 index 7523a24551db..000000000000 --- a/content/copilot/how-tos/provide-context/install-copilot-extensions/install-extensions.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: Extending the capabilities of GitHub Copilot in your organization -shortTitle: Install extensions -intro: 'You can add additional functionality to {% data variables.product.prodname_copilot_short %} in your organization, by installing certain {% data variables.product.prodname_github_apps %} from {% data variables.product.prodname_marketplace %}.' -product: 'Organization owners can install {% data variables.copilot.copilot_extensions %} for an organization.' -versions: - feature: copilot-extensions -topics: - - Copilot -redirect_from: - - /copilot/managing-copilot/managing-github-copilot-in-your-organization/customizing-copilot-for-your-organization/extending-the-capabilities-of-github-copilot-in-your-organization - - /copilot/managing-copilot/managing-github-copilot-in-your-organization/enhancing-copilot-for-your-organization/extending-the-capabilities-of-github-copilot-in-your-organization - - /copilot/github-copilot-chat/github-copilot-extensions/installing-github-copilot-extensions-for-your-organization - - /copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-github-copilot-features-in-your-organization/installing-github-copilot-extensions-for-your-organization - - /copilot/managing-copilot/managing-github-copilot-in-your-organization/enhancing-copilot-for-your-organization/installing-github-copilot-extensions-for-your-organization - - /copilot/customizing-copilot/extending-the-capabilities-of-github-copilot-in-your-organization - - /copilot/how-tos/context/install-copilot-extensions/extending-the-capabilities-of-github-copilot-in-your-organization - - /copilot/how-tos/context/install-copilot-extensions/install-extensions -contentType: how-tos -category: - - Integrate Copilot with your tools ---- - -## About {% data variables.copilot.copilot_extensions %} for your organization - -{% data reusables.copilot.copilot-extensions.copilot-extensions-on-marketplace %} - -Any organization owner can install {% data variables.copilot.copilot_extensions_short %} for their organization, but your organization must have an active {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} plan. - -> [!NOTE] Anyone can install a {% data variables.copilot.copilot_extension_short %} on their personal account. However, if they get access to {% data variables.product.prodname_copilot_short %} through a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} plan, they will only be able to use the extension if it is installed at the organization level. - -You can also create your own custom {% data variables.copilot.copilot_extensions_short %} for your organization. For more information, see [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions). - -## Prerequisites - -Before you install any {% data variables.copilot.copilot_extensions_short %} in your organization, you should set a usage policy for {% data variables.copilot.copilot_extensions_short %} at the {% ifversion ghec %}enterprise or {% endif %}organization level. See [AUTOTITLE](/copilot/github-copilot-chat/github-copilot-extensions/managing-github-copilot-extensions). - -## Installing {% data variables.copilot.copilot_extensions %} for your organization - -1. Open [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace?type=apps&copilot_app=true). -1. In the left sidebar, click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %} {% data variables.product.prodname_copilot_short %}**. -1. In the list of {% data variables.copilot.copilot_extensions_short %}, locate an app you'd like to install. -1. To install the {% data variables.copilot.copilot_extension_short %} on an organization with a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} plan, see [AUTOTITLE](/apps/using-github-apps/installing-a-github-app-from-github-marketplace-for-your-organizations). -{% data reusables.copilot.copilot-extensions.extension-specific-onboarding-steps %} - -## Next steps - -After installing a {% data variables.copilot.copilot_extension_short %} for your organization, developers in your organization can start using the extension. See [AUTOTITLE](/copilot/github-copilot-chat/github-copilot-extensions/using-github-copilot-extensions). - -You can also manage the permissions of installed {% data variables.copilot.copilot_extensions_short %}. See [AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#managing-permissions-for-a-github-copilot-extension-in-your-organization). - -## Further reading - -* [AUTOTITLE](/copilot/customizing-copilot/extending-copilot-chat-with-mcp) -* [AUTOTITLE](/copilot/using-github-copilot/coding-agent/extending-copilot-coding-agent-with-mcp) diff --git a/content/copilot/how-tos/provide-context/install-copilot-extensions/install-personal-extensions.md b/content/copilot/how-tos/provide-context/install-copilot-extensions/install-personal-extensions.md deleted file mode 100644 index 1b5cfaec25ae..000000000000 --- a/content/copilot/how-tos/provide-context/install-copilot-extensions/install-personal-extensions.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -title: Extending the capabilities of GitHub Copilot in your personal account -shortTitle: Install personal extensions -intro: 'You can add additional functionality to {% data variables.product.prodname_copilot_short %} in your personal account, by installing certain {% data variables.product.prodname_github_apps %} from {% data variables.product.prodname_marketplace %}.' -versions: - feature: copilot-extensions -topics: - - Copilot -redirect_from: - - /copilot/github-copilot-chat/github-copilot-extensions/installing-github-copilot-extensions-for-your-personal-account - - /copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/installing-github-copilot-extensions-for-your-personal-account - - /copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/extending-the-capabilities-of-github-copilot-in-your-personal-account - - /copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/managing-your-copilot-plan/extending-the-capabilities-of-github-copilot-in-your-personal-account - - /copilot/how-tos/context/install-copilot-extensions/extending-the-capabilities-of-github-copilot-in-your-personal-account - - /copilot/how-tos/context/install-copilot-extensions/install-personal-extensions -contentType: how-tos -category: - - Integrate Copilot with your tools ---- - -## About {% data variables.copilot.copilot_extensions %} for your personal account - -{% data reusables.copilot.copilot-extensions.copilot-extensions-on-marketplace %} - -Anyone can install {% data variables.copilot.copilot_extensions_short %} for their personal account, but you must set up {% data variables.copilot.copilot_free_short %}, or have an active {% data variables.copilot.copilot_pro_short %} or {% data variables.copilot.copilot_pro_plus_short %} plan, to use a {% data variables.copilot.copilot_extension_short %} you install. - -> [!NOTE] If you have access to {% data variables.product.prodname_copilot_short %} through a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} plan, {% data variables.copilot.copilot_extensions_short %} are installed by organization owners at the organization level, and you do not need to install the extension on your personal account. To start using {% data variables.copilot.copilot_extensions_short %} installed in your organization, see [AUTOTITLE](/copilot/github-copilot-chat/github-copilot-extensions/using-github-copilot-extensions). - -You can also create your own custom {% data variables.copilot.copilot_extensions_short %} for your personal account. For more information, see [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions). - -## Installing {% data variables.copilot.copilot_extensions %} for your personal account - -1. Open [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace?type=apps&copilot_app=true). -1. In the left sidebar, click **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %} {% data variables.product.prodname_copilot_short %}**. -1. In the list of {% data variables.copilot.copilot_extensions_short %}, locate an app you'd like to install. -1. To install the {% data variables.copilot.copilot_extension_short %} on your personal account, see [AUTOTITLE](/apps/using-github-apps/installing-a-github-app-from-github-marketplace-for-your-personal-account#installing-a-github-app-in-your-personal-account). -{% data reusables.copilot.copilot-extensions.extension-specific-onboarding-steps %} - -## Next steps - -After installing a {% data variables.copilot.copilot_extension_short %}, you can start using the extension in {% data variables.copilot.copilot_chat_short %}. See [AUTOTITLE](/copilot/github-copilot-chat/github-copilot-extensions/using-github-copilot-extensions). diff --git a/content/copilot/how-tos/provide-context/install-copilot-extensions/use-copilot-extensions.md b/content/copilot/how-tos/provide-context/install-copilot-extensions/use-copilot-extensions.md deleted file mode 100644 index 9cade98b6242..000000000000 --- a/content/copilot/how-tos/provide-context/install-copilot-extensions/use-copilot-extensions.md +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: Using extensions to integrate external tools with GitHub Copilot Chat -intro: 'You can use {% data variables.copilot.copilot_extensions_short %} to interact with external tools in {% data variables.copilot.copilot_chat %}.' -product: '{% data reusables.gated-features.copilot-extensions %}' -versions: - feature: copilot-extensions -topics: - - Copilot -shortTitle: Use Copilot Extensions -redirect_from: - - /copilot/github-copilot-chat/github-copilot-extensions/about-github-copilot-extensions - - /copilot/github-copilot-chat/github-copilot-extensions/using-github-copilot-extensions - - /copilot/github-copilot-chat/github-copilot-extensions - - /copilot/using-github-copilot/using-extensions-to-integrate-external-tools-with-copilot-chat - - /copilot/how-tos/context/install-copilot-extensions/using-extensions-to-integrate-external-tools-with-copilot-chat - - /copilot/how-tos/context/install-copilot-extensions/use-copilot-extensions -contentType: how-tos -category: - - Integrate Copilot with your tools ---- - - - - - -{% data reusables.copilot.copilot-extensions.extensions-retirement %} - - - -## About {% data variables.copilot.copilot_extensions %} - -{% data reusables.copilot.copilot-extensions.copilot-extensions-intro %} - -> [!NOTE] {% data variables.copilot.copilot_extensions %} are not the same as _the {% data variables.product.prodname_copilot %} extension_, which you install in your IDE to use default {% data variables.product.prodname_copilot_short %} functionality like code completion and {% data variables.copilot.copilot_chat %}. For more information on _the {% data variables.product.prodname_copilot %} extension_, see [AUTOTITLE](/copilot/managing-copilot/configure-personal-settings/installing-the-github-copilot-extension-in-your-environment). - -You can get started with {% data variables.copilot.copilot_extensions_short %} in one of two ways: -* Build your own {% data variables.copilot.copilot_extension_short %}. See [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions). -* Install a {% data variables.copilot.copilot_extension_short %} from {% data variables.product.prodname_marketplace %}. - -You can interact with your custom-built or installed extension in a {% data variables.copilot.copilot_chat_short %} conversation, asking questions and performing actions that combine the capabilities of the external tool and {% data variables.product.prodname_dotcom %}. For example, if you install the Sentry extension for {% data variables.product.prodname_copilot %}, you can use the extension to get information about Sentry issues, then create and assign related tracking issues on {% data variables.product.prodname_dotcom %}. - -{% data variables.copilot.copilot_extensions_short %} provide several benefits, including: - -* Interaction with external tools using natural language -* Reduced context switching -* Customization of your {% data variables.copilot.copilot_chat_short %} experience for your developer flow - -{% data variables.copilot.copilot_extensions_short %} are included in all {% data variables.product.prodname_copilot_short %} subscriptions. - -### Supported clients and IDEs - -{% data reusables.copilot.copilot-extensions.supported-clients-and-ides-table %} - -## Prerequisites - -**If you have a {% data variables.copilot.copilot_pro_short %} subscription**, you need to install a {% data variables.copilot.copilot_extension_short %} before you can use the extension in {% data variables.copilot.copilot_chat_short %}. See [AUTOTITLE](/copilot/github-copilot-chat/github-copilot-extensions/installing-github-copilot-extensions-for-your-personal-account). - -**If you have access to {% data variables.product.prodname_copilot_short %} through a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} subscription:** - 1. An organization owner or enterprise owner needs to enable the {% data variables.copilot.copilot_extensions_short %} policy for your organization or enterprise. See [AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#setting-a-policy-for-github-copilot-extensions-in-your-organization) and [AUTOTITLE](/enterprise-cloud@latest/copilot/managing-copilot/managing-copilot-for-your-enterprise/managing-policies-and-features-for-copilot-in-your-enterprise#configuring-policies-for-github-copilot) in the {% data variables.product.prodname_ghe_cloud %} documentation. - 1. An organization owner needs to install {% data variables.copilot.copilot_extensions_short %} for your organization. See [AUTOTITLE](/copilot/github-copilot-chat/github-copilot-extensions/installing-github-copilot-extensions-for-your-organization). - -## Using {% data variables.copilot.copilot_extensions %} - -1. To start using a {% data variables.copilot.copilot_extension_short %}, open a supported {% data variables.copilot.copilot_chat_short %} interface. See [Supported clients and IDEs](#supported-clients-and-ides). -1. To see a list of all {% data variables.copilot.copilot_extensions_short %} available in your {% data variables.copilot.copilot_chat_short %} conversation, in the {% data variables.copilot.copilot_chat_short %} text box, type `@`. - - > [!NOTE] If you are using {% data variables.copilot.copilot_chat_short %} in an IDE, and you or your organization owner install a {% data variables.copilot.copilot_extension_short %} while your IDE is open, you need to restart your IDE to begin using the {% data variables.copilot.copilot_extension_short %}. - -1. In the list of available {% data variables.copilot.copilot_extensions_short %}, click the one you want to use. -1. To begin interacting with the {% data variables.copilot.copilot_extension_short %}, in the {% data variables.copilot.copilot_chat_short %} text box, ask the extension to answer a question or perform an action, then press Enter. For each new request, be sure to include `@EXTENSION-NAME` at the beginning of your sentence. - * If you did not install the {% data variables.copilot.copilot_extension_short %} yourself, and it is your first time using the {% data variables.copilot.copilot_extension_short %}, you will be asked to authorize the extension. See [AUTOTITLE](/apps/using-github-apps/authorizing-github-apps). - * If you ask a {% data variables.copilot.copilot_extension_short %} to perform an action, you need to confirm the extension has your permission to act on your behalf before it will complete the task. After carefully reviewing the proposed action, in the confirmation dialog, click **Allow** or **Dismiss**. - -## Tips for using {% data variables.copilot.copilot_extensions %} - -* When you are using a {% data variables.copilot.copilot_extension_short %}, consider how you would interact with the tool outside of {% data variables.copilot.copilot_chat_short %}, then use natural language to ask questions and assign tasks that integrate the capabilities of the tool with {% data variables.product.prodname_dotcom %}. For example, [Sentry](https://sentry.io/welcome/) is an application monitoring software with a {% data variables.copilot.copilot_extension_short %}. The following are some example prompts for the Sentry extension for {% data variables.product.prodname_copilot %}: - * `@sentry list my most recent issues` - * `@sentry tell me more about issue ISSUE-ID-OR-ISSUE-LINK` - * `@sentry create a {% data variables.product.prodname_dotcom %} issue for the most recent Sentry issue and assign it to @DEVELOPER` - - For information on the best ways to use a specific {% data variables.copilot.copilot_extension_short %}, read the description of the extension on [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace?type=apps&copilot_app=true). -* Interactions with one {% data variables.copilot.copilot_extension_short %} will never be shared with another {% data variables.copilot.copilot_extension_short %}. To interact with different {% data variables.copilot.copilot_extensions_short %} in an IDE, change the `@EXTENSION-NAME` at the beginning of each sentence. Interactions with different extensions will appear in the same {% data variables.copilot.copilot_chat_short %} window, but the conversations themselves are automatically separated. - - {% ifversion ghec %} To interact with different {% data variables.copilot.copilot_extensions_short %} on {% data variables.product.prodname_dotcom_the_website %}, you need to start a new conversation for each extension by clicking {% octicon "plus" aria-label="New conversation" %} at the top of the {% data variables.copilot.copilot_chat_short %} window.{% endif %} - -## Additional resources - -For questions and issues related to {% data variables.copilot.copilot_extensions %}, please use the following resources: - -* **General issues for users and builders:** Visit the [{% data variables.product.github %} Support Portal](https://support.github.com/). -* **Requests or feedback for {% data variables.product.github %}:** Use the [{% data variables.product.github %} Community Discussion Thread](https://gh.io/community-feedback). -* **Requests or feedback for third-party extension publishers:** File an issue in the [User Feedback Repo](https://github.com/copilot-extensions/user-feedback) and add a label with the extension's slug name. -* **{% data variables.product.github %} Technology Partners:** Email the partnerships team directly for assistance. -* **{% data variables.copilot.copilot_vsc_chat_participants %}:** For more information on this type of {% data variables.copilot.copilot_extension_short %}, see [Chat extensions](https://code.visualstudio.com/api/extension-guides/chat) in the {% data variables.product.prodname_vscode %} documentation. - -> [!NOTE] {% data variables.contact.github_support %} is not able to answer questions regarding {% data variables.copilot.copilot_vsc_chat_participants %}, as this implementation path is owned and maintained by the {% data variables.product.prodname_vscode_shortname %} team. - -## Further reading - -* [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions) diff --git a/content/copilot/how-tos/provide-context/use-mcp/set-up-the-github-mcp-server.md b/content/copilot/how-tos/provide-context/use-mcp/set-up-the-github-mcp-server.md index 017aaf3578be..f3053ad1f7c9 100644 --- a/content/copilot/how-tos/provide-context/use-mcp/set-up-the-github-mcp-server.md +++ b/content/copilot/how-tos/provide-context/use-mcp/set-up-the-github-mcp-server.md @@ -7,6 +7,14 @@ versions: defaultTool: vscode topics: - Copilot +redirect_from: + - /copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/communicate-with-copilot-platform + - /copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/communicate-with-github + - /copilot/how-tos/use-copilot-extensions/create-a-copilot-extension/configure-app-for-extension + - /copilot/how-tos/use-copilot-extensions/create-a-copilot-extension/host-your-extension + - /copilot/how-tos/use-copilot-extensions/set-up-copilot-extensions + - /copilot/how-tos/provide-context/install-copilot-extensions/install-extensions + - /copilot/how-tos/provide-context/install-copilot-extensions/install-personal-extensions contentType: how-tos category: - Integrate Copilot with your tools diff --git a/content/copilot/how-tos/provide-context/use-mcp/use-the-github-mcp-server.md b/content/copilot/how-tos/provide-context/use-mcp/use-the-github-mcp-server.md index fc102035e2b6..027ea412a151 100644 --- a/content/copilot/how-tos/provide-context/use-mcp/use-the-github-mcp-server.md +++ b/content/copilot/how-tos/provide-context/use-mcp/use-the-github-mcp-server.md @@ -12,6 +12,7 @@ redirect_from: - /copilot/how-tos/context/model-context-protocol/using-the-github-mcp-server - /copilot/how-tos/context/model-context-protocol/use-the-github-mcp-server - /copilot/how-tos/context/use-mcp/use-the-github-mcp-server + - /copilot/how-tos/provide-context/install-copilot-extensions/use-copilot-extensions contentType: how-tos category: - Integrate Copilot with your tools diff --git a/content/copilot/how-tos/set-up/set-up-for-self.md b/content/copilot/how-tos/set-up/set-up-for-self.md index 7a44de3576fa..fce51cdd7700 100644 --- a/content/copilot/how-tos/set-up/set-up-for-self.md +++ b/content/copilot/how-tos/set-up/set-up-for-self.md @@ -55,7 +55,7 @@ All users can configure {% data variables.product.prodname_copilot_short %} sett If you have your own {% data variables.product.prodname_copilot_short %} plan (instead of using your organization or enterprise's plan), you can: -* **Install {% data variables.copilot.copilot_extensions_short %}** to integrate other tools with {% data variables.copilot.copilot_chat_short %}. See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/installing-github-copilot-extensions-for-your-personal-account). +* **Install Model Context Protocol (MCP) servers to integrate with {% data variables.copilot.copilot_chat_short %}. See [AUTOTITLE](/copilot/how-tos/context/model-context-protocol/extending-copilot-chat-with-mcp). * **Manage policies**. See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/managing-copilot-policies-as-an-individual-subscriber). ## 7. Start using {% data variables.product.prodname_copilot_short %} diff --git a/content/copilot/how-tos/use-ai-models/change-the-chat-model.md b/content/copilot/how-tos/use-ai-models/change-the-chat-model.md index 32e050d1ac0c..39fcc675c6c1 100644 --- a/content/copilot/how-tos/use-ai-models/change-the-chat-model.md +++ b/content/copilot/how-tos/use-ai-models/change-the-chat-model.md @@ -40,8 +40,6 @@ These instructions are for {% data variables.product.prodname_copilot_short %} o {% data reusables.copilot.model-picker-enable-alternative-models %} -> [!NOTE] If you use {% data variables.copilot.copilot_extensions_short %}, they may override the model you select. - 1. In the top right of any page on {% data variables.product.github %}, click the **{% octicon "copilot" aria-hidden="true" aria-label="copilot" %}** icon. ![Screenshot of the 'Copilot' button, highlighted with a dark orange outline.](/assets/images/help/copilot/copilot-icon-top-right.png) diff --git a/content/copilot/how-tos/use-ai-models/configure-access-to-ai-models.md b/content/copilot/how-tos/use-ai-models/configure-access-to-ai-models.md index 3a67b294b10c..9b2033f09c97 100644 --- a/content/copilot/how-tos/use-ai-models/configure-access-to-ai-models.md +++ b/content/copilot/how-tos/use-ai-models/configure-access-to-ai-models.md @@ -10,6 +10,7 @@ redirect_from: - /copilot/using-github-copilot/ai-models/configuring-access-to-ai-models-in-copilot - /copilot/how-tos/ai-models/configuring-access-to-ai-models-in-copilot - /copilot/how-tos/ai-models/configure-access-to-ai-models + - /github-models/use-github-models/integrating-ai-models-into-your-development-workflow contentType: how-tos category: - Configure Copilot diff --git a/content/copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/communicate-with-copilot-platform.md b/content/copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/communicate-with-copilot-platform.md deleted file mode 100644 index 1d6a2fd94996..000000000000 --- a/content/copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/communicate-with-copilot-platform.md +++ /dev/null @@ -1,159 +0,0 @@ ---- -title: Configuring your GitHub Copilot agent to communicate with the GitHub Copilot platform -intro: Learn how to interact with the {% data variables.product.prodname_copilot_short %} platform by sending and receiving server-sent events with your {% data variables.copilot.copilot_agent_short %}. -versions: - feature: copilot-extensions -topics: - - Copilot -shortTitle: Communicate with Copilot platform -layout: inline -redirect_from: - - /copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-the-copilot-platform - - /copilot/how-tos/build-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-the-copilot-platform - - /copilot/how-tos/build-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/communicate-with-copilot-platform - - /copilot/how-tos/build-copilot-extensions/build-a-copilot-agent/communicate-with-copilot-platform -contentType: how-tos -category: - - Integrate Copilot with your tools ---- - -{% data variables.copilot.copilot_agents_short %} communicate with the {% data variables.product.prodname_copilot_short %} platform in the form of server-sent events (SSEs). Rather than waiting for the {% data variables.product.prodname_copilot_short %} platform to request an update from your agent, or vice versa, you can use SSEs to send and receive updates to and from the platform in real time. - -To learn more about SSEs, see [Server-sent events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) in the mdn documentation. - -## Sending server-sent events - -Your agent should only send one SSE for each interaction with the {% data variables.product.prodname_copilot_short %} platform. There are four predefined SSEs your agent can send: - -* [`copilot_confirmation`](#copilot_confirmation) -* [`copilot_errors`](#copilot_errors) -* [`copilot_references`](#copilot_references) -* [Default SSE](#default-sse) - -### `copilot_confirmation` - -The `copilot_confirmation` SSE sends the user a prompt to confirm an action. This SSE is sent through an event type and data field. See the following code for an example of a `copilot_confirmation` SSE: - -```typescript annotate -// -event: copilot_confirmation -data: { - // Currently, `action` is the only supported value for `type` in `copilot_confirmation`. - "type": "action", - // Title of the confirmation dialog shown to the user. - "title": "Turn off feature flag", - // Confirmation message shown to the user. - "message": "Are you sure you wish to turn off the `copilot` feature flag?", - // Optional field for the agent to include any data needed to uniquely identify this confirmation and take action once the decision is received from the client. - "confirmation": { - "id": "id-123", - "other": "identifier-as-needed", - } -} -``` - -After the user accepts or dismisses the confirmation, the agent receives a message similar to the following example: - -```typescript annotate -// -{ - "copilot_confirmations": [ - { - // A string containing the state of the confirmation. This value is either `accepted` or `dismissed`. - "state": "accepted", - // An array of strings containing data identifying the relevant action. - "confirmation": { - "id": "id-123", - "other": "identifier-as-needed", - } - } - ] -} -``` - -Based on the values in this message, the agent can then complete or cancel the appropriate action. - -### `copilot_errors` - -The `copilot_errors` SSE sends the {% data variables.product.prodname_copilot_short %} platform a list of encountered errors. This SSE is sent through an event type and data field. See the following code for an example of a `copilot_errors` SSE: - -```typescript annotate -// -event: copilot_errors -data: [{ - // A string that specifies the error's type. `type` can have a value of `reference`, `function` or `agent`. - "type": "function", - // A string controlled by the agent describing the nature of an error. - "code": "recentchanges", - // A string that specifies the error message shown to the user. - "message": "The repository does not exist", - // A string that serves as a unique identifier to link the error with other resources such as references or function calls. - "identifier": "github/hello-world" -}] -``` - -### `copilot_references` - -> [!NOTE] Rendering references is currently unsupported for {% data variables.copilot.copilot_mobile_short %}. Extensions that depend on reference memory to generate responses will still work, but the references will not be displayed to the user. - -The `copilot_references` SSE sends the user a list of references used to generate a response. This SSE is sent through an event type and data field. See the following code for an example of a `copilot_references` SSE: - -```typescript annotate -// -event: copilot_references -data: [{ - // A string that specifies the type of the reference. - "type": "blackbeard.story", - // A string that specifies the ID of the reference. - "id": "snippet", - // An optional field where the agent can include any data needed to uniquely identify this reference. - "data": { - "file": "story.go", - "start": "0", - "end": "13", - "content": "func main()...writeStory()..." - }, - // An optional boolean that indicates if the reference was passed implicitly or explicitly. - "is_implicit": false, - // An optional field for the agent to include any metadata to display in the user's environment. If any of the below required fields are missing, then the reference will not be rendered in the UI. - "metadata": { - "display_name": "Lines 1-13 from story.go", - "display_icon": "icon", - "display_url": "http://blackbeard.com/story/1", - - } -}] -``` - -### Default SSE - -The default SSE sends the user a general chat message. This SSE is unnamed and sent solely through a data field. See the following code for an example of a default SSE: - -```text -data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1694268190,"model":"gpt-3.5-turbo-0125", "system_fingerprint": "fp_44709d6fcb", "choices":[{"index":0,"delta":{"role":"assistant","content":""},"logprobs":null,"finish_reason":null}]} -``` - -## Receiving server-sent events - -Just as your agent sends SSEs to the {% data variables.product.prodname_copilot_short %} platform, it also receives the `resp_message` SSE from the platform. This SSE contains a list of messages from the user, as well as optional data related to each of the SSE events the agent can send. See the following code sample for an example curl request to your agent containing a message: - -```bash -curl --request POST \ - --url $AGENT_URL \ - --header 'Accept: application/json' \ - --header 'Content-Type: application/json' \ - --header "X-GitHub-Token: $RUNTIME_GENERATED_TOKEN" \ - --data '{ - "messages": [ - { - "role": "user", - "content": "What is a closure in javascript?", - "copilot_references": [] - } - ] - }' -``` - -## Next steps - -Now that you understand how your {% data variables.copilot.copilot_agent_short %} communicates with the {% data variables.product.prodname_copilot_short %} platform, you can learn how to integrate your agent with the {% data variables.product.github %} API. See [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github). diff --git a/content/copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/communicate-with-github.md b/content/copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/communicate-with-github.md deleted file mode 100644 index 08fa1e978ff1..000000000000 --- a/content/copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/communicate-with-github.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -title: Configuring your GitHub Copilot agent to communicate with GitHub -intro: Learn how to verify payloads and get resources from {% data variables.product.github %} with your {% data variables.copilot.copilot_agent_short %}. -versions: - feature: copilot-extensions -topics: - - Copilot -shortTitle: Communicate with GitHub -redirect_from: - - /copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github - - /copilot/how-tos/build-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github - - /copilot/how-tos/build-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/communicate-with-github - - /copilot/how-tos/build-copilot-extensions/build-a-copilot-agent/communicate-with-github -contentType: how-tos -category: - - Integrate Copilot with your tools ---- - -## Prerequisites - -{% data reusables.copilot.copilot-extensions.agents-copilot-platform-prerequisites %} - -## Verifying that payloads are coming from {% data variables.product.github %} - -Before your {% data variables.copilot.copilot_agent_short %} begins processing a request, you should verify that the request came from {% data variables.product.github %}, and that it is intended for your agent. All agent requests contain the `X-GitHub-Public-Key-Identifier` and `X-GitHub-Public-Key-Signature` headers. To verify the signature for a particular request, compare the signature in the `X-GitHub-Public-Key-Signature` header with a signed copy of the request body using the current public key listed at https://api.github.com/meta/public_keys/copilot_api. - -For more details and examples of signature verification in specific languages, see the [`github-technology-partners/signature-verification`](https://github.com/github-technology-partners/signature-verification) repository. - -> ⚠️ **Note:** We currently send duplicate pairs of these headers. One set has the prefix `Github-Public-...`; the other has `X-GitHub-Public...`. The former will be {% data variables.release-phases.closing_down %} **by March 31st**. Please update your relevant checks to the correct prefix (`X-GitHub-Public...`) by then. - -## Fetching resources from the {% data variables.product.github %} API - -Requests to your {% data variables.copilot.copilot_agent_short %} will receive an `X-GitHub-Token` header. This header contains an API token that can be used to fetch resources from the {% data variables.product.github %} API on behalf of the user interacting with your agent. The permissions of this token are the overlap of the user's own permissions and the permissions granted to your {% data variables.product.prodname_github_app %} installation. - -For an example of how you might use `X-GitHub-Token`, see the following code sample: - -```typescript -async function whoami(req) { - const response = await fetch( - // The {% data variables.product.github %} API endpoint for the authenticated user - "https://api.github.com/user", - { - headers: { - "Authorization": `Bearer ${req.headers.get("x-github-token")}` - } - } - ) - - const user = await response.json() - return user -} -``` - -To learn more about working with {% data variables.product.github %}'s API and explore official software development kits (SDKs), see the [`octokit`](https://github.com/octokit) organization. diff --git a/content/copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/index.md b/content/copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/index.md deleted file mode 100644 index 8cd4f31f6aa8..000000000000 --- a/content/copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/index.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Building a GitHub Copilot agent for your GitHub Copilot Extension -shortTitle: Build a Copilot agent -intro: Learn how to build a custom {% data variables.copilot.copilot_agent_short %} that determines the functionality of your {% data variables.copilot.copilot_extension_short %}. -versions: - feature: copilot -topics: - - Copilot -children: - - /communicate-with-copilot-platform - - /communicate-with-github - - /use-context-passing - - /use-copilots-llm -redirect_from: - - /copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension - - /copilot/how-tos/build-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension - - /copilot/how-tos/build-copilot-extensions/build-a-copilot-agent -contentType: how-tos ---- - diff --git a/content/copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/use-context-passing.md b/content/copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/use-context-passing.md deleted file mode 100644 index 23f4ca1eeed0..000000000000 --- a/content/copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/use-context-passing.md +++ /dev/null @@ -1,246 +0,0 @@ ---- -title: Context passing for your agent -intro: Learn how to use context passing with your {% data variables.copilot.copilot_agent_short %}. -versions: - feature: copilot-extensions -topics: - - Copilot -shortTitle: Use context passing -redirect_from: - - /copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/context-passing-for-your-agent - - /copilot/how-tos/build-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/context-passing-for-your-agent - - /copilot/how-tos/build-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/use-context-passing - - /copilot/how-tos/build-copilot-extensions/build-a-copilot-agent/use-context-passing -contentType: how-tos -category: - - Integrate Copilot with your tools ---- - -## About context passing - -{% data variables.copilot.copilot_extensions %} can access certain contextual information using context passing. -Context passing allows agents to receive relevant details about a user’s current file, selected text, and repository. -It happens automatically when you interact with an extension, but requires your explicit authorization through {% data variables.product.prodname_github_app %} permissions for use in any organization-owned repositories. - -Different clients, such as {% data variables.copilot.copilot_chat %} in {% data variables.product.prodname_vscode %}, {% data variables.product.prodname_vs %}, and {% data variables.product.github %}, provide context through different reference types. -For example, IDEs send information such as file contents and selections, while {% data variables.copilot.copilot_chat_dotcom_short %} includes the current URL for the page being viewed. - -## Prerequisites - -{% data reusables.copilot.copilot-extensions.agents-copilot-platform-prerequisites %} - -## Understanding context passing - -Context passing enables agents to receive information about the user’s active workspace. -Your agent receives server-sent events (SSEs) that contain a list of messages from the user as well as references to the user’s current environment. -Depending on the client, different types of context are provided. - -The following table shows the reference types that are passed to {% data variables.copilot.copilot_extensions %} based on the client or IDE you are using. - -{% rowheaders %} - -| Client or IDE | client.file | client.selection | github.repository | github.current-url | Additional contexts | -| ------------------ | ----------- | ---------------- | ----------------- | ------------------ | ------------------------------------------------- | -| {% data variables.product.prodname_vscode %} | Yes | Yes | Yes | No | Repository owner and branch | -| {% data variables.product.prodname_vs %} | Yes | Yes | Yes | No | Repository owner and branch | -| {% data variables.product.prodname_dotcom_the_website %} | No | No | Yes | Yes | Repository information and other {% data variables.product.github %} resources | -| {% data variables.product.prodname_mobile %} | No | No | No | Yes | Not applicable - -{% endrowheaders %} - -### Reference types for {% data variables.copilot.copilot_chat_short %} in IDEs - -The following reference types can be passed to your agent from an IDE: -* `client.file`: Represents the full content of the currently active file in the IDE. -* `client.selection`: Represents the selected portion of text the user highlighted in the active file. -* `github.repository`: Provides information about the active repository. - -### Reference types for {% data variables.copilot.copilot_chat_dotcom_short %} - -The following reference types can be passed to your agent from {% data variables.product.github %}: -* `github.current-url`: Represents the URL of the current {% data variables.product.github %} page the user is viewing. -* `github.repository`: Provides information about the active repository. - -## Example references - -The following code shows an example object for `client.file`: - -```json -{ - // The reference type. - "type": "client.file", - "data": { - // The full content of the active file. - "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit", - "language": "plaintext" - }, - "id": "relative-path/to/file", - // `is_implicit` indicates whether the reference was automatically provided by the client (true) or manually attached by the user (false). - "is_implicit": true, - "metadata": { - "display_name": "https://github.com/example-user/example-repository", - "display_icon": "", - "display_url": "" - } -} -``` - -The following code shows an example object for `client.selection`: - -```json -{ - // The reference type. - "type": "client.selection", - "data": { - // The currently selected portion of text. - "content": "", - "end": { - "col": 80, - "line": 10 - }, - "start": { - "col": 0, - "line": 0 - } - }, - "id": "relative-path/to/file", - // `is_implicit` indicates whether the reference was automatically provided by the client (true) or manually attached by the user (false). - "is_implicit": true, - "metadata": { - "display_name": "https://github.com/example-user/example-repository", - "display_icon": "", - "display_url": "" - } -} -``` - -The following code shows an example object for `github.repository`: - -```json -{ - // The reference type. - "type": "github.repository", - "data": { - "type": "repository", - "id": "abc-123", - "name": "example-repository", - "ownerLogin": "example-user", - "ownerType": "", - "readmePath": "", - "description": "", - "commitOID": "", - "ref": "", - "refInfo": { - "name": "", - "type": "" - }, - "visibility": "", - "languages": null - }, - "id": "example-user/example-repository", - // `is_implicit` is always false for github.repository. - "is_implicit": false, - "metadata": { - "display_name": "https://github.com/example-user/example-repository", - "display_icon": "", - "display_url": "" - } -} -``` - -The following code shows an example object for `github.current-url`: - -```json -{ - // The reference type. - "type": "github.current-url", - "data": { - // The GitHub URL the user was on while chatting with the agent. - "url": "https://github.com/example-user/example-repository" - }, - "id": "https://github.com/example-user/example-repository", - // `is_implicit` is always true for github.current-url. - "is_implicit": true, - "metadata": { - "display_name": "https://github.com/example-user/example-repository", - "display_icon": "", - "display_url": "" - } -} -``` - -## Setting up context passing - -To enable context passing through an IDE client, the **{% data variables.product.prodname_copilot_short %} Editor Context** permission must be configured for your agent. -This permission only controls access for the `client.file` and `client.selection` reference types. -Users that install and use the agent will be clearly informed that the agent has read access to {% data variables.product.prodname_copilot_short %} Editor Context which includes content such as active file and current selection. - -`github.current-url` and `github.repository` are unaffected by the {% data variables.product.prodname_copilot_short %} Editor Context. These reference types rely on authorization filtering to ensure third party agents only receive references they have access to. For information on managing the privacy of `github.current-url` and `github.repository`, see [Privacy controls](#privacy-controls). - -Follow these steps to set the necessary permissions for context passing from IDEs to your agent: - -{% data reusables.apps.settings-step-personal-orgs %} -{% data reusables.user-settings.developer_settings %} -{% data reusables.user-settings.github_apps %} -1. In the list of {% data variables.product.prodname_github_apps %}, click the {% data variables.product.prodname_github_app %} you want to configure for context passing. -1. In the navigation menu on the left, select **Permissions & events**. -1. Under **Account Permissions**, select **Read-only** access for **{% data variables.product.prodname_copilot_short %} Editor Context**. - -## Privacy controls - -In cases where you don't want to share certain context details with the agent, you can redact and remove reference types in multiple ways. - -### Chat in IDEs - -* If an agent doesn't have the {% data variables.product.prodname_copilot_short %} Editor Context read-access permission, all `client.*` references are removed. -* If an agent doesn't have read access to a repository, all `client.*` references are removed and the `github.repository` reference is redacted. -> [!NOTE] {% data variables.product.prodname_vs %} and {% data variables.product.prodname_vscode %} provides an option to exclude content from the current file. The `client.*` reference types are removed if the user has excluded content from the current file. - -### Chat in {% data variables.product.github %} - -* If an agent doesn't have read access to the repository associated with the current {% data variables.product.github %} URL, the `github.current-url` and `github.repository` references are redacted. -* If repository information cannot be extracted from the current {% data variables.product.github %} URL, `github.current-url` is redacted. - -### Redacted references - -When a reference is redacted due to insufficient permissions, it is replaced with a placeholder indicating the type of information that was excluded. -In the following example, the `type` field indicates that the reference has been redacted and the `data.type` field reveals the original reference type. - -```json -{ - "role": "user", - "content": "Current Date and Time (UTC): 2024-10-22 00:43:14\nCurrent User's Login: monalisa\n", - "name": "_session", - "copilot_references": [ - { - "type": "github.redacted", - "data": { - "type": "github.current-url" - }, - "id": "example-id", - "is_implicit": true, - "metadata": { - "display_name": "", - "display_icon": "", - "display_url": "" - } - } - ], - "copilot_confirmations": null -} -``` - -### Context Exclusions - -To safeguard sensitive information, certain scenarios automatically prevent the passing of context to agents. -If an organization has set content exclusion rules for {% data variables.product.prodname_copilot_short %}, files that fall under these rules will not be included in the context passed to agents. - -For more information on content exclusion rules, see [AUTOTITLE](/copilot/managing-copilot/configuring-and-auditing-content-exclusion/excluding-content-from-github-copilot). - -#### Large Files - -Files exceeding the size limit set by the client will not be sent. The reference will include metadata indicating that the file was too large to process. - -#### Hidden Files - -Files beginning with a dot, such as `.env` and `.config`, are excluded by default to prevent unintentional sharing of sensitive configurations. In {% data variables.product.prodname_vscode_shortname %}, you can specify files or directories in a `.copilotignore` file to prevent them from being sent to {% data variables.product.prodname_copilot_short %} agents. This client-side mechanism offers granular control over which files are excluded. diff --git a/content/copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/use-copilots-llm.md b/content/copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/use-copilots-llm.md deleted file mode 100644 index da39c0aa5c5c..000000000000 --- a/content/copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/use-copilots-llm.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: Using GitHub Copilot's LLM for your agent -intro: Learn how to use {% data variables.product.prodname_copilot_short %}'s LLM for your agent. -versions: - feature: copilot-extensions -topics: - - Copilot -shortTitle: Use Copilot's LLM -allowTitleToDifferFromFilename: true -redirect_from: - - /copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/using-copilots-llm-for-your-agent - - /copilot/how-tos/build-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/using-copilots-llm-for-your-agent - - /copilot/how-tos/build-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/use-copilots-llm - - /copilot/how-tos/build-copilot-extensions/build-a-copilot-agent/use-copilots-llm -contentType: how-tos -category: - - Integrate Copilot with your tools ---- - -## About {% data variables.product.prodname_copilot_short %}'s Large Language Model (LLM) - -{% data variables.product.prodname_copilot_short %}'s Large Language Model (LLM) is a powerful, large-scale language model that is trained on a diverse range of data sources, including code, documentation, and other text. {% data variables.product.prodname_copilot_short %}'s LLM underpins the functionality for {% data variables.product.prodname_copilot %}, and is used to power all of {% data variables.product.prodname_copilot_short %}'s features, including code generation, documentation generation, and code completion. - -You have the option to use {% data variables.product.prodname_copilot_short %}'s LLM to power your agent, which can be useful if you want your agent to be able to generate completions for user messages, but you don't want to manage your own LLM. - -> [!NOTE] Third-party agents have strict rate limits for using {% data variables.product.prodname_copilot_short %}'s LLM. If your third-party agent will need to generate a large number of completions, you should consider using your own LLM or an API like OpenAI. - -## Using {% data variables.product.prodname_copilot_short %}'s LLM for your agent - -You can call {% data variables.product.prodname_copilot_short %}'s LLM deployment at `{% data variables.copilot.chat_completions_api %}` with a POST request. Requests and responses should follow the format as the [OpenAI API](https://platform.openai.com/docs/api-reference/chat/create). - -To authenticate, use the same `X-Github-Token` header sent to your agent. For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github#fetching-resources-from-the-github-api). - -Here is an example of how {% data variables.product.prodname_copilot_short %}'s LLM deployment is used by the Blackbeard extension to generate completions for a user message: - -```javascript - // Use Copilot's LLM to generate a response to the user's - // messages, with our extra system messages attached. - const copilotLLMResponse = await fetch( - "https://api.githubcopilot.com/chat/completions", - { - method: "POST", - headers: { - authorization: `Bearer ${tokenForUser}`, - "content-type": "application/json", - }, - body: JSON.stringify({ - messages, - stream: true, - }), - } - ); -``` - -To see this example in its full context, see the [Blackbeard extension](https://github.com/copilot-extensions/blackbeard-extension). diff --git a/content/copilot/how-tos/use-copilot-extensions/build-copilot-skillsets.md b/content/copilot/how-tos/use-copilot-extensions/build-copilot-skillsets.md deleted file mode 100644 index b9d5c46e16dc..000000000000 --- a/content/copilot/how-tos/use-copilot-extensions/build-copilot-skillsets.md +++ /dev/null @@ -1,91 +0,0 @@ ---- -title: Building GitHub Copilot skillsets -intro: Learn the steps to build {% data variables.copilot.copilot_skillsets %} and integrate custom tools and functions into your Copilot environment. -versions: - feature: copilot-extensions -topics: - - Copilot -shortTitle: Build Copilot skillsets -redirect_from: - - /copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension - - /copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/building-copilot-skillsets - - /copilot/how-tos/build-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/building-copilot-skillsets - - /copilot/how-tos/build-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/build-copilot-skillsets - - /copilot/how-tos/build-copilot-extensions/build-a-copilot-skillset/build-copilot-skillsets - - /copilot/how-tos/use-copilot-extensions/build-a-copilot-skillset/build-copilot-skillsets - - /copilot/how-tos/use-copilot-extensions/build-a-copilot-skillset - - /copilot/how-tos/build-copilot-extensions/build-copilot-skillsets -contentType: how-tos -category: - - Integrate Copilot with your tools ---- - -## Introduction - -{% data variables.copilot.copilot_skillsets %} are a streamlined way to extend {% data variables.product.prodname_copilot %}'s functionality by defining API endpoints that {% data variables.product.prodname_copilot_short %} can call. When you create a skillset, {% data variables.product.prodname_copilot_short %} handles all the AI interactions while your endpoints provide the data or functionality. This guide walks you through configuring and deploying a skillset within your {% data variables.product.prodname_github_app %}. - -## Prerequisites - -Before you begin, make sure you have the following: - -1. **A configured {% data variables.product.prodname_github_app %}:** You’ll need a {% data variables.product.prodname_github_app %} to act as the container for your skillset. If you haven’t already set one up, refer to [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/creating-a-github-app-for-your-copilot-extension) and [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-extension). -1. **API endpoints:** You need one endpoint per skill. Each endpoint must: - * Accept POST requests with the `application/json` MIME type - * Be able to verify the signature of requests from {% data variables.product.github %} to authenticate their origin and prevent unauthorized access - * Be publicly accessible via HTTPS - -For more information about signature verification, see [Verifying that payloads are coming from {% data variables.product.github %}](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github#verifying-that-payloads-are-coming-from-github). - -## Configuration requirements - -Each skillset is defined within a {% data variables.product.prodname_github_app %}. A single {% data variables.product.prodname_github_app %} can contain up to five skills. Each individual skill needs: -* **Name:** A clear and descriptive name (for example, "Get Issues"). -* **Inference description:** A detailed explanation of what the skill does and when to use it (for example, "Searches for external issues matching specific criteria like status and labels"). -* **API endpoint:** A POST endpoint that accepts JSON requests. -* **JSON schema:** The structure of data your endpoint expects. - -### Example JSON schema - -This example demonstrates a skill that requires two parameters: a status string and a label string. If no parameters are provided, an empty object with the type 'object' must be passed in as the request body. - -```json -{ - "type": "object", - "properties": { - "status": { - "type": "string", - "description": "filter issues by status (open, closed)", - "enum": ["open", "closed"] - }, - "label": { - "type": "string", - "description": "filter issues by label" - } - } -} -``` - -This format lets users make natural-language requests like `find open security issues` and {% data variables.product.prodname_copilot_short %} will structure the appropriate API call. - -## Using your skillset - -To use your skillset: -1. Type `@` followed by your extension's name. -1. Type your prompt in natural language. - - For example: - * `@skillset-example generate a lorem ipsum` - * `@skillset-example give me sample data with 100 words` - -Copilot interprets your request and calls the appropriate skill with the right parameters. There's no need to specify which skill to use—{% data variables.product.prodname_copilot_short %} determines this from your natural-language request and the inference descriptions provided. - -## Setting up a skillset - -{% data reusables.apps.settings-step-personal-orgs %} -{% data reusables.user-settings.developer_settings %} -{% data reusables.user-settings.github_apps %} -1. In the list of {% data variables.product.prodname_github_apps %}, click the {% data variables.product.prodname_github_app %} you want to configure for your skillset. -1. In the navigation menu on the left, select **{% data variables.product.prodname_copilot_short %}**. -1. Under **App Type**, select **Skillset** from the dropdown menu. -1. Optionally, in the **Pre-authorization URL** field, enter the URL where users will be redirected to start the authentication process. This step is necessary if your API requires users to connect their GitHub account to access certain features or data. -{% data reusables.copilot.copilot-extensions.skillsets-configuration-steps %} diff --git a/content/copilot/how-tos/use-copilot-extensions/create-a-copilot-extension/configure-app-for-extension.md b/content/copilot/how-tos/use-copilot-extensions/create-a-copilot-extension/configure-app-for-extension.md deleted file mode 100644 index a1ea96fed17c..000000000000 --- a/content/copilot/how-tos/use-copilot-extensions/create-a-copilot-extension/configure-app-for-extension.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: Configuring your GitHub App for your GitHub Copilot extension -intro: Learn how to configure your {% data variables.product.prodname_github_app %} so that it is associated with your {% data variables.copilot.copilot_extension_short %}. -defaultTool: agents -versions: - feature: copilot-extensions -topics: - - Copilot -shortTitle: Configure App for extension -redirect_from: - - /copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-agent - - /copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-extension - - /copilot/how-tos/build-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-extension - - /copilot/how-tos/build-copilot-extensions/creating-a-copilot-extension/configure-app-for-extension - - /copilot/how-tos/build-copilot-extensions/create-a-copilot-extension/configure-app-for-extension -contentType: how-tos -category: - - Integrate Copilot with your tools ---- - -Once you have configured your server and created your {% data variables.product.prodname_github_app %}, you need to configure your {% data variables.product.prodname_github_app %} for use with your {% data variables.product.prodname_copilot_short %} extension. - -## Prerequisites - -* You have configured your server to deploy your {% data variables.copilot.copilot_extension_short %}, and you have your hostname (aka forwarding endpoint). For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent). -* You have created a {% data variables.product.prodname_github_app %} for your {% data variables.product.prodname_copilot_short %} extension. For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/creating-a-github-app-for-your-copilot-extension). - -## Configuring your {% data variables.product.prodname_github_app %} - -{% agents %} - -{% data reusables.apps.settings-step %} -{% data reusables.apps.enterprise-apps-steps %} -1. To the right of the {% data variables.product.prodname_github_app %} you want to configure for your {% data variables.copilot.copilot_extension_short %}, click **Edit**. -1. In the "Identifying and authorizing users" section, under "Callback URL", enter your callback endpoint URL, then click **Save changes**. - - > [!NOTE] Your server's hostname is the forwarding endpoint that you copied from your terminal when you configured your server. See [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent). - > - > If you are using an ephemeral domain in ngrok, you will need to update this URL every time you restart your ngrok server. - -1. In the left sidebar, click **Permissions & events**. -1. To expand the "Account permissions" section, click anywhere in the section. -{% data reusables.copilot.copilot-extensions.account-permissions %} -1. In the left sidebar, click **{% data variables.product.prodname_copilot_short %}**. -1. Read the {% data variables.product.prodname_marketplace %} Developer Agreement and the {% data variables.product.github %} Pre-release License Terms, then accept the terms for creating a {% data variables.copilot.copilot_extension_short %}. - -1. In the "App type" section, select the dropdown menu, then click **Agent**. -1. Under "URL," enter your server's hostname (aka forwarding endpoint) that you copied from your terminal. - - > [!NOTE] If you are using an ephemeral domain in ngrok, you will need to update this URL every time you restart your ngrok server. - -1. Under "Inference description", type a brief description of your agent, then click **Save**. This will be the description users see when they hover over your extension's slug in the chat window. -1. Your pre-authorization URL is a link on your website that starts the authorization process for your extension. Users will be redirected to this URL when they decide to authorize your extension. If you are using a pre-authorization URL, under "Pre-authorization URL," enter the URL, then click **Save**. -1. In your {% data variables.product.prodname_github_app %} settings, in the left sidebar, click **Install App**, then, next to the account you want to install your app on, click **Install**. -{% data reusables.copilot.go-to-copilot-page %} -1. Invoke your extension by typing `@EXTENSION-NAME`, replacing any spaces in the extension name with `-`, then press `Enter`. -1. If this is your first time using the extension, you will be prompted to authenticate. Follow the steps on screen to authenticate your extension. -1. Ask your extension a question in the chat window. For example, `What is the software development lifecycle?`. - -{% endagents %} - -{% skillsets %} - -{% data reusables.apps.settings-step %} -{% data reusables.apps.enterprise-apps-steps %} -1. To the right of the {% data variables.product.prodname_github_app %} you want to configure for your {% data variables.copilot.copilot_extension_short %}, click **Edit**. -1. In the "Identifying and authorizing users" section, under "Callback URL", enter your callback endpoint URL, then click **Save changes**. - - > [!NOTE] Your server's hostname is the forwarding endpoint that you copied from your terminal when you configured your server. See [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent). - > - > If you are using an ephemeral domain in ngrok, you will need to update this URL every time you restart your ngrok server. - -1. In the left sidebar, click **Permissions & events**. -1. To expand the "Account permissions" section, click anywhere in the section. -{% data reusables.copilot.copilot-extensions.account-permissions %} -1. In the left sidebar, click **{% data variables.product.prodname_copilot_short %}**. -1. Read the {% data variables.product.prodname_marketplace %} Developer Agreement and the {% data variables.product.github %} Pre-release License Terms, then accept the terms for creating a {% data variables.copilot.copilot_extension_short %}. - -1. In the "App type" section, select the dropdown menu, then click **Skillset**. -1. Your pre-authorization URL is a link on your website that starts the authorization process for your extension. Users will be redirected to this URL when they decide to authorize your extension. If you are using a pre-authorization URL, under "Pre-authorization URL," enter the URL, then click **Save**. -{% data reusables.copilot.copilot-extensions.skillsets-configuration-steps %} -1. In your {% data variables.product.prodname_github_app %} settings, in the left sidebar, click **Install App**, then, next to the account you want to install your app on, click **Install**. -{% data reusables.copilot.go-to-copilot-page %} -1. Invoke your extension by typing `@EXTENSION-NAME`, replacing any spaces in the extension name with `-`, then press `Enter`. -1. If this is your first time using the extension, you will be prompted to authenticate. Follow the steps on screen to authenticate your extension. -1. Ask your extension a question in the chat window. For example, `What is the software development lifecycle?`. - -{% endskillsets %} diff --git a/content/copilot/how-tos/use-copilot-extensions/create-a-copilot-extension/create-github-app.md b/content/copilot/how-tos/use-copilot-extensions/create-a-copilot-extension/create-github-app.md deleted file mode 100644 index 11a4dda970b0..000000000000 --- a/content/copilot/how-tos/use-copilot-extensions/create-a-copilot-extension/create-github-app.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: Creating a GitHub App for your GitHub Copilot Extension -intro: Learn how to create a {% data variables.product.prodname_github_app %} for your {% data variables.copilot.copilot_extension_short %}. -versions: - feature: copilot-extensions -topics: - - Copilot -shortTitle: Create GitHub App -redirect_from: - - /copilot/building-copilot-extensions/creating-a-copilot-extension/creating-a-github-app-for-your-copilot-extension - - /copilot/how-tos/build-copilot-extensions/creating-a-copilot-extension/creating-a-github-app-for-your-copilot-extension - - /copilot/how-tos/build-copilot-extensions/creating-a-copilot-extension/create-github-app - - /copilot/how-tos/build-copilot-extensions/create-a-copilot-extension/create-github-app -contentType: how-tos -category: - - Integrate Copilot with your tools ---- - -A {% data variables.copilot.copilot_extension_short %} is a {% data variables.product.prodname_github_app %} that is associated with a {% data variables.copilot.copilot_agent_short %}. The {% data variables.product.prodname_github_app %} you associate your {% data variables.copilot.copilot_agent_short %} with is used to authenticate the {% data variables.copilot.copilot_agent_short %} with {% data variables.product.prodname_dotcom %} and to authorize the {% data variables.copilot.copilot_agent_short %} to access the {% data variables.copilot.copilot_chat_short %} API. Each {% data variables.copilot.copilot_agent_short %} must be associated with a unique {% data variables.product.prodname_github_app %}. - -## Prerequisites - -* You have created a {% data variables.copilot.copilot_agent_short %}. For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension). -* You have configured your server to deploy your {% data variables.copilot.copilot_agent_short %}, and you have your hostname (aka forwarding endpoint). For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent). - -## Creating a {% data variables.product.prodname_github_app %} - -{% data reusables.apps.settings-step %} -{% data reusables.apps.enterprise-apps-steps %} -1. Click **New {% data variables.product.prodname_github_app %}**. -1. Under "{% data variables.product.prodname_github_app %} name," enter a name for your app. - - > [!NOTE] The name cannot be longer than 34 characters. - > - >Your app's name will be shown in the user interface when your app takes an action. Uppercase letters will be converted to lowercase, with spaces replaced by `-`, and accents ignored. For example, `My APp Näme` would display as `my-app-name`. - > - > The name must be unique across {% data variables.product.company_short %}. You cannot use the same name as an existing {% data variables.product.company_short %} account, unless it is your own user or organization name. - -1. Optionally, under "Description," type a description of your app. Users and organizations will see this description when they install your app. -1. Under "Homepage URL," enter a URL for your app. You can use: - * Your app's website URL. - * The URL of the organization or user that owns the app. - * The URL of the repository where your app's code is stored, if it is a public repository. -1. Under "Webhook," deselect **Active**. -1. Click **Create {% data variables.product.prodname_github_app %}**. - -## Next steps - -* [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-agent) diff --git a/content/copilot/how-tos/use-copilot-extensions/create-a-copilot-extension/host-your-extension.md b/content/copilot/how-tos/use-copilot-extensions/create-a-copilot-extension/host-your-extension.md deleted file mode 100644 index 6d58309f4b88..000000000000 --- a/content/copilot/how-tos/use-copilot-extensions/create-a-copilot-extension/host-your-extension.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -title: Configuring your server to host your GitHub Copilot extension -intro: Learn how to make your {% data variables.product.prodname_copilot_short %} extension accessible to the internet. -versions: - feature: copilot-extensions -redirect_from: - - /copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent - - /copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-host-your-copilot-agent - - /copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-host-your-copilot-extension - - /copilot/how-tos/build-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-host-your-copilot-extension - - /copilot/how-tos/build-copilot-extensions/creating-a-copilot-extension/host-your-extension - - /copilot/how-tos/build-copilot-extensions/create-a-copilot-extension/host-your-extension -topics: - - Copilot -shortTitle: Host your extension -contentType: how-tos -category: - - Integrate Copilot with your tools ---- - -Your {% data variables.copilot.copilot_extension_short %} must be hosted on a server that is accessible to the internet. In this guide, we will use [ngrok](https://ngrok.com/) to create a tunnel to your local server, but you could also use a service like [localtunnel](https://localtunnel.github.io/www/). - -Alternatively, if you are a {% data variables.product.prodname_codespaces %} user, you can use the built-in {% data variables.product.prodname_codespaces %} port forwarding. For more information, see [AUTOTITLE](/codespaces/developing-in-a-codespace/forwarding-ports-in-your-codespace). - -## Prerequisites - -* You have created a {% data variables.copilot.copilot_extension_short %}. For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension) or [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension). - -## Configuring your server - -1. Visit the [ngrok setup & installation page](https://dashboard.ngrok.com/get-started/setup/). -1. If you do not yet have an account, follow the instructions on screen to sign up. -1. Under "Agents," ensure the correct operating system is selected. -1. Under "Installation," follow the instructions for your operating system to download and install ngrok. -1. Under "Deploy your app online," select **Ephemeral domain** or **Static domain**. -1. Run the command provided in your terminal, replacing the port number with the port your extension is configured to run on. For example: - - * For an ephemeral domain: - - ```shell copy - ngrok http http://localhost:EXTENSION-PORT-NUMBER - ``` - - * For a static domain: - - ```shell copy - ngrok http --domain=YOUR-STATIC-DOMAIN.ngrok-free.app EXTENSION-PORT-NUMBER - ``` - -1. In your terminal, next to "Forwarding," copy the URL that ngrok has assigned to your server. You will need this forwarding endpoint when you are configuring your {% data variables.product.prodname_github_app %}. - - > [!NOTE] Do not copy the `-> http://localhost:XXXX` part of the URL. - > - > Keep the terminal window open while you are using your extension. - -## Next steps - -* [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/creating-a-github-app-for-your-copilot-extension) diff --git a/content/copilot/how-tos/use-copilot-extensions/create-a-copilot-extension/index.md b/content/copilot/how-tos/use-copilot-extensions/create-a-copilot-extension/index.md deleted file mode 100644 index 88461708db8c..000000000000 --- a/content/copilot/how-tos/use-copilot-extensions/create-a-copilot-extension/index.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Creating a GitHub Copilot Extension -shortTitle: Create a Copilot Extension -intro: Learn how to integrate your {% data variables.copilot.copilot_agent_short %} with a {% data variables.product.prodname_github_app %} to create your {% data variables.copilot.copilot_extension_short %}. -versions: - feature: copilot -topics: - - Copilot -children: - - /host-your-extension - - /create-github-app - - /configure-app-for-extension -redirect_from: - - /copilot/building-copilot-extensions/creating-a-copilot-extension - - /copilot/how-tos/build-copilot-extensions/creating-a-copilot-extension - - /copilot/how-tos/build-copilot-extensions/create-a-copilot-extension -contentType: how-tos ---- - diff --git a/content/copilot/how-tos/use-copilot-extensions/debug-copilot-extension.md b/content/copilot/how-tos/use-copilot-extensions/debug-copilot-extension.md deleted file mode 100644 index 2dbbb0fa0426..000000000000 --- a/content/copilot/how-tos/use-copilot-extensions/debug-copilot-extension.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: Debugging your GitHub Copilot Extension -intro: Learn how to debug your {% data variables.copilot.copilot_extension %} from the command line before you publish it. -versions: - feature: copilot-extensions -topics: - - Copilot -shortTitle: Debug Copilot Extension -redirect_from: - - /copilot/building-copilot-extensions/debugging-your-github-copilot-extension - - /copilot/how-tos/build-copilot-extensions/debugging-your-github-copilot-extension - - /copilot/how-tos/build-copilot-extensions/debug-copilot-extension -contentType: how-tos -category: - - Integrate Copilot with your tools ---- - -With the debug tool for {% data variables.copilot.copilot_extensions_short %}, you can chat with your {% data variables.copilot.copilot_agent_short %} from the command line, then view detailed logs as your agent generates a response. You can pass several flags to the tool, with the most important flags being: -* The `url` flag, which contains the URL to access your {% data variables.copilot.copilot_agent_short %}. This is the only required flag to start the tool. -* The `log-level` flag, which determines the level of visibility you have into your {% data variables.copilot.copilot_agent_short %}'s process for generating a response. The available log levels are `DEBUG`, `NONE`, and `TRACE`, and the tool uses `DEBUG` by default. -* The `token` flag, which must contain a {% data variables.product.pat_v2 %} with read access to {% data variables.copilot.copilot_chat_short %} if your {% data variables.copilot.copilot_agent_short %} calls the {% data variables.product.prodname_copilot_short %} LLM. If your agent calls a different LLM, you don't need to use this flag. - -## Prerequisites - -To use the debug tool, you need to have the {% data variables.product.prodname_cli %} installed on your machine. You can install the {% data variables.product.prodname_cli %} in one of two ways: -* From the command line using a package manager. For example, to install the {% data variables.product.prodname_cli %} with Homebrew, paste the following command to the command line, then follow the prompts: - - ```bash copy - brew install gh - ``` - -* From the [{% data variables.product.prodname_cli %} releases page](https://github.com/cli/cli/releases/tag/v2.56.0) - -## Debugging your {% data variables.copilot.copilot_extension_short %} with the CLI - -1. Optionally, to prepare to debug a specific server-sent event (SSE), add some code to your {% data variables.copilot.copilot_agent_short %} that sends an SSE when a prompt contains a certain keyword. - - > [!NOTE] The debug tool does not handle the payload verification process. To validate your SSEs, you need to temporarily disable payload verification for local testing, then re-enable it after you have successfully tested your extension. - -1. On the command line, start your {% data variables.copilot.copilot_agent_short %}. -1. To authenticate with the {% data variables.product.prodname_cli %} {% data variables.product.prodname_oauth_app %}, in a new window of your command line application, paste the following command and follow the prompts: - - ```bash copy - gh auth login --web -h github.com - ``` - -1. In the same window, to install the debug tool, paste the following command: - - ```bash copy - gh extension install github.com/copilot-extensions/gh-debug-cli - ``` - -1. Optionally, for a list of available flags and their descriptions, paste the following command to the command line: - - ```bash copy - gh debug-cli -h - ``` - -1. Optionally, set environment variables for each flag you want to use. Environment variables allow you to set a constant value for a flag rather than passing a value in each time you run the debug tool. For example, if you are using the Blackbeard extension to test the debug tool, you can create an environment variable for the agent URL as follows: - - ```bash copy - export URL="http://localhost:3000" - ``` - - > [!NOTE] To set an environment variable for a flag, you must use the name of the flag in all caps. - -1. To start the debug tool, paste the following command to the command line, adding any flags you want to use: - - ```bash copy - gh debug-cli - ``` - - The only required flag is the `url` flag, but you will likely want to use additional flags like `log-level` and `token`. - - Once the debug tool is running, you should see a message that reads "Start typing to chat with your assistant...". - -1. To interact with your agent, enter a prompt on the command line. The output will vary based on the log level you chose in the previous step, with the `DEBUG` and `TRACE` log levels providing more detailed information. - - > [!TIP] If you are debugging an SSE, send a prompt containing the keyword you specified in your {% data variables.copilot.copilot_agent_short %} to trigger the SSE, then analyze the output in your command line application. diff --git a/content/copilot/how-tos/use-copilot-extensions/index.md b/content/copilot/how-tos/use-copilot-extensions/index.md deleted file mode 100644 index d621d34f1538..000000000000 --- a/content/copilot/how-tos/use-copilot-extensions/index.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: GitHub Copilot Extensions -shortTitle: Build Copilot Extensions -intro: Learn how to integrate external tools with {% data variables.product.prodname_copilot_short %}. -versions: - feature: copilot -topics: - - Copilot -children: - - /set-up-copilot-extensions - - /create-a-copilot-extension - - /build-a-copilot-agent - - /build-copilot-skillsets - - /set-up-oidc - - /debug-copilot-extension - - /manage-extension-availability -redirect_from: - - /copilot/building-copilot-extensions - - /copilot/how-tos/build-copilot-extensions -contentType: how-tos ---- - diff --git a/content/copilot/how-tos/use-copilot-extensions/manage-extension-availability.md b/content/copilot/how-tos/use-copilot-extensions/manage-extension-availability.md deleted file mode 100644 index 7c3a5c2f891a..000000000000 --- a/content/copilot/how-tos/use-copilot-extensions/manage-extension-availability.md +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: Managing the availability of your GitHub Copilot Extension -intro: After you build your {% data variables.copilot.copilot_extension_short %}, you can change it's visibility or publish it on the {% data variables.product.prodname_marketplace %}. -versions: - feature: copilot-extensions -topics: - - Copilot -shortTitle: Manage Extension availability -redirect_from: - - /copilot/building-copilot-extensions/managing-the-availability-of-your-copilot-extension - - /copilot/how-tos/build-copilot-extensions/managing-the-availability-of-your-copilot-extension - - /copilot/how-tos/build-copilot-extensions/manage-extension-availability -contentType: how-tos -category: - - Integrate Copilot with your tools ---- - -When you build a {% data variables.copilot.copilot_extension_short %}, you have two options for the visibility of your {% data variables.product.prodname_github_app %}: - -* **Public:** Any user or organization account with the link to your app's installation page can install it. Making your app public automatically creates a public installation page, but does not list the app on the {% data variables.product.prodname_marketplace %}. -* **Private:** Any user, organization, or enterprise can create an extension. Any user or organization, and any organization in an enterprise can install an enterprise-created extension. Private extensions are not available to all users outside your organization or enterprise based on the level at which it was created. - -If you make your app public, you can choose to publish it on the {% data variables.product.prodname_marketplace %}. - -## Changing the visibility of your {% data variables.copilot.copilot_extension_short %} - -{% data reusables.profile.access_org %} -{% data reusables.organizations.org-list %} -1. At the bottom of the sidebar, select **{% octicon "code" aria-hidden="true" aria-label="code" %} Developer settings**, then click **{% data variables.product.prodname_github_apps %}**. -1. In the "{% data variables.product.prodname_github_apps %}" section, next to the name of your {% data variables.copilot.copilot_extension_short %}, click **Edit**. -1. In the sidebar, click **Advanced**. At the bottom of the "Danger Zone" section, you will see one of two options: - * **Make public:** If you see the **Make public** option, your {% data variables.product.prodname_github_app %} is currently private, and can only be installed by the organization or user that created the app. You can click **Make public** to allow any other account with the link to your app's installation page to install your {% data variables.product.prodname_copilot_short %} extension. Leave the settings unchanged to keep your app private. - * **Make private:** If you see the **Make private** option, your {% data variables.product.prodname_github_app %} is currently public, and can be installed by any account with the link to your app's installation page. You can click **Make private** to only allow installations by the organization or user that created the app, or organizations that are part of the enterprise that created the extension. Leave the settings unchanged to keep your app public. -1. Optionally, if your {% data variables.product.prodname_github_app %} is public, you can share the link to the installation page for your {% data variables.copilot.copilot_extension_short %}. In the sidebar, click **Public page** in the sidebar, then copy the link for your listing. - -> [!NOTE] You can set a published marketplace extension to private, and it will remain accessible on the {% data variables.product.prodname_marketplace %}. However, it won't be accessible from the direct installation page. - -## Listing your {% data variables.copilot.copilot_extension_short %} on the {% data variables.product.prodname_marketplace %} - - To list your {% data variables.copilot.copilot_extension_short %} on the {% data variables.product.prodname_marketplace %}, you must meet the following requirements: - -* You must publish your app from an organization that is a verified publisher on the {% data variables.product.prodname_marketplace %}. - * If your organization is not yet verified, see [AUTOTITLE](/apps/github-marketplace/github-marketplace-overview/applying-for-publisher-verification-for-your-organization). - * If you need to transfer ownership of your app from your personal account to your organization account, see [AUTOTITLE](/apps/maintaining-github-apps/transferring-ownership-of-a-github-app). -* Your app must meet the requirements for all {% data variables.copilot.copilot_extension_short %} listings on the {% data variables.product.prodname_marketplace %}. See [AUTOTITLE](/apps/github-marketplace/creating-apps-for-github-marketplace/requirements-for-listing-an-app#requirements-for-github-copilot-extensions). - -App managers cannot create, edit, or publish extensions on the {% data variables.product.prodname_marketplace %}. To manage a listing, you should be an organization owner for the publishing organization. - -> [!NOTE] Paid plans are not supported for {% data variables.copilot.copilot_extensions_short %} during {% data variables.release-phases.public_preview %}. Any requests to publish with a paid plan attached will not be approved. - -{% data reusables.profile.access_org %} -{% data reusables.organizations.org-list %} -1. At the bottom of the sidebar, select **{% octicon "code" aria-hidden="true" aria-label="code" %} Developer settings**, then click **{% data variables.product.prodname_github_apps %}**. -1. Select the app you'd like to publish to the {% data variables.product.prodname_marketplace %}. -1. On the app settings landing page, scroll down to the Marketplace section, then click **List in Marketplace**. The Marketplace section is only visible if your app is public. -1. In the "Listing name" text box, type a name for your listing. This name is displayed on the {% data variables.product.prodname_marketplace %} page and in search results, and can be changed later. {% data variables.product.github %} recommends using any of the following naming conventions: - * `YOUR-PRODUCT-NAME` (example: "{% data variables.product.prodname_copilot_short %}"): We recommend this convention if your extension stays within the scope of a single product and there are no other well-known products with the same name. - * `YOUR-COMPANY-NAME` (example "{% data variables.product.github %}"): We recommend this convention if your extension spans multiple products. - * `YOUR-COMPANY-PRODUCT-NAME` (example: "{% data variables.product.prodname_copilot %}"): We recommend this convention if your extension stays within the scope of one product, but there are other well-known products with the same name. - - > [!NOTE] The listing name is not the same as your {% data variables.product.prodname_github_app %}'s name or your {% data variables.copilot.copilot_extension_short %}'s slug. Changing the listing name will not affect the app name or slug. - -1. In the "Primary category" section, select the dropdown menu, then click a category. You can change your selection or add a secondary category later. -1. To create a draft listing for your {% data variables.copilot.copilot_extension_short %}, click **Save and add more details**. -1. After you create a new draft listing, you'll see a view where you can manage your listing. Before you can submit your listing for review, you need to: - * Fill out each of the required sections - * Verify the organization account that owns the {% data variables.product.prodname_github_app %} - * Accept the {% data variables.product.prodname_marketplace %} Developer Agreement -1. To submit your listing, click **Submit for review**. After your listing is reviewed, an onboarding expert will let you know if your submission was approved or denied. - -> [!NOTE] {% data variables.product.github %} reviews all submissions to ensure they meet our standards for quality, performance, reliability, and security. {% data variables.product.github %} may deny submissions at its own discretion, and will provide reasons for denials. You are welcome to address any issues and resubmit your extension for review. You may also go through the [GitHub Appeal and Reinstatement Process](/free-pro-team@latest/site-policy/acceptable-use-policies/github-appeal-and-reinstatement). diff --git a/content/copilot/how-tos/use-copilot-extensions/set-up-copilot-extensions.md b/content/copilot/how-tos/use-copilot-extensions/set-up-copilot-extensions.md deleted file mode 100644 index 354e59726f7d..000000000000 --- a/content/copilot/how-tos/use-copilot-extensions/set-up-copilot-extensions.md +++ /dev/null @@ -1,121 +0,0 @@ ---- -title: Setting up GitHub Copilot Extensions -intro: Follow these steps to start building {% data variables.copilot.copilot_extensions_short %}. -defaultTool: agents -versions: - feature: copilot-extensions -topics: - - Copilot -shortTitle: Set up Copilot Extensions -redirect_from: - - /copilot/building-copilot-extensions/setting-up-copilot-extensions - - /copilot/how-tos/build-copilot-extensions/setting-up-copilot-extensions - - /copilot/how-tos/build-copilot-extensions/set-up-copilot-extensions -contentType: how-tos -category: - - Integrate Copilot with your tools ---- - - - - - -{% data reusables.copilot.copilot-extensions.extensions-retirement %} - - - -This article is designed to help you build an entirely new {% data variables.copilot.copilot_extension %}. To instead learn how to quickly build and test a demo {% data variables.copilot.copilot_extension_short %} created by {% data variables.product.github %}, see [AUTOTITLE](/copilot/building-copilot-extensions/quickstart-for-github-copilot-extensions). - -{% data reusables.copilot.copilot-extensions.differences-between-agents-and-skillsets-1 %} -For more information about skillsets, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/about-copilot-skillsets). -{% data reusables.copilot.copilot-extensions.differences-between-agents-and-skillsets-2 %} - -{% agents %} - -## 1. Learn about {% data variables.copilot.copilot_agents_short %} - -{% data variables.copilot.copilot_agents_short %} contain the custom code for your {% data variables.copilot.copilot_extension_short %}, and integrate with a {% data variables.product.prodname_github_app %} to form the {% data variables.copilot.copilot_extension_short %} itself. For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/about-copilot-agents). - -To successfully build a {% data variables.copilot.copilot_agent_short %}, you need to understand how the agent communicates with: - -* The {% data variables.product.prodname_copilot_short %} platform using server-sent events. See [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-the-copilot-platform). -* The {% data variables.product.github %} API. See [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/configuring-your-copilot-agent-to-communicate-with-github). - -## 2. Review example {% data variables.copilot.copilot_agents_short %} and the {% data variables.copilot.copilot_extensions_short %} SDK - -To see the previous concepts in practice and learn about agent implementations, review the following example agents and software development kit (SDK), all of which are available in the [`copilot-extensions`](https://github.com/copilot-extensions) organization: - -* [Blackbeard](https://github.com/copilot-extensions/blackbeard-extension) (best starting point): A simple agent that responds to requests like a pirate using {% data variables.product.prodname_copilot_short %}'s large language model (LLM) API and special system prompts. -* [{% data variables.product.prodname_github_models %}](https://github.com/copilot-extensions/github-models-extension): A more complex agent that lets you ask about and interact with various LLMs listed on the {% data variables.product.prodname_marketplace %} through {% data variables.copilot.copilot_chat_short %}. The {% data variables.product.prodname_github_models %} agent makes use of function calling. -* [Function Calling](https://github.com/copilot-extensions/function-calling-extension): An example agent written in Go that demonstrates function calling and confirmation dialogs. -* [RAG Extension](https://github.com/copilot-extensions/rag-extension): An example agent written in Go that demonstrates a simple implementation of retrieval augmented generation. -* [Preview SDK](https://github.com/copilot-extensions/preview-sdk.js/tree/main): An SDK that streamlines the development of {% data variables.copilot.copilot_extensions_short %} by handling request verification, payload parsing, and response formatting automatically. This SDK allows extension builders to focus more on creating core functionality and less on boilerplate code. - -## 3. Build a {% data variables.copilot.copilot_agent_short %} - -Using the reference material from the previous steps, plan and build your {% data variables.copilot.copilot_agent_short %}. You can choose to implement any of the following options: - -* To avoid building and managing your own LLM deployment, your agent can call the Copilot LLM deployment. See [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/using-copilots-llm-for-your-agent). -* To quickly interpret user input and choose from a variety of predefined functions to execute, you can implement function calling in your agent. To learn more, see [How to use function calling with Azure OpenAI Service](https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/function-calling) in the Azure OpenAI documentation and [Function calling](https://platform.openai.com/docs/guides/function-calling) in the OpenAI documentation. - -## 4. Deploy your {% data variables.copilot.copilot_agent_short %} - -To make your {% data variables.copilot.copilot_agent_short %} accessible to the {% data variables.product.prodname_copilot_short %} platform and {% data variables.product.github %}, you need to deploy it to a server that is reachable by HTTP request. See [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent). - -## 5. Create a {% data variables.product.prodname_github_app %} and integrate it with your {% data variables.copilot.copilot_agent_short %} - -To create a {% data variables.copilot.copilot_extension_short %}, you need to create and configure a {% data variables.product.prodname_github_app %}, then integrate it with your {% data variables.copilot.copilot_agent_short %}. See [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/creating-a-github-app-for-your-copilot-extension) and [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-agent). - -## 6. Choose the availability of your {% data variables.copilot.copilot_extension_short %} - -Choose one of two visibility levels for your {% data variables.copilot.copilot_extension_short %}: -* **Public:** Any user or organization account with the installation page link for the extension can install it. -* **Private:** Only the user or organization account that created the extension can install it. - -If you make your {% data variables.copilot.copilot_extension_short %} public, you can then choose to list it on the {% data variables.product.prodname_marketplace %}. - -To learn how to change the visibility of your {% data variables.copilot.copilot_extension_short %} and list it on the {% data variables.product.prodname_marketplace %}, see [AUTOTITLE](/copilot/building-copilot-extensions/managing-the-availability-of-your-copilot-extension). - -## Next steps - -To learn how to use your {% data variables.copilot.copilot_extension_short %}, see [AUTOTITLE](/copilot/using-github-copilot/using-extensions-to-integrate-external-tools-with-copilot-chat). - -{% endagents %} - -{% skillsets %} - -## 1. Learn about {% data variables.copilot.copilot_skillsets %} - -{% data variables.copilot.copilot_skillsets %} contain the custom code for your {% data variables.copilot.copilot_extension_short %}, and integrate with a {% data variables.product.prodname_github_app %} to form the {% data variables.copilot.copilot_extension_short %} itself. - -Unlike {% data variables.copilot.copilot_agents_short %}, {% data variables.copilot.copilot_skillsets_short %} handle the logic behind prompt crafting, function evaluation, and response generation, making them an ideal choice for developers seeking quick and effective integrations with minimal effort. For more information, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/about-copilot-skillsets). - -## 2. Build a {% data variables.copilot.copilot_skillset_short %} - -To explore an example of a skillset implementation, see the [skillset-example](https://github.com/copilot-extensions/skillset-example) repository in the [`copilot-extensions`](https://github.com/copilot-extensions) organization. - -To build a skillset, see [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-skillset-for-your-copilot-extension/building-copilot-skillsets). - -## 3. Deploy your {% data variables.copilot.copilot_skillset_short %} - -To make your {% data variables.copilot.copilot_skillset_short %} accessible to the {% data variables.product.prodname_copilot_short %} platform and {% data variables.product.github %}, you need to deploy it to a server that is reachable by HTTP request. See [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-server-to-deploy-your-copilot-agent). - -## 4. Create a {% data variables.product.prodname_github_app %} and integrate it with your {% data variables.copilot.copilot_skillset_short %} - -To create a {% data variables.copilot.copilot_extension_short %}, you need to create and configure a {% data variables.product.prodname_github_app %}, then integrate it with your {% data variables.copilot.copilot_skillset_short %}. See [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/creating-a-github-app-for-your-copilot-extension) and [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-agent). - -## 5. Choose the availability of your {% data variables.copilot.copilot_skillset_short %} - -Choose one of two visibility levels for your {% data variables.copilot.copilot_extension_short %}: -* **Public:** Any user or organization account with the installation page link for the extension can install it. -* **Private:** Only the user or organization account that created the extension can install it. - -If you make your {% data variables.copilot.copilot_extension_short %} public, you can then choose to list it on the {% data variables.product.prodname_marketplace %}. - -To learn how to change the visibility of your {% data variables.copilot.copilot_extension_short %} and list it on the {% data variables.product.prodname_marketplace %}, see [AUTOTITLE](/copilot/building-copilot-extensions/managing-the-availability-of-your-copilot-extension). - -## Next steps - -To learn how to use your {% data variables.copilot.copilot_extension_short %}, see [AUTOTITLE](/copilot/using-github-copilot/using-extensions-to-integrate-external-tools-with-copilot-chat). - -{% endskillsets %} diff --git a/content/copilot/how-tos/use-copilot-extensions/set-up-oidc.md b/content/copilot/how-tos/use-copilot-extensions/set-up-oidc.md deleted file mode 100644 index c08982036d2c..000000000000 --- a/content/copilot/how-tos/use-copilot-extensions/set-up-oidc.md +++ /dev/null @@ -1,111 +0,0 @@ ---- -title: Setting up OIDC for your GitHub Copilot extension -intro: Learn how to set up OpenID Connect (OIDC) with your {% data variables.copilot.copilot_extension_short %} to enhance security. -versions: - feature: copilot-extensions -topics: - - Copilot -shortTitle: Set up OIDC -allowTitleToDifferFromFilename: true -redirect_from: - - /copilot/building-copilot-extensions/using-oidc-with-copilot-extensions - - /copilot/building-copilot-extensions/using-oidc-with-github-copilot-extensions - - /copilot/how-tos/build-copilot-extensions/using-oidc-with-github-copilot-extensions - - /copilot/how-tos/build-copilot-extensions/set-up-oidc -contentType: how-tos -category: - - Integrate Copilot with your tools ---- - -## Introduction - -You can set up OIDC so that {% data variables.product.prodname_copilot_short %} agents and skillsets can more securely authenticate users and access cloud resources. For more information on OIDC, see [AUTOTITLE](/copilot/concepts/copilot-extensions/openid-connect). - -There are three steps to setting up OIDC for your extension. -* [Configure your token exchange endpoint](#configure-your-token-exchange-endpoint). -* [Enable OIDC in your Copilot extensions settings](#enable-oidc-in-your-copilot-extensions-settings). -* [Validate OIDC tokens](#validate-oidc-tokens). - -## Configure your token exchange endpoint - -Create an endpoint in your service that conforms to the [RFC 8693 OAuth 2.0 Token Exchange](https://www.rfc-editor.org/rfc/rfc8693.html). -This endpoint should: -* Accept `POST` requests with the following form-encoded parameters: - - ```http request - grant_type=urn:ietf:params:oauth:grant-type:token-exchange - &resource= - &subject_token= - &subject_token_type=urn:ietf:params:oauth:token-type:id_token - ``` - -* Return a JSON response with your service's access token: - - ```json - { - "access_token": <"your-service-token">, - "issued_token_type":"urn:ietf:params:oauth:token-type:access_token", - "token_type": "Bearer", - "expires_in": 3600 - } - ``` - -* Return an error response when validation fails: - - ```json - { - "error": "invalid_request" - } - ``` - -## Enable OIDC in your {% data variables.copilot.copilot_extension_short %}'s settings - -In your {% data variables.copilot.copilot_extension_short %}'s configuration, enable OIDC: - -{% data reusables.apps.settings-step %} -{% data reusables.apps.enterprise-apps-steps %} -1. To the right of the {% data variables.product.prodname_github_app %} you want to configure for your {% data variables.copilot.copilot_extension_short %}, click **Edit**. -1. In the left sidebar, click **{% data variables.product.prodname_copilot_short %}**. -1. Under **OpenID Connect Token Exchange**, check **Enabled**. -1. In the **Token exchange endpoint** field, input your token exchange URL. -1. In the **Request header key** field, input the header key for your service's token. The default is `Authorization`. -1. In the **Request header value** field, input the header value format. The default is `Bearer ${token}`. - -## Validate OIDC tokens - -Your token exchange endpoint should validate the {% data variables.product.github %} OIDC token by following the steps below: -1. Fetch the JSON Web Key Set (JWKS) from https://github.com/login/oauth/.well-known/openid-configuration. -1. Verify the token signature. -1. Validate required claims. - * `aud`: Audience. Your {% data variables.copilot.copilot_extension_short %}'s client ID. - * `sub`: Subject. The {% data variables.product.github %} user ID making the request. The response is limited to data that the user has permissions to access. If the user has no permissions `400 Bad Request` is shown. - * `iat`: Issued At. The timestamp when the token was issued. It is typically a timestamp in the past but represents the exact moment the token was created. - * `nbf`: Not Before. The timestamp before which the token is not valid. This should be a timestamp in the past. - * `exp`: Expiration Time. The timestamp when the token expires. This should be a timestamp in the future. - * `act`: Actor. The acting entity in delegated access. This should be a constant string. - -## Troubleshooting - -The following sections outline common problems and best practices for implementing OIDC for your {% data variables.copilot.copilot_extension_short %}. - -### Token validation errors - -* Ensure you're using the correct JWKS endpoint. -* Verify that all the required claims are present and valid. -* Check that timestamps (`iat`, `nbf`, and `exp`) are within valid ranges. - -### Token exchange failures - -* Return `HTTP 400` for invalid tokens. -* Return `HTTP 403` if the user lacks the necessary permissions. -* If {% data variables.product.github %} receives a 403 response, it will retry the request with a new token. - -### Performance issues - -* Implement efficient token validation to minimize latency. -* Use appropriate token expiration times (recommended: 10 minutes or less). -* Consider caching implications for high-traffic extensions. - -## Further reading - -* [AUTOTITLE](/copilot/concepts/copilot-extensions/openid-connect) diff --git a/content/copilot/reference/extensions-glossary.md b/content/copilot/reference/extensions-glossary.md deleted file mode 100644 index d80ad1567f21..000000000000 --- a/content/copilot/reference/extensions-glossary.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: GitHub Copilot Extensions glossary -shortTitle: Extensions glossary -allowTitleToDifferFromFilename: true -intro: 'Understand the terminology used in {% data variables.copilot.copilot_extensions_short %}.' -versions: - feature: copilot-extensions -topics: - - Copilot -category: - - Learn about Copilot -redirect_from: - - /copilot/building-copilot-extensions/copilot-extensions-glossary - - /copilot/reference/copilot-extensions/copilot-extensions-glossary - - /copilot/reference/copilot-extensions-glossary -contentType: reference ---- - -The following terms are used in the context of {% data variables.copilot.copilot_extensions_short %}, and are defined here for clarity. - -#### Agent - -A type of {% data variables.copilot.copilot_extension_short %} implementation that gives developers full control over handling user queries and response generation. This approach is ideal for builders who want complete customization and management of AI interactions. - -#### Context passing - -A capability in {% data variables.copilot.copilot_extensions_short %} that enables user context from editors to be sent to agents, allowing for more tailored responses. - -#### {% data variables.copilot.copilot_chat_short %} - -The conversational interface within {% data variables.product.prodname_copilot %} where users can interact with the AI assistant and extensions. - -#### {% data variables.copilot.copilot_extension_short %} - -A {% data variables.product.prodname_github_app %} with additional access to the {% data variables.copilot.copilot_chat_short %} window and Copilot API, allowing for extended functionality in {% data variables.product.company_short %}'s {% data variables.copilot.copilot_chat_short %}. This is how we will refer to extensions from the perspective of an extension user. - -#### {% data variables.product.prodname_copilot_short %} extensibility platform - -The system that handles authentication and proxies requests between clients and agent plugins. - -#### {% data variables.copilot.copilot_vsc_chat_participant %} - -Also known as {% data variables.product.prodname_vscode %} Chat extensions, {% data variables.copilot.copilot_vsc_chat_participants %} are built as a {% data variables.product.prodname_vscode %} extension rather than a {% data variables.product.prodname_github_app %}. These extensions are exclusive to {% data variables.product.prodname_vscode_shortname %} and can be downloaded from the {% data variables.product.prodname_vscode_shortname %} Marketplace. - -#### {% data variables.product.prodname_github_app %} - -The foundation for a {% data variables.copilot.copilot_extension_short %} that provides the necessary infrastructure, permissions, and context from {% data variables.product.company_short %}, such as user, repo and organization metadata. - -#### {% data variables.product.prodname_marketplace %} - -The platform where {% data variables.product.company_short %} approved {% data variables.copilot.copilot_extensions %} can be listed publicly and discovered by users. - -#### Listed/published extension - -An extension that appears on the {% data variables.product.prodname_marketplace %}. These extensions must be reviewed and approved by {% data variables.product.company_short %}. - -#### Private extension - -An extension that is only visible and usable by the enterprise, organization, or individual user that created it. Enterprise-created extensions can be installed by organizations that are within the enterprise. - -#### Public extension - -An extension that is visible and installable by any {% data variables.product.company_short %} user or organization. - -#### Skill - -A piece of code that retrieves context or executes an action in response to a user’s prompt (for example, "findIssueByID(id: number)"). For a list of a skills, see [Currently available skills](/copilot/using-github-copilot/asking-github-copilot-questions-in-your-ide#currently-available-skills). - -#### Skillset - -A type of {% data variables.copilot.copilot_extension_short %} implementation that gives developers the ability to connect external services and custom API endpoints to {% data variables.product.prodname_copilot_short %} with minimal complexity. The {% data variables.copilot.copilot_extensibility_platform_short %} handles prompt crafting, function evaluation, and response generation. The builder only needs to handle API skill definitions. This approach is ideal for builders who want minimal complexity. - -#### Tool/function calling - -A capability of {% data variables.product.prodname_copilot_short %}'s LLM (as well as Open AI’s) that allows them to invoke specific tools or functions. Extension builders can define available tools with parameters, enabling the LLM to select and call appropriate tools to fulfill a user’s request. “Functions” are a subset of “tools” and the “function calling” term will be {% data variables.release-phases.closing_down %}. - -#### Unlisted extension - -An extension that is not published on the {% data variables.product.prodname_marketplace %}. Builders may develop and distribute public unlisted extensions without requiring review or approval from {% data variables.product.company_short %}. {% data variables.product.company_short %} does not guarantee the security or quality of unlisted extensions. - -#### Verified creator - -A status required for organizations to publish extensions on the {% data variables.product.prodname_marketplace %}. diff --git a/content/copilot/reference/index.md b/content/copilot/reference/index.md index c79fd86e3247..fcd1ee3fe4e3 100644 --- a/content/copilot/reference/index.md +++ b/content/copilot/reference/index.md @@ -16,7 +16,6 @@ children: - /metrics-data - /copilot-billing - /agentic-audit-log-events - - /extensions-glossary - /copilot-usage-metrics contentType: reference --- diff --git a/content/copilot/reference/policy-conflicts.md b/content/copilot/reference/policy-conflicts.md index 817566746384..da063328f39a 100644 --- a/content/copilot/reference/policy-conflicts.md +++ b/content/copilot/reference/policy-conflicts.md @@ -48,7 +48,6 @@ Feature, model, and privacy settings for users are set according to the **least | {% data variables.copilot.copilot_code-review_short %} | Least restrictive organization | [AUTOTITLE](/copilot/responsible-use/code-review) | | {% data variables.copilot.copilot_coding_agent %} | Least restrictive organization | [AUTOTITLE](/copilot/responsible-use-of-github-copilot-features/responsible-use-of-copilot-coding-agent-on-githubcom) | | {% data variables.product.prodname_spark_short %} | Least restrictive organization | [AUTOTITLE](/copilot/responsible-use/spark) | -| {% data variables.copilot.copilot_extensions_short %} | Least restrictive organization | [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions) | | {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_dotcom_the_website %} | Least restrictive organization | [AUTOTITLE](/copilot/responsible-use/chat-in-github) | | {% data variables.copilot.copilot_desktop_short %} | Least restrictive organization | [AUTOTITLE](/copilot/responsible-use/copilot-in-github-desktop) | | {% data variables.copilot.copilot_cli_short %} | Least restrictive organization | [AUTOTITLE](/copilot/responsible-use/copilot-cli) | diff --git a/content/copilot/tutorials/enhance-agent-mode-with-mcp.md b/content/copilot/tutorials/enhance-agent-mode-with-mcp.md index e531aa0be1aa..98f950c38d49 100644 --- a/content/copilot/tutorials/enhance-agent-mode-with-mcp.md +++ b/content/copilot/tutorials/enhance-agent-mode-with-mcp.md @@ -9,6 +9,8 @@ topics: - Copilot redirect_from: - /copilot/tutorials/enhancing-copilot-agent-mode-with-mcp + - /copilot/how-tos/use-copilot-extensions/build-a-copilot-agent/use-context-passing + - /copilot/tutorials/try-extensions contentType: tutorials category: - Automate simple user stories diff --git a/content/copilot/tutorials/index.md b/content/copilot/tutorials/index.md index 57e753dd0b5d..86356d8fa2de 100644 --- a/content/copilot/tutorials/index.md +++ b/content/copilot/tutorials/index.md @@ -26,7 +26,6 @@ children: - /migrate-a-project - /plan-a-project - /upgrade-projects - - /try-extensions redirect_from: - /copilot/using-github-copilot/guides-on-using-github-copilot contentType: tutorials diff --git a/content/copilot/tutorials/try-extensions.md b/content/copilot/tutorials/try-extensions.md deleted file mode 100644 index 88334cb83bf5..000000000000 --- a/content/copilot/tutorials/try-extensions.md +++ /dev/null @@ -1,135 +0,0 @@ ---- -title: Quickstart for GitHub Copilot Extensions using agents -defaultTool: vscode -intro: 'Build and try out {% data variables.product.github %}''s Blackbeard extension to learn about the development process for {% data variables.copilot.copilot_extensions %}.' -versions: - feature: copilot-extensions -redirect_from: - - /copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/using-a-demo-agent - - /copilot/building-copilot-extensions/quickstart-for-github-copilot-extensions - - /copilot/building-copilot-extensions/quickstart-for-github-copilot-extensions-using-agents - - /copilot/how-tos/build-copilot-extensions/quickstart-for-github-copilot-extensions-using-agents - - /copilot/tutorials/quickstart-for-github-copilot-extensions-using-agents -topics: - - Copilot -shortTitle: Try Extensions -contentType: tutorials -category: - - Rapid prototyping - - Integrate Copilot with your tools ---- - -The [Blackbeard extension](https://github.com/copilot-extensions/blackbeard-extension) is a {% data variables.copilot.copilot_extension %} that comprises a {% data variables.product.prodname_github_app %} and a {% data variables.product.prodname_copilot_short %} agent. The agent responds to chat requests in the style of a pirate, using {% data variables.product.prodname_copilot_short %}'s large language model (LLM) API and special system prompts. See [AUTOTITLE](/copilot/building-copilot-extensions/building-a-copilot-agent-for-your-copilot-extension/about-copilot-agents). - -This guide uses a simple agent implementation, but the process is similar for skillsets. For information about the difference between agents and skillsets, see [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions). - -This quickstart is designed to help you build and chat with the Blackbeard extension as quickly as possible, so you can develop and test your extension without deploying infrastructure. For production, you'll need to host the application for your agent or skillset's endpoints on a publicly accessible server. To instead learn how to create a new {% data variables.copilot.copilot_extension %}, see [AUTOTITLE](/copilot/building-copilot-extensions/setting-up-copilot-extensions). - -## 1. Create and install a {% data variables.product.prodname_github_app %} - -In the developer settings for your {% data variables.product.github %} account, create a {% data variables.product.prodname_github_app %}. Your {% data variables.product.prodname_github_app %} must have: -* A name -* A homepage URL -* Webhooks deselected - -After you create your app, click **Install App** in the sidebar, then install your app on your account. - -For detailed instructions, see [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/creating-a-github-app-for-your-copilot-extension#creating-a-github-app). - -{% vscode %} - -## 2. Clone and host the Blackbeard agent locally - -Rather than deploying the Blackbeard agent as a web app, you can host your agent locally for a significantly faster build process. - -1. Using the Terminal built into {% data variables.product.prodname_vscode_shortname %}, clone the [`copilot-extensions/blackbeard-extension`](https://github.com/copilot-extensions/blackbeard-extension) repository. -1. In the same Terminal, run `npm install` to install the necessary dependencies, then run `npm start` to start the Blackbeard agent on port 3000. -1. In the "Ports" tab of the {% data variables.product.prodname_vscode_shortname %} panel, click **Forward a port** or **Add port**, then add port 3000. -1. Right-click the port and set the visibility to "Public," then copy the local address. - -## 3. Integrate and test the Blackbeard extension - -After you set up your {% data variables.product.prodname_github_app %} and Blackbeard agent, you can integrate the agent with your app and test the Blackbeard extension. You need to make the following changes to your {% data variables.product.prodname_github_app %} settings: -* In the "General" settings, in the "Callback URL" field, paste the local address for your agent. -* In the "Permissions & events" settings, grant read-only permissions to {% data variables.copilot.copilot_chat_short %}. -* In the "{% data variables.product.prodname_copilot_short %}" settings, set your app type to "Agent," then fill out the remaining fields. - -After you update your {% data variables.product.prodname_github_app %} settings, you can start chatting with your extension by typing `@YOUR-EXTENSION-NAME` in the {% data variables.copilot.copilot_chat_short %} window, then sending a prompt as normal. - -For more detailed instructions, see [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-agent#configuring-your-github-app). - -{% endvscode %} - -{% codespaces %} - -## 2. Clone and host the Blackbeard agent in a codespace - -Rather than deploying the Blackbeard agent as a web app, you can host your agent in a codespace for a significantly faster build process. - -1. Navigate to the [`copilot-extensions/blackbeard-extension`](https://github.com/copilot-extensions/blackbeard-extension) repository. Select the **{% octicon "code" aria-hidden="true" aria-label="code" %} Code** {% octicon "triangle-down" aria-hidden="true" aria-label="triangle-down" %} dropdown menu, then click **Create codespace on main**. -1. To find your new codespace, select the **{% octicon "code" aria-hidden="true" aria-label="code" %} Code** {% octicon "triangle-down" aria-hidden="true" aria-label="triangle-down" %} dropdown menu. Next to your new codespace, select {% octicon "kebab-horizontal" aria-label="Show more actions for codespace" %}, then click **{% octicon "globe" aria-hidden="true" aria-label="globe" %} Open in Browser**. -1. In the integrated Terminal, run `npm start` to start the Blackbeard agent on port 3000. -1. In the "Ports" tab of the {% data variables.product.prodname_vscode_shortname %} panel, click **Forward a port**, then add port 3000. -1. Right-click the port and set the visibility to "Public," then copy the local address. - -## 3. Integrate and test the Blackbeard extension - -After you set up your {% data variables.product.prodname_github_app %} and Blackbeard agent, you can integrate the agent with your app and test the Blackbeard extension. You need to make the following changes to your {% data variables.product.prodname_github_app %} settings: -* In the "General" settings, in the "Callback URL" field, paste the forwarded address for your agent. -* In the "Permissions & events" settings, grant read-only permissions to {% data variables.copilot.copilot_chat_short %}. -* In the "{% data variables.product.prodname_copilot_short %}" settings, set your app type to "Agent," then fill out the remaining fields. - -After you update your {% data variables.product.prodname_github_app %} settings, you can start chatting with your extension by typing `@YOUR-EXTENSION-NAME` in the {% data variables.copilot.copilot_chat_short %} window of a supported client or IDE, then sending a prompt as normal. For a list of supported clients and IDEs, see [AUTOTITLE](/copilot/concepts/copilot-extensions/about-copilot-extensions#supported-clients-and-ides). - -> [!NOTE] Chatting with {% data variables.copilot.copilot_extensions %} in {% data variables.product.prodname_github_codespaces %} is not supported. - -For more detailed instructions, see [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-agent#configuring-your-github-app). - -{% endcodespaces %} - -{% bash %} - -## 2. Clone and start the Blackbeard agent locally - -Rather than deploying the Blackbeard agent as a web app, you can host your agent locally for a significantly faster build process. - -1. Using your command line application, clone the [`copilot-extensions/blackbeard-extension`](https://github.com/copilot-extensions/blackbeard-extension) repository. -1. Run `npm install` to install the necessary dependencies, then run `npm start` to start the Blackbeard agent on port 3000. - -## 3. Expose your local server - -To make the Blackbeard agent accessible to the {% data variables.product.prodname_copilot_short %} platform and {% data variables.product.github %}, you need to expose your local server so it's reachable by HTTP requests. You can use any port forwarding or tunneling service to achieve this. For the following steps, we'll use ngrok. - -1. Navigate to [ngrok's download page](https://ngrok.com/downloads/), then install the appropriate version of ngrok for your operating system. -1. Navigate to the [ngrok setup and installation page](https://dashboard.ngrok.com/get-started/setup/), then log in or sign up for an ngrok account. -1. To expose your local server, in a new window of your command line application, run the following command: - - ```shell copy - ngrok http http://localhost:3000 - ``` - -1. In your command line application, next to "Forwarding," copy the URL that ngrok assigned to your server. - -## 4. Integrate and test the Blackbeard extension - -To integrate your {% data variables.product.prodname_github_app %} with the Blackbeard agent, you need to make the following changes to your app settings: -* In the "General" settings, in the "Callback URL" field, paste the URL for your exposed server. -* In the "Permissions & events" settings, grant read-only permissions to {% data variables.copilot.copilot_chat_short %}. -* In the "{% data variables.product.prodname_copilot_short %}" settings, set your app type to "Agent," then fill out the remaining fields. - -After you update your {% data variables.product.prodname_github_app %} settings, you can start chatting with your extension by typing `@YOUR-EXTENSION-NAME` in the {% data variables.copilot.copilot_chat_short %} window, then sending a prompt as normal. - -For more detailed instructions, see [AUTOTITLE](/copilot/building-copilot-extensions/creating-a-copilot-extension/configuring-your-github-app-for-your-copilot-agent#configuring-your-github-app). - -{% endbash %} - -## Next steps - -Now that you have a working {% data variables.copilot.copilot_extension %}, you can try building on the Blackbeard agent to experiment with agent development. - -To learn about more complex agent implementations, you can also review the following example agents and software development kit (SDK), all of which are available in the [`copilot-extensions`](https://github.com/copilot-extensions) organization: - -* [{% data variables.product.prodname_github_models %}](https://github.com/copilot-extensions/github-models-extension): A more complex agent that lets you ask about and interact with various LLMs listed on the {% data variables.product.prodname_marketplace %} through {% data variables.copilot.copilot_chat_short %}. The {% data variables.product.prodname_github_models %} agent makes use of function calling. -* [Function Calling](https://github.com/copilot-extensions/function-calling-extension): An example agent written in Go that demonstrates function calling and confirmation dialogs. -* [RAG Extension](https://github.com/copilot-extensions/rag-extension): An example agent written in Go that demonstrates a simple implementation of retrieval augmented generation. -* [Preview SDK](https://github.com/copilot-extensions/preview-sdk.js/tree/main): An SDK that streamlines the development of {% data variables.copilot.copilot_extensions_short %} by handling request verification, payload parsing, and response formatting automatically. This SDK allows extension builders to focus more on creating core functionality and less on boilerplate code. diff --git a/content/get-started/using-github/github-mobile.md b/content/get-started/using-github/github-mobile.md index 3eb81bbd0e0c..15f7312dcdc4 100644 --- a/content/get-started/using-github/github-mobile.md +++ b/content/get-started/using-github/github-mobile.md @@ -38,8 +38,7 @@ The following documentation contains more information about using {% data variab * Using {% data variables.product.prodname_dotcom %} code search on {% data variables.product.prodname_mobile %}, see [AUTOTITLE](/search-github/github-code-search/using-github-code-search#using-github-code-search-on-github-mobile).{% endif %}{% ifversion fpt or ghec %} * Two-factor authentication using {% data variables.product.prodname_mobile %}, see [AUTOTITLE](/authentication/securing-your-account-with-two-factor-authentication-2fa/configuring-two-factor-authentication#configuring-two-factor-authentication-using-github-mobile) and [Authenticating using {% data variables.product.prodname_mobile %}](/authentication/securing-your-account-with-two-factor-authentication-2fa/accessing-github-using-two-factor-authentication#verifying-with-github-mobile). {% endif %}{% ifversion copilot-chat-for-mobile %} * Using {% data variables.copilot.copilot_mobile %}, see [AUTOTITLE](/copilot/github-copilot-chat/copilot-chat-in-github-mobile/using-github-copilot-chat-in-github-mobile).{% endif %}{% ifversion copilot-chat-for-mobile %} -* Assigning issues to {% data variables.product.prodname_copilot_short %} from {% data variables.product.prodname_mobile %}, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/assign-copilot-to-an-issue).{% endif %}{% ifversion copilot-chat-for-mobile %} -* Using {% data variables.copilot.copilot_extensions %} in {% data variables.product.prodname_mobile %}, see [Extending {% data variables.copilot.copilot_chat_short %} in {% data variables.product.prodname_mobile %}](/copilot/using-github-copilot/copilot-chat/asking-github-copilot-questions-in-github-mobile#extending-copilot-chat-in-github-mobile).{% endif %} +* Assigning issues to {% data variables.product.prodname_copilot_short %} from {% data variables.product.prodname_mobile %}, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/coding-agent/assign-copilot-to-an-issue).{% endif %} ## Installing {% data variables.product.prodname_mobile %} diff --git a/content/github-models/use-github-models/index.md b/content/github-models/use-github-models/index.md index a34d9edafca4..4378528e9b7c 100644 --- a/content/github-models/use-github-models/index.md +++ b/content/github-models/use-github-models/index.md @@ -8,5 +8,4 @@ children: - /optimizing-your-ai-powered-app-with-github-models - /evaluating-ai-models - /storing-prompts-in-github-repositories - - /integrating-ai-models-into-your-development-workflow --- diff --git a/content/github-models/use-github-models/integrating-ai-models-into-your-development-workflow.md b/content/github-models/use-github-models/integrating-ai-models-into-your-development-workflow.md deleted file mode 100644 index f5901cf4763a..000000000000 --- a/content/github-models/use-github-models/integrating-ai-models-into-your-development-workflow.md +++ /dev/null @@ -1,109 +0,0 @@ ---- -title: Integrating AI models into your development workflow -intro: 'Call AI models in the tools you use every day.' -versions: - feature: github-models -shortTitle: Integrate AI models -redirect_from: - - /github-models/integrating-ai-models-into-your-development-workflow ---- - -With {% data variables.product.prodname_github_models %} extensions, you can call specific AI models from both {% data variables.copilot.copilot_chat_short %} and {% data variables.product.prodname_cli %}. These extensions integrate directly into your development workflow, allowing you to prompt models without context switching. - -## Using AI models in {% data variables.copilot.copilot_chat_short %} - -If you have a {% data variables.product.prodname_copilot_short %} subscription, you can work with AI models in {% data variables.copilot.copilot_chat_short %} in two different ways: -* Using the {% data variables.product.prodname_github_models %} {% data variables.copilot.copilot_extension_short %}. With this extension, you can ask for model recommendations based on certain criteria and chat with specific models. See [Using the {% data variables.product.prodname_github_models %} {% data variables.copilot.copilot_extension_short %}](#using-the-github-models-copilot-extension). -* Using multiple model support in {% data variables.copilot.copilot_chat_short %}. With multi-model {% data variables.copilot.copilot_chat_short %}, you can choose a specific model to use for a conversation, then prompt {% data variables.copilot.copilot_chat_short %} as usual. See [AUTOTITLE](/copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-chat). - -### Using the {% data variables.product.prodname_github_models %} {% data variables.copilot.copilot_extension_short %} - -> [!NOTE] The {% data variables.product.prodname_github_models %} {% data variables.copilot.copilot_extension_short %} is in {% data variables.release-phases.public_preview %} and is subject to change. - -1. Install the [{% data variables.product.prodname_github_models %} {% data variables.copilot.copilot_extension_short %}](https://github.com/marketplace/models-github). - * If you have a {% data variables.copilot.copilot_pro_short %} subscription, you can install the extension on your personal account. - * If you have access to {% data variables.product.prodname_copilot_short %} through a {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} subscription: - * An organization owner or enterprise owner needs to enable the {% data variables.copilot.copilot_extensions_short %} policy for your organization or enterprise. - * An organization owner needs to install the extension for your organization. - -1. Open any implementation of {% data variables.copilot.copilot_chat_short %} that supports {% data variables.copilot.copilot_extensions %}. For a list of supported {% data variables.copilot.copilot_chat_short %} implementations, see [AUTOTITLE](/copilot/using-github-copilot/using-extensions-to-integrate-external-tools-with-copilot-chat#supported-clients-and-ides). -1. In the chat window, type `@models YOUR-PROMPT`, then send your prompt. There are several use cases for the {% data variables.product.prodname_github_models %} {% data variables.copilot.copilot_extension_short %}, including: - * Recommending a particular model based on context and criteria you provide. For example, you can ask for a low-cost OpenAI model that supports function calling. - * Executing prompts using a particular model. This is especially useful when you want to use a model that is not currently available in multi-model {% data variables.copilot.copilot_chat_short %}. - * Listing models currently available through {% data variables.product.prodname_github_models %} - -## Using AI models with {% data variables.product.prodname_actions %} - -You can use the {% data variables.product.prodname_actions %} token (`GITHUB_TOKEN`) to call AI models directly inside your workflows. - -### Setting permissions - -To use AI models in your workflows, ensure that the `models` permission is enabled in your workflow configuration. This permission allows workflows to access the {% data variables.product.prodname_github_models %} inference API. You can either set this permission itself or use the general `read-all` or `write-all` permissions. See [AUTOTITLE](/rest/overview/permissions-required-for-github-apps?apiVersion=2022-11-28#repository-permissions-for-actions). - -### Writing your workflow file - -You can call the inference API directly from your workflow. For instance: - -```yaml -name: Use GitHub Models - -on: - workflow_dispatch: - -permissions: - models: read - -jobs: - call-model: - runs-on: ubuntu-latest - steps: - - name: Call AI model - env: - GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %} - run: | - curl "https://models.github.ai/inference/chat/completions" \ - -H "Content-Type: application/json" \ - -H "Authorization: Bearer $GITHUB_TOKEN" \ - -d '{ - "messages": [ - { - "role": "user", - "content": "Explain the concept of recursion." - } - ], - "model": "openai/gpt-4o" - }' -``` - -## Using AI models from the command line - -> [!NOTE] The {% data variables.product.prodname_github_models %} extension for {% data variables.product.prodname_cli %} is in {% data variables.release-phases.public_preview %} and is subject to change. - -You can use the {% data variables.product.prodname_github_models %} extension for {% data variables.product.prodname_cli %} to prompt AI models from the command line, and even pipe in the output of a command as context. - -### Prerequisites - -To use the {% data variables.product.prodname_github_models %} CLI extension, you must install {% data variables.product.prodname_cli %}. {% data reusables.cli.cli-installation %} - -### Installing the extension - -1. If you have not already authenticated to the {% data variables.product.prodname_cli %}, run the following command in your terminal. - - ```shell copy - gh auth login - ``` - -1. To install the {% data variables.product.prodname_github_models %} extension, run the following command. - - ```shell copy - gh extension install https://github.com/github/gh-models - ``` - -### Using the extension - -To see a list of all available commands, run `gh models`. - -There are a few key ways you can use the extension: - * **To ask a model multiple questions using a chat experience**, run `gh models run`. Select your model from the listed models, then send your prompts. - * **To ask a model a single question**, run `gh models run MODEL-NAME "QUESTION"` in your terminal. For example, to ask the {% data variables.copilot.copilot_gpt_41 %} model why the sky is blue, you can run `gh models run openai/gpt-4.1 "why is the sky blue?"`. - * **To provide the output of a command as context when you call a model**, you can join a separate command and the call to the model with the pipe character (`|`). For example, to summarize the README file in the current directory using the {% data variables.copilot.copilot_gpt_41 %} model, you can run `cat README.md | gh models run openai/gpt-4.1 "summarize this text"`. diff --git a/content/index.md b/content/index.md index 7cd8cc2faef2..008d4d075858 100644 --- a/content/index.md +++ b/content/index.md @@ -157,7 +157,6 @@ childGroups: - rest - graphql - webhooks - - copilot/how-tos/use-copilot-extensions - github-models - name: Community octicon: GlobeIcon diff --git a/data/reusables/copilot/copilot-extensions/extending-copilot-chat.md b/data/reusables/copilot/copilot-extensions/extending-copilot-chat.md index fac972bda056..c2c4e34f61cf 100644 --- a/data/reusables/copilot/copilot-extensions/extending-copilot-chat.md +++ b/data/reusables/copilot/copilot-extensions/extending-copilot-chat.md @@ -1,4 +1,2 @@ {% data variables.copilot.copilot_extensions %} integrate the power of external tools into {% data variables.copilot.copilot_chat_short %}, helping you reduce context switching and receive responses with domain-specific context. You can install {% data variables.copilot.copilot_extensions_short %} from the {% data variables.product.prodname_marketplace %} or build private ones within your organization, then type `@` in a chat window to see a list of your available extensions. To use an extension, select the extension from the list or type the full slug name, then type your prompt. - -To learn more, see [AUTOTITLE](/copilot/using-github-copilot/using-extensions-to-integrate-external-tools-with-copilot-chat). diff --git a/data/reusables/copilot/differences-cfi-cfb-table.md b/data/reusables/copilot/differences-cfi-cfb-table.md index 82e78b94627c..17c0ac669a3c 100644 --- a/data/reusables/copilot/differences-cfi-cfb-table.md +++ b/data/reusables/copilot/differences-cfi-cfb-table.md @@ -17,7 +17,7 @@ | {% data variables.copilot.copilot_coding_agent %} ({% data variables.release-phases.public_preview %}) | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | Agent mode | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | {% data variables.product.prodname_copilot_short %} code review | Only "Review selection" in {% data variables.product.prodname_vscode_shortname %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| {% data variables.copilot.copilot_extensions_short %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| Model Context Protocol (MCP) | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% endrowheaders %} @@ -62,7 +62,7 @@ | Repository and personal custom instructions | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | Organization custom instructions ({% data variables.release-phases.public_preview %}) | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | Prompt files | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | -| Private extensions | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | +| Model Context Protocol (MCP) | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | Block suggestions matching public code | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | Exclude specified files from {% data variables.product.prodname_copilot_short %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | | Organization-wide policy management | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "x" aria-label="Not included" %} | {% octicon "check" aria-label="Included" %} | {% octicon "check" aria-label="Included" %} | diff --git a/data/reusables/copilot/mcp/mcp-chat-in-ide.md b/data/reusables/copilot/mcp/mcp-chat-in-ide.md new file mode 100644 index 000000000000..a14b1fe1722e --- /dev/null +++ b/data/reusables/copilot/mcp/mcp-chat-in-ide.md @@ -0,0 +1 @@ +You can use MCP to extend the capabilities of {% data variables.copilot.copilot_chat_short %} by integrating it with a wide range of existing tools and services. For additional information, see [AUTOTITLE](/copilot/concepts/context/mcp). From c747d99bc7ca0e96237d73172bc0e4df43778823 Mon Sep 17 00:00:00 2001 From: "release-controller[bot]" <110195724+release-controller[bot]@users.noreply.github.com> Date: Mon, 10 Nov 2025 16:33:36 -0500 Subject: [PATCH 6/8] Patch release notes for GitHub Enterprise Server (#58139) Co-authored-by: Release-Controller Co-authored-by: Devin Dooley Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com> Co-authored-by: Isaac Brown <101839405+isaacmbrown@users.noreply.github.com> --- .../enterprise-server/3-14/19.yml | 54 ++++++++++ .../enterprise-server/3-15/14.yml | 68 +++++++++++++ .../enterprise-server/3-16/10.yml | 86 ++++++++++++++++ .../enterprise-server/3-17/7.yml | 96 ++++++++++++++++++ .../enterprise-server/3-18/1.yml | 98 +++++++++++++++++++ 5 files changed, 402 insertions(+) create mode 100644 data/release-notes/enterprise-server/3-14/19.yml create mode 100644 data/release-notes/enterprise-server/3-15/14.yml create mode 100644 data/release-notes/enterprise-server/3-16/10.yml create mode 100644 data/release-notes/enterprise-server/3-17/7.yml create mode 100644 data/release-notes/enterprise-server/3-18/1.yml diff --git a/data/release-notes/enterprise-server/3-14/19.yml b/data/release-notes/enterprise-server/3-14/19.yml new file mode 100644 index 000000000000..d4eb901d3c7e --- /dev/null +++ b/data/release-notes/enterprise-server/3-14/19.yml @@ -0,0 +1,54 @@ +date: '2025-10-29' +sections: + security_fixes: + - | + **CRITICAL:** Redis has been upgraded to version 6.2.20 to address CVE-2025-49844 (also known as RediShell). Administrators should apply this update promptly to mitigate potential security risks. + - | + **HIGH:** A privilege escalation vulnerability in GitHub Enterprise Server allowed an authenticated enterprise admin to gain root SSH access. The exploit used a symlink escape in pre-receive hook environments. An attacker could craft a malicious repository and environment to replace system binaries during hook cleanup. This allowed them to execute a payload that added their SSH key to the root user's authorized keys, granting root SSH access. The attacker needed enterprise admin privileges to exploit this vulnerability. This has been assigned CVE-2025-11578 and was reported through the GitHub Bug Bounty program. + - | + **HIGH:** An attacker could execute arbitrary code in the context of other users' browsers by supplying a malicious `label:` value that was injected into the DOM without proper sanitization. This could be triggered when a user visits a crafted Issues search URL, enabling session hijacking, account takeover, and recovery code exfiltration. GitHub has requested CVE ID [CVE-2025-11892](https://www.cve.org/cverecord?id=CVE-2025-11892) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + - | + Packages have been updated to the latest security versions. + bugs: + - | + Users applying a new license file received an HTTP 500 error. + - | + SVG files stored in Git Large File Storage (LFS) failed to render on the web interface. + - | + On the "Scheduled workflows" page in the site admin dashboard, actors attributed to workflows appeared as "Not found". + changes: + - | + Elasticsearch deprecation warnings, which are logged to index files in new versions of Elasticsearch, have been disabled. These warnings provided no value to administrators, and in some cases could block upgrades of instances in high-availability or cluster configurations. + known_issues: + - | + During the validation phase of a configuration run, a `No such object` error may occur for the Notebook and Viewscreen services. This error can be ignored as the services should still correctly start. + - | + If the root site administrator is locked out of the Management Console after failed login attempts, the account does not unlock automatically after the defined lockout time. Someone with administrative SSH access to the instance must unlock the account using the administrative shell. For more information, see [AUTOTITLE](/admin/configuration/administering-your-instance-from-the-management-console/troubleshooting-access-to-the-management-console#unlocking-the-root-site-administrator-account). + - | + On an instance with the HTTP `X-Forwarded-For` header configured for use behind a load balancer, all client IP addresses in the instance's audit log erroneously appear as 127.0.0.1. + - | + {% data reusables.release-notes.large-adoc-files-issue %} + - | + Admin stats REST API endpoints may timeout on appliances with many users or repositories. Retrying the request until data is returned is advised. + - | + When following the steps for [Replacing the primary MySQL node](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-the-primary-mysql-node), step 14 (running `ghe-cluster-config-apply`) might fail with errors. If this occurs, re-running `ghe-cluster-config-apply` is expected to succeed. + - | + Running a config apply as part of the steps for [Replacing a node in an emergency](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-a-node-in-an-emergency) may fail with errors if the node being replaced is still reachable. If this occurs, shut down the node and repeat the steps. + - | + {% data reusables.release-notes.2024-06-possible-frontend-5-minute-outage-during-hotpatch-upgrade %} + - | + When restoring data originally backed up from a 3.13 or greater appliance version, the Elasticsearch indices need to be reindexed before some of the data will show up. This happens via a nightly scheduled job. You can also trigger the reindexing by running `/usr/local/share/enterprise/ghe-es-search-repair`. + - | + An organization-level code scanning configuration page is displayed on instances that do not use GitHub Advanced Security or code scanning. + - | + In the header bar displayed to site administrators, some icons are not available. + - | + When enabling automatic update checks for the first time in the Management Console, the status is not dynamically reflected until the "Updates" page is reloaded. + - | + When restoring from a backup snapshot, a large number of `mapper_parsing_exception` errors may be displayed. + - | + After a restore, existing outside collaborators cannot be added to repositories in a new organization. This issue can be resolved by running `/usr/local/share/enterprise/ghe-es-search-repair` on the appliance. + - | + After a geo-replica is promoted to be a primary by running `ghe-repl-promote`, the actions workflow of a repository does not have any suggested workflows. + - | + Unexpected elements may appear in the UI on the repository overview page for locked repositories. diff --git a/data/release-notes/enterprise-server/3-15/14.yml b/data/release-notes/enterprise-server/3-15/14.yml new file mode 100644 index 000000000000..09d73963f522 --- /dev/null +++ b/data/release-notes/enterprise-server/3-15/14.yml @@ -0,0 +1,68 @@ +date: '2025-10-29' +sections: + security_fixes: + - | + **CRITICAL:** Redis has been upgraded to version 6.2.20 to address CVE-2025-49844 (also known as RediShell). Administrators should apply this update promptly to mitigate potential security risks. + - | + **HIGH:** A privilege escalation vulnerability in GitHub Enterprise Server allowed an authenticated enterprise admin to gain root SSH access. The exploit used a symlink escape in pre-receive hook environments. An attacker could craft a malicious repository and environment to replace system binaries during hook cleanup. This allowed them to execute a payload that added their SSH key to the root user's authorized keys, granting root SSH access. The attacker needed enterprise admin privileges to exploit this vulnerability. This has been assigned CVE-2025-11578 and was reported through the GitHub Bug Bounty program. + - | + **HIGH:** An attacker could execute arbitrary code in the context of other users' browsers by supplying a malicious `label:` value that was injected into the DOM without proper sanitization. This could be triggered when a user visits a crafted Issues search URL, enabling session hijacking, account takeover, and recovery code exfiltration. GitHub has requested CVE ID [CVE-2025-11892](https://www.cve.org/cverecord?id=CVE-2025-11892) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + - | + Packages have been updated to the latest security versions. + bugs: + - | + Users applying a new license file received an HTTP 500 error. + - | + Administrators running the `ghe-repl-start-all` command may have encountered replicas remaining in an enabled state after a failed operation, causing subsequent configuration updates to execute on unintended nodes. Replicas now revert to a disabled state if the command fails. + - | + Setting up MySQL replication on secondary replica nodes was inefficient and consumed unnecessary root disk space. + - | + When running the `system-requirements` check as part of the `ghe-cluster-config-check` command prior to the initialization of a new cluster, the check request would fail because it exceeded the overall request timeout. + - | + SVG files stored in Git Large File Storage (LFS) failed to render on the web interface. + - | + Announcements scheduled using the `expires_at` timestamp in ISO 8601 format were not parsing the specified time correctly, resulting in the time component always being ignored. + - | + On the "Scheduled workflows" page in the site admin dashboard, actors attributed to workflows appeared as "Not found". + - | + On instances where GitHub Actions workflows require approval to run on pull requests from forked repositories, workflows remained queued indefinitely after users clicked "Approve and run". + changes: + - | + Elasticsearch deprecation warnings, which are logged to index files in new versions of Elasticsearch, have been disabled. These warnings provided no value to administrators, and in some cases could block upgrades of instances in high-availability or cluster configurations. + known_issues: + - | + Custom firewall rules are removed during the upgrade process. + - | + During the validation phase of a configuration run, a `No such object` error may occur for the Notebook and Viewscreen services. This error can be ignored as the services should still correctly start. + - | + If the root site administrator is locked out of the Management Console after failed login attempts, the account does not unlock automatically after the defined lockout time. Someone with administrative SSH access to the instance must unlock the account using the administrative shell. For more information, see [AUTOTITLE](/admin/configuration/administering-your-instance-from-the-management-console/troubleshooting-access-to-the-management-console#unlocking-the-root-site-administrator-account). + - | + On an instance with the HTTP `X-Forwarded-For` header configured for use behind a load balancer, all client IP addresses in the instance's audit log erroneously appear as 127.0.0.1. + - | + {% data reusables.release-notes.large-adoc-files-issue %} + - | + Admin stats REST API endpoints may timeout on appliances with many users or repositories. Retrying the request until data is returned is advised. + - | + When following the steps for [Replacing the primary MySQL node](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-the-primary-mysql-node), step 14 (running `ghe-cluster-config-apply`) might fail with errors. If this occurs, re-running `ghe-cluster-config-apply` is expected to succeed. + - | + Running a config apply as part of the steps for [Replacing a node in an emergency](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-a-node-in-an-emergency) may fail with errors if the node being replaced is still reachable. If this occurs, shut down the node and repeat the steps. + - | + {% data reusables.release-notes.2024-06-possible-frontend-5-minute-outage-during-hotpatch-upgrade %} + - | + When restoring data originally backed up from a 3.13 or greater appliance version, the Elasticsearch indices need to be reindexed before some of the data will show up. This happens via a nightly scheduled job. You can also trigger the reindexing by running `/usr/local/share/enterprise/ghe-es-search-repair`. + - | + An organization-level code scanning configuration page is displayed on instances that do not use GitHub Advanced Security or code scanning. + - | + In the header bar displayed to site administrators, some icons are not available. + - | + When enabling automatic update checks for the first time in the Management Console, the status is not dynamically reflected until the "Updates" page is reloaded. + - | + When restoring from a backup snapshot, a large number of `mapper_parsing_exception` errors may be displayed. + - | + When initializing a new GHES cluster, nodes with the `consul-server` role should be added to the cluster before adding more nodes. Adding all nodes simultaneously creates a race condition between nomad server registration and nomad client registration. + - | + Admins setting up cluster high availability (HA) may encounter a spokes error when running `ghe-cluster-repl-status` if a new organization and repositories are created before using the `ghe-cluster-repl-bootstrap` command. To avoid this issue, complete the cluster HA setup with `ghe-cluster-repl-bootstrap` before creating new organizations and repositories. + - | + After a restore, existing outside collaborators cannot be added to repositories in a new organization. This issue can be resolved by running `/usr/local/share/enterprise/ghe-es-search-repair` on the appliance. + - | + Unexpected elements may appear in the UI on the repository overview page for locked repositories. diff --git a/data/release-notes/enterprise-server/3-16/10.yml b/data/release-notes/enterprise-server/3-16/10.yml new file mode 100644 index 000000000000..86a00c3b6b74 --- /dev/null +++ b/data/release-notes/enterprise-server/3-16/10.yml @@ -0,0 +1,86 @@ +date: '2025-10-29' +sections: + security_fixes: + - | + **CRITICAL:** Redis has been upgraded to version 6.2.20 to address CVE-2025-49844 (also known as RediShell). Administrators should apply this update promptly to mitigate potential security risks. + - | + **HIGH:** A privilege escalation vulnerability in GitHub Enterprise Server allowed an authenticated enterprise admin to gain root SSH access. The exploit used a symlink escape in pre-receive hook environments. An attacker could craft a malicious repository and environment to replace system binaries during hook cleanup. This allowed them to execute a payload that added their SSH key to the root user's authorized keys, granting root SSH access. The attacker needed enterprise admin privileges to exploit this vulnerability. This has been assigned CVE-2025-11578 and was reported through the GitHub Bug Bounty program. + - | + **HIGH:** An attacker could execute arbitrary code in the context of other users' browsers by supplying a malicious `label:` value that was injected into the DOM without proper sanitization. This could be triggered when a user visits a crafted Issues search URL, enabling session hijacking, account takeover, and recovery code exfiltration. GitHub has requested CVE ID [CVE-2025-11892](https://www.cve.org/cverecord?id=CVE-2025-11892) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + - | + Authenticated users could target the internal aqueduct-lite endpoints by using a domain name to circumvent checks. This fix addresses this Server-Side Request Forgery (SSRF) vulnerability by blocking connections to loopback addresses after resolving the domain name for the webhook delivery address. + - | + Packages have been updated to the latest security versions. + bugs: + - | + Users applying a new license file received an HTTP 500 error. + - | + Administrators running the `ghe-repl-start-all` command may have encountered replicas remaining in an enabled state after a failed operation, causing subsequent configuration updates to execute on unintended nodes. Replicas now revert to a disabled state if the command fails. + - | + Setting up MySQL replication on secondary replica nodes was inefficient and consumed unnecessary root disk space. + - | + After an upgrade, administrators found that Elasticsearch allocation remained set to "none," causing subsequent upgrades to fail. Enterprise upgrades now correctly set allocation to "all" after configuration is applied, preventing upgrade blocks. + - | + When running the `system-requirements` check as part of the `ghe-cluster-config-check` command prior to the initialization of a new cluster, the check request would fail because it exceeded the overall request timeout. + - | + SVG files stored in Git Large File Storage (LFS) failed to render on the web interface. + - | + Creating an organization would fail with a 500 or validation error if a maximum lifetime policy for {% data variables.product.pat_generic_plural %} was set to less than 366 days in the enterprise settings. + - | + Announcements scheduled using the `expires_at` timestamp in ISO 8601 format were not parsing the specified time correctly, resulting in the time component always being ignored. + - | + On the "Scheduled workflows" page in the site admin dashboard, actors attributed to workflows appeared as "Not found". + - | + On instances with thousands of organizations and roles, opening the security overview page for an organization or any other organization-level pages accessible via the Security tab triggered inefficient database queries that could degrade performance for other users. + - | + Administrators who had upgraded to the previous patch release may have observed a significant increase in executions of the `SecurityOverviewAnalytics::UpdateFeatureStatusSummaryJob`, causing background job queue saturation, service delays, reduced stability, and lower performance for environments using security overview analytics. + - | + On instances where GitHub Actions workflows require approval to run on pull requests from forked repositories, workflows remained queued indefinitely after users clicked "Approve and run". + - | + The GitHub system user was not always properly set on startup, occasionally surfacing in authentication errors or failed secret scanning jobs in logs. + changes: + - | + Elasticsearch deprecation warnings, which are logged to index files in new versions of Elasticsearch, have been disabled. These warnings provided no value to administrators, and in some cases could block upgrades of instances in high-availability or cluster configurations. + - | + Logging of configuration runs is improved with streamlined logging for different configuration phases. Phase-specific logs are written to both the main log file (`ghe-config.log`) and the console for better visibility. + known_issues: + - | + Custom firewall rules are removed during the upgrade process. + - | + During the validation phase of a configuration run, a `No such object` error may occur for the Notebook and Viewscreen services. This error can be ignored as the services should still correctly start. + - | + If the root site administrator is locked out of the Management Console after failed login attempts, the account does not unlock automatically after the defined lockout time. Someone with administrative SSH access to the instance must unlock the account using the administrative shell. For more information, see [AUTOTITLE](/admin/configuration/administering-your-instance-from-the-management-console/troubleshooting-access-to-the-management-console#unlocking-the-root-site-administrator-account). + - | + On an instance with the HTTP `X-Forwarded-For` header configured for use behind a load balancer, all client IP addresses in the instance's audit log erroneously appear as 127.0.0.1. + - | + {% data reusables.release-notes.large-adoc-files-issue %} + - | + Admin stats REST API endpoints may timeout on appliances with many users or repositories. Retrying the request until data is returned is advised. + - | + When following the steps for [Replacing the primary MySQL node](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-the-primary-mysql-node), step 14 (running `ghe-cluster-config-apply`) might fail with errors. If this occurs, re-running `ghe-cluster-config-apply` is expected to succeed. + - | + Running a config apply as part of the steps for [Replacing a node in an emergency](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-a-node-in-an-emergency) may fail with errors if the node being replaced is still reachable. If this occurs, shut down the node and repeat the steps. + - | + {% data reusables.release-notes.2024-06-possible-frontend-5-minute-outage-during-hotpatch-upgrade %} + - | + When restoring data originally backed up from a 3.13 or greater appliance version, the Elasticsearch indices need to be reindexed before some of the data will show up. This happens via a nightly scheduled job. You can also trigger the reindexing by running `/usr/local/share/enterprise/ghe-es-search-repair`. + - | + An organization-level code scanning configuration page is displayed on instances that do not use GitHub Advanced Security or code scanning. + - | + When enabling automatic update checks for the first time in the Management Console, the status is not dynamically reflected until the "Updates" page is reloaded. + - | + When restoring from a backup snapshot, a large number of `mapper_parsing_exception` errors may be displayed. + - | + When initializing a new GHES cluster, nodes with the `consul-server` role should be added to the cluster before adding more nodes. Adding all nodes simultaneously creates a race condition between nomad server registration and nomad client registration. + - | + Admins setting up cluster high availability (HA) may encounter a spokes error when running `ghe-cluster-repl-status` if a new organization and repositories are created before using the `ghe-cluster-repl-bootstrap` command. To avoid this issue, complete the cluster HA setup with `ghe-cluster-repl-bootstrap` before creating new organizations and repositories. + - | + In a cluster, the host running restore requires access to the storage nodes via their private IPs. + - | + On an instance hosted on Azure, commenting on an issue via email meant the comment was not added to the issue. + - | + After a restore, existing outside collaborators cannot be added to repositories in a new organization. This issue can be resolved by running `/usr/local/share/enterprise/ghe-es-search-repair` on the appliance. + - | + After a geo-replica is promoted to be a primary by running `ghe-repl-promote`, the actions workflow of a repository does not have any suggested workflows. + - | + Unexpected elements may appear in the UI on the repository overview page for locked repositories. diff --git a/data/release-notes/enterprise-server/3-17/7.yml b/data/release-notes/enterprise-server/3-17/7.yml new file mode 100644 index 000000000000..8d7054ccb247 --- /dev/null +++ b/data/release-notes/enterprise-server/3-17/7.yml @@ -0,0 +1,96 @@ +date: '2025-10-29' +sections: + security_fixes: + - | + **CRITICAL:** Redis has been upgraded to version 6.2.20 to address CVE-2025-49844 (also known as RediShell). Administrators should apply this update promptly to mitigate potential security risks. + - | + **HIGH:** A privilege escalation vulnerability in GitHub Enterprise Server allowed an authenticated enterprise admin to gain root SSH access. The exploit used a symlink escape in pre-receive hook environments. An attacker could craft a malicious repository and environment to replace system binaries during hook cleanup. This allowed them to execute a payload that added their SSH key to the root user's authorized keys, granting root SSH access. The attacker needed enterprise admin privileges to exploit this vulnerability. This has been assigned CVE-2025-11578 and was reported through the GitHub Bug Bounty program. + - | + **HIGH:** An attacker could execute arbitrary code in the context of other users' browsers by supplying a malicious `label:` value that was injected into the DOM without proper sanitization. This could be triggered when a user visits a crafted Issues search URL, enabling session hijacking, account takeover, and recovery code exfiltration. GitHub has requested CVE ID [CVE-2025-11892](https://www.cve.org/cverecord?id=CVE-2025-11892) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + - | + Authenticated users could target the internal aqueduct-lite endpoints by using a domain name to circumvent checks. This fix addresses this Server-Side Request Forgery (SSRF) vulnerability by blocking connections to loopback addresses after resolving the domain name for the webhook delivery address. + - | + Packages have been updated to the latest security versions. + bugs: + - | + Initializing a cluster configuration for the first time could fail with `Error: Validation preflight-check`. + - | + Administrators running the `ghe-repl-start-all` command may have encountered replicas remaining in an enabled state after a failed operation, causing subsequent configuration updates to execute on unintended nodes. Replicas now revert to a disabled state if the command fails. + - | + Setting up MySQL replication on secondary replica nodes was inefficient and consumed unnecessary root disk space. + - | + Users applying a new license file received an HTTP 500 error. + - | + After an upgrade, administrators found that Elasticsearch allocation remained set to "none," causing subsequent upgrades to fail. Enterprise upgrades now correctly set allocation to "all" after configuration is applied, preventing upgrade blocks. + - | + When running the `system-requirements` check as part of the `ghe-cluster-config-check` command prior to the initialization of a new cluster, the check request would fail because it exceeded the overall request timeout. + - | + SVG files stored in Git Large File Storage (LFS) failed to render on the web interface. + - | + Creating an organization would fail with a 500 or validation error if a maximum lifetime policy for {% data variables.product.pat_generic_plural %} was set to less than 366 days in the enterprise settings. + - | + Announcements scheduled using the `expires_at` timestamp in ISO 8601 format were not parsing the specified time correctly, resulting in the time component always being ignored. + - | + On the "Scheduled workflows" page in the site admin dashboard, actors attributed to workflows appeared as "Not found". + - | + On pull requests in organization-owned repositories, users could not request reviews from teams with the "All-repository read" organization role. + - | + Administrators experienced 500 errors when attempting to run Dependabot from the Security tab, to scan repositories for dependency vulnerabilities. + - | + On instances with thousands of organizations and roles, opening the security overview page for an organization or any other organization-level pages accessible via the Security tab triggered inefficient database queries that could degrade performance for other users. + - | + Administrators who had upgraded to the previous patch release may have observed a significant increase in executions of the `SecurityOverviewAnalytics::UpdateFeatureStatusSummaryJob`, causing background job queue saturation, service delays, reduced stability, and lower performance for environments using security overview analytics. + - | + On instances where GitHub Actions workflows require approval to run on pull requests from forked repositories, workflows remained queued indefinitely after users clicked "Approve and run". + - | + The GitHub system user was not always properly set on startup, occasionally surfacing in authentication errors or failed secret scanning jobs in logs. + - | + In rare cases, inconsistent data could lead to a panic in the code scanning service, causing it to restart and become unavailable for a few seconds. This could cause HTTP 500 errors when interacting with the code scanning API or in parts of the UI. + changes: + - | + Elasticsearch deprecation warnings, which are logged to index files in new versions of Elasticsearch, have been disabled. These warnings provided no value to administrators, and in some cases could block upgrades of instances in high-availability or cluster configurations. + - | + Logging of configuration runs is improved with streamlined logging for different configuration phases. Phase-specific logs are written to both the main log file (`ghe-config.log`) and the console for better visibility. + known_issues: + - | + Custom firewall rules are removed during the upgrade process. + - | + During the validation phase of a configuration run, a `No such object` error may occur for the Notebook and Viewscreen services. This error can be ignored as the services should still correctly start. + - | + If the root site administrator is locked out of the Management Console after failed login attempts, the account does not unlock automatically after the defined lockout time. Someone with administrative SSH access to the instance must unlock the account using the administrative shell. For more information, see [AUTOTITLE](/admin/configuration/administering-your-instance-from-the-management-console/troubleshooting-access-to-the-management-console#unlocking-the-root-site-administrator-account). + - | + On an instance with the HTTP `X-Forwarded-For` header configured for use behind a load balancer, all client IP addresses in the instance's audit log erroneously appear as 127.0.0.1. + - | + {% data reusables.release-notes.large-adoc-files-issue %} + - | + Admin stats REST API endpoints may timeout on appliances with many users or repositories. Retrying the request until data is returned is advised. + - | + When following the steps for [Replacing the primary MySQL node](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-the-primary-mysql-node), step 14 (running `ghe-cluster-config-apply`) might fail with errors. If this occurs, re-running `ghe-cluster-config-apply` is expected to succeed. + - | + Running a config apply as part of the steps for [Replacing a node in an emergency](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-a-node-in-an-emergency) may fail with errors if the node being replaced is still reachable. If this occurs, shut down the node and repeat the steps. + - | + {% data reusables.release-notes.2024-06-possible-frontend-5-minute-outage-during-hotpatch-upgrade %} + - | + When restoring data originally backed up from a 3.13 or greater appliance version, the Elasticsearch indices need to be reindexed before some of the data will show up. This happens via a nightly scheduled job. You can also trigger the reindexing by running `/usr/local/share/enterprise/ghe-es-search-repair`. + - | + An organization-level code scanning configuration page is displayed on instances that do not use GitHub Advanced Security or code scanning. + - | + When enabling automatic update checks for the first time in the Management Console, the status is not dynamically reflected until the "Updates" page is reloaded. + - | + When restoring from a backup snapshot, a large number of `mapper_parsing_exception` errors may be displayed. + - | + When initializing a new GHES cluster, nodes with the `consul-server` role should be added to the cluster before adding more nodes. Adding all nodes simultaneously creates a race condition between nomad server registration and nomad client registration. + - | + Admins setting up cluster high availability (HA) may encounter a spokes error when running `ghe-cluster-repl-status` if a new organization and repositories are created before using the `ghe-cluster-repl-bootstrap` command. To avoid this issue, complete the cluster HA setup with `ghe-cluster-repl-bootstrap` before creating new organizations and repositories. + - | + In a cluster, the host running restore requires access to the storage nodes via their private IPs. + - | + On an instance hosted on Azure, commenting on an issue via email meant the comment was not added to the issue. + - | + After a restore, existing outside collaborators cannot be added to repositories in a new organization. This issue can be resolved by running `/usr/local/share/enterprise/ghe-es-search-repair` on the appliance. + - | + After a geo-replica is promoted to be a primary by running `ghe-repl-promote`, the actions workflow of a repository does not have any suggested workflows. + - | + Unexpected elements may appear in the UI on the repository overview page for locked repositories. + - | + When publishing npm packages in a workflow after restoring from a backup to GitHub Enterprise Server 3.13.5.gm4 or 3.14.2.gm3, you may encounter a `401 Unauthorized` error from the GitHub Packages service. This can happen if the restore is from an N-1 or N-2 version and the workflow targets the npm endpoint on the backup instance. To avoid this issue, ensure the access token is valid and includes the correct scopes for publishing to GitHub Packages. diff --git a/data/release-notes/enterprise-server/3-18/1.yml b/data/release-notes/enterprise-server/3-18/1.yml new file mode 100644 index 000000000000..68da65bc77b3 --- /dev/null +++ b/data/release-notes/enterprise-server/3-18/1.yml @@ -0,0 +1,98 @@ +date: '2025-10-29' +sections: + security_fixes: + - | + **CRITICAL:** Redis has been upgraded to version 6.2.20 to address CVE-2025-49844 (also known as RediShell). Administrators should apply this update promptly to mitigate potential security risks. + - | + **HIGH:** A privilege escalation vulnerability in GitHub Enterprise Server allowed an authenticated enterprise admin to gain root SSH access. The exploit used a symlink escape in pre-receive hook environments. An attacker could craft a malicious repository and environment to replace system binaries during hook cleanup. This allowed them to execute a payload that added their SSH key to the root user's authorized keys, granting root SSH access. The attacker needed enterprise admin privileges to exploit this vulnerability. This has been assigned CVE-2025-11578 and was reported through the GitHub Bug Bounty program. + - | + **HIGH:** An attacker could execute arbitrary code in the context of other users' browsers by supplying a malicious `label:` value that was injected into the DOM without proper sanitization. This could be triggered when a user visits a crafted Issues search URL, enabling session hijacking, account takeover, and recovery code exfiltration. GitHub has requested CVE ID [CVE-2025-11892](https://www.cve.org/cverecord?id=CVE-2025-11892) for this vulnerability, which was reported via the [GitHub Bug Bounty program](https://bounty.github.com/). + - | + Authenticated users could target the internal aqueduct-lite endpoints by using a domain name to circumvent checks. This fix addresses this Server-Side Request Forgery (SSRF) vulnerability by blocking connections to loopback addresses after resolving the domain name for the webhook delivery address. + - | + **LOW:** When a user updated a classic {% data variables.product.pat_generic_title_case %} (PAT) to remove all scopes instead of revoking the PAT, the change was silently ignored and the PAT continued to grant its previously held permissions. To mitigate this issue, GitHub updated the token management logic to correctly clear scopes when no scope is provided. + - | + Packages have been updated to the latest security versions. + bugs: + - | + Initializing a cluster configuration for the first time could fail with `Error: Validation preflight-check`. + - | + Administrators running the `ghe-repl-start-all` command may have encountered replicas remaining in an enabled state after a failed operation, causing subsequent configuration updates to execute on unintended nodes. Replicas now revert to a disabled state if the command fails. + - | + Setting up MySQL replication on secondary replica nodes was inefficient and consumed unnecessary root disk space. + - | + Administrators and users who accessed dashboard panels experienced issues with the CPU panel, navigation between dashboards, and a missing home dashboard. + - | + Administrators could not generate support bundles on stateless high availability nodes because the `ghe-support-bundle` command failed when attempting to query Elasticsearch on nodes without the `elasticsearch-server` role. + - | + After an upgrade, administrators found that Elasticsearch allocation remained set to "none," causing subsequent upgrades to fail. Enterprise upgrades now correctly set allocation to "all" after configuration is applied, preventing upgrade blocks. + - | + When running the `system-requirements` check as part of the `ghe-cluster-config-check` command prior to the initialization of a new cluster, the check request would fail because it exceeded the overall request timeout. + - | + Creating an organization would fail with a 500 or validation error if a maximum lifetime policy for {% data variables.product.pat_generic_plural %} was set to less than 366 days in the enterprise settings. + - | + Announcements scheduled using the `expires_at` timestamp in ISO 8601 format were not parsing the specified time correctly, resulting in the time component always being ignored. + - | + On pull requests in organization-owned repositories, users could not request reviews from teams with the "All-repository read" organization role. + - | + Administrators experienced 500 errors when attempting to run Dependabot from the Security tab, to scan repositories for dependency vulnerabilities. + - | + On instances with thousands of organizations and roles, opening the security overview page for an organization or any other organization-level pages accessible via the Security tab triggered inefficient database queries that could degrade performance for other users. + - | + Administrators who had upgraded to the previous patch release may have observed a significant increase in executions of the `SecurityOverviewAnalytics::UpdateFeatureStatusSummaryJob`, causing background job queue saturation, service delays, reduced stability, and lower performance for environments using security overview analytics. + - | + On instances where GitHub Actions workflows require approval to run on pull requests from forked repositories, workflows remained queued indefinitely after users clicked "Approve and run". + - | + The GitHub system user was not always properly set on startup, occasionally surfacing in authentication errors or failed secret scanning jobs in logs. + changes: + - | + Elasticsearch deprecation warnings, which are logged to index files in new versions of Elasticsearch, have been disabled. These warnings provided no value to administrators, and in some cases could block upgrades of instances in high-availability or cluster configurations. + - | + Logging of configuration runs is improved with streamlined logging for different configuration phases. Phase-specific logs are written to both the main log file (`ghe-config.log`) and the console for better visibility. + - | + Users can no longer view Git objects, such as commits and tags, that exceed the maximum size limit of 10 MB. + known_issues: + - | + Custom firewall rules are removed during the upgrade process. + - | + During the validation phase of a configuration run, a `No such object` error may occur for the Notebook and Viewscreen services. This error can be ignored as the services should still correctly start. + - | + If the root site administrator is locked out of the Management Console after failed login attempts, the account does not unlock automatically after the defined lockout time. Someone with administrative SSH access to the instance must unlock the account using the administrative shell. For more information, see [AUTOTITLE](/admin/configuration/administering-your-instance-from-the-management-console/troubleshooting-access-to-the-management-console#unlocking-the-root-site-administrator-account). + - | + On an instance with the HTTP `X-Forwarded-For` header configured for use behind a load balancer, all client IP addresses in the instance's audit log erroneously appear as 127.0.0.1. + - | + {% data reusables.release-notes.large-adoc-files-issue %} + - | + Admin stats REST API endpoints may timeout on appliances with many users or repositories. Retrying the request until data is returned is advised. + - | + When following the steps for [Replacing the primary MySQL node](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-the-primary-mysql-node), step 14 (running `ghe-cluster-config-apply`) might fail with errors. If this occurs, re-running `ghe-cluster-config-apply` is expected to succeed. + - | + Running a config apply as part of the steps for [Replacing a node in an emergency](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-a-node-in-an-emergency) may fail with errors if the node being replaced is still reachable. If this occurs, shut down the node and repeat the steps. + - | + {% data reusables.release-notes.2024-06-possible-frontend-5-minute-outage-during-hotpatch-upgrade %} + - | + When restoring data originally backed up from a 3.13 or greater appliance version, the Elasticsearch indices need to be reindexed before some of the data will show up. This happens via a nightly scheduled job. You can also trigger the reindexing by running `/usr/local/share/enterprise/ghe-es-search-repair`. + - | + An organization-level code scanning configuration page is displayed on instances that do not use GitHub Advanced Security or code scanning. + - | + When enabling automatic update checks for the first time in the Management Console, the status is not dynamically reflected until the "Updates" page is reloaded. + - | + When restoring from a backup snapshot, a large number of `mapper_parsing_exception` errors may be displayed. + - | + When initializing a new GHES cluster, nodes with the `consul-server` role should be added to the cluster before adding more nodes. Adding all nodes simultaneously creates a race condition between nomad server registration and nomad client registration. + - | + Admins setting up cluster high availability (HA) may encounter a spokes error when running `ghe-cluster-repl-status` if a new organization and repositories are created before using the `ghe-cluster-repl-bootstrap` command. To avoid this issue, complete the cluster HA setup with `ghe-cluster-repl-bootstrap` before creating new organizations and repositories. + - | + In a cluster, the host running restore requires access to the storage nodes via their private IPs. + - | + On an instance hosted on Azure, commenting on an issue via email meant the comment was not added to the issue. + - | + After a restore, existing outside collaborators cannot be added to repositories in a new organization. This issue can be resolved by running `/usr/local/share/enterprise/ghe-es-search-repair` on the appliance. + - | + After a geo-replica is promoted to be a primary by running `ghe-repl-promote`, the actions workflow of a repository does not have any suggested workflows. + - | + Unexpected elements may appear in the UI on the repository overview page for locked repositories. + - | + When publishing npm packages in a workflow after restoring from a backup to GitHub Enterprise Server 3.13.5.gm4 or 3.14.2.gm3, you may encounter a `401 Unauthorized` error from the GitHub Packages service. This can happen if the restore is from an N-1 or N-2 version and the workflow targets the npm endpoint on the backup instance. To avoid this issue, ensure the access token is valid and includes the correct scopes for publishing to GitHub Packages. + - | + The setting to define private registries at the organization level for code scanning is only available if Dependabot is also enabled for the instance. From 8276abea9cb82989d18cd86e7c52ffbf98d3e2e5 Mon Sep 17 00:00:00 2001 From: Mia Arts <107727642+its-mia@users.noreply.github.com> Date: Mon, 10 Nov 2025 14:08:13 -0800 Subject: [PATCH 7/8] update docs to reflect raptor mini is avail to all individual copilot plans (#58432) --- data/tables/copilot/model-multipliers.yml | 2 +- data/tables/copilot/model-supported-plans.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/data/tables/copilot/model-multipliers.yml b/data/tables/copilot/model-multipliers.yml index 7e32496eb95f..7161878a5686 100644 --- a/data/tables/copilot/model-multipliers.yml +++ b/data/tables/copilot/model-multipliers.yml @@ -54,5 +54,5 @@ multiplier_free: Not applicable - name: Raptor mini - multiplier_paid: Not applicable + multiplier_paid: 0 multiplier_free: 1 diff --git a/data/tables/copilot/model-supported-plans.yml b/data/tables/copilot/model-supported-plans.yml index f78d44180004..abe06048f922 100644 --- a/data/tables/copilot/model-supported-plans.yml +++ b/data/tables/copilot/model-supported-plans.yml @@ -84,7 +84,7 @@ - name: Raptor mini free: true - pro: false - pro_plus: false + pro: true + pro_plus: true business: false enterprise: false From 3160875d4c57507e27cb3b76ebd855d8eaa5a576 Mon Sep 17 00:00:00 2001 From: Clarence Bakosi Date: Mon, 10 Nov 2025 23:12:34 +0100 Subject: [PATCH 8/8] docs: Update Connecting your Azure subscription to your organization account (#41180) --- .../billing/how-tos/pay-third-parties/cancel-sponsorship.md | 2 +- content/billing/how-tos/set-up-payment/connect-azure-sub.md | 4 ++-- .../paying-for-github-sponsors-by-invoice.md | 2 +- data/reusables/organizations/billing_plans.md | 2 +- data/reusables/user-settings/billing-plans-two-platforms.md | 2 +- data/reusables/user-settings/billing_plans_payment.md | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/content/billing/how-tos/pay-third-parties/cancel-sponsorship.md b/content/billing/how-tos/pay-third-parties/cancel-sponsorship.md index a61cea210c8b..ac003715cb1a 100644 --- a/content/billing/how-tos/pay-third-parties/cancel-sponsorship.md +++ b/content/billing/how-tos/pay-third-parties/cancel-sponsorship.md @@ -28,7 +28,7 @@ Organizations that pay for {% data variables.product.prodname_sponsors %} by inv {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} -1. In the "Access" section of the sidebar, click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing and plans**. +1. In the "Access" section of the sidebar, click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing and licensing**. 1. Under "{% data variables.product.prodname_sponsors %}", in the yellow banner with the start date, click **Undo**. 1. Review the alert about undoing the activation of the sponsorship, then click **OK**. diff --git a/content/billing/how-tos/set-up-payment/connect-azure-sub.md b/content/billing/how-tos/set-up-payment/connect-azure-sub.md index c201a2fd3623..fd49728417d5 100644 --- a/content/billing/how-tos/set-up-payment/connect-azure-sub.md +++ b/content/billing/how-tos/set-up-payment/connect-azure-sub.md @@ -36,8 +36,8 @@ You can pay for metered usage of {% data variables.product.github %} features th {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} -1. In the "Access" section of the sidebar, click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing and plans**. -1. Under "Billing Management", to the right of "Metered billing via Azure", click **Add Azure Subscription**. +1. In the "Access" section of the sidebar, click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing and licensing**. +1. Under "Payment Information", to the right of "Metered billing via Azure", click **Add Azure Subscription**. 1. Sign in to your Microsoft account. 1. Review the "Permissions requested" prompt. If you agree with the terms, click **Accept**. diff --git a/content/sponsors/sponsoring-open-source-contributors/paying-for-github-sponsors-by-invoice.md b/content/sponsors/sponsoring-open-source-contributors/paying-for-github-sponsors-by-invoice.md index 215c253f65bf..ac1f59066d7b 100644 --- a/content/sponsors/sponsoring-open-source-contributors/paying-for-github-sponsors-by-invoice.md +++ b/content/sponsors/sponsoring-open-source-contributors/paying-for-github-sponsors-by-invoice.md @@ -40,7 +40,7 @@ If your organization currently pays for {% data variables.product.prodname_spons {% data reusables.profile.access_org %} {% data reusables.profile.org_settings %} -1. In the "Access" section of the sidebar, click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing and plans**. +1. In the "Access" section of the sidebar, click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing and licensing**. 1. Scroll to the "{% data variables.product.prodname_sponsors %}" section and click **Switch to invoiced billing**. 1. Compare credit card and invoice billing on the next page. To proceed with changing to invoiced billing, click **Switch to invoiced billing**. 1. Fill out the form and click **Submit**. diff --git a/data/reusables/organizations/billing_plans.md b/data/reusables/organizations/billing_plans.md index 2e8fc1795a4b..1295334b8c9e 100644 --- a/data/reusables/organizations/billing_plans.md +++ b/data/reusables/organizations/billing_plans.md @@ -1 +1 @@ -1. In the "Access" section of the sidebar, click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing and plans**. +1. In the "Access" section of the sidebar, click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing and licensing**. diff --git a/data/reusables/user-settings/billing-plans-two-platforms.md b/data/reusables/user-settings/billing-plans-two-platforms.md index cdc0193948f4..9b5a6a03eef5 100644 --- a/data/reusables/user-settings/billing-plans-two-platforms.md +++ b/data/reusables/user-settings/billing-plans-two-platforms.md @@ -1 +1 @@ -1. In the "Access" section of the sidebar, click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing & licensing** and then **Licensing** (new platform). Alternatively, click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing and plans**, then click **Plans and usage** (original platform). +1. In the "Access" section of the sidebar, click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing & licensing** and then **Licensing** (new platform). Alternatively, click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing and licensing**, then click **Plans and usage** (original platform). diff --git a/data/reusables/user-settings/billing_plans_payment.md b/data/reusables/user-settings/billing_plans_payment.md index f5d30d61d454..0f3f8bb52361 100644 --- a/data/reusables/user-settings/billing_plans_payment.md +++ b/data/reusables/user-settings/billing_plans_payment.md @@ -1 +1 @@ -1. In the "Access" section of the sidebar, click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing and plans**, then click **Payment information**. +1. In the "Access" section of the sidebar, click **{% octicon "credit-card" aria-hidden="true" aria-label="credit-card" %} Billing and licensing**, then click **Payment information**.