@sakupa/mcp 0.7.26 → 0.7.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.
- package/dist/bin.js +7 -10
- package/dist/index.js +7 -10
- package/package.json +1 -1
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.
|
|
132
|
+
var SAKUPA_MCP_VERSION = "0.7.27";
|
|
133
133
|
|
|
134
134
|
// ../core/dist/domain/errors.js
|
|
135
135
|
var HTTP_STATUS = {
|
|
@@ -3322,7 +3322,6 @@ Summary: ${res.sanitizedSummary}`,
|
|
|
3322
3322
|
|
|
3323
3323
|
// src/tools/billing.ts
|
|
3324
3324
|
import { z as z4 } from "zod";
|
|
3325
|
-
var plan = z4.enum(["water", "personal", "share", "business"]);
|
|
3326
3325
|
function registerBillingTools(server, baseCtx) {
|
|
3327
3326
|
server.registerTool(
|
|
3328
3327
|
"plans",
|
|
@@ -3350,12 +3349,11 @@ function registerBillingTools(server, baseCtx) {
|
|
|
3350
3349
|
}
|
|
3351
3350
|
);
|
|
3352
3351
|
server.registerTool(
|
|
3353
|
-
"
|
|
3352
|
+
"change",
|
|
3354
3353
|
{
|
|
3355
|
-
description: "Create
|
|
3354
|
+
description: "Create one Stripe-hosted subscription-management link. The user chooses the plan or period-end cancellation on Stripe; Sakupa never infers intent from the conversation. Creating the link does not change billing.",
|
|
3356
3355
|
inputSchema: {
|
|
3357
3356
|
projectDir: projectDirInput,
|
|
3358
|
-
targetPlan: plan,
|
|
3359
3357
|
operationId: z4.string().min(1)
|
|
3360
3358
|
},
|
|
3361
3359
|
outputSchema: STRUCTURED_TOOL_OUTPUT_SCHEMA,
|
|
@@ -3367,21 +3365,20 @@ function registerBillingTools(server, baseCtx) {
|
|
|
3367
3365
|
const site = requireSiteFile(ctx);
|
|
3368
3366
|
const result = await ctx.client.changeSubscriptionPlan(site.credential, {
|
|
3369
3367
|
siteId: site.siteId,
|
|
3370
|
-
targetPlan: args.targetPlan,
|
|
3371
3368
|
operationId: args.operationId
|
|
3372
3369
|
});
|
|
3373
3370
|
return structuredToolResult({
|
|
3374
3371
|
schemaVersion: 1,
|
|
3375
3372
|
outcome: "waiting_user",
|
|
3376
|
-
resultCode: "
|
|
3373
|
+
resultCode: "stripe_subscription_management_required",
|
|
3377
3374
|
operationId: args.operationId,
|
|
3378
|
-
summary:
|
|
3375
|
+
summary: "Stripe subscription-management link created; the subscription has NOT changed yet. Stripe is the authoritative place to choose Water, Personal, Share, Business, or period-end cancellation. Query billing after the user finishes.",
|
|
3379
3376
|
data: { result },
|
|
3380
3377
|
userAction: {
|
|
3381
3378
|
type: "open_url",
|
|
3382
3379
|
provider: "stripe",
|
|
3383
3380
|
url: result.portalUrl,
|
|
3384
|
-
expectedOutcome: "After the user
|
|
3381
|
+
expectedOutcome: "After the user finishes on Stripe, webhooks update Sakupa and billing reports the authoritative result"
|
|
3385
3382
|
},
|
|
3386
3383
|
nextActions: [{ tool: "billing", allowed: true }]
|
|
3387
3384
|
});
|
|
@@ -3611,7 +3608,7 @@ Workflow:
|
|
|
3611
3608
|
4. Optionally bind a custom domain to the subscribed site (bind): an included extra
|
|
3612
3609
|
serving surface alongside the permanent URL. Ownership is proven only by DNS control; the
|
|
3613
3610
|
first verified request wins; unverified requests expire after 72 hours. billing,
|
|
3614
|
-
|
|
3611
|
+
change, portal and recover manage the paid
|
|
3615
3612
|
lifecycle; delete tears the whole site down after explicit confirmation. Binding a
|
|
3616
3613
|
NEW domain while one is live is a zero-downtime SWITCH: the old domain keeps serving
|
|
3617
3614
|
until the new domain's www is confirmed live, then it is replaced automatically.
|
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.
|
|
127
|
+
var SAKUPA_MCP_VERSION = "0.7.27";
|
|
128
128
|
|
|
129
129
|
// ../core/dist/domain/errors.js
|
|
130
130
|
var HTTP_STATUS = {
|
|
@@ -3515,7 +3515,6 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
|
3515
3515
|
|
|
3516
3516
|
// src/tools/billing.ts
|
|
3517
3517
|
import { z as z5 } from "zod";
|
|
3518
|
-
var plan = z5.enum(["water", "personal", "share", "business"]);
|
|
3519
3518
|
function registerBillingTools(server, baseCtx) {
|
|
3520
3519
|
server.registerTool(
|
|
3521
3520
|
"plans",
|
|
@@ -3543,12 +3542,11 @@ function registerBillingTools(server, baseCtx) {
|
|
|
3543
3542
|
}
|
|
3544
3543
|
);
|
|
3545
3544
|
server.registerTool(
|
|
3546
|
-
"
|
|
3545
|
+
"change",
|
|
3547
3546
|
{
|
|
3548
|
-
description: "Create
|
|
3547
|
+
description: "Create one Stripe-hosted subscription-management link. The user chooses the plan or period-end cancellation on Stripe; Sakupa never infers intent from the conversation. Creating the link does not change billing.",
|
|
3549
3548
|
inputSchema: {
|
|
3550
3549
|
projectDir: projectDirInput,
|
|
3551
|
-
targetPlan: plan,
|
|
3552
3550
|
operationId: z5.string().min(1)
|
|
3553
3551
|
},
|
|
3554
3552
|
outputSchema: STRUCTURED_TOOL_OUTPUT_SCHEMA,
|
|
@@ -3560,21 +3558,20 @@ function registerBillingTools(server, baseCtx) {
|
|
|
3560
3558
|
const site = requireSiteFile(ctx);
|
|
3561
3559
|
const result = await ctx.client.changeSubscriptionPlan(site.credential, {
|
|
3562
3560
|
siteId: site.siteId,
|
|
3563
|
-
targetPlan: args.targetPlan,
|
|
3564
3561
|
operationId: args.operationId
|
|
3565
3562
|
});
|
|
3566
3563
|
return structuredToolResult({
|
|
3567
3564
|
schemaVersion: 1,
|
|
3568
3565
|
outcome: "waiting_user",
|
|
3569
|
-
resultCode: "
|
|
3566
|
+
resultCode: "stripe_subscription_management_required",
|
|
3570
3567
|
operationId: args.operationId,
|
|
3571
|
-
summary:
|
|
3568
|
+
summary: "Stripe subscription-management link created; the subscription has NOT changed yet. Stripe is the authoritative place to choose Water, Personal, Share, Business, or period-end cancellation. Query billing after the user finishes.",
|
|
3572
3569
|
data: { result },
|
|
3573
3570
|
userAction: {
|
|
3574
3571
|
type: "open_url",
|
|
3575
3572
|
provider: "stripe",
|
|
3576
3573
|
url: result.portalUrl,
|
|
3577
|
-
expectedOutcome: "After the user
|
|
3574
|
+
expectedOutcome: "After the user finishes on Stripe, webhooks update Sakupa and billing reports the authoritative result"
|
|
3578
3575
|
},
|
|
3579
3576
|
nextActions: [{ tool: "billing", allowed: true }]
|
|
3580
3577
|
});
|
|
@@ -3606,7 +3603,7 @@ Workflow:
|
|
|
3606
3603
|
4. Optionally bind a custom domain to the subscribed site (bind): an included extra
|
|
3607
3604
|
serving surface alongside the permanent URL. Ownership is proven only by DNS control; the
|
|
3608
3605
|
first verified request wins; unverified requests expire after 72 hours. billing,
|
|
3609
|
-
|
|
3606
|
+
change, portal and recover manage the paid
|
|
3610
3607
|
lifecycle; delete tears the whole site down after explicit confirmation. Binding a
|
|
3611
3608
|
NEW domain while one is live is a zero-downtime SWITCH: the old domain keeps serving
|
|
3612
3609
|
until the new domain's www is confirmed live, then it is replaced automatically.
|