opencode-skills-antigravity 1.0.25 → 1.0.27
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.
|
@@ -47,19 +47,17 @@ def check_env_vars() -> tuple[bool, list[str]]:
|
|
|
47
47
|
return len(missing) == 0, missing
|
|
48
48
|
|
|
49
49
|
|
|
50
|
-
def
|
|
51
|
-
"""Return
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
"error_code": str(error.get("code", "?")),
|
|
59
|
-
}
|
|
50
|
+
def _phone_lookup_failure_message() -> str:
|
|
51
|
+
"""Return a static failure summary for the phone lookup."""
|
|
52
|
+
return "Graph API rejected the phone-number lookup. Review your token, phone number ID, and app permissions."
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
def _waba_lookup_failure_message() -> str:
|
|
56
|
+
"""Return a static failure summary for the WABA lookup."""
|
|
57
|
+
return "Graph API rejected the WABA lookup. Review your WABA ID, token, and assigned assets."
|
|
60
58
|
|
|
61
59
|
|
|
62
|
-
def test_api_connection() -> tuple[bool,
|
|
60
|
+
def test_api_connection() -> tuple[bool, str]:
|
|
63
61
|
"""Test connection to WhatsApp Cloud API."""
|
|
64
62
|
token = os.environ.get("WHATSAPP_TOKEN", "")
|
|
65
63
|
phone_id = os.environ.get("PHONE_NUMBER_ID", "")
|
|
@@ -73,27 +71,19 @@ def test_api_connection() -> tuple[bool, dict[str, str]]:
|
|
|
73
71
|
)
|
|
74
72
|
|
|
75
73
|
if response.status_code == 200:
|
|
76
|
-
|
|
77
|
-
return True, {
|
|
78
|
-
"phone": str(data.get("display_phone_number", "N/A")),
|
|
79
|
-
"name": str(data.get("verified_name", "N/A")),
|
|
80
|
-
"status": str(data.get("code_verification_status", "N/A")),
|
|
81
|
-
"quality": str(data.get("quality_rating", "N/A")),
|
|
82
|
-
}
|
|
74
|
+
return True, "Phone-number endpoint reachable."
|
|
83
75
|
|
|
84
|
-
return False,
|
|
76
|
+
return False, _phone_lookup_failure_message()
|
|
85
77
|
|
|
86
78
|
except httpx.ConnectError:
|
|
87
|
-
return False,
|
|
79
|
+
return False, "Connection failed. Check your internet connection."
|
|
88
80
|
except httpx.TimeoutException:
|
|
89
|
-
return False,
|
|
81
|
+
return False, "Request timed out after 10 seconds."
|
|
90
82
|
except Exception as exc:
|
|
91
|
-
return False, {
|
|
92
|
-
"reason": f"Unexpected {exc.__class__.__name__} while contacting the Graph API."
|
|
93
|
-
}
|
|
83
|
+
return False, f"Unexpected {exc.__class__.__name__} while contacting the Graph API."
|
|
94
84
|
|
|
95
85
|
|
|
96
|
-
def test_waba_access() -> tuple[bool,
|
|
86
|
+
def test_waba_access() -> tuple[bool, str]:
|
|
97
87
|
"""Test access to WhatsApp Business Account."""
|
|
98
88
|
token = os.environ.get("WHATSAPP_TOKEN", "")
|
|
99
89
|
waba_id = os.environ.get("WABA_ID", "")
|
|
@@ -106,16 +96,12 @@ def test_waba_access() -> tuple[bool, dict[str, str]]:
|
|
|
106
96
|
)
|
|
107
97
|
|
|
108
98
|
if response.status_code == 200:
|
|
109
|
-
|
|
110
|
-
count = len(data.get("data", []))
|
|
111
|
-
return True, {"count": str(count)}
|
|
99
|
+
return True, "WABA phone-numbers endpoint reachable."
|
|
112
100
|
|
|
113
|
-
return False,
|
|
101
|
+
return False, _waba_lookup_failure_message()
|
|
114
102
|
|
|
115
103
|
except Exception as exc:
|
|
116
|
-
return False, {
|
|
117
|
-
"reason": f"Unexpected {exc.__class__.__name__} while checking WABA access."
|
|
118
|
-
}
|
|
104
|
+
return False, f"Unexpected {exc.__class__.__name__} while checking WABA access."
|
|
119
105
|
|
|
120
106
|
|
|
121
107
|
def main():
|
|
@@ -134,6 +120,7 @@ def main():
|
|
|
134
120
|
print("=" * 50)
|
|
135
121
|
print("WhatsApp Cloud API - Configuration Validator")
|
|
136
122
|
print("=" * 50)
|
|
123
|
+
print("Detailed API payloads are intentionally omitted to protect sensitive configuration data.")
|
|
137
124
|
print()
|
|
138
125
|
|
|
139
126
|
all_ok = True
|
|
@@ -157,37 +144,22 @@ def main():
|
|
|
157
144
|
|
|
158
145
|
# Check 2: API connection
|
|
159
146
|
print("[2/3] Testing API connection (Phone Number)...")
|
|
160
|
-
api_ok,
|
|
147
|
+
api_ok, api_message = test_api_connection()
|
|
161
148
|
if api_ok:
|
|
162
|
-
print(" OK -
|
|
163
|
-
print(f" Phone: {api_details['phone']}")
|
|
164
|
-
print(f" Name: {api_details['name']}")
|
|
165
|
-
print(f" Status: {api_details['status']}")
|
|
166
|
-
print(f" Quality: {api_details['quality']}")
|
|
149
|
+
print(f" OK - {api_message}")
|
|
167
150
|
else:
|
|
168
|
-
|
|
169
|
-
print(f" FAIL - {api_details['reason']}")
|
|
170
|
-
else:
|
|
171
|
-
print(" FAIL - API request failed.")
|
|
172
|
-
print(f" HTTP Status: {api_details['status_code']}")
|
|
173
|
-
print(f" Error Code: {api_details['error_code']}")
|
|
151
|
+
print(f" FAIL - {api_message}")
|
|
174
152
|
all_ok = False
|
|
175
153
|
|
|
176
154
|
print()
|
|
177
155
|
|
|
178
156
|
# Check 3: WABA access
|
|
179
157
|
print("[3/3] Testing WABA access...")
|
|
180
|
-
waba_ok,
|
|
158
|
+
waba_ok, waba_message = test_waba_access()
|
|
181
159
|
if waba_ok:
|
|
182
|
-
print(" OK -
|
|
183
|
-
print(f" Phone Numbers Found: {waba_details['count']}")
|
|
160
|
+
print(f" OK - {waba_message}")
|
|
184
161
|
else:
|
|
185
|
-
|
|
186
|
-
print(f" FAIL - {waba_details['reason']}")
|
|
187
|
-
else:
|
|
188
|
-
print(" FAIL - API request failed.")
|
|
189
|
-
print(f" HTTP Status: {waba_details['status_code']}")
|
|
190
|
-
print(f" Error Code: {waba_details['error_code']}")
|
|
162
|
+
print(f" FAIL - {waba_message}")
|
|
191
163
|
all_ok = False
|
|
192
164
|
|
|
193
165
|
print()
|
package/package.json
CHANGED