@awesomate/hosting-mcp 0.60.0 → 0.60.1

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.
package/dist/index.js CHANGED
@@ -39879,13 +39879,15 @@ var SENTENCE = {
39879
39879
  not_released: "This isn't on your account yet.",
39880
39880
  turned_off_by_awesomate: "Awesomate has turned this off for your account.",
39881
39881
  switched_off_by_you: "You switched this off in Settings, Features.",
39882
- not_on_plan: "This comes with a higher plan."
39882
+ not_on_plan: "This comes with a higher plan.",
39883
+ plan_unreadable: "We couldn't check this just now. Try again shortly."
39883
39884
  };
39884
39885
  var NEXT = {
39885
39886
  not_released: "Do not retry and do not offer this feature. If the user asks for it, say it is not on their account yet: Awesomate opens new features account by account.",
39886
39887
  turned_off_by_awesomate: "Do not retry. If the user wants it, they can ask Awesomate (hub.awesomate.ai/support); nothing here can switch it back on.",
39887
39888
  switched_off_by_you: "Do not retry. The account owner can switch it back on in the hub under Settings, Features (hub.awesomate.ai/settings?tab=features); never do that for them.",
39888
- not_on_plan: "Do not retry. Relay the plan that includes it honestly (hub.awesomate.ai/billing) and let the user decide."
39889
+ not_on_plan: "Do not retry. Relay the plan that includes it honestly (hub.awesomate.ai/billing) and let the user decide.",
39890
+ plan_unreadable: "Awesomate could not read the account's plan just now: a moment's trouble on our side, not the user's plan. Wait a few seconds and try once more; if it still fails, tell the user to try again shortly. Never suggest an upgrade."
39889
39891
  };
39890
39892
  function isReason(value) {
39891
39893
  return typeof value === "string" && value in SENTENCE;
@@ -39911,7 +39913,7 @@ function featureRefusal(tool, features) {
39911
39913
  const key = TOOL_FEATURE[tool];
39912
39914
  if (!key || !features) return null;
39913
39915
  const entry = features[key];
39914
- if (!entry || entry.available) return null;
39916
+ if (!entry || entry.available || entry.reason === "plan_unreadable") return null;
39915
39917
  const reason = entry.reason ?? "not_released";
39916
39918
  const sentence = entry.message || SENTENCE[reason];
39917
39919
  const name = entry.label ?? key;
@@ -40009,7 +40011,7 @@ async function hubRequest(config3, method, path, jsonBody, opts = {}) {
40009
40011
  let hint = "";
40010
40012
  if (res.status === 401) {
40011
40013
  hint = " Your access token is invalid or expired \u2014 ask the user to open the hub Claude page (hub.awesomate.ai/claude), generate a fresh Connect prompt, and re-run the bootstrap.";
40012
- } else if (res.status === 403 && code === "feature_unavailable") {
40014
+ } else if ((res.status === 403 || res.status === 503) && code === "feature_unavailable") {
40013
40015
  const reason = body && typeof body === "object" ? body.reason : null;
40014
40016
  hint = featureUnavailableHint(reason);
40015
40017
  } else if (res.status === 403 && code === "consent_required") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awesomate/hosting-mcp",
3
- "version": "0.60.0",
3
+ "version": "0.60.1",
4
4
  "description": "Awesomate MCP server — lets Claude manage your Awesomate WordPress hosting, plan, limits, n8n automations, and build Node/static apps + databases",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -1,5 +1,11 @@
1
1
  {
2
2
  "versions": [
3
+ {
4
+ "version": "0.60.1",
5
+ "highlights": [
6
+ "When Awesomate can't check your plan for a moment, Claude says to try again shortly instead of suggesting an upgrade"
7
+ ]
8
+ },
3
9
  {
4
10
  "version": "0.60.0",
5
11
  "highlights": [