@fitlab-ai/agent-infra 0.5.2 → 0.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/README.zh-CN.md +3 -3
- package/lib/merge.js +22 -7
- package/lib/sandbox/commands/rm.js +1 -1
- package/lib/sandbox/runtimes/base.dockerfile +17 -1
- package/package.json +1 -1
- package/templates/.agents/rules/issue-pr-commands.github.en.md +25 -9
- package/templates/.agents/rules/issue-pr-commands.github.zh-CN.md +25 -9
- package/templates/.agents/rules/issue-sync.github.en.md +111 -23
- package/templates/.agents/rules/issue-sync.github.zh-CN.md +105 -17
- package/templates/.agents/rules/milestone-inference.github.en.md +13 -6
- package/templates/.agents/rules/milestone-inference.github.zh-CN.md +13 -6
- package/templates/.agents/rules/pr-sync.github.en.md +3 -1
- package/templates/.agents/rules/pr-sync.github.zh-CN.md +3 -1
- package/templates/.agents/scripts/platform-adapters/platform-sync.github.js +1080 -0
- package/templates/.agents/scripts/validate-artifact.js +54 -805
- package/templates/.agents/skills/analyze-task/SKILL.en.md +4 -4
- package/templates/.agents/skills/analyze-task/SKILL.zh-CN.md +4 -4
- package/templates/.agents/skills/analyze-task/config/verify.json +1 -1
- package/templates/.agents/skills/archive-tasks/scripts/archive-tasks.sh +1 -1
- package/templates/.agents/skills/block-task/SKILL.en.md +4 -4
- package/templates/.agents/skills/block-task/SKILL.zh-CN.md +4 -4
- package/templates/.agents/skills/block-task/config/verify.json +1 -1
- package/templates/.agents/skills/cancel-task/SKILL.en.md +18 -18
- package/templates/.agents/skills/cancel-task/SKILL.zh-CN.md +18 -18
- package/templates/.agents/skills/cancel-task/config/verify.json +1 -1
- package/templates/.agents/skills/close-codescan/SKILL.en.md +2 -2
- package/templates/.agents/skills/close-codescan/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/close-dependabot/SKILL.en.md +2 -2
- package/templates/.agents/skills/close-dependabot/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/commit/SKILL.en.md +15 -3
- package/templates/.agents/skills/commit/SKILL.zh-CN.md +15 -3
- package/templates/.agents/skills/commit/config/verify.json +2 -1
- package/templates/.agents/skills/commit/reference/issue-metadata-sync.en.md +23 -0
- package/templates/.agents/skills/commit/reference/issue-metadata-sync.zh-CN.md +23 -0
- package/templates/.agents/skills/commit/reference/task-status-update.en.md +2 -2
- package/templates/.agents/skills/commit/reference/task-status-update.zh-CN.md +2 -2
- package/templates/.agents/skills/complete-task/SKILL.en.md +13 -13
- package/templates/.agents/skills/complete-task/SKILL.zh-CN.md +13 -13
- package/templates/.agents/skills/complete-task/config/verify.json +1 -1
- package/templates/.agents/skills/create-issue/SKILL.en.md +4 -2
- package/templates/.agents/skills/create-issue/SKILL.zh-CN.md +4 -2
- package/templates/.agents/skills/create-issue/config/verify.json +1 -1
- package/templates/.agents/skills/create-issue/reference/label-and-type.en.md +6 -1
- package/templates/.agents/skills/create-issue/reference/label-and-type.zh-CN.md +6 -1
- package/templates/.agents/skills/create-pr/SKILL.en.md +5 -5
- package/templates/.agents/skills/create-pr/SKILL.zh-CN.md +5 -5
- package/templates/.agents/skills/create-pr/config/verify.json +1 -1
- package/templates/.agents/skills/create-pr/reference/pr-body-template.en.md +9 -5
- package/templates/.agents/skills/create-pr/reference/pr-body-template.zh-CN.md +9 -5
- package/templates/.agents/skills/create-task/SKILL.en.md +4 -4
- package/templates/.agents/skills/create-task/SKILL.zh-CN.md +4 -4
- package/templates/.agents/skills/create-task/config/verify.json +1 -1
- package/templates/.agents/skills/implement-task/SKILL.en.md +6 -6
- package/templates/.agents/skills/implement-task/SKILL.zh-CN.md +6 -6
- package/templates/.agents/skills/implement-task/config/verify.json +1 -2
- package/templates/.agents/skills/import-codescan/SKILL.en.md +2 -2
- package/templates/.agents/skills/import-codescan/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/import-codescan/config/verify.json +1 -1
- package/templates/.agents/skills/import-dependabot/SKILL.en.md +2 -2
- package/templates/.agents/skills/import-dependabot/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/import-dependabot/config/verify.json +1 -1
- package/templates/.agents/skills/import-issue/SKILL.en.md +5 -5
- package/templates/.agents/skills/import-issue/SKILL.zh-CN.md +5 -5
- package/templates/.agents/skills/import-issue/config/verify.json +1 -1
- package/templates/.agents/skills/plan-task/SKILL.en.md +4 -4
- package/templates/.agents/skills/plan-task/SKILL.zh-CN.md +4 -4
- package/templates/.agents/skills/plan-task/config/verify.json +1 -1
- package/templates/.agents/skills/refine-task/SKILL.en.md +4 -6
- package/templates/.agents/skills/refine-task/SKILL.zh-CN.md +4 -6
- package/templates/.agents/skills/refine-task/config/verify.json +1 -2
- package/templates/.agents/skills/refine-title/SKILL.en.md +5 -1
- package/templates/.agents/skills/refine-title/SKILL.zh-CN.md +5 -1
- package/templates/.agents/skills/restore-task/SKILL.en.md +2 -2
- package/templates/.agents/skills/restore-task/SKILL.zh-CN.md +2 -2
- package/templates/.agents/skills/restore-task/config/verify.json +1 -1
- package/templates/.agents/skills/review-task/SKILL.en.md +4 -4
- package/templates/.agents/skills/review-task/SKILL.zh-CN.md +4 -4
- package/templates/.agents/skills/review-task/config/verify.json +1 -1
- package/templates/.agents/skills/update-agent-infra/scripts/sync-templates.js +1 -1
- package/templates/.agents/templates/task.en.md +3 -3
- package/templates/.agents/templates/task.zh-CN.md +3 -3
- package/templates/.github/workflows/metadata-sync.yml +127 -0
- package/templates/.github/workflows/pr-label.yml +75 -0
- package/templates/.github/workflows/status-label.yml +12 -8
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
name: PR Label & Assignee
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request_target:
|
|
5
|
+
types: [opened, synchronize]
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
issues: write
|
|
10
|
+
pull-requests: write
|
|
11
|
+
|
|
12
|
+
concurrency:
|
|
13
|
+
group: pr-label-${{ github.event.pull_request.number }}
|
|
14
|
+
cancel-in-progress: true
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
label-and-assign:
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
steps:
|
|
20
|
+
- name: Checkout base branch
|
|
21
|
+
uses: actions/checkout@v4
|
|
22
|
+
|
|
23
|
+
- name: Sync in-labels
|
|
24
|
+
env:
|
|
25
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
26
|
+
PR_NUMBER: ${{ github.event.pull_request.number }}
|
|
27
|
+
run: |
|
|
28
|
+
changed_files=$(gh api "repos/$GITHUB_REPOSITORY/pulls/$PR_NUMBER/files" \
|
|
29
|
+
--paginate --jq '[.[].filename]')
|
|
30
|
+
|
|
31
|
+
should_labels=$(jq -rn \
|
|
32
|
+
--argjson files "$changed_files" \
|
|
33
|
+
--argjson mapping "$(jq '.labels.in // {}' .agents/.airc.json)" \
|
|
34
|
+
'$mapping
|
|
35
|
+
| to_entries
|
|
36
|
+
| map(select(.value | any(. as $prefix | $files | any(startswith($prefix)))))
|
|
37
|
+
| map("in: " + .key)
|
|
38
|
+
| .[]?')
|
|
39
|
+
|
|
40
|
+
current_labels=$(gh pr view "$PR_NUMBER" \
|
|
41
|
+
--repo "$GITHUB_REPOSITORY" \
|
|
42
|
+
--json labels --jq '.labels[].name | select(startswith("in: "))' \
|
|
43
|
+
2>/dev/null || true)
|
|
44
|
+
|
|
45
|
+
printf '%s\n' "$should_labels" | while IFS= read -r label; do
|
|
46
|
+
[ -z "$label" ] && continue
|
|
47
|
+
if ! printf '%s\n' "$current_labels" | grep -qxF "$label"; then
|
|
48
|
+
gh pr edit "$PR_NUMBER" \
|
|
49
|
+
--repo "$GITHUB_REPOSITORY" \
|
|
50
|
+
--add-label "$label" 2>/dev/null || true
|
|
51
|
+
fi
|
|
52
|
+
done
|
|
53
|
+
|
|
54
|
+
printf '%s\n' "$current_labels" | while IFS= read -r label; do
|
|
55
|
+
[ -z "$label" ] && continue
|
|
56
|
+
if ! printf '%s\n' "$should_labels" | grep -qxF "$label"; then
|
|
57
|
+
gh pr edit "$PR_NUMBER" \
|
|
58
|
+
--repo "$GITHUB_REPOSITORY" \
|
|
59
|
+
--remove-label "$label" 2>/dev/null || true
|
|
60
|
+
fi
|
|
61
|
+
done
|
|
62
|
+
|
|
63
|
+
- name: Assign PR creator if unassigned
|
|
64
|
+
env:
|
|
65
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
66
|
+
PR_NUMBER: ${{ github.event.pull_request.number }}
|
|
67
|
+
CREATOR: ${{ github.event.pull_request.user.login }}
|
|
68
|
+
ASSIGNEES_JSON: ${{ toJSON(github.event.pull_request.assignees) }}
|
|
69
|
+
run: |
|
|
70
|
+
count=$(printf '%s' "$ASSIGNEES_JSON" | jq 'length')
|
|
71
|
+
if [ "$count" -eq 0 ]; then
|
|
72
|
+
gh pr edit "$PR_NUMBER" \
|
|
73
|
+
--repo "$GITHUB_REPOSITORY" \
|
|
74
|
+
--add-assignee "$CREATOR" 2>/dev/null || true
|
|
75
|
+
fi
|
|
@@ -40,19 +40,23 @@ jobs:
|
|
|
40
40
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
41
41
|
ISSUE_NUMBER: ${{ github.event.issue.number }}
|
|
42
42
|
run: |
|
|
43
|
-
gh issue view "$ISSUE_NUMBER" \
|
|
43
|
+
current_status_labels=$(gh issue view "$ISSUE_NUMBER" \
|
|
44
44
|
--repo "$GITHUB_REPOSITORY" \
|
|
45
45
|
--json labels --jq '.labels[].name | select(startswith("status:"))' \
|
|
46
|
-
2>/dev/null
|
|
47
|
-
| while IFS= read -r label; do
|
|
48
|
-
|
|
46
|
+
2>/dev/null || true)
|
|
47
|
+
printf '%s\n' "$current_status_labels" | while IFS= read -r label; do
|
|
48
|
+
[ -z "$label" ] && continue
|
|
49
|
+
if [ "$label" != "status: waiting-for-triage" ]; then
|
|
49
50
|
gh issue edit "$ISSUE_NUMBER" \
|
|
50
51
|
--repo "$GITHUB_REPOSITORY" \
|
|
51
52
|
--remove-label "$label"
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
fi
|
|
54
|
+
done || true
|
|
55
|
+
if ! printf '%s\n' "$current_status_labels" | grep -qxF "status: waiting-for-triage"; then
|
|
56
|
+
gh issue edit "$ISSUE_NUMBER" \
|
|
57
|
+
--repo "$GITHUB_REPOSITORY" \
|
|
58
|
+
--add-label "status: waiting-for-triage"
|
|
59
|
+
fi
|
|
56
60
|
|
|
57
61
|
- name: Clean status labels on PR merge
|
|
58
62
|
if: >-
|