@cnbcool/cnb-cli 1.0.0

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 (281) hide show
  1. package/.cnb.yml +37 -0
  2. package/DEVELOPMENT.md +345 -0
  3. package/LICENSE.md +9 -0
  4. package/README.md +119 -0
  5. package/bin/cnb.js +3 -0
  6. package/cag.config.js +57 -0
  7. package/downloads/1773729361207-dsfgely.png +0 -0
  8. package/package.json +20 -0
  9. package/skills/artifact-migrate/README.md +79 -0
  10. package/skills/artifact-migrate/SKILL.md +674 -0
  11. package/skills/auto-code/SKILL.md +71 -0
  12. package/skills/auto-code/hooks/hooks.json +15 -0
  13. package/skills/cnb-code-import/LICENSE +20 -0
  14. package/skills/cnb-code-import/README.md +311 -0
  15. package/skills/cnb-code-import/SKILL.md +368 -0
  16. package/skills/cnb-code-import/scripts/migrate.sh +371 -0
  17. package/skills/cnb-skill/SKILL.md +100 -0
  18. package/skills/cnb-skill/scripts/core/config/cag.config.js +57 -0
  19. package/skills/cnb-skill/scripts/core/convertLink.js +140 -0
  20. package/skills/cnb-skill/scripts/core/core.js +97 -0
  21. package/skills/cnb-skill/scripts/core/fetch-response-handler.js +34 -0
  22. package/skills/cnb-skill/scripts/core/help.json +35199 -0
  23. package/skills/cnb-skill/scripts/core/index.d.js +6 -0
  24. package/skills/cnb-skill/scripts/core/index.js +337 -0
  25. package/skills/cnb-skill/scripts/core/modules.help.js +40 -0
  26. package/skills/cnb-skill/scripts/core/schemaToJson.d.js +5 -0
  27. package/skills/cnb-skill/scripts/core/schemaToJson.js +32 -0
  28. package/skills/cnb-skill/scripts/core/shortcuts.js +247 -0
  29. package/skills/cnb-skill/scripts/core/tools.help.js +116 -0
  30. package/skills/cnb-skill/scripts/core/utils/convert-link.js +144 -0
  31. package/skills/cnb-skill/scripts/core/utils/generate-unique-id.js +10 -0
  32. package/skills/cnb-skill/scripts/modules/activities/get-user-activities-by-date.js +76 -0
  33. package/skills/cnb-skill/scripts/modules/activities/get-user-repo-activity-details.js +78 -0
  34. package/skills/cnb-skill/scripts/modules/activities/top-contributors.js +76 -0
  35. package/skills/cnb-skill/scripts/modules/ai/ai-auto-pr.js +70 -0
  36. package/skills/cnb-skill/scripts/modules/ai/ai-chat-completions.js +70 -0
  37. package/skills/cnb-skill/scripts/modules/assets/delete-asset.js +76 -0
  38. package/skills/cnb-skill/scripts/modules/assets/get-files.js +76 -0
  39. package/skills/cnb-skill/scripts/modules/assets/get-imgs.js +76 -0
  40. package/skills/cnb-skill/scripts/modules/assets/list-assets.js +76 -0
  41. package/skills/cnb-skill/scripts/modules/badge/get-badge.js +80 -0
  42. package/skills/cnb-skill/scripts/modules/badge/list-badge.js +70 -0
  43. package/skills/cnb-skill/scripts/modules/badge/upload-badge.js +70 -0
  44. package/skills/cnb-skill/scripts/modules/build/build-crontab-sync.js +75 -0
  45. package/skills/cnb-skill/scripts/modules/build/build-logs-delete.js +75 -0
  46. package/skills/cnb-skill/scripts/modules/build/build-runner-download-log.js +75 -0
  47. package/skills/cnb-skill/scripts/modules/build/get-build-logs.js +76 -0
  48. package/skills/cnb-skill/scripts/modules/build/get-build-stage.js +79 -0
  49. package/skills/cnb-skill/scripts/modules/build/get-build-status.js +75 -0
  50. package/skills/cnb-skill/scripts/modules/build/start-build.js +70 -0
  51. package/skills/cnb-skill/scripts/modules/build/stop-build.js +75 -0
  52. package/skills/cnb-skill/scripts/modules/charge/get-special-amount.js +68 -0
  53. package/skills/cnb-skill/scripts/modules/event/get-events.js +74 -0
  54. package/skills/cnb-skill/scripts/modules/followers/get-followers-by-user-id.js +76 -0
  55. package/skills/cnb-skill/scripts/modules/followers/get-following-by-user-id.js +76 -0
  56. package/skills/cnb-skill/scripts/modules/git/create-blob.js +70 -0
  57. package/skills/cnb-skill/scripts/modules/git/create-branch-lock.js +75 -0
  58. package/skills/cnb-skill/scripts/modules/git/create-branch.js +70 -0
  59. package/skills/cnb-skill/scripts/modules/git/create-tag.js +70 -0
  60. package/skills/cnb-skill/scripts/modules/git/delete-branch-lock.js +75 -0
  61. package/skills/cnb-skill/scripts/modules/git/delete-branch.js +75 -0
  62. package/skills/cnb-skill/scripts/modules/git/delete-commit-annotation.js +77 -0
  63. package/skills/cnb-skill/scripts/modules/git/delete-commit-asset.js +77 -0
  64. package/skills/cnb-skill/scripts/modules/git/delete-tag-annotation.js +75 -0
  65. package/skills/cnb-skill/scripts/modules/git/delete-tag.js +75 -0
  66. package/skills/cnb-skill/scripts/modules/git/get-archive-commit-changed-files.js +75 -0
  67. package/skills/cnb-skill/scripts/modules/git/get-archive-compare-changed-files.js +75 -0
  68. package/skills/cnb-skill/scripts/modules/git/get-archive.js +75 -0
  69. package/skills/cnb-skill/scripts/modules/git/get-branch.js +75 -0
  70. package/skills/cnb-skill/scripts/modules/git/get-commit-annotations-in-batch.js +70 -0
  71. package/skills/cnb-skill/scripts/modules/git/get-commit-annotations.js +75 -0
  72. package/skills/cnb-skill/scripts/modules/git/get-commit-assets-by-sha.js +75 -0
  73. package/skills/cnb-skill/scripts/modules/git/get-commit-assets.js +80 -0
  74. package/skills/cnb-skill/scripts/modules/git/get-commit-statuses.js +75 -0
  75. package/skills/cnb-skill/scripts/modules/git/get-commit.js +75 -0
  76. package/skills/cnb-skill/scripts/modules/git/get-compare-commits.js +75 -0
  77. package/skills/cnb-skill/scripts/modules/git/get-content-without-path.js +76 -0
  78. package/skills/cnb-skill/scripts/modules/git/get-content.js +78 -0
  79. package/skills/cnb-skill/scripts/modules/git/get-head.js +67 -0
  80. package/skills/cnb-skill/scripts/modules/git/get-presigned-lfs-download-link.js +78 -0
  81. package/skills/cnb-skill/scripts/modules/git/get-raw.js +78 -0
  82. package/skills/cnb-skill/scripts/modules/git/get-tag-annotations.js +75 -0
  83. package/skills/cnb-skill/scripts/modules/git/get-tag.js +75 -0
  84. package/skills/cnb-skill/scripts/modules/git/list-branches.js +76 -0
  85. package/skills/cnb-skill/scripts/modules/git/list-commits.js +76 -0
  86. package/skills/cnb-skill/scripts/modules/git/list-tags.js +76 -0
  87. package/skills/cnb-skill/scripts/modules/git/post-commit-asset-upload-confirmation.js +82 -0
  88. package/skills/cnb-skill/scripts/modules/git/post-commit-asset-upload-url.js +78 -0
  89. package/skills/cnb-skill/scripts/modules/git/put-commit-annotations.js +78 -0
  90. package/skills/cnb-skill/scripts/modules/git/put-tag-annotations.js +78 -0
  91. package/skills/cnb-skill/scripts/modules/git-settings/delete-branch-protection.js +75 -0
  92. package/skills/cnb-skill/scripts/modules/git-settings/get-branch-protection.js +75 -0
  93. package/skills/cnb-skill/scripts/modules/git-settings/get-pipeline-settings.js +67 -0
  94. package/skills/cnb-skill/scripts/modules/git-settings/get-pull-request-settings.js +67 -0
  95. package/skills/cnb-skill/scripts/modules/git-settings/get-push-limit-settings.js +67 -0
  96. package/skills/cnb-skill/scripts/modules/git-settings/list-branch-protections.js +67 -0
  97. package/skills/cnb-skill/scripts/modules/git-settings/patch-branch-protection.js +78 -0
  98. package/skills/cnb-skill/scripts/modules/git-settings/post-branch-protection.js +70 -0
  99. package/skills/cnb-skill/scripts/modules/git-settings/put-pipeline-settings.js +70 -0
  100. package/skills/cnb-skill/scripts/modules/git-settings/put-pull-request-settings.js +70 -0
  101. package/skills/cnb-skill/scripts/modules/git-settings/put-push-limit-settings.js +70 -0
  102. package/skills/cnb-skill/scripts/modules/issues/can-user-be-assigned-to-issue.js +77 -0
  103. package/skills/cnb-skill/scripts/modules/issues/create-issue.js +70 -0
  104. package/skills/cnb-skill/scripts/modules/issues/delete-issue-assignees.js +78 -0
  105. package/skills/cnb-skill/scripts/modules/issues/delete-issue-label.js +77 -0
  106. package/skills/cnb-skill/scripts/modules/issues/delete-issue-labels.js +75 -0
  107. package/skills/cnb-skill/scripts/modules/issues/get-issue-comment.js +77 -0
  108. package/skills/cnb-skill/scripts/modules/issues/get-issue.js +75 -0
  109. package/skills/cnb-skill/scripts/modules/issues/list-issue-activities-latest.js +77 -0
  110. package/skills/cnb-skill/scripts/modules/issues/list-issue-activities.js +78 -0
  111. package/skills/cnb-skill/scripts/modules/issues/list-issue-assignees.js +75 -0
  112. package/skills/cnb-skill/scripts/modules/issues/list-issue-comments.js +78 -0
  113. package/skills/cnb-skill/scripts/modules/issues/list-issue-labels.js +78 -0
  114. package/skills/cnb-skill/scripts/modules/issues/list-issues.js +76 -0
  115. package/skills/cnb-skill/scripts/modules/issues/patch-issue-assignees.js +78 -0
  116. package/skills/cnb-skill/scripts/modules/issues/patch-issue-comment.js +80 -0
  117. package/skills/cnb-skill/scripts/modules/issues/post-issue-assignees.js +78 -0
  118. package/skills/cnb-skill/scripts/modules/issues/post-issue-comment.js +78 -0
  119. package/skills/cnb-skill/scripts/modules/issues/post-issue-labels.js +78 -0
  120. package/skills/cnb-skill/scripts/modules/issues/put-issue-labels.js +78 -0
  121. package/skills/cnb-skill/scripts/modules/issues/update-issue-properties.js +79 -0
  122. package/skills/cnb-skill/scripts/modules/issues/update-issue.js +78 -0
  123. package/skills/cnb-skill/scripts/modules/knowledge-base/delete-knowledge-base.js +67 -0
  124. package/skills/cnb-skill/scripts/modules/knowledge-base/get-knowledge-base-info.js +67 -0
  125. package/skills/cnb-skill/scripts/modules/knowledge-base/get-models.js +67 -0
  126. package/skills/cnb-skill/scripts/modules/knowledge-base/query-knowledge-base.js +70 -0
  127. package/skills/cnb-skill/scripts/modules/members/add-members-of-group.js +78 -0
  128. package/skills/cnb-skill/scripts/modules/members/add-members-of-mission.js +78 -0
  129. package/skills/cnb-skill/scripts/modules/members/add-members-of-registry.js +78 -0
  130. package/skills/cnb-skill/scripts/modules/members/add-members-of-repo.js +78 -0
  131. package/skills/cnb-skill/scripts/modules/members/delete-members-of-group.js +75 -0
  132. package/skills/cnb-skill/scripts/modules/members/delete-members-of-repo.js +75 -0
  133. package/skills/cnb-skill/scripts/modules/members/delete-outside-collaborators.js +75 -0
  134. package/skills/cnb-skill/scripts/modules/members/get-member-access-level-of-group.js +76 -0
  135. package/skills/cnb-skill/scripts/modules/members/get-member-access-level-of-repo.js +76 -0
  136. package/skills/cnb-skill/scripts/modules/members/list-all-members.js +76 -0
  137. package/skills/cnb-skill/scripts/modules/members/list-inherit-members-of-group.js +76 -0
  138. package/skills/cnb-skill/scripts/modules/members/list-inherit-members-of-repo.js +76 -0
  139. package/skills/cnb-skill/scripts/modules/members/list-member-access-level-of-group.js +75 -0
  140. package/skills/cnb-skill/scripts/modules/members/list-member-access-level-of-repo.js +75 -0
  141. package/skills/cnb-skill/scripts/modules/members/list-members-of-group.js +76 -0
  142. package/skills/cnb-skill/scripts/modules/members/list-members-of-repo.js +76 -0
  143. package/skills/cnb-skill/scripts/modules/members/list-outside-collaborators.js +76 -0
  144. package/skills/cnb-skill/scripts/modules/members/update-members-of-group.js +78 -0
  145. package/skills/cnb-skill/scripts/modules/members/update-members-of-repo.js +78 -0
  146. package/skills/cnb-skill/scripts/modules/members/update-outside-collaborators.js +78 -0
  147. package/skills/cnb-skill/scripts/modules/missions/create-mission.js +70 -0
  148. package/skills/cnb-skill/scripts/modules/missions/delete-mission.js +67 -0
  149. package/skills/cnb-skill/scripts/modules/missions/get-group-sub-missions.js +76 -0
  150. package/skills/cnb-skill/scripts/modules/missions/get-mission-view-config.js +76 -0
  151. package/skills/cnb-skill/scripts/modules/missions/get-mission-view-list.js +67 -0
  152. package/skills/cnb-skill/scripts/modules/missions/post-mission-view-config.js +70 -0
  153. package/skills/cnb-skill/scripts/modules/missions/post-mission-view-list.js +70 -0
  154. package/skills/cnb-skill/scripts/modules/missions/put-mission-view-list.js +70 -0
  155. package/skills/cnb-skill/scripts/modules/missions/set-mission-visibility.js +76 -0
  156. package/skills/cnb-skill/scripts/modules/organizations/create-organization.js +66 -0
  157. package/skills/cnb-skill/scripts/modules/organizations/delete-organization.js +67 -0
  158. package/skills/cnb-skill/scripts/modules/organizations/get-group-setting.js +67 -0
  159. package/skills/cnb-skill/scripts/modules/organizations/get-group.js +67 -0
  160. package/skills/cnb-skill/scripts/modules/organizations/get-groups-by-user-id.js +76 -0
  161. package/skills/cnb-skill/scripts/modules/organizations/list-groups.js +76 -0
  162. package/skills/cnb-skill/scripts/modules/organizations/list-subgroups.js +76 -0
  163. package/skills/cnb-skill/scripts/modules/organizations/list-top-groups.js +72 -0
  164. package/skills/cnb-skill/scripts/modules/organizations/transfer-group.js +70 -0
  165. package/skills/cnb-skill/scripts/modules/organizations/update-group-setting.js +70 -0
  166. package/skills/cnb-skill/scripts/modules/organizations/update-organization.js +70 -0
  167. package/skills/cnb-skill/scripts/modules/organizations/upload-logos.js +70 -0
  168. package/skills/cnb-skill/scripts/modules/pulls/can-user-be-assigned-to-pull.js +77 -0
  169. package/skills/cnb-skill/scripts/modules/pulls/delete-pull-assignees.js +78 -0
  170. package/skills/cnb-skill/scripts/modules/pulls/delete-pull-label.js +77 -0
  171. package/skills/cnb-skill/scripts/modules/pulls/delete-pull-labels.js +75 -0
  172. package/skills/cnb-skill/scripts/modules/pulls/delete-repo-files.js +76 -0
  173. package/skills/cnb-skill/scripts/modules/pulls/delete-repo-imgs.js +76 -0
  174. package/skills/cnb-skill/scripts/modules/pulls/get-files.js +75 -0
  175. package/skills/cnb-skill/scripts/modules/pulls/get-imgs.js +75 -0
  176. package/skills/cnb-skill/scripts/modules/pulls/get-pull-comment.js +77 -0
  177. package/skills/cnb-skill/scripts/modules/pulls/get-pull.js +75 -0
  178. package/skills/cnb-skill/scripts/modules/pulls/list-pull-assignees.js +75 -0
  179. package/skills/cnb-skill/scripts/modules/pulls/list-pull-comments.js +78 -0
  180. package/skills/cnb-skill/scripts/modules/pulls/list-pull-commit-statuses.js +75 -0
  181. package/skills/cnb-skill/scripts/modules/pulls/list-pull-commits.js +78 -0
  182. package/skills/cnb-skill/scripts/modules/pulls/list-pull-files.js +75 -0
  183. package/skills/cnb-skill/scripts/modules/pulls/list-pull-labels.js +78 -0
  184. package/skills/cnb-skill/scripts/modules/pulls/list-pull-review-comments.js +80 -0
  185. package/skills/cnb-skill/scripts/modules/pulls/list-pull-reviews.js +78 -0
  186. package/skills/cnb-skill/scripts/modules/pulls/list-pulls-by-numbers.js +76 -0
  187. package/skills/cnb-skill/scripts/modules/pulls/list-pulls.js +76 -0
  188. package/skills/cnb-skill/scripts/modules/pulls/merge-pull.js +78 -0
  189. package/skills/cnb-skill/scripts/modules/pulls/patch-pull-comment.js +80 -0
  190. package/skills/cnb-skill/scripts/modules/pulls/patch-pull.js +78 -0
  191. package/skills/cnb-skill/scripts/modules/pulls/post-pull-assignees.js +78 -0
  192. package/skills/cnb-skill/scripts/modules/pulls/post-pull-comment.js +78 -0
  193. package/skills/cnb-skill/scripts/modules/pulls/post-pull-labels.js +78 -0
  194. package/skills/cnb-skill/scripts/modules/pulls/post-pull-request-review-reply.js +80 -0
  195. package/skills/cnb-skill/scripts/modules/pulls/post-pull-review.js +78 -0
  196. package/skills/cnb-skill/scripts/modules/pulls/post-pull.js +70 -0
  197. package/skills/cnb-skill/scripts/modules/pulls/put-pull-labels.js +78 -0
  198. package/skills/cnb-skill/scripts/modules/pulls/upload-files.js +70 -0
  199. package/skills/cnb-skill/scripts/modules/pulls/upload-imgs.js +70 -0
  200. package/skills/cnb-skill/scripts/modules/rank/get-language-list.js +72 -0
  201. package/skills/cnb-skill/scripts/modules/rank/get-repo-annual-rank.js +72 -0
  202. package/skills/cnb-skill/scripts/modules/rank/get-repo-daily-rank.js +72 -0
  203. package/skills/cnb-skill/scripts/modules/rank/get-repo-monthly-rank.js +72 -0
  204. package/skills/cnb-skill/scripts/modules/rank/get-repo-weekly-rank.js +72 -0
  205. package/skills/cnb-skill/scripts/modules/registries/delete-package-tag.js +80 -0
  206. package/skills/cnb-skill/scripts/modules/registries/delete-package.js +78 -0
  207. package/skills/cnb-skill/scripts/modules/registries/delete-registry.js +67 -0
  208. package/skills/cnb-skill/scripts/modules/registries/get-group-sub-registries.js +76 -0
  209. package/skills/cnb-skill/scripts/modules/registries/get-package-tag-detail.js +83 -0
  210. package/skills/cnb-skill/scripts/modules/registries/get-package.js +78 -0
  211. package/skills/cnb-skill/scripts/modules/registries/list-package-tags.js +81 -0
  212. package/skills/cnb-skill/scripts/modules/registries/list-packages.js +77 -0
  213. package/skills/cnb-skill/scripts/modules/registries/set-registry-visibility.js +76 -0
  214. package/skills/cnb-skill/scripts/modules/releases/delete-release-asset.js +77 -0
  215. package/skills/cnb-skill/scripts/modules/releases/delete-release.js +75 -0
  216. package/skills/cnb-skill/scripts/modules/releases/get-latest-release.js +67 -0
  217. package/skills/cnb-skill/scripts/modules/releases/get-release-asset.js +77 -0
  218. package/skills/cnb-skill/scripts/modules/releases/get-release-by-id.js +75 -0
  219. package/skills/cnb-skill/scripts/modules/releases/get-release-by-tag.js +75 -0
  220. package/skills/cnb-skill/scripts/modules/releases/get-releases-asset.js +80 -0
  221. package/skills/cnb-skill/scripts/modules/releases/list-releases.js +76 -0
  222. package/skills/cnb-skill/scripts/modules/releases/patch-release.js +78 -0
  223. package/skills/cnb-skill/scripts/modules/releases/post-release-asset-upload-confirmation.js +82 -0
  224. package/skills/cnb-skill/scripts/modules/releases/post-release-asset-upload-url.js +78 -0
  225. package/skills/cnb-skill/scripts/modules/releases/post-release.js +70 -0
  226. package/skills/cnb-skill/scripts/modules/repo-code-issue/get-code-issue-detail-open-api.js +76 -0
  227. package/skills/cnb-skill/scripts/modules/repo-code-issue/list-code-issue-open-api.js +77 -0
  228. package/skills/cnb-skill/scripts/modules/repo-contributor/get-repo-contributor-trend.js +76 -0
  229. package/skills/cnb-skill/scripts/modules/repo-labels/delete-label.js +75 -0
  230. package/skills/cnb-skill/scripts/modules/repo-labels/list-labels.js +76 -0
  231. package/skills/cnb-skill/scripts/modules/repo-labels/patch-label.js +78 -0
  232. package/skills/cnb-skill/scripts/modules/repo-labels/post-label.js +70 -0
  233. package/skills/cnb-skill/scripts/modules/repositories/archive-repo.js +67 -0
  234. package/skills/cnb-skill/scripts/modules/repositories/create-repo.js +70 -0
  235. package/skills/cnb-skill/scripts/modules/repositories/delete-repo.js +67 -0
  236. package/skills/cnb-skill/scripts/modules/repositories/get-by-id.js +67 -0
  237. package/skills/cnb-skill/scripts/modules/repositories/get-group-sub-repos.js +76 -0
  238. package/skills/cnb-skill/scripts/modules/repositories/get-pinned-repo-by-group.js +67 -0
  239. package/skills/cnb-skill/scripts/modules/repositories/get-pinned-repo-by-id.js +67 -0
  240. package/skills/cnb-skill/scripts/modules/repositories/get-repos-by-user-name.js +76 -0
  241. package/skills/cnb-skill/scripts/modules/repositories/get-repos.js +72 -0
  242. package/skills/cnb-skill/scripts/modules/repositories/list-forks-repos.js +76 -0
  243. package/skills/cnb-skill/scripts/modules/repositories/set-pinned-repo-by-group.js +70 -0
  244. package/skills/cnb-skill/scripts/modules/repositories/set-repo-visibility.js +76 -0
  245. package/skills/cnb-skill/scripts/modules/repositories/transfer-repo.js +70 -0
  246. package/skills/cnb-skill/scripts/modules/repositories/un-archive-repo.js +67 -0
  247. package/skills/cnb-skill/scripts/modules/repositories/update-repo.js +70 -0
  248. package/skills/cnb-skill/scripts/modules/search/list-public-repos.js +72 -0
  249. package/skills/cnb-skill/scripts/modules/security/get-repo-security-overview.js +76 -0
  250. package/skills/cnb-skill/scripts/modules/starring/get-user-all-stared-repos.js +72 -0
  251. package/skills/cnb-skill/scripts/modules/starring/get-user-stared-repos.js +76 -0
  252. package/skills/cnb-skill/scripts/modules/starring/list-star-users.js +76 -0
  253. package/skills/cnb-skill/scripts/modules/users/auto-complete-source.js +72 -0
  254. package/skills/cnb-skill/scripts/modules/users/get-user-info-by-name.js +67 -0
  255. package/skills/cnb-skill/scripts/modules/users/get-user-info.js +63 -0
  256. package/skills/cnb-skill/scripts/modules/users/list-email.js +63 -0
  257. package/skills/cnb-skill/scripts/modules/users/list-gpg-keys.js +72 -0
  258. package/skills/cnb-skill/scripts/modules/users/update-user-info.js +66 -0
  259. package/skills/cnb-skill/scripts/modules/workspace/delete-workspace.js +66 -0
  260. package/skills/cnb-skill/scripts/modules/workspace/get-workspace-detail.js +75 -0
  261. package/skills/cnb-skill/scripts/modules/workspace/list-workspaces.js +72 -0
  262. package/skills/cnb-skill/scripts/modules/workspace/start-workspace.js +70 -0
  263. package/skills/cnb-skill/scripts/modules/workspace/workspace-stop.js +66 -0
  264. package/skills/code-review/README.md +3 -0
  265. package/skills/code-review/SKILL.md +131 -0
  266. package/skills/code-review/hooks/hooks.json +15 -0
  267. package/skills/diagnose-pr-pipeline/README.md +3 -0
  268. package/skills/diagnose-pr-pipeline/SKILL.md +88 -0
  269. package/skills/dialog-ci-log/README.md +16 -0
  270. package/skills/dialog-ci-log/SKILL.md +41 -0
  271. package/skills/dialog-ci-log/scrips/get-failed-stage-logs.js +124 -0
  272. package/skills/pr-diff/README.md +3 -0
  273. package/skills/pr-diff/SKILL.md +97 -0
  274. package/skills/pr-summary/README.md +3 -0
  275. package/skills/pr-summary/SKILL.md +70 -0
  276. package/skills/tapd-resource-fetcher/README.md +3 -0
  277. package/skills/tapd-resource-fetcher/SKILL.md +97 -0
  278. package/skills/text-path-converter/README.md +3 -0
  279. package/skills/text-path-converter/SKILL.md +30 -0
  280. package/skills/text-path-converter/scripts/convertLink.js +148 -0
  281. package/test.js +1 -0
@@ -0,0 +1,97 @@
1
+ ---
2
+ name: tapd-saas-resource-fetcher-skills
3
+ description: 获取 Tapd SaaS 环境资源。当用户提供 Tapd 链接或提及 Tapd 需求/缺陷/任务/迭代时使用。支持获取需求(story)、缺陷(bug)、任务(task)、迭代(iteration)类型资源,调用接口获取完整资源数据以供分析。
4
+ allowed-tools: Bash,curl
5
+ ---
6
+
7
+ # 获取 Tapd SaaS 资源
8
+
9
+ 当用户提供 Tapd 链接时,识别资源类型和 ID,调用接口获取完整资源数据,供后续分析使用。
10
+
11
+ ## 执行步骤
12
+
13
+ ### 1. 识别 Tapd 资源链接
14
+
15
+ 从用户输入中识别 Tapd 链接,支持以下格式:
16
+
17
+ `https://www.tapd.cn/tapd_fe/{workspace_id}/{resource_type}/detail/{resource_id}`
18
+
19
+ - resource_type 为资源类型。 可取值为 story、bug、task、iteration
20
+ - workspace_id 为项目 ID
21
+ - resource_id 为资源 ID
22
+
23
+ 对于给出的链接,提取 workspace_id 和 resource_type,resource_id, 用于之后的请求资源。
24
+
25
+
26
+ ### 2. 调用接口获取资源数据
27
+
28
+ **重要**:请求前需替换 `{workspace_id}`, `{resource_type}`, `{resource_id}`
29
+
30
+ 对每个识别到的资源,按照以下方式获取资源数据:
31
+
32
+ ```bash
33
+ curl -X GET "{$CNB_API_ENDPOINT}/tapd/reference/{workspace_id}/{resource_type}/{resource_id}" \
34
+ -H "Accept: application/vnd.cnb.api+json" \
35
+ -H "Authorization: Bearer $CNB_TOKEN" \
36
+ -H "Content-Type: application/json"
37
+ ```
38
+
39
+ **示例** https://www.tapd.cn/tapd_fe/64201929/story/detail/1164201929001000017, 其中 workspace_id 为 64201929,resource_type 为 story,id 为 1164201929001000017。
40
+ 请求接口如下:
41
+ ```bash
42
+ curl -X GET "{$CNB_API_ENDPOINT}/tapd/reference/64201929/story/1164201929001000017" \
43
+ -H "Accept: application/vnd.cnb.api+json" \
44
+ -H "Authorization: Bearer $CNB_TOKEN" \
45
+ -H "Content-Type: application/json"
46
+ ```
47
+
48
+ ### 3. 结果返回
49
+ API 返回标准的 JSON 格式响应。请根据 HTTP 状态码判断请求是否成功:
50
+
51
+ - 200: 请求成功
52
+ - 400: 请求参数错误
53
+ - 401: 未授权
54
+ - 403: 禁止访问
55
+ - 404: 资源不存在
56
+ - 500: 服务器内部错误
57
+
58
+ 当本地调用返回的 `status` 在 200 ~ 299 之间,需要进一步检查响应体中的 `data` 字段:
59
+ - 如果 `data` 包含有效数据,返回 `data` 内容给用户。
60
+ - 如果 `data` 为空数组 `[]`,说明 TAPD 侧未找到对应资源,按照 3.1 节中的"数据为空"场景提示用户。
61
+
62
+ 只有当 `status >= 300` 时,才将 `status` 和 `trace` 返回给用户。
63
+ #### 3.1 错误处理与用户提示
64
+
65
+ **情况一:HTTP 状态码 >= 300**
66
+
67
+ 响应体为 JSON 格式:`{"errcode": <错误码>, "errmsg": "<错误信息>"}`。
68
+
69
+ **请根据 `errcode` 给出对应的用户友好提示**:
70
+
71
+ | errcode | 含义 | 用户侧友好提示 |
72
+ |---------|------|----------------|
73
+ | `2000076` | TAPD 功能未启用 | 当前项目未启用 TAPD 集成功能,请联系项目管理员在项目设置中开启 TAPD 集成。 |
74
+ | `2000073` | 未找到 TAPD 绑定信息 | 你尚未绑定 TAPD 账号,请先前往个人设置页面绑定 TAPD 账号后再试。 |
75
+ | `2000074` | 获取 TAPD 访问令牌失败 | TAPD 授权信息已过期或无效,请重新绑定 TAPD 账号后再试。 |
76
+ | `2000075` | 获取 TAPD 资源详情失败 | 无法获取该 TAPD 资源,可能是你没有对应项目的访问权限,或者资源 ID 不正确,请检查链接后重试。 |
77
+ | `401` | 未授权 | 请先登录 CNB 平台后再使用此功能。 |
78
+ | `403` | 禁止访问 | 你没有权限访问该资源。 |
79
+ | `404` | 资源不存在 | 未找到对应的资源,请检查链接中的项目 ID 和资源 ID 是否正确。 |
80
+ | 其他 | 未知错误 | 请求失败,请稍后重试。如果问题持续存在,请联系管理员并提供 trace 信息。 |
81
+
82
+ **情况二:HTTP 200 但 `data` 为空数组**
83
+
84
+ 当 HTTP 状态码为 200,响应体格式为 `{"status": 1, "data": [], "info": "success"}`,`data` 为空数组 `[]` 时,说明 TAPD 接口调用成功但未查询到对应资源。
85
+
86
+ 此时应给出提示:**未找到该 TAPD 资源,请检查链接中的资源 ID 是否正确。**
87
+
88
+ **注意**:给出用户提示时,不要暴露内部实现细节(如具体的错误堆栈、用户 ID 等),只提供操作引导。
89
+
90
+
91
+ ### 4. 多资源处理
92
+
93
+ 若用户提供多个 Tapd 链接,**逐个**调用接口获取,每次只请求一个资源:
94
+
95
+ 1. 提取所有链接中的资源 ID 列表
96
+ 2. 按顺序逐一调用接口,每次获取一个资源
97
+ 3. 汇总所有资源数据后统一展示
@@ -0,0 +1,3 @@
1
+ # cnb-text-relative-path-converter-skills
2
+
3
+ 用于AI对cnb内的资源使用相对路径的补全
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: CNB-Text-Relative-Path-Converter
3
+ description: 读取 CNB (Cloud Native Build) ISSUE 或合并请求的内容时使用。将描述、评论、Review 中包含的相对路径(如 `./src/foo.ts`)转换为绝对路径,避免因路径歧义导致误读,支持纯文本与 Markdown 格式。
4
+ requires:
5
+ bins: [node]
6
+ files: [scripts/convertLink.js]
7
+ ---
8
+
9
+ # CNB 文本相对路径转换器
10
+
11
+ ## 使用方式
12
+
13
+ 获取到 ISSUE 或合并请求的描述、评论、Review 的原始内容后,执行以下脚本进行转换。脚本会将所有相对路径替换为绝对路径,并将转换结果输出到标准输出。
14
+
15
+ ```bash
16
+ # 执行转换,结果输出到标准输出
17
+ node scripts/convertLink.js <在此粘贴原始内容>
18
+ ```
19
+
20
+ ## 示例
21
+
22
+ **转换前:**
23
+ ```
24
+ 请参考 ./src/utils/helper.ts 中的实现,以及 ../docs/api.md 的说明。
25
+ ```
26
+
27
+ **转换后:**
28
+ ```
29
+ 请参考 https://cnb.cool/cnb/cool/default-npc-agent/-/git/raw/main/src/utils/helper.ts 中的实现,以及 https://cnb.cool/cnb/cool/default-npc-agent/-/git/raw/main/docs/api.md 的说明。
30
+ ```
@@ -0,0 +1,148 @@
1
+ /**
2
+ * 把文本里的相对路径转换为绝对路径
3
+ * 与 src/helpers/convertLink.ts 逻辑一致
4
+ *
5
+ * @param {String} text 待转换的文本
6
+ * @param {String} repoSlug 仓库路径
7
+ * @param {String} branchOrSha 可选,分支或SHA
8
+ * @returns {String}
9
+ */
10
+ function convertLink(text, repoSlug, branchOrSha) {
11
+ // 查询所有代码块的位置
12
+ let codeBlockPositions = [];
13
+ let index = 0;
14
+ while (index !== -1) {
15
+ const nextIndex = text.indexOf('```', index);
16
+ if (nextIndex === -1) break;
17
+ codeBlockPositions.push(nextIndex);
18
+ index = nextIndex + 3; // 跳过已匹配的三个反引号
19
+ }
20
+ if (codeBlockPositions.length % 2 !== 0) {
21
+ codeBlockPositions = codeBlockPositions.slice(0, codeBlockPositions.length - 1);
22
+ }
23
+
24
+ // 查询所有行内代码块的位置
25
+ let inlineCodeBlockPositions = [];
26
+ index = 0;
27
+ while (index < text.length) {
28
+ const nextIndex = text.indexOf('`', index);
29
+ if (nextIndex === -1) break;
30
+ // 检查是否是单独的反引号(不是代码块的一部分)
31
+ if (
32
+ (nextIndex === 0 || text.charAt(nextIndex - 1) !== '`') &&
33
+ (nextIndex === text.length - 1 || text.charAt(nextIndex + 1) !== '`')
34
+ ) {
35
+ inlineCodeBlockPositions.push(nextIndex);
36
+ }
37
+ index = nextIndex + 1;
38
+ }
39
+ if (inlineCodeBlockPositions.length % 2 !== 0) {
40
+ inlineCodeBlockPositions = inlineCodeBlockPositions.slice(0, inlineCodeBlockPositions.length - 1);
41
+ }
42
+
43
+ // 整理起始和结束位置
44
+ const excludedRanges = [...codeBlockPositions, ...inlineCodeBlockPositions].reduce((result, item, index) => {
45
+ if (index % 2 === 0) {
46
+ return result.concat([[item]]);
47
+ } else {
48
+ result[result.length - 1].push(item);
49
+ return result;
50
+ }
51
+ }, []);
52
+
53
+ // Helper function to check if an index is within excluded ranges
54
+ const isInExcludedRange = (index) => {
55
+ return excludedRanges.some(([start, end]) => index >= start && index < end);
56
+ };
57
+
58
+ let match;
59
+
60
+ // Collect all replacements with their positions
61
+ const replacements = [];
62
+
63
+ // Match markdown links and images: [alt](url), [](url), ![alt](url) and ![](url)
64
+ const markdownLinkRegex = /!?\[([^\]]*)\]\(([^)]+)\)/g;
65
+ while ((match = markdownLinkRegex.exec(text)) !== null) {
66
+ if (!isInExcludedRange(match.index)) {
67
+ // Calculate URL position: match.index + length of "![" + match[1] + "]("
68
+ const prefixLength = (match[0].startsWith('!') ? 1 : 0) + 1 + match[1].length + 2;
69
+ const urlStart = match.index + prefixLength;
70
+ const urlEnd = urlStart + match[2].length;
71
+ const newUrl = normaliseLink(match[2], repoSlug, branchOrSha);
72
+ if (newUrl !== match[2]) {
73
+ replacements.push({ start: urlStart, end: urlEnd, newUrl });
74
+ }
75
+ }
76
+ }
77
+
78
+ // Match HTML tags: <img src="..."> and <a href="...">
79
+ const htmlTagRegex = /\s(src|href)=["']([^"']+)["']/gi;
80
+ while ((match = htmlTagRegex.exec(text)) !== null) {
81
+ if (!isInExcludedRange(match.index)) {
82
+ const urlStart = match.index + match[0].indexOf(match[2]);
83
+ const urlEnd = urlStart + match[2].length;
84
+ const newUrl = normaliseLink(match[2], repoSlug, branchOrSha);
85
+ if (newUrl !== match[2]) {
86
+ replacements.push({ start: urlStart, end: urlEnd, newUrl });
87
+ }
88
+ }
89
+ }
90
+
91
+ // Sort replacements by start position in descending order
92
+ replacements.sort((a, b) => b.start - a.start);
93
+
94
+ // Apply replacements from end to start to maintain correct indices
95
+ let result = text;
96
+ for (const { start, end, newUrl } of replacements) {
97
+ result = result.substring(0, start) + newUrl + result.substring(end);
98
+ }
99
+
100
+ return result;
101
+ }
102
+
103
+ /**
104
+ * 相对路径转换为绝对路径
105
+ * 与 src/helpers/convertLink.ts 逻辑一致
106
+ *
107
+ * @param {String} link 待转换的链接
108
+ * @param {String} repoSlug 仓库路径
109
+ * @param {String} branchOrSha 分支或SHA,默认为 HEAD
110
+ * @returns {String}
111
+ */
112
+ function normaliseLink(link, repoSlug, branchOrSha = 'HEAD') {
113
+ const { CNB_WEB_ENDPOINT } = process.env;
114
+ const baseURL = `${CNB_WEB_ENDPOINT}/${repoSlug}`;
115
+
116
+ if (link.startsWith('/-/')) {
117
+ return `${baseURL}${link}`;
118
+ }
119
+
120
+ if (
121
+ link.indexOf('/-/') === -1 &&
122
+ (
123
+ link.startsWith('../') ||
124
+ link.startsWith('./') ||
125
+ (link.startsWith('/') && !link.startsWith('//'))
126
+ )
127
+ ) {
128
+ let chunks = link.split('/');
129
+ // 过滤掉空字符串和 . .. 这些无效路径
130
+ chunks = chunks.filter((chunk) => !!chunk && chunk !== '.' && chunk !== '..');
131
+ if (chunks.length === 0) {
132
+ return link;
133
+ }
134
+ chunks.unshift(branchOrSha);
135
+ return `${baseURL}/-/git/raw/${chunks.join('/')}`;
136
+ }
137
+
138
+ return link;
139
+ }
140
+
141
+ // =======
142
+ // 开始执行
143
+ // =======
144
+
145
+ const args = process.argv.slice(2);
146
+ const text = args[0] ?? '';
147
+ const content = convertLink(args[0], process.env.CNB_REPO_SLUG, process.env.CNB_BRANCH);
148
+ console.log(content);
package/test.js ADDED
@@ -0,0 +1 @@
1
+ console.log(123)