@comate/zulu 1.4.0-beta.2 → 1.4.0-beta.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.
Files changed (206) hide show
  1. package/comate-engine/assets/skills/auto-commit/SKILL.md +241 -0
  2. package/comate-engine/assets/skills/auto-commit/references/data_structures.md +183 -0
  3. package/comate-engine/assets/skills/auto-commit/references/interaction_instruction.md +220 -0
  4. package/comate-engine/assets/skills/auto-commit/references/issue_type_mapping.json +19 -0
  5. package/comate-engine/assets/skills/auto-commit/references/query_reference.md +176 -0
  6. package/comate-engine/assets/skills/auto-commit/scripts/build_git_commit_payload.py +195 -0
  7. package/comate-engine/assets/skills/auto-commit/scripts/build_icafe_cards_payload.py +80 -0
  8. package/comate-engine/assets/skills/auto-commit/scripts/cache_manager.py +69 -0
  9. package/comate-engine/assets/skills/auto-commit/scripts/create_card_cli.py +67 -0
  10. package/comate-engine/assets/skills/auto-commit/scripts/git_diff_cli.py +201 -0
  11. package/comate-engine/assets/skills/auto-commit/scripts/git_utils.py +230 -0
  12. package/comate-engine/assets/skills/auto-commit/scripts/icafe/__init__.py +66 -0
  13. package/comate-engine/assets/skills/auto-commit/scripts/icafe/client.py +473 -0
  14. package/comate-engine/assets/skills/auto-commit/scripts/icafe/farseer.py +52 -0
  15. package/comate-engine/assets/skills/auto-commit/scripts/icafe/matching.py +784 -0
  16. package/comate-engine/assets/skills/auto-commit/scripts/logger.py +32 -0
  17. package/comate-engine/assets/skills/auto-commit/scripts/match_card_cli.py +41 -0
  18. package/comate-engine/assets/skills/auto-commit/scripts/payload_validators.py +309 -0
  19. package/comate-engine/assets/skills/auto-commit/scripts/recognize_card_cli.py +63 -0
  20. package/comate-engine/assets/skills/{automation-browser-comate → automation-browser}/SKILL.md +1 -0
  21. package/comate-engine/assets/skills/{cnap-comate → cnap}/SKILL.md +1 -0
  22. package/comate-engine/assets/skills/code-review/SKILL.md +202 -0
  23. package/comate-engine/assets/skills/code-review/agents/correctness-reviewer.md +62 -0
  24. package/comate-engine/assets/skills/code-review/agents/custom-reviewer.md +53 -0
  25. package/comate-engine/assets/skills/code-review/agents/meta-reviewer.md +84 -0
  26. package/comate-engine/assets/skills/code-review/agents/reliability-reviewer.md +72 -0
  27. package/comate-engine/assets/skills/code-review/agents/reuse-reviewer.md +101 -0
  28. package/comate-engine/assets/skills/code-review/agents/style-reviewer.md +65 -0
  29. package/comate-engine/assets/skills/code-review/evals/SKILL.md +334 -0
  30. package/comate-engine/assets/skills/code-review/evals/agents/gt-generator.md +76 -0
  31. package/comate-engine/assets/skills/code-review/evals/agents/miner.md +87 -0
  32. package/comate-engine/assets/skills/code-review/evals/agents/score-judge.md +168 -0
  33. package/comate-engine/assets/skills/code-review/evals/references/cli-query-template.md +114 -0
  34. package/comate-engine/assets/skills/code-review/evals/references/gt-schema.md +77 -0
  35. package/comate-engine/assets/skills/code-review/references/custom-rules/RULE_TEMPLATE.md +141 -0
  36. package/comate-engine/assets/skills/code-review/references/dispatch-template.md +142 -0
  37. package/comate-engine/assets/skills/code-review/references/output-schema.md +197 -0
  38. package/comate-engine/assets/skills/code-review/references/report-format.md +41 -0
  39. package/comate-engine/assets/skills/code-review/references/rules/Go/GO_AUTH_RULES.md +29 -0
  40. package/comate-engine/assets/skills/code-review/references/rules/Go/GO_CORRECTNESS_RULES.md +111 -0
  41. package/comate-engine/assets/skills/code-review/references/rules/Go/GO_RESOURCE_CONCURRENCY_RULES.md +190 -0
  42. package/comate-engine/assets/skills/code-review/references/rules/Go/GO_STYLE_RULES.md +354 -0
  43. package/comate-engine/assets/skills/code-review/references/rules/Java/JAVA_AUTH_RULES.md +34 -0
  44. package/comate-engine/assets/skills/code-review/references/rules/Java/JAVA_CORRECTNESS_RULES.md +207 -0
  45. package/comate-engine/assets/skills/code-review/references/rules/Java/JAVA_RESOURCE_CONCURRENCY_RULES.md +220 -0
  46. package/comate-engine/assets/skills/code-review/references/rules/Java/JAVA_STYLE_RULES.md +306 -0
  47. package/comate-engine/assets/skills/code-review/references/rules/Js/JS_AUTH_RULES.md +48 -0
  48. package/comate-engine/assets/skills/code-review/references/rules/Js/JS_CORRECTNESS_RULES.md +364 -0
  49. package/comate-engine/assets/skills/code-review/references/rules/Js/JS_RESOURCE_CONCURRENCY_RULES.md +180 -0
  50. package/comate-engine/assets/skills/code-review/references/rules/Js/JS_STYLE_RULES.md +350 -0
  51. package/comate-engine/assets/skills/code-review/references/rules/Python/PYTHON_AUTH_RULES.md +38 -0
  52. package/comate-engine/assets/skills/code-review/references/rules/Python/PYTHON_CORRECTNESS_RULES.md +255 -0
  53. package/comate-engine/assets/skills/code-review/references/rules/Python/PYTHON_RESOURCE_CONCURRENCY_RULES.md +180 -0
  54. package/comate-engine/assets/skills/code-review/references/rules/Python/PYTHON_STYLE_RULES.md +195 -0
  55. package/comate-engine/assets/skills/code-review/references/telemetry.md +27 -0
  56. package/comate-engine/assets/skills/{code-security-comate → code-security}/SKILL.md +1 -0
  57. package/comate-engine/assets/skills/{comate-docs-comate → comate-docs}/SKILL.md +1 -1
  58. package/comate-engine/assets/skills/create-automation-tasks-comate/SKILL.md +300 -0
  59. package/comate-engine/assets/skills/create-automation-tasks-comate/references/backend_dev.md +109 -0
  60. package/comate-engine/assets/skills/create-automation-tasks-comate/references/env_setup.md +130 -0
  61. package/comate-engine/assets/skills/create-automation-tasks-comate/references/frontend_dev.md +74 -0
  62. package/comate-engine/assets/skills/create-automation-tasks-comate/references/git_operations.md +88 -0
  63. package/comate-engine/assets/skills/create-automation-tasks-comate/references/long_running_task.md +96 -0
  64. package/comate-engine/assets/skills/create-automation-tasks-comate/references/testing_strategy.md +94 -0
  65. package/comate-engine/assets/skills/create-automation-tasks-comate/scripts/check_config.py +397 -0
  66. package/comate-engine/assets/skills/{create-image-comate → create-image}/SKILL.md +14 -9
  67. package/comate-engine/assets/skills/{create-rule-comate → create-rule}/SKILL.md +1 -0
  68. package/comate-engine/assets/skills/{create-skill-comate → create-skill}/SKILL.md +2 -3
  69. package/comate-engine/assets/skills/{figma2code-comate → figma2code}/SKILL.md +1 -0
  70. package/comate-engine/assets/skills/{get-ugate-token-comate → get-ugate-token}/SKILL.md +97 -13
  71. package/comate-engine/assets/skills/get-ugate-token/getUgateToken.py +244 -0
  72. package/comate-engine/assets/skills/{icafe-comate → icafe}/SKILL.md +1 -13
  73. package/comate-engine/assets/skills/{icode-comate → icode}/SKILL.md +1 -0
  74. package/comate-engine/fallbackServer.js +1 -1
  75. package/comate-engine/node_modules/@baidu/comate-browser-use/dist/launch-chrome/index.js +1 -1
  76. package/comate-engine/node_modules/@baidu/comate-browser-use/package.json +5 -5
  77. package/comate-engine/node_modules/@comate/plugin-shared-internals/dist/index.js +3 -3
  78. package/comate-engine/package.json +1 -1
  79. package/comate-engine/server.js +137 -77
  80. package/dist/bundle/index.js +20 -9
  81. package/package.json +1 -1
  82. package/comate-engine/assets/skills/get-ugate-token-comate/getUgateToken.py +0 -150
  83. /package/comate-engine/assets/skills/{cnap-comate → cnap}/references/cases.md +0 -0
  84. /package/comate-engine/assets/skills/{cnap-comate → cnap}/references/deploy-troubleshoot.md +0 -0
  85. /package/comate-engine/assets/skills/{cnap-comate → cnap}/references/install.md +0 -0
  86. /package/comate-engine/assets/skills/{cnap-comate → cnap}/references/kubectl.md +0 -0
  87. /package/comate-engine/assets/skills/{cnap-comate → cnap}/references/login.md +0 -0
  88. /package/comate-engine/assets/skills/{cnap-comate → cnap}/references/oncall.md +0 -0
  89. /package/comate-engine/assets/skills/{cnap-comate → cnap}/scripts/install_cnap_cli.sh +0 -0
  90. /package/comate-engine/assets/skills/{code-security-comate → code-security}/references/credential_hosting.md +0 -0
  91. /package/comate-engine/assets/skills/{code-security-comate → code-security}/references/vul_repair-go_sql_injection.md +0 -0
  92. /package/comate-engine/assets/skills/{code-security-comate → code-security}/references/vul_repair-java_sql_injection.md +0 -0
  93. /package/comate-engine/assets/skills/{code-security-comate → code-security}/references/vul_repair-php_sql_injection.md +0 -0
  94. /package/comate-engine/assets/skills/{code-security-comate → code-security}/references/vul_repair-python_sql_injection.md +0 -0
  95. /package/comate-engine/assets/skills/{code-security-comate → code-security}/references/vul_repair_sensitive.md +0 -0
  96. /package/comate-engine/assets/skills/{code-security-comate → code-security}/scripts/credential_hosting.py +0 -0
  97. /package/comate-engine/assets/skills/{code-security-comate → code-security}/scripts/credential_poll.py +0 -0
  98. /package/comate-engine/assets/skills/{code-security-comate → code-security}/scripts/http_client.py +0 -0
  99. /package/comate-engine/assets/skills/{code-security-comate → code-security}/scripts/parse_scan_result.py +0 -0
  100. /package/comate-engine/assets/skills/{code-security-comate → code-security}/scripts/repair_vulnerability.py +0 -0
  101. /package/comate-engine/assets/skills/{code-security-comate → code-security}/scripts/report_chat.py +0 -0
  102. /package/comate-engine/assets/skills/{code-security-comate → code-security}/scripts/scan_vulnerability.py +0 -0
  103. /package/comate-engine/assets/skills/{code-security-comate → code-security}/scripts/utils.py +0 -0
  104. /package/comate-engine/assets/skills/{comate-docs-comate → comate-docs}/references/doc-map-extended.md +0 -0
  105. /package/comate-engine/assets/skills/{comate-docs-comate → comate-docs}/references/models-and-billing.md +0 -0
  106. /package/comate-engine/assets/skills/{comate-docs-comate → comate-docs}/references/product-overview.md +0 -0
  107. /package/comate-engine/assets/skills/{create-skill-comate → create-skill}/LICENSE.txt +0 -0
  108. /package/comate-engine/assets/skills/{create-skill-comate → create-skill}/agents/analyzer.md +0 -0
  109. /package/comate-engine/assets/skills/{create-skill-comate → create-skill}/agents/comparator.md +0 -0
  110. /package/comate-engine/assets/skills/{create-skill-comate → create-skill}/agents/grader.md +0 -0
  111. /package/comate-engine/assets/skills/{create-skill-comate → create-skill}/assets/eval_review.html +0 -0
  112. /package/comate-engine/assets/skills/{create-skill-comate → create-skill}/eval-viewer/generate_review.py +0 -0
  113. /package/comate-engine/assets/skills/{create-skill-comate → create-skill}/eval-viewer/viewer.html +0 -0
  114. /package/comate-engine/assets/skills/{create-skill-comate → create-skill}/references/schemas.md +0 -0
  115. /package/comate-engine/assets/skills/{create-skill-comate → create-skill}/scripts/__init__.py +0 -0
  116. /package/comate-engine/assets/skills/{create-skill-comate → create-skill}/scripts/__pycache__/__init__.cpython-311.pyc +0 -0
  117. /package/comate-engine/assets/skills/{create-skill-comate → create-skill}/scripts/__pycache__/aggregate_benchmark.cpython-311.pyc +0 -0
  118. /package/comate-engine/assets/skills/{create-skill-comate → create-skill}/scripts/aggregate_benchmark.py +0 -0
  119. /package/comate-engine/assets/skills/{create-skill-comate → create-skill}/scripts/generate_report.py +0 -0
  120. /package/comate-engine/assets/skills/{create-skill-comate → create-skill}/scripts/package_skill.py +0 -0
  121. /package/comate-engine/assets/skills/{create-skill-comate → create-skill}/scripts/quick_validate.py +0 -0
  122. /package/comate-engine/assets/skills/{create-skill-comate → create-skill}/scripts/utils.py +0 -0
  123. /package/comate-engine/assets/skills/{create-subagent-comate → create-subagent}/SKILL.md +0 -0
  124. /package/comate-engine/assets/skills/{figma2code-comate → figma2code}/references/codeConnect.md +0 -0
  125. /package/comate-engine/assets/skills/{figma2code-comate → figma2code}/references/designToken.md +0 -0
  126. /package/comate-engine/assets/skills/{figma2code-comate → figma2code}/references/image2design.md +0 -0
  127. /package/comate-engine/assets/skills/{find-skills-comate → find-skills}/SKILL.md +0 -0
  128. /package/comate-engine/assets/skills/{find-skills-comate → find-skills}/scripts/fetch_skills.py +0 -0
  129. /package/comate-engine/assets/skills/{find-skills-comate → find-skills}/scripts/get_download_url.py +0 -0
  130. /package/comate-engine/assets/skills/{find-skills-comate → find-skills}/scripts/install_skill.py +0 -0
  131. /package/comate-engine/assets/skills/{find-skills-comate → find-skills}/scripts/preview_skill.py +0 -0
  132. /package/comate-engine/assets/skills/{icafe-comate → icafe}/references/ai-workflows.md +0 -0
  133. /package/comate-engine/assets/skills/{icafe-comate → icafe}/references/commands.md +0 -0
  134. /package/comate-engine/assets/skills/{icafe-comate → icafe}/references/error-handling.md +0 -0
  135. /package/comate-engine/assets/skills/{icafe-comate → icafe}/references/git-auto-bindcard-workflow.md +0 -0
  136. /package/comate-engine/assets/skills/{icafe-comate → icafe}/references/git-bindcard-workflow.md +0 -0
  137. /package/comate-engine/assets/skills/{icafe-comate → icafe}/references/iql-syntax.md +0 -0
  138. /package/comate-engine/assets/skills/{icafe-comate → icafe}/references/platform-concepts.md +0 -0
  139. /package/comate-engine/assets/skills/{icafe-comate → icafe}/references/smart-create-workflow.md +0 -0
  140. /package/comate-engine/assets/skills/{icafe-comate → icafe}/references/smart-find-workflow.md +0 -0
  141. /package/comate-engine/assets/skills/{icafe-comate → icafe}/references/smart-update-workflow.md +0 -0
  142. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/add_reviewers.md +0 -0
  143. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/build_fetch_command.md +0 -0
  144. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/check_repo_permission.md +0 -0
  145. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/create_branch.md +0 -0
  146. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/create_draft_comment.md +0 -0
  147. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/get_ai_cr_result.md +0 -0
  148. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/get_ai_review.md +0 -0
  149. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/get_diff_content.md +0 -0
  150. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/get_diff_file.md +0 -0
  151. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/get_machine_check.md +0 -0
  152. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/get_my_reviews.md +0 -0
  153. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/get_person_commit.md +0 -0
  154. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/get_person_repo.md +0 -0
  155. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/get_repo_branch.md +0 -0
  156. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/get_repo_config.md +0 -0
  157. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/get_repo_members.md +0 -0
  158. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/get_repo_reviews.md +0 -0
  159. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/get_review_comments.md +0 -0
  160. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/get_review_info.md +0 -0
  161. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/get_submit_settings.md +0 -0
  162. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/icode-api.md +0 -0
  163. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/publish_comments.md +0 -0
  164. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/set_review_score.md +0 -0
  165. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/start_ai_review.md +0 -0
  166. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/submit_review.md +0 -0
  167. /package/comate-engine/assets/skills/{icode-comate → icode}/references/api/trigger_ai_cr.md +0 -0
  168. /package/comate-engine/assets/skills/{icode-comate → icode}/references/feature/add-reviewer.md +0 -0
  169. /package/comate-engine/assets/skills/{icode-comate → icode}/references/feature/fix-machine-check.md +0 -0
  170. /package/comate-engine/assets/skills/{icode-comate → icode}/references/feature/merge-cr.md +0 -0
  171. /package/comate-engine/assets/skills/{icode-comate → icode}/references/feature/ssh-setup.md +0 -0
  172. /package/comate-engine/assets/skills/{icode-comate → icode}/references/feature/submit-acr.md +0 -0
  173. /package/comate-engine/assets/skills/{icode-comate → icode}/references/feature/submit-cr.md +0 -0
  174. /package/comate-engine/assets/skills/{icode-comate → icode}/references/git/clone.md +0 -0
  175. /package/comate-engine/assets/skills/{icode-comate → icode}/references/git/icode-git.md +0 -0
  176. /package/comate-engine/assets/skills/{icode-comate → icode}/references/git/push.md +0 -0
  177. /package/comate-engine/assets/skills/{icode-comate → icode}/references/git/push_cr.md +0 -0
  178. /package/comate-engine/assets/skills/{icode-comate → icode}/references/install.md +0 -0
  179. /package/comate-engine/assets/skills/{icode-comate → icode}/references/login.md +0 -0
  180. /package/comate-engine/assets/skills/{icode-comate → icode}/scripts/add-reviewer.sh +0 -0
  181. /package/comate-engine/assets/skills/{icode-comate → icode}/scripts/common.sh +0 -0
  182. /package/comate-engine/assets/skills/{icode-comate → icode}/scripts/fix-machine-check.sh +0 -0
  183. /package/comate-engine/assets/skills/{icode-comate → icode}/scripts/merge-cr.sh +0 -0
  184. /package/comate-engine/assets/skills/{icode-comate → icode}/scripts/ssh-setup.sh +0 -0
  185. /package/comate-engine/assets/skills/{icode-comate → icode}/scripts/submit-acr.sh +0 -0
  186. /package/comate-engine/assets/skills/{icode-comate → icode}/scripts/submit-cr.sh +0 -0
  187. /package/comate-engine/assets/skills/{icode-comate → icode}/scripts/test-preflight.sh +0 -0
  188. /package/comate-engine/assets/skills/{ku-operator-comate → ku-operator}/SKILL.md +0 -0
  189. /package/comate-engine/assets/skills/{ku-operator-comate → ku-operator}/examples.md +0 -0
  190. /package/comate-engine/assets/skills/{ku-operator-comate → ku-operator}/references/add_member.md +0 -0
  191. /package/comate-engine/assets/skills/{ku-operator-comate → ku-operator}/references/change_scope.md +0 -0
  192. /package/comate-engine/assets/skills/{ku-operator-comate → ku-operator}/references/copy_doc.md +0 -0
  193. /package/comate-engine/assets/skills/{ku-operator-comate → ku-operator}/references/create_doc.md +0 -0
  194. /package/comate-engine/assets/skills/{ku-operator-comate → ku-operator}/references/delete_doc.md +0 -0
  195. /package/comate-engine/assets/skills/{ku-operator-comate → ku-operator}/references/edit_content.md +0 -0
  196. /package/comate-engine/assets/skills/{ku-operator-comate → ku-operator}/references/move_doc.md +0 -0
  197. /package/comate-engine/assets/skills/{ku-operator-comate → ku-operator}/references/query_comment.md +0 -0
  198. /package/comate-engine/assets/skills/{ku-operator-comate → ku-operator}/references/query_content.md +0 -0
  199. /package/comate-engine/assets/skills/{ku-operator-comate → ku-operator}/references/query_flowchart.md +0 -0
  200. /package/comate-engine/assets/skills/{ku-operator-comate → ku-operator}/references/query_permission.md +0 -0
  201. /package/comate-engine/assets/skills/{ku-operator-comate → ku-operator}/references/query_recent_view.md +0 -0
  202. /package/comate-engine/assets/skills/{ku-operator-comate → ku-operator}/references/query_repo.md +0 -0
  203. /package/comate-engine/assets/skills/{ku-operator-comate → ku-operator}/references/query_user_info.md +0 -0
  204. /package/comate-engine/assets/skills/{ku-operator-comate → ku-operator}/references/update_member.md +0 -0
  205. /package/comate-engine/assets/skills/{ku-operator-comate → ku-operator}/references/upload_attachment.md +0 -0
  206. /package/comate-engine/assets/skills/{ku-operator-comate → ku-operator}/scripts/ku_operator.py +0 -0
@@ -41,6 +41,8 @@ Generate new images or edit existing ones using Google's Nano Banana Pro API (Ge
41
41
  **macOS / Linux (bash/zsh):**
42
42
 
43
43
  ```bash
44
+ mkdir -p .comate/images
45
+
44
46
  curl -s -X POST https://comate.baidu-int.com/api/aidevops/autocomate/rest/autowork/v1/generate-image \
45
47
  -H "Content-Type: application/json" \
46
48
  -H "login-name: ${COMATE_USERNAME_ENCRYPTED}" \
@@ -49,7 +51,7 @@ curl -s -X POST https://comate.baidu-int.com/api/aidevops/autocomate/rest/autowo
49
51
  "resolution": "1K"
50
52
  }' \
51
53
  | jq -r '.candidates[0].content.parts[] | select(.inlineData) | .inlineData.data' \
52
- | base64 --decode > output-name.png
54
+ | base64 --decode > .comate/images/output-name.png
53
55
  ```
54
56
 
55
57
  **Windows (PowerShell):**
@@ -70,8 +72,9 @@ $imgBase64 = $response.candidates[0].content.parts |
70
72
  Where-Object { $_.inlineData } |
71
73
  Select-Object -First 1 -ExpandProperty inlineData |
72
74
  Select-Object -ExpandProperty data
75
+ New-Item -ItemType Directory -Force -Path ".comate/images" | Out-Null
73
76
  [System.IO.File]::WriteAllBytes(
74
- (Join-Path (Get-Location) "output-name.png"),
77
+ (Join-Path (Get-Location) ".comate\images\output-name.png"),
75
78
  [System.Convert]::FromBase64String($imgBase64)
76
79
  )
77
80
  ```
@@ -103,12 +106,13 @@ cat > /tmp/request.json << EOF
103
106
  EOF
104
107
 
105
108
  # Step 3: send request
109
+ mkdir -p .comate/images
106
110
  curl -s -X POST https://comate.baidu-int.com/api/aidevops/autocomate/rest/autowork/v1/generate-image \
107
111
  -H "Content-Type: application/json" \
108
112
  -H "login-name: ${COMATE_USERNAME_ENCRYPTED}" \
109
113
  -d @/tmp/request.json \
110
114
  | jq -r '.candidates[0].content.parts[] | select(.inlineData) | .inlineData.data' \
111
- | base64 --decode > output-name.png
115
+ | base64 --decode > .comate/images/output-name.png
112
116
  ```
113
117
 
114
118
  **Windows (PowerShell):**
@@ -146,8 +150,9 @@ $outBase64 = $response.candidates[0].content.parts |
146
150
  Select-Object -First 1 -ExpandProperty inlineData |
147
151
  Select-Object -ExpandProperty data
148
152
 
153
+ New-Item -ItemType Directory -Force -Path ".comate\images" | Out-Null
149
154
  [System.IO.File]::WriteAllBytes(
150
- (Join-Path (Get-Location) "output-name.png"),
155
+ (Join-Path (Get-Location) ".comate\images\output-name.png"),
151
156
  [System.Convert]::FromBase64String($outBase64)
152
157
  )
153
158
  ```
@@ -222,11 +227,11 @@ $resolution = if ($maxDim -ge 3000) { "4K" }
222
227
  ## Output
223
228
 
224
229
  - Saves PNG to `.comate/images` directory, if directory is not exist, you need to create it.
225
- - Script outputs the full path to the generated image
226
- - **Do not read the image back** - display the image using markdown syntax: `![image](/absolute/path/to/image.png)`
227
- - **Display the image path only once** using an absolute path (e.g. `/home/user/project/.comate/images/output-name.png`)
228
- - Absolute paths are REQUIRED (e.g. paths starting with `/` on Unix or `C:\` on Windows);
229
- - do NOT use relative paths (e.g. `./output.png` or `images/output.png` formats are forbidden);
230
+ - Script outputs the relative path to the generated image
231
+ - **Do not read the image back** - display the image using markdown syntax: `![image](relative/path/to/image.png)`
232
+ - **Display the image path only once** using a relative path (e.g. `.comate/images/output-name.png`)
233
+ - Relative paths are REQUIRED (e.g. paths starting with `./` or directly with the directory name);
234
+ - do NOT use absolute paths (e.g. paths starting with `/` on Unix or `C:\` on Windows are forbidden);
230
235
  - do NOT repeat the path multiple times in the conversation
231
236
 
232
237
  ---
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: create-rule
3
3
  description: Create rules for persistent AI guidance. Use when the user wants to create a rule, add coding standards, set up project conventions, configure file-specific patterns.
4
+ disable-model-invocation: true
4
5
  metadata:
5
6
  disableWhen:
6
7
  - isVisualStudio
@@ -63,7 +63,7 @@ Storage:
63
63
  | Personal | ~/.comate/skills/skill-name/ | Available across all your projects |
64
64
  | Project | .comate/skills/skill-name/ | Shared with anyone using the repository |
65
65
 
66
- **IMPORTANT**: Never create or update skills in `~/.comate/skills/skill-name-comate/`. This directory is reserved for Comate's internal built-in skills and is managed automatically by the system.
66
+ **IMPORTANT**: Never create or update skills under `~/.comate/skills/.system/`. This directory is reserved for Comate's internal built-in skills and is managed automatically by the system.
67
67
 
68
68
  ### Interview and Research
69
69
 
@@ -79,7 +79,6 @@ Based on the user interview, fill in these components:
79
79
 
80
80
  - **name**: Skill identifier
81
81
  - **description**: When to trigger, what it does. This is the primary triggering mechanism - include both what the skill does AND specific contexts for when to use it. All "when to use" info goes here, not in the body. Note: currently Comate has a tendency to "undertrigger" skills -- to not use them when they'd be useful. To combat this, please make the skill descriptions a little bit "pushy". So for instance, instead of "How to build a simple fast dashboard to display internal Anthropic data.", you might write "How to build a simple fast dashboard to display internal Anthropic data. Make sure to use this skill whenever the user mentions dashboards, data visualization, internal metrics, or wants to display any kind of company data, even if they don't explicitly ask for a 'dashboard.'"
82
- - **compatibility**: Required tools, dependencies (optional, rarely needed)
83
82
  - **the rest of the skill :)**
84
83
 
85
84
  ### Skill Writing Guide
@@ -446,4 +445,4 @@ Repeating one more time the core loop here for emphasis:
446
445
  - Repeat until you and the user are satisfied
447
446
  - Package the final skill and return it to the user.
448
447
 
449
- Please add steps to your TodoList, if you have such a thing, to make sure you don't forget.
448
+ Please add steps to your TodoList, if you have such a thing, to make sure you don't forget.
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: figma2code
3
3
  description: 根据Figma设计稿信息生成代码。当用户选择设计稿并希望根据设计稿生成代码时,请使用此skill。
4
+ disable-model-invocation: true
4
5
  ---
5
6
  # 输入设计稿信息
6
7
  【设计稿html】: 选中的设计稿信息中的htmlGeneratedByFigmaNode字段。
@@ -15,21 +15,23 @@ metadata:
15
15
  **核心特性:**
16
16
  - 所有 token 都是永久有效的
17
17
  - 支持用户手动输入 token
18
+ - **仅沙盒环境支持 ugate/邮箱授权开关管理,Mac 和 Windows 环境不支持**
18
19
  - 用户名: ${COMATE_USERNAME}
19
- - 用户名加密: ${COMATE_USERNAME_ENCRYPTED}
20
-
20
+ - skill 所在的路径是:${COMATE_SKILL_DIR}
21
21
 
22
22
  ## 文件结构
23
23
 
24
24
  ```
25
- ${COMATE_SKILL_DIR}/
25
+ get-ugate-token/
26
26
  ├── SKILL.md # 技能说明文档
27
27
  └── getUgateToken.py # Python 主脚本
28
28
  ```
29
29
 
30
- ## 工作流程
30
+ ## 功能列表
31
+
32
+ ### 1. Token 管理
31
33
 
32
- ### 1. 手动输入 Token
34
+ #### 手动输入 Token
33
35
 
34
36
  **当用户发送格式为 `ugate token: xxxx` 或 `ugate token:xxxx`(中文冒号)的消息时:**
35
37
 
@@ -41,17 +43,17 @@ ${COMATE_SKILL_DIR}/
41
43
 
42
44
  ```bash
43
45
  # 用户发送消息:ugate token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...
44
- USER_MESSAGE="ugate token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..." python3 ${COMATE_SKILL_DIR}/getUgateToken.py ${COMATE_USERNAME} 2>&1
46
+ USER_MESSAGE="ugate token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..." python3 getUgateToken.py ${COMATE_USERNAME} 2>&1
45
47
  TOKEN_SAVED:Token 已保存
46
48
  eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...
47
49
  ```
48
50
 
49
- ### 2. 检查缓存的 token
51
+ #### 检查缓存的 token
50
52
 
51
53
  - 检查文件 `~/.config/uuap/.eac_ugate_token_${COMATE_USERNAME}` 是否存在
52
54
  - 如果文件存在,直接返回缓存的 token(永久有效)
53
55
 
54
- ### 3. 需要手动获取 token
56
+ #### 需要手动获取 token
55
57
 
56
58
  如果缓存不存在:
57
59
 
@@ -63,6 +65,74 @@ eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...
63
65
  - 复制页面内容
64
66
  - 将内容发送给技能调用者
65
67
 
68
+ ### 2. 授权开关管理
69
+
70
+ 通过 `aigate-cli policy` 命令管理 ugate 和邮箱授权开关。
71
+
72
+ #### 开启 Ugate 用户授权
73
+
74
+ **触发关键词:**
75
+ - 开启ugate / 开启 ugate / 打开ugate / 打开 ugate
76
+ - 开启我的ugate / 开启我的 ugate
77
+ - 开启ugate授权 / 开启 ugate 授权
78
+ - 开启用户授权 / 打开用户授权
79
+ - 身份授权开启 / 开启身份授权 / 打开身份授权
80
+
81
+ **执行命令:** `aigate-cli policy -c=on -n=ugate`
82
+
83
+ **示例:**
84
+ ```bash
85
+ USER_MESSAGE="开启我的ugate授权" python3 ${COMATE_SKILL_DIR}/getUgateToken.py ${COMATE_USERNAME}
86
+ # 输出: POLICY_RESULT:✅ Ugate 用户授权已开启
87
+ ```
88
+
89
+ #### 关闭 Ugate 用户授权
90
+
91
+ **触发关键词:**
92
+ - 关闭ugate / 关闭 ugate / 取消ugate / 取消 ugate
93
+ - 关闭我的ugate / 关闭我的 ugate
94
+ - 关闭ugate授权 / 关闭 ugate 授权
95
+ - 关闭用户授权 / 取消用户授权
96
+ - 身份授权取消 / 取消身份授权 / 关闭身份授权
97
+
98
+ **执行命令:** `aigate-cli policy -c=off -n=ugate`
99
+
100
+ **示例:**
101
+ ```bash
102
+ USER_MESSAGE="关闭ugate授权" python3 ${COMATE_SKILL_DIR}/getUgateToken.py ${COMATE_USERNAME}
103
+ # 输出: POLICY_RESULT:✅ Ugate 用户授权已关闭
104
+ ```
105
+
106
+ #### 开启邮箱授权
107
+
108
+ **触发关键词:**
109
+ - 开启邮箱 / 打开邮箱 / 开启邮箱授权
110
+ - 开启我的邮箱 / 打开我的邮箱授权
111
+ - 邮箱授权开启 / 邮箱开启
112
+
113
+ **执行命令:** `aigate-cli policy -c=on -n=mail`
114
+
115
+ **示例:**
116
+ ```bash
117
+ USER_MESSAGE="开启邮箱授权" python3 ${COMATE_SKILL_DIR}/getUgateToken.py ${COMATE_USERNAME}
118
+ # 输出: POLICY_RESULT:✅ 邮箱授权已开启
119
+ ```
120
+
121
+ #### 关闭邮箱授权
122
+
123
+ **触发关键词:**
124
+ - 关闭邮箱 / 取消邮箱 / 关闭邮箱授权
125
+ - 关闭我的邮箱 / 取消我的邮箱授权
126
+ - 邮箱授权关闭 / 邮箱关闭
127
+
128
+ **执行命令:** `aigate-cli policy -c=off -n=mail`
129
+
130
+ **示例:**
131
+ ```bash
132
+ USER_MESSAGE="关闭邮箱授权" python3 ${COMATE_SKILL_DIR}/getUgateToken.py ${COMATE_USERNAME}
133
+ # 输出: POLICY_RESULT:✅ 邮箱授权已关闭
134
+ ```
135
+
66
136
  ## 使用方法
67
137
 
68
138
  ```bash
@@ -71,6 +141,12 @@ python3 ${COMATE_SKILL_DIR}/getUgateToken.py ${COMATE_USERNAME}
71
141
 
72
142
  # 手动输入 token(通过 USER_MESSAGE 环境变量)
73
143
  USER_MESSAGE="ugate token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..." python3 ${COMATE_SKILL_DIR}/getUgateToken.py ${COMATE_USERNAME}
144
+
145
+ # 开启 ugate 授权
146
+ USER_MESSAGE="开启ugate授权" python3 ${COMATE_SKILL_DIR}/getUgateToken.py ${COMATE_USERNAME}
147
+
148
+ # 关闭邮箱授权
149
+ USER_MESSAGE="关闭邮箱授权" python3 ${COMATE_SKILL_DIR}/getUgateToken.py ${COMATE_USERNAME}
74
150
  ```
75
151
 
76
152
  ## 输出格式
@@ -95,10 +171,17 @@ eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...
95
171
  脚本会输出到 stderr 并以退出码 2 退出:
96
172
 
97
173
  ```bash
98
- $ python3 getUgateToken.py ${COMATE_USERNAME} 2>&1
174
+ $ python3 ${COMATE_SKILL_DIR}/getUgateToken.py ${COMATE_USERNAME} 2>&1
99
175
  NEED_MANUAL_TOKEN:请点击 https://uuap.baidu.com/agent/token 获取token,然后复制内容发送给我
100
176
  ```
101
177
 
178
+ ### Policy 操作场景
179
+
180
+ ```bash
181
+ $ USER_MESSAGE="开启ugate授权" python3 ${COMATE_SKILL_DIR}/getUgateToken.py ${COMATE_USERNAME}
182
+ POLICY_RESULT:✅ Ugate 用户授权已开启
183
+ ```
184
+
102
185
  ## 强制刷新
103
186
 
104
187
  当用户消息中包含以下关键词时,会忽略缓存:
@@ -124,7 +207,7 @@ USER_MESSAGE="刷新ugate" python3 ${COMATE_SKILL_DIR}/getUgateToken.py ${COMATE
124
207
 
125
208
  ## 环境变量依赖
126
209
 
127
- - `USER_MESSAGE` - 用户原始消息(可选,用于判断是否强制刷新或手动输入 token)
210
+ - `USER_MESSAGE` - 用户原始消息(可选,用于判断操作意图)
128
211
 
129
212
  ## 缓存机制
130
213
 
@@ -149,8 +232,8 @@ USER_MESSAGE="刷新ugate" python3 ${COMATE_SKILL_DIR}/getUgateToken.py ${COMATE
149
232
 
150
233
  ## 退出码说明
151
234
 
152
- - **0**: 成功,token 已返回
153
- - **1**: 错误(参数缺失等)
235
+ - **0**: 成功(token 返回或 policy 操作成功)
236
+ - **1**: 错误(参数缺失、policy 操作失败等)
154
237
  - **2**: 需要手动获取 token(缓存无效,请提示用户访问 https://uuap.baidu.com/agent/token)
155
238
 
156
239
  ## 注意事项
@@ -158,4 +241,5 @@ USER_MESSAGE="刷新ugate" python3 ${COMATE_SKILL_DIR}/getUgateToken.py ${COMATE
158
241
  - token 会缓存到本地文件中,避免重复获取
159
242
  - 每个用户有独立的缓存文件,互不干扰
160
243
  - 所有 token 都是永久有效的
161
- - **手动输入 token 格式:** `ugate token: <token内容>` 或 `ugate token:<token内容>`(中文冒号)
244
+ - **手动输入 token 格式:** `ugate token: <token内容>` 或 `ugate token:<token内容>`(中文冒号)
245
+ - **Policy 操作依赖:** 需要系统已安装 `aigate-cli` 命令行工具,按说说明请参考:https://ku.baidu-int.com/knowledge/HFVrC7hq1Q/HXFtYvbMQj/TNoZ2M6o-t/dDqIxL3md2Nm0X
@@ -0,0 +1,244 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+ """
4
+ 获取并缓存 ugate token(多用户版本,永久有效)
5
+ 支持管理 ugate/邮箱授权开关
6
+ """
7
+
8
+ import os
9
+ import sys
10
+ import json
11
+ import re
12
+ import subprocess
13
+ from pathlib import Path
14
+ from shutil import which
15
+
16
+ # 配置常量
17
+ CACHE_DIR = Path.home() / ".config" / "uuap"
18
+
19
+ # 强制刷新的关键词
20
+ FORCE_REFRESH_KEYWORDS = [
21
+ "重新生成ugate",
22
+ "刷新ugate",
23
+ "重新生成 ugate",
24
+ "刷新 ugate",
25
+ "强制刷新",
26
+ "重新获取",
27
+ "重新生成token",
28
+ "刷新token",
29
+ "重新生成 token",
30
+ "刷新 token",
31
+ "强制刷新token",
32
+ "忽略缓存",
33
+ ]
34
+
35
+ # Policy 操作关键词
36
+ POLICY_KEYWORDS = {
37
+ "ugate_on": [
38
+ "开启ugate", "开启 ugate", "打开ugate", "打开 ugate",
39
+ "开启我的ugate", "开启我的 ugate", "打开我的ugate", "打开我的 ugate",
40
+ "开启ugate授权", "开启 ugate 授权", "打开ugate授权", "打开 ugate 授权",
41
+ "开启我的ugate授权", "开启我的 ugate 授权", "ugate授权开启", "ugate 授权开启",
42
+ "开启用户授权", "打开用户授权",
43
+ "身份授权开启", "开启身份授权", "打开身份授权",
44
+ ],
45
+ "ugate_off": [
46
+ "关闭ugate", "关闭 ugate", "取消ugate", "取消 ugate",
47
+ "关闭我的ugate", "关闭我的 ugate", "取消我的ugate", "取消我的 ugate",
48
+ "关闭ugate授权", "关闭 ugate 授权", "取消ugate授权", "取消 ugate 授权",
49
+ "关闭我的ugate授权", "关闭我的 ugate 授权", "ugate授权关闭", "ugate 授权关闭",
50
+ "关闭用户授权", "取消用户授权",
51
+ "身份授权取消", "取消身份授权", "关闭身份授权",
52
+ ],
53
+ "mail_on": [
54
+ "开启邮箱", "打开邮箱", "开启邮箱授权", "打开邮箱授权",
55
+ "开启我的邮箱", "打开我的邮箱", "开启我的邮箱授权", "打开我的邮箱授权",
56
+ "邮箱授权开启", "邮箱开启",
57
+ ],
58
+ "mail_off": [
59
+ "关闭邮箱", "取消邮箱", "关闭邮箱授权", "取消邮箱授权",
60
+ "关闭我的邮箱", "取消我的邮箱", "关闭我的邮箱授权", "取消我的邮箱授权",
61
+ "邮箱授权关闭", "邮箱关闭",
62
+ ],
63
+ }
64
+
65
+
66
+ def get_cache_file(username):
67
+ """根据用户名获取对应的缓存文件路径"""
68
+ return CACHE_DIR / f".eac_ugate_token_{username}"
69
+
70
+
71
+ def should_force_refresh(user_message):
72
+ """检查用户消息是否包含强制刷新的关键词"""
73
+ if not user_message:
74
+ return False
75
+
76
+ user_message_lower = user_message.lower()
77
+ return any(keyword in user_message_lower for keyword in FORCE_REFRESH_KEYWORDS)
78
+
79
+
80
+ def detect_policy_action(user_message):
81
+ """
82
+ 检测用户消息是否包含 policy 操作意图
83
+
84
+ Returns:
85
+ tuple: (action, name) 例如 ('on', 'ugate') 或 ('off', 'mail'),如果无匹配则返回 None
86
+ """
87
+ if not user_message:
88
+ return None
89
+
90
+ for action_type, keywords in POLICY_KEYWORDS.items():
91
+ for keyword in keywords:
92
+ if keyword in user_message:
93
+ parts = action_type.split('_')
94
+ return (parts[1], parts[0]) # ('on', 'ugate') 或 ('off', 'mail')
95
+
96
+ return None
97
+
98
+ def execute_policy(command, name):
99
+ """
100
+ 执行 aigate-cli policy 命令
101
+
102
+ Args:
103
+ command: 'on' 或 'off'
104
+ name: 'ugate' 或 'mail'
105
+
106
+ Returns:
107
+ tuple: (success, message)
108
+ """
109
+ try:
110
+ result = subprocess.run(
111
+ ['aigate-cli', 'policy', '-c=' + command, '-n=' + name],
112
+ capture_output=True,
113
+ text=True,
114
+ timeout=30
115
+ )
116
+
117
+ if result.returncode == 0:
118
+ action_text = "开启" if command == "on" else "关闭"
119
+ name_text = "Ugate 用户授权" if name == "ugate" else "邮箱授权"
120
+ return (True, f"✅ {name_text}已{action_text}")
121
+ else:
122
+ error_msg = result.stderr.strip() if result.stderr else "未知错误"
123
+ return (False, f"❌ 操作失败: {error_msg}")
124
+
125
+ except FileNotFoundError:
126
+ return (False, "❌ aigate-cli 命令未找到,请确认已安装")
127
+ except subprocess.TimeoutExpired:
128
+ return (False, "❌ 操作超时")
129
+ except Exception as e:
130
+ return (False, f"❌ 执行出错: {str(e)}")
131
+
132
+
133
+ def extract_manual_token(user_message):
134
+ """
135
+ 从用户消息中提取手动输入的 token
136
+ 支持格式:ugate token: xxxx 或 ugate token:xxxx(中文冒号)
137
+
138
+ Returns:
139
+ str: 提取到的 token,如果格式不匹配则返回 None
140
+ """
141
+ if not user_message:
142
+ return None
143
+
144
+ # 支持中英文冒号,支持大小写
145
+ pattern = r'ugate\s+token\s*[::]\s*(\S.+)'
146
+ match = re.search(pattern, user_message, re.IGNORECASE)
147
+
148
+ if match:
149
+ return match.group(1).strip()
150
+
151
+ return None
152
+
153
+
154
+ def get_cached_token(username):
155
+ """
156
+ 从缓存读取 token
157
+
158
+ 如果缓存文件中存在 expires_at 字段,则认为 token 无效,返回 None
159
+ """
160
+ cache_file = get_cache_file(username)
161
+
162
+ if not cache_file.exists():
163
+ return None
164
+
165
+ try:
166
+ with open(cache_file, 'r') as f:
167
+ data = json.load(f)
168
+
169
+ # 如果存在 expires_at 字段,认为 token 无效
170
+ if 'expires_at' in data:
171
+ return None
172
+
173
+ token = data.get('token')
174
+ if not token:
175
+ return None
176
+
177
+ return token
178
+ except (json.JSONDecodeError, KeyError):
179
+ pass
180
+
181
+ return None
182
+
183
+
184
+ def save_token_to_cache(token, username):
185
+ """
186
+ 将 token 保存到缓存(永久有效)
187
+ """
188
+ CACHE_DIR.mkdir(parents=True, exist_ok=True)
189
+ cache_file = get_cache_file(username)
190
+
191
+ with open(cache_file, 'w') as f:
192
+ cache_data = {
193
+ 'token': token,
194
+ 'permanent': True, # 所有 token 都是永久有效
195
+ }
196
+ json.dump(cache_data, f)
197
+
198
+
199
+ def main():
200
+ """主函数"""
201
+ # 从命令行参数获取用户名
202
+ if len(sys.argv) < 2:
203
+ print("请输入您的邮箱前缀(例如:chenshouqin)", file=sys.stderr)
204
+ sys.exit(1)
205
+
206
+ username = sys.argv[1]
207
+
208
+ # 获取用户消息(用于判断操作意图)
209
+ user_message = os.environ.get('USER_MESSAGE', '')
210
+
211
+ # 1. 检测是否为 policy 操作
212
+ policy_action = detect_policy_action(user_message)
213
+ if policy_action:
214
+ command, name = policy_action
215
+ success, message = execute_policy(command, name)
216
+ print(f"POLICY_RESULT:{message}")
217
+ sys.exit(0 if success else 1)
218
+
219
+ # 2. 检查用户是否手动输入了 token(格式:ugate token: xxxx)
220
+ manual_token = extract_manual_token(user_message)
221
+ if manual_token:
222
+ # 保存到缓存(永久有效)
223
+ save_token_to_cache(manual_token, username)
224
+ print(f"TOKEN_SAVED:Token 已保存", file=sys.stderr)
225
+ print(manual_token)
226
+ return
227
+
228
+ # 3. 检查是否需要强制刷新
229
+ force_refresh = should_force_refresh(user_message)
230
+
231
+ # 4. 尝试从缓存获取(除非强制刷新)
232
+ if not force_refresh:
233
+ cached_token = get_cached_token(username)
234
+ if cached_token:
235
+ print(cached_token)
236
+ return
237
+
238
+ # 5. 缓存不存在或强制刷新,提示用户手动获取 token
239
+ print(f"NEED_MANUAL_TOKEN:请点击 https://uuap.baidu.com/agent/token 获取token,然后复制内容发送给我", file=sys.stderr)
240
+ sys.exit(2)
241
+
242
+
243
+ if __name__ == "__main__":
244
+ main()
@@ -17,19 +17,7 @@ metadata:
17
17
  cli_version: "0.1.0"
18
18
  enableWhen:
19
19
  - isInternal
20
- allowed-tools:
21
- - Bash(*icafe-cli *)
22
- - Bash(*/.icafe-cli/bin/icafe-cli *)
23
- - Bash(ICAFE_CLI_VERSION=* bash -c *)
24
- - Bash(git log *)
25
- - Bash(git rev-parse *)
26
- - Bash(git remote *)
27
- - Bash(git diff *)
28
- - Bash(git status *)
29
- - Bash(git branch *)
30
- - Read(*icafe-official*)
31
- - Read(*icafe-official/**)
32
- - Read(*icafe-official/**/*)
20
+ disable-model-invocation: true
33
21
  ---
34
22
 
35
23
  # iCafe CLI
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  name: icode
3
+ disable-model-invocation: true
3
4
  metadata:
4
5
  author: icode
5
6
  version: "1.0.0"