@sakupa/mcp 0.7.25 → 0.7.26

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/bin.js CHANGED
@@ -129,7 +129,7 @@ var FORBIDDEN_PATH_SEGMENTS = [
129
129
  var ALLOWED_HIDDEN_PATHS = [".well-known/"];
130
130
 
131
131
  // ../core/dist/domain/version.js
132
- var SAKUPA_MCP_VERSION = "0.7.25";
132
+ var SAKUPA_MCP_VERSION = "0.7.26";
133
133
 
134
134
  // ../core/dist/domain/errors.js
135
135
  var HTTP_STATUS = {
@@ -2819,7 +2819,7 @@ When the user says the TXT is set, run bind "status". It verifies ownership and
2819
2819
  server.registerTool(
2820
2820
  "billing",
2821
2821
  {
2822
- description: "Show this site's hosting subscription: plan, payment state, current paid period, reconciled usage, estimated usage tier, bound custom domains and risks. Owner-only (uses the credential in .sakupa/site.json).",
2822
+ description: "Show this site's hosting subscription: current plan, next renewal plan, payment state, current paid entitlement, reconciled usage, estimated usage tier, bound custom domains and risks. Owner-only (uses the credential in .sakupa/site.json).",
2823
2823
  outputSchema: STRUCTURED_TOOL_OUTPUT_SCHEMA,
2824
2824
  annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },
2825
2825
  inputSchema: { projectDir: projectDirInput }
@@ -2833,9 +2833,10 @@ When the user says the TXT is set, run bind "status". It verifies ownership and
2833
2833
  const lines = [
2834
2834
  `Billing status for site ${res.siteId} (mode: ${res.mode})`,
2835
2835
  res.permanentUrl ? `Permanent URL: ${res.permanentUrl}` : void 0,
2836
- res.plan ? `Plan: ${res.plan} (JPY ${res.monthlyPriceJpy ?? tierPriceJpy(res.plan)}/month)` : "Plan: (no subscription yet)",
2836
+ res.plan ? `Current plan: ${res.plan} (JPY ${res.monthlyPriceJpy ?? tierPriceJpy(res.plan)}/month)` : "Current plan: (no subscription yet)",
2837
2837
  res.subscriptionStatus ? `Subscription payment state: ${res.subscriptionStatus}` : void 0,
2838
- res.cancelAtPeriodEnd ? "Renewal: CANCELED \u2014 the site reverts to free at the end of the already-paid month" : void 0,
2838
+ res.cancelAtPeriodEnd ? "Renewal: CANCELED \u2014 the site reverts to free at the end of the already-paid month" : res.renewalPlan ? `Next renewal plan: ${res.renewalPlan} (JPY ${res.renewalMonthlyPriceJpy ?? tierPriceJpy(res.renewalPlan)}/month)` + (res.renewalEffectiveAt ? `, effective ${res.renewalEffectiveAt}` : " (unchanged)") : void 0,
2839
+ res.periodEntitlementPlan ? `Current paid entitlement: ${res.periodEntitlementPlan}` : void 0,
2839
2840
  res.currentPeriodStart ? `Current paid period: ${res.currentPeriodStart} -> ${res.currentPeriodEnd ?? "?"}` : void 0,
2840
2841
  res.estimatedUsageTier ? `Estimated usage tier: ${res.estimatedUsageTier}` : void 0,
2841
2842
  res.lastReconciledAt ? `Last usage reconciliation: ${res.lastReconciledAt}` : void 0,
@@ -3374,7 +3375,7 @@ function registerBillingTools(server, baseCtx) {
3374
3375
  outcome: "waiting_user",
3375
3376
  resultCode: "stripe_plan_change_confirmation_required",
3376
3377
  operationId: args.operationId,
3377
- summary: `Stripe confirmation link created for ${result.currentPlan} -> ${result.targetPlan}; the subscription has NOT changed yet. ` + (result.direction === "upgrade" ? "Confirming starts a new paid month immediately at the full target price; Sakupa applies the plan only after invoice payment and carries unused transfer once." : "The downgrade is scheduled for the end of the already-paid period."),
3378
+ summary: `Stripe confirmation link created for ${result.currentPlan} -> ${result.targetPlan}; the subscription has NOT changed yet. ` + (result.direction === "upgrade" ? "Confirming starts a new paid month immediately at the full target price; Sakupa applies the plan only after invoice payment and carries unused transfer once." : result.direction === "downgrade" ? "The downgrade is scheduled for the end of the already-paid period." : "Confirming cancels the scheduled plan change and keeps the current plan without a new charge."),
3378
3379
  data: { result },
3379
3380
  userAction: {
3380
3381
  type: "open_url",
package/dist/index.js CHANGED
@@ -124,7 +124,7 @@ var FORBIDDEN_PATH_SEGMENTS = [
124
124
  var ALLOWED_HIDDEN_PATHS = [".well-known/"];
125
125
 
126
126
  // ../core/dist/domain/version.js
127
- var SAKUPA_MCP_VERSION = "0.7.25";
127
+ var SAKUPA_MCP_VERSION = "0.7.26";
128
128
 
129
129
  // ../core/dist/domain/errors.js
130
130
  var HTTP_STATUS = {
@@ -2908,7 +2908,7 @@ When the user says the TXT is set, run bind "status". It verifies ownership and
2908
2908
  server.registerTool(
2909
2909
  "billing",
2910
2910
  {
2911
- description: "Show this site's hosting subscription: plan, payment state, current paid period, reconciled usage, estimated usage tier, bound custom domains and risks. Owner-only (uses the credential in .sakupa/site.json).",
2911
+ description: "Show this site's hosting subscription: current plan, next renewal plan, payment state, current paid entitlement, reconciled usage, estimated usage tier, bound custom domains and risks. Owner-only (uses the credential in .sakupa/site.json).",
2912
2912
  outputSchema: STRUCTURED_TOOL_OUTPUT_SCHEMA,
2913
2913
  annotations: { readOnlyHint: true, destructiveHint: false, openWorldHint: true },
2914
2914
  inputSchema: { projectDir: projectDirInput }
@@ -2922,9 +2922,10 @@ When the user says the TXT is set, run bind "status". It verifies ownership and
2922
2922
  const lines = [
2923
2923
  `Billing status for site ${res.siteId} (mode: ${res.mode})`,
2924
2924
  res.permanentUrl ? `Permanent URL: ${res.permanentUrl}` : void 0,
2925
- res.plan ? `Plan: ${res.plan} (JPY ${res.monthlyPriceJpy ?? tierPriceJpy(res.plan)}/month)` : "Plan: (no subscription yet)",
2925
+ res.plan ? `Current plan: ${res.plan} (JPY ${res.monthlyPriceJpy ?? tierPriceJpy(res.plan)}/month)` : "Current plan: (no subscription yet)",
2926
2926
  res.subscriptionStatus ? `Subscription payment state: ${res.subscriptionStatus}` : void 0,
2927
- res.cancelAtPeriodEnd ? "Renewal: CANCELED \u2014 the site reverts to free at the end of the already-paid month" : void 0,
2927
+ res.cancelAtPeriodEnd ? "Renewal: CANCELED \u2014 the site reverts to free at the end of the already-paid month" : res.renewalPlan ? `Next renewal plan: ${res.renewalPlan} (JPY ${res.renewalMonthlyPriceJpy ?? tierPriceJpy(res.renewalPlan)}/month)` + (res.renewalEffectiveAt ? `, effective ${res.renewalEffectiveAt}` : " (unchanged)") : void 0,
2928
+ res.periodEntitlementPlan ? `Current paid entitlement: ${res.periodEntitlementPlan}` : void 0,
2928
2929
  res.currentPeriodStart ? `Current paid period: ${res.currentPeriodStart} -> ${res.currentPeriodEnd ?? "?"}` : void 0,
2929
2930
  res.estimatedUsageTier ? `Estimated usage tier: ${res.estimatedUsageTier}` : void 0,
2930
2931
  res.lastReconciledAt ? `Last usage reconciliation: ${res.lastReconciledAt}` : void 0,
@@ -3567,7 +3568,7 @@ function registerBillingTools(server, baseCtx) {
3567
3568
  outcome: "waiting_user",
3568
3569
  resultCode: "stripe_plan_change_confirmation_required",
3569
3570
  operationId: args.operationId,
3570
- summary: `Stripe confirmation link created for ${result.currentPlan} -> ${result.targetPlan}; the subscription has NOT changed yet. ` + (result.direction === "upgrade" ? "Confirming starts a new paid month immediately at the full target price; Sakupa applies the plan only after invoice payment and carries unused transfer once." : "The downgrade is scheduled for the end of the already-paid period."),
3571
+ summary: `Stripe confirmation link created for ${result.currentPlan} -> ${result.targetPlan}; the subscription has NOT changed yet. ` + (result.direction === "upgrade" ? "Confirming starts a new paid month immediately at the full target price; Sakupa applies the plan only after invoice payment and carries unused transfer once." : result.direction === "downgrade" ? "The downgrade is scheduled for the end of the already-paid period." : "Confirming cancels the scheduled plan change and keeps the current plan without a new charge."),
3571
3572
  data: { result },
3572
3573
  userAction: {
3573
3574
  type: "open_url",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sakupa/mcp",
3
- "version": "0.7.25",
3
+ "version": "0.7.26",
4
4
  "description": "Sakupa MCP server: publish AI-made static sites from your AI tool. AI-made pages, live in seconds.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",