The safety policy hands off a Shopify order note as "moving money" while refunds pass
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 48/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- typescript
- Bereich
- authorization, backend-api-design, security
Rechercherichtung
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.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 7.1k
- Forks
- 962
- Ø Merge
- 1 T. 6 Std.
- Gemergte PRs (30 T.)
- 143
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus CopilotKit/OpenBot
-
Composio plugin sends x-api-key, but connect.composio.dev/mcp requires x-consumer-api-keyEvtl. vergeben @azmi2409 hat das vor 2 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
CopilotKit/OpenBot#817 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Wrong key location at startupEvtl. vergeben @charan-rathore hat das vor 13 Tagen übernommen. Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 68/100
CopilotKit/OpenBot#800 ·
Maintainer antworten meist innerhalb von 1 Tag
-
setup-learning.ts fails on Windows with "spawn npx.cmd EINVAL"Evtl. vergeben @Caldas hat das vor 15 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 80/100
CopilotKit/OpenBot#792 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 56/100
CopilotKit/OpenBot#891 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
CopilotKit/OpenBot#889 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in CopilotKit/OpenBot
Ähnliche Issues
-
bug triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
Maintainer antworten meist innerhalb von 1 Tag
-
hemi-earn
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
vetro-protocol/vetro-monorepo#1043 ·
Maintainer antworten meist innerhalb von 1 Tag
-
stage 2: bare names resolve against PATH differently from the shell (empty and relative entries)Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
STRML/omp-classifier#206 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
atlassian-labs/mermaid-diagrams-viewer#188 ·
Maintainer antworten meist innerhalb von 1 Tag
-
dashboard enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Olanetsoft/agent-lookout#225 ·
Maintainer antworten meist innerhalb von 1 Tag