The safety policy hands off a Shopify order note as "moving money" while refunds pass
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript
- Lĩnh vực
- authorization, backend-api-design, security
Hướng nghiên cứu
Start with the payments rule in server/src/approvals/policy.ts and trace how the safety policy evaluates Shopify action names, descriptions, and arguments. Check how SHOPIFY_UPDATE_ORDER and SHOPIFY_CREATE_REFUND are represented and covered by existing tests. Done means notes on an order no longer trigger a money hand-off while refunds do; the proposed administrator allow rule is an additional design question.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
What happens
Writing a note on a Shopify order (SHOPIFY_UPDATE_ORDER with only id and note) is handed off to the person as a money action:
approval.evaluated composio-shopify/SHOPIFY_UPDATE_ORDER
outcome: { behaviour: "hand_off", source: "safety",
reason: "Paying, purchasing or moving money is always done by the person." }
Meanwhile SHOPIFY_CREATE_REFUND, which does move money, passes without a hand-off.
The payments rule in server/src/approvals/policy.ts is a keyword regex (payment|pay|checkout|purchase|place order|... |billing). The order-update action's schema or description very likely matched on a word such as billing (it has a billing_address field), while "refund" is not in the list at all.
Suggested fix
- Classify on what the action does, not on words found anywhere in its schema. At least match against the action's name and the arguments actually sent, not field names that were left empty.
- Add refunds to the money rule (
refund,create_refund), since they move money. - Consider letting an administrator mark a specific action as not money-moving (an allow rule that the safety layer respects), with the decision recorded in the audit log.
- Ngôn ngữ chính
- TypeScript
- Star
- 7.1k
- Fork
- 962
- Merge trung bình
- 1 ngày 6 giờ
- Pull request đã merge (30 ngày)
- 143
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của CopilotKit/OpenBot
-
Composio plugin sends x-api-key, but connect.composio.dev/mcp requires x-consumer-api-keyCó thể đã có người làm @azmi2409 đã nhận 2 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
CopilotKit/OpenBot#817 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Wrong key location at startupCó thể đã có người làm @charan-rathore đã nhận 12 ngày trước. Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
CopilotKit/OpenBot#800 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
setup-learning.ts fails on Windows with "spawn npx.cmd EINVAL"Có thể đã có người làm @Caldas đã nhận 15 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
CopilotKit/OpenBot#792 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 56/100
CopilotKit/OpenBot#891 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
CopilotKit/OpenBot#889 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của CopilotKit/OpenBot
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
components-web-app/docs#307 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
localstack/localstack-mcp-server#112 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area:frontend kind:bug priority:p1 ready
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug ready-for-agent
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 73/100
PhyberApex/kuroshiro#1687 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Performance (Web Vitals) collector: LCP/FCP from background tabs are not discarded, inflating p75Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
umami-software/umami#4720 ·
Maintainer thường phản hồi trong vòng 3 ngày