@fitlab-ai/agent-infra 0.11.5 → 0.11.6

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.
Files changed (42) hide show
  1. package/dist/lib/merge.js +62 -10
  2. package/dist/lib/platform/github-provider.js +9 -14
  3. package/dist/lib/platform/github-release-notes.js +80 -11
  4. package/dist/lib/platform/none-provider.js +1 -1
  5. package/dist/lib/platform/provider-contract.d.ts +39 -16
  6. package/dist/lib/platform/provider-contract.js +1 -1
  7. package/dist/lib/platform/provider-validation.js +83 -13
  8. package/dist/lib/platform/release-notes.js +7 -8
  9. package/dist/lib/sandbox/capture.js +1 -1
  10. package/dist/lib/sandbox/commands/create.js +46 -1
  11. package/dist/lib/sandbox/commands/enter.js +1 -1
  12. package/dist/lib/sandbox/commands/start.js +1 -1
  13. package/dist/lib/sandbox/config.js +10 -0
  14. package/dist/lib/sandbox/control/lifecycle.js +18 -13
  15. package/dist/lib/sandbox/task-resolver.js +62 -2
  16. package/dist/lib/task/resolve-ref.js +3 -3
  17. package/dist/lib/task/write.js +121 -1
  18. package/dist/lifecycle-build-manifest.json +3 -3
  19. package/lib/merge.ts +59 -10
  20. package/lib/platform/github-provider.ts +11 -18
  21. package/lib/platform/github-release-notes.ts +89 -14
  22. package/lib/platform/none-provider.ts +1 -1
  23. package/lib/platform/provider-contract.ts +38 -12
  24. package/lib/platform/provider-validation.ts +83 -12
  25. package/lib/platform/release-notes.ts +11 -12
  26. package/lib/sandbox/capture.ts +1 -1
  27. package/lib/sandbox/commands/create.ts +52 -1
  28. package/lib/sandbox/commands/enter.ts +1 -1
  29. package/lib/sandbox/commands/start.ts +1 -1
  30. package/lib/sandbox/config.ts +12 -0
  31. package/lib/sandbox/control/lifecycle.ts +22 -13
  32. package/lib/sandbox/task-resolver.ts +51 -2
  33. package/lib/task/resolve-ref.ts +3 -3
  34. package/lib/task/write.ts +115 -1
  35. package/package.json +1 -1
  36. package/templates/.agents/rules/evidence-reporting.en.md +1 -2
  37. package/templates/.agents/rules/evidence-reporting.zh-CN.md +1 -2
  38. package/templates/.agents/skills/archive-tasks/SKILL.en.md +2 -2
  39. package/templates/.agents/skills/archive-tasks/SKILL.zh-CN.md +2 -2
  40. package/templates/.agents/skills/archive-tasks/scripts/archive-tasks.sh +109 -6
  41. package/templates/.agents/skills/create-release-note/SKILL.en.md +17 -11
  42. package/templates/.agents/skills/create-release-note/SKILL.zh-CN.md +17 -11
@@ -53,6 +53,7 @@ agent-infra-internal platform-release-notes context \
53
53
 
54
54
  **Purpose**:
55
55
  - Part A: Analyze the section structure, heading style, emoji usage, and item format from the latest 3 historical release notes
56
+ - Each `history` item contains a tag, body, and Release URL; use the body as a format sample, not as current change facts
56
57
  - Part B: Provide a static complete category list so no existing category is omitted
57
58
  - This static list ensures existing category names are not missed during classification; if the current release has no entries for a category, Step 7 still omits the empty section
58
59
  - When generating release notes in Step 7, **must** follow both the historical format style and the full category list gathered in Step 3
@@ -60,7 +61,7 @@ agent-infra-internal platform-release-notes context \
60
61
 
61
62
  ### 4. Collect Merged PRs and Contributors
62
63
 
63
- Use `pullRequests` and `commits` from Step 3. Each commit's `authors` are normalized platform facts containing the git author and co-authors; the skill does not interpret raw platform fields or email rules.
64
+ Use `pullRequests` and `commits` from Step 3. Each commit's `authors` contains only that commit's platform authors; `pullRequestNumbers` records the platform's PR associations. The skill does not interpret raw platform fields or email rules. A PR's `closingIssues` contains its actual closing Issues; never infer a relationship from matching PR and Issue numbers.
64
65
 
65
66
  ### 5. Collect Related Issues
66
67
 
@@ -79,31 +80,36 @@ Use each PR's `closingIssues` from Step 3. Do not parse platform-specific refere
79
80
 
80
81
  ### 7. Generate Release Notes
81
82
 
82
- **Prioritize the historical format style obtained in Step 3 and ensure all categories listed in Step 3 are covered.** If historical release notes exist, strictly follow their section structure, heading style (including emojis), item format, and bilingual layout.
83
+ **Prioritize the historical format style obtained in Step 3 and ensure all categories listed in Step 3 are covered.** Dynamically use the latest 3 published notes each time. Treat sections, bilingual layout, and installation instructions shared by those notes as stable format; allow item content to vary by release. Never copy an example's authors or links into the current release.
83
84
 
84
85
  If no historical release notes exist, use the following default Markdown format:
85
86
 
86
87
  ```markdown
87
- ## {Module/Platform Name}
88
+ ## {Module / 模块}
88
89
 
89
- ### Enhancement
90
+ ### Enhancement / 增强
90
91
 
91
92
  - [{scope}] Description by @author in [#N](url)
92
93
 
93
- ### Bugfix
94
+ ### Bugfix / 修复
94
95
 
95
96
  - [{scope}] Description by @author in [#N](url)
96
97
 
97
- ## Contributors
98
+ ## Contributors / 贡献者
98
99
 
99
100
  @contributor1, @contributor2, @contributor3, @reporter1 (reported #N)
101
+
102
+ ## Installation / 安装
103
+
104
+ {English and Chinese installation instructions for this release, following stable steps in historical notes}
100
105
  ```
101
106
 
102
107
  **Format rules**:
103
- 1. Item format: `- [scope] Description by @author in [#N](url)`
104
- 2. Issue + PR: `in [#Issue](url) and [#PR](url)`
105
- 3. Description: Use PR title, remove `type(scope):` prefix, capitalize first letter
106
- 4. **Contributor collection**:
108
+ 1. PR item format: `- [scope] Description by @author in [#N](url)`
109
+ 2. Issue + PR: `in [#Issue](url) and [#PR](url)`; Issue reporters come from that PR's `closingIssues`
110
+ 3. Render each commit with an empty `pullRequestNumbers` as a standalone item using its subject and resolvable author; link to the commit itself when its URL is available, without adding an Issue or PR link
111
+ 4. Description: Use the PR title or commit subject; remove `type(scope):` from PR titles and capitalize the first letter
112
+ 5. **Contributor collection**:
107
113
  - **Data sources**:
108
114
  - PR authors from the typed context
109
115
  - Commit co-authors from the typed context's commit `authors`
@@ -123,7 +129,7 @@ If no historical release notes exist, use the following default Markdown format:
123
129
  - Reporter-only contributors use the format `@login (reported #N)`; if the same reporter reported multiple Issues, use `@login (reported #N1, #N2)`
124
130
  - Reporters are appended after code contributors in the Contributors section, separated by commas
125
131
  - Sort reporters by reported Issue count descending, then lexicographically by login for ties
126
- 5. Empty sections: Omit sections with no entries
132
+ 6. Empty sections: Omit categories with no entries; retain bilingual headings and the installation section from the historical format
127
133
 
128
134
  ### 8. Stage, Present, and Confirm
129
135
 
@@ -53,6 +53,7 @@ agent-infra-internal platform-release-notes context \
53
53
 
54
54
  **用途**:
55
55
  - Part A:分析最近 3 条历史发布说明的章节结构、标题风格、emoji 使用、条目格式
56
+ - 每项 `history` 含 tag、正文和 Release URL;正文只作为格式样例,不作为当前版本的变更事实
56
57
  - Part B:提供静态完整分类清单,确保后续生成时不遗漏已有分类
57
58
  - 该静态清单用于确保变更分类时不遗漏已有类别名称;若当前版本无该类变更,仍按步骤 7 的格式规则省略空分类
58
59
  - 后续步骤 7 生成发布说明时,**必须**同时参考步骤 3 的历史格式风格和完整分类清单,保持版本间的一致性
@@ -60,7 +61,7 @@ agent-infra-internal platform-release-notes context \
60
61
 
61
62
  ### 4. 收集已合并的 PR 与贡献者
62
63
 
63
- 使用步骤 3 返回的 `pullRequests` 与 `commits`。每个 commit 的 `authors` 已按平台事实规范化并包含 git author 与 co-author;技能不读取平台原始字段或邮箱规则。
64
+ 使用步骤 3 返回的 `pullRequests` 与 `commits`。每个 commit 的 `authors` 只包含该 commit 的平台作者;`pullRequestNumbers` 表示平台记录的 PR 关联。技能不读取平台原始字段或邮箱规则。PR 的 `closingIssues` 是该 PR 实际关闭的 Issue,不按 PR/Issue 编号推断关联。
64
65
 
65
66
  ### 5. 收集关联 Issue
66
67
 
@@ -79,31 +80,36 @@ agent-infra-internal platform-release-notes context \
79
80
 
80
81
  ### 7. 生成发布说明
81
82
 
82
- **优先使用步骤 3 中获取的历史格式风格,并确保覆盖步骤 3 列出的所有分类。** 如果存在历史发布说明,严格沿用其章节结构、标题风格(含 emoji)、条目格式和双语布局。
83
+ **优先使用步骤 3 中获取的历史格式风格,并确保覆盖步骤 3 列出的所有分类。** 每次动态参考最近 3 条已发布说明;把这些正文共同使用的章节、双语布局和安装段作为稳定格式,条目内容按当前版本变化。不要把样例中的作者或链接复制到当前版本。
83
84
 
84
85
  如果没有历史发布说明,使用以下默认格式化为 Markdown:
85
86
 
86
87
  ```markdown
87
- ## {模块/平台名称}
88
+ ## {Module / 模块}
88
89
 
89
- ### Enhancement
90
+ ### Enhancement / 增强
90
91
 
91
92
  - [{scope}] Description by @author in [#N](url)
92
93
 
93
- ### Bugfix
94
+ ### Bugfix / 修复
94
95
 
95
96
  - [{scope}] Description by @author in [#N](url)
96
97
 
97
- ## Contributors
98
+ ## Contributors / 贡献者
98
99
 
99
100
  @contributor1, @contributor2, @contributor3, @reporter1 (reported #N)
101
+
102
+ ## Installation / 安装
103
+
104
+ {本版本的中英文安装说明,沿用历史正文中的稳定安装步骤}
100
105
  ```
101
106
 
102
107
  **格式规则**:
103
- 1. 条目格式:`- [scope] Description by @author in [#N](url)`
104
- 2. Issue + PR:`in [#Issue](url) and [#PR](url)`
105
- 3. 描述:使用 PR 标题,移除 `type(scope):` 前缀,首字母大写
106
- 4. **贡献者搜集**:
108
+ 1. PR 条目格式:`- [scope] Description by @author in [#N](url)`
109
+ 2. Issue + PR:`in [#Issue](url) and [#PR](url)`;Issue reporter 来自该 PR 的 `closingIssues`
110
+ 3. `pullRequestNumbers` 为空的 commit 单独作为条目,使用 commit subject 和可解析作者;有 commit URL 时链接 commit 本身,不添加 Issue/PR 链接
111
+ 4. 描述:使用 PR 标题或 commit subject;移除 PR 标题中的 `type(scope):` 前缀,首字母大写
112
+ 5. **贡献者搜集**:
107
113
  - **数据源**:
108
114
  - PR author:来自 `.agents/rules/release-commands.md` 中已合并 PR 查询规则
109
115
  - Commit co-authors:来自步骤 3 typed context 的 commit `authors`
@@ -123,7 +129,7 @@ agent-infra-internal platform-release-notes context \
123
129
  - 仅报告贡献的用户以 `@login (reported #N)` 格式展示;同一 reporter 报告多个 Issue 时使用 `@login (reported #N1, #N2)`
124
130
  - Reporter 在 Contributors 段落中排在代码贡献者之后,以逗号分隔追加
125
131
  - Reporter 之间按报告的 Issue 数量降序排列,数量相同时按 login 字典序
126
- 5. 空部分:省略没有条目的部分
132
+ 6. 空部分:省略没有条目的分类;保留历史格式中的双语章节与安装段
127
133
 
128
134
  ### 8. Stage、展示并确认
129
135