Skip to content

Commit d0557df

Browse files
Merge branch 'main' into feat/docker-local-dev
2 parents 9749b22 + 73ccf41 commit d0557df

File tree

90 files changed

+9033
-135
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+9033
-135
lines changed

.cspell-repo-terms.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
AgentOS
2+
AgentMesh
3+
AgentGovernance
4+
CMVK
5+
IATP
6+
Moltbook
7+
OpenClaw
8+
OpenAI
9+
LangChain
10+
LangGraph
11+
LlamaIndex
12+
CrewAI
13+
Dify
14+
SemanticKernel
15+
Microsoft
16+
GitHub
17+
workflow
18+
workflows
19+
markdown
20+
spellcheck
21+
spellchecking

.cspell.json

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
{
2+
"version": "0.2",
3+
"language": "en",
4+
"useGitignore": true,
5+
"dictionaries": ["repo-terms"],
6+
"dictionaryDefinitions": [
7+
{
8+
"name": "repo-terms",
9+
"path": "./.cspell-repo-terms.txt",
10+
"addWords": true
11+
}
12+
],
13+
"words": [
14+
"GitHub",
15+
"Markdown",
16+
"README",
17+
"TypeScript",
18+
"JavaScript",
19+
"Python",
20+
"PyPI",
21+
"NuGet",
22+
"OpenSSF",
23+
"CodeQL",
24+
"CORS",
25+
"CSP",
26+
"CLI",
27+
"CI",
28+
"CD",
29+
"PR",
30+
"MCP",
31+
"A2A"
32+
],
33+
"ignorePaths": [
34+
"**/node_modules/**",
35+
"**/dist/**",
36+
"**/build/**",
37+
"**/.venv/**",
38+
"**/.git/**",
39+
"**/*.png",
40+
"**/*.svg",
41+
"**/*.json",
42+
"**/*.lock"
43+
]
44+
}

.github/workflows/ci.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,6 @@ jobs:
9797
import-module: a2a_agentmesh
9898
- package: crewai-agentmesh
9999
import-module: crewai_agentmesh
100-
- package: dify-plugin
101-
import-module: provider
102100
- package: flowise-agentmesh
103101
import-module: flowise_agentmesh
104102
- package: haystack-agentmesh
@@ -180,6 +178,9 @@ jobs:
180178
'pydantic','pyyaml','cryptography','pynacl','click','rich',
181179
'httpx','aiohttp','fastapi','uvicorn','structlog','numpy',
182180
'scipy','openai','anthropic','langchain','crewai',
181+
'streamlit','plotly','pandas','networkx','aioredis',
182+
'langchain-openai','langchain-core','python-dotenv',
183+
'agent-primitives','emk',
183184
}
184185
bad = []
185186
for nb in glob.glob('**/*.ipynb', recursive=True):
@@ -191,11 +192,11 @@ jobs:
191192
continue
192193
for c in cells:
193194
for line in c.get('source', []):
194-
if 'pip install' in line and not line.strip().startswith('#'):
195+
if 'pip install' in line and not line.strip().startswith('#') and not line.strip().startswith('>'):
195196
pkgs = re.findall(r'(?:pip install\s+)(.+)', line)
196197
if pkgs:
197198
for p in pkgs[0].split():
198-
name = re.sub(r'\[.*\]', '', p).strip()
199+
name = re.sub(r'[^a-zA-Z0-9._-]', '', re.sub(r'\[.*\]', '', p))
199200
if (name and not name.startswith('-') and not name.startswith('.')
200201
and not name.startswith('http') and name not in REGISTERED
201202
and not name.startswith('--')):
@@ -221,10 +222,10 @@ jobs:
221222
# Only flag if actions/checkout has ref: pointing to head (unsafe)
222223
# Uses awk to check checkout blocks specifically, not unrelated lines
223224
if awk '/actions\/checkout/{found=1} found && /ref:.*head\.(ref|sha)/{print; exit 1}' "$f" 2>/dev/null; then
225+
echo "OK: $f (pull_request_target, base-only checkout)"
226+
else
224227
echo "UNSAFE: $f checks out PR head in pull_request_target context"
225228
UNSAFE=1
226-
else
227-
echo "OK: $f (pull_request_target, base-only checkout)"
228229
fi
229230
fi
230231
done

.github/workflows/codeql.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
strategy:
2323
fail-fast: false
2424
matrix:
25-
language: [python, javascript]
25+
language: [python, javascript-typescript]
2626
steps:
2727
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2828

.github/workflows/spell-check.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Spell Check
2+
3+
on:
4+
pull_request:
5+
branches: [main]
6+
paths:
7+
- "**/*.md"
8+
- ".cspell.json"
9+
- ".cspell-repo-terms.txt"
10+
- ".github/workflows/spell-check.yml"
11+
12+
permissions:
13+
contents: read
14+
pull-requests: read
15+
16+
jobs:
17+
spell-check:
18+
runs-on: ubuntu-latest
19+
steps:
20+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
21+
with:
22+
fetch-depth: 0
23+
24+
- name: Get changed markdown files
25+
id: changed-markdown
26+
uses: tj-actions/changed-files@v46
27+
with:
28+
files: |
29+
**/*.md
30+
31+
- name: Install cspell
32+
run: npm install --global cspell@8
33+
34+
- name: Check spelling
35+
if: steps.changed-markdown.outputs.any_changed == 'true'
36+
run: cspell --config .cspell.json --no-progress ${{ steps.changed-markdown.outputs.all_changed_files }}

CHANGELOG.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1010
> and production-quality but may have breaking changes before GA.
1111
1212
## [Unreleased]
13-
13+
14+
### Security
15+
- Copilot extension CORS policy changed from wildcard (`Access-Control-Allow-Origin: *`) to explicit origin allowlist via `ALLOWED_ORIGINS`, with secure GitHub defaults.
16+
17+
### Breaking Changes
18+
- Clients calling protected Copilot extension API routes without an `Origin` header are now rejected (`403`).
19+
- Clients previously relying on unrestricted cross-origin access must configure `ALLOWED_ORIGINS` explicitly.
20+
21+
1422
## [3.0.0] - 2026-03-26
1523

1624
### Changed

0 commit comments

Comments
 (0)