@sakupa/mcp 0.7.50 → 0.7.51
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 +20 -3
- package/dist/index.js +20 -3
- package/package.json +1 -1
package/dist/bin.js
CHANGED
|
@@ -400,7 +400,7 @@ function isFreeSiteAllowanceNetworkReference(value) {
|
|
|
400
400
|
}
|
|
401
401
|
|
|
402
402
|
// ../core/dist/domain/version.js
|
|
403
|
-
var SAKUPA_MCP_VERSION = "0.7.
|
|
403
|
+
var SAKUPA_MCP_VERSION = "0.7.51";
|
|
404
404
|
|
|
405
405
|
// ../core/dist/domain/errors.js
|
|
406
406
|
var HTTP_STATUS = {
|
|
@@ -3329,6 +3329,7 @@ function structuredToolResult(envelope) {
|
|
|
3329
3329
|
"nextActions",
|
|
3330
3330
|
"operationId",
|
|
3331
3331
|
"embedded URLs, paths, IDs, code tokens, tool names, arguments, DNS values, field names, amounts and exact timestamps",
|
|
3332
|
+
"complete relative paths including every directory segment; never reduce a path to its basename",
|
|
3332
3333
|
...envelope.presentation?.preserveExactFields ?? []
|
|
3333
3334
|
],
|
|
3334
3335
|
mustTellUser: [
|
|
@@ -3347,13 +3348,15 @@ function structuredToolResult(envelope) {
|
|
|
3347
3348
|
"Answer the current user question instead of mechanically dumping every returned field. Explain relevant technical terms in plain language while retaining the exact term when it helps accuracy.",
|
|
3348
3349
|
"Do not ask the user to copy or run tool arguments that this AI can execute. Use exact nextActions internally after any required user choice.",
|
|
3349
3350
|
"Translate human-readable explanations into the language the user is using and present dates and sizes in locally understandable form alongside exact values when precision matters.",
|
|
3351
|
+
"Preserve every returned path verbatim, including all directory segments. For example, .sakupa/site.json must never be shortened to site.json.",
|
|
3352
|
+
"A subscription-backed site stays online only while its subscription remains active. Never describe that duration as permanent or long-term, and never say a subscription is bound to the site.",
|
|
3350
3353
|
`Every ISO timestamp ending in Z is UTC, never the user local time. Never present it without an explicit UTC label. If the user time zone is known, convert it and show the local date, local clock time, and zone name or UTC offset, while also preserving the exact UTC timestamp. The MCP client runtime reports ${clientTimeZone}; use that only when it represents the user's timezone. If the user time zone is unknown, label the exact value as UTC and do not guess.`,
|
|
3351
3354
|
"Do not proactively mention a normal Production environment. Always disclose Test or unknown/non-production environments prominently.",
|
|
3352
3355
|
...envelope.presentation?.agentInstructions ?? []
|
|
3353
3356
|
]
|
|
3354
3357
|
};
|
|
3355
3358
|
const structuredEnvelope = { ...envelope, presentation };
|
|
3356
|
-
const presentationFallback = `AGENT PRESENTATION CONTRACT: Retain every technical fact below for reasoning and exact follow-up. Tell the user the requested result, required next step, and every material charge, deadline, security or irreversible consequence. Answer only the current question instead of dumping all fields; explain relevant technical terms in plain language while keeping exact terms available. Translate human-readable explanations into the user's language, but preserve URLs, paths, IDs, tool names, arguments, DNS values, field names, amounts and exact timestamps. A timestamp ending in Z is UTC, never local time: label UTC explicitly and, when the user time zone is known, also show the converted local date/time with its zone name or UTC offset. Never show an unlabeled timestamp or guess an unknown time zone. The MCP client runtime timezone is ${clientTimeZone}; use it only when it represents the user timezone. Do not proactively show a normal Production environment; always disclose Test or unknown environments. Never ask the user to run exact tool arguments that this AI can execute.`;
|
|
3359
|
+
const presentationFallback = `AGENT PRESENTATION CONTRACT: Retain every technical fact below for reasoning and exact follow-up. Tell the user the requested result, required next step, and every material charge, deadline, security or irreversible consequence. Answer only the current question instead of dumping all fields; explain relevant technical terms in plain language while keeping exact terms available. Translate human-readable explanations into the user's language, but preserve URLs, paths, IDs, tool names, arguments, DNS values, field names, amounts and exact timestamps. Preserve every path verbatim with all directory segments: never shorten .sakupa/site.json to site.json. A subscription-backed site stays online only while its subscription remains active; never call that permanent or long-term, and never say a subscription is bound to the site. A timestamp ending in Z is UTC, never local time: label UTC explicitly and, when the user time zone is known, also show the converted local date/time with its zone name or UTC offset. Never show an unlabeled timestamp or guess an unknown time zone. The MCP client runtime timezone is ${clientTimeZone}; use it only when it represents the user timezone. Do not proactively show a normal Production environment; always disclose Test or unknown environments. Never ask the user to run exact tool arguments that this AI can execute.`;
|
|
3357
3360
|
return {
|
|
3358
3361
|
content: [{ type: "text", text: `${envelope.summary}
|
|
3359
3362
|
|
|
@@ -4547,7 +4550,7 @@ Next action: ${analysis.suggestedNextAction}`,
|
|
|
4547
4550
|
Files uploaded: ${uploaded2} (${finalized2.totalBytes} bytes)
|
|
4548
4551
|
` + (finalized2.expiresAt ? `Expiry deadline: ${timestampForAgent(finalized2.expiresAt)}
|
|
4549
4552
|
` : "") + `
|
|
4550
|
-
This is a FREE temporary preview: it stays live for ${FREE_SITE_TTL_HOURS} hours. Deploying again or calling refresh extends the validity; while a subscription remains active, this URL stays live without the free-site expiry. The management credential was saved to .sakupa/site.json \u2014
|
|
4553
|
+
This is a FREE temporary preview: it stays live for ${FREE_SITE_TTL_HOURS} hours. Deploying again or calling refresh extends the validity; while a subscription remains active, this URL stays live without the free-site expiry. This is conditional on the subscription remaining active: do NOT describe the site as permanent or long-term, and do NOT say the subscription is bound to the site. The management credential was saved to the exact relative path .sakupa/site.json \u2014 preserve this complete path verbatim and never shorten it to site.json. Keep that file: it is the only way to manage this site.
|
|
4551
4554
|
` + credentialGitReminder(ctx.projectDir) + (finalized2.warnings.length > 0 ? `
|
|
4552
4555
|
Warnings:
|
|
4553
4556
|
${JSON.stringify(finalized2.warnings, null, 2)}` : ""),
|
|
@@ -4562,6 +4565,13 @@ ${JSON.stringify(finalized2.warnings, null, 2)}` : ""),
|
|
|
4562
4565
|
totalBytes: finalized2.totalBytes,
|
|
4563
4566
|
warnings: finalized2.warnings,
|
|
4564
4567
|
credentialStoredLocally: true,
|
|
4568
|
+
credentialPath: ".sakupa/site.json",
|
|
4569
|
+
subscriptionServingRule: {
|
|
4570
|
+
siteStaysOnlineOnlyWhileSubscriptionActive: true,
|
|
4571
|
+
freeSiteExpirySuppressedWhileSubscriptionActive: true,
|
|
4572
|
+
permanentOrLongTermDescriptionAllowed: false,
|
|
4573
|
+
subscriptionBindingDescriptionAllowed: false
|
|
4574
|
+
},
|
|
4565
4575
|
projectDir: ctx.projectDir,
|
|
4566
4576
|
environment: environmentFor(ctx.apiBaseUrl)
|
|
4567
4577
|
}
|
|
@@ -4653,6 +4663,13 @@ Optional security recommendation: this management credential was created at ${ti
|
|
|
4653
4663
|
filesUploaded: uploaded,
|
|
4654
4664
|
totalBytes: finalized.totalBytes,
|
|
4655
4665
|
warnings: finalized.warnings,
|
|
4666
|
+
credentialPath: ".sakupa/site.json",
|
|
4667
|
+
subscriptionServingRule: {
|
|
4668
|
+
siteStaysOnlineOnlyWhileSubscriptionActive: true,
|
|
4669
|
+
freeSiteExpirySuppressedWhileSubscriptionActive: true,
|
|
4670
|
+
permanentOrLongTermDescriptionAllowed: false,
|
|
4671
|
+
subscriptionBindingDescriptionAllowed: false
|
|
4672
|
+
},
|
|
4656
4673
|
credentialSecurity: credentialSecurity ? {
|
|
4657
4674
|
credentialCreatedAt: credentialSecurity.credentialCreatedAt,
|
|
4658
4675
|
ageSeconds: credentialSecurity.ageSeconds,
|
package/dist/index.js
CHANGED
|
@@ -145,7 +145,7 @@ function isFreeSiteAllowanceNetworkReference(value) {
|
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
// ../core/dist/domain/version.js
|
|
148
|
-
var SAKUPA_MCP_VERSION = "0.7.
|
|
148
|
+
var SAKUPA_MCP_VERSION = "0.7.51";
|
|
149
149
|
|
|
150
150
|
// ../core/dist/domain/errors.js
|
|
151
151
|
var HTTP_STATUS = {
|
|
@@ -2139,6 +2139,7 @@ function structuredToolResult(envelope) {
|
|
|
2139
2139
|
"nextActions",
|
|
2140
2140
|
"operationId",
|
|
2141
2141
|
"embedded URLs, paths, IDs, code tokens, tool names, arguments, DNS values, field names, amounts and exact timestamps",
|
|
2142
|
+
"complete relative paths including every directory segment; never reduce a path to its basename",
|
|
2142
2143
|
...envelope.presentation?.preserveExactFields ?? []
|
|
2143
2144
|
],
|
|
2144
2145
|
mustTellUser: [
|
|
@@ -2157,13 +2158,15 @@ function structuredToolResult(envelope) {
|
|
|
2157
2158
|
"Answer the current user question instead of mechanically dumping every returned field. Explain relevant technical terms in plain language while retaining the exact term when it helps accuracy.",
|
|
2158
2159
|
"Do not ask the user to copy or run tool arguments that this AI can execute. Use exact nextActions internally after any required user choice.",
|
|
2159
2160
|
"Translate human-readable explanations into the language the user is using and present dates and sizes in locally understandable form alongside exact values when precision matters.",
|
|
2161
|
+
"Preserve every returned path verbatim, including all directory segments. For example, .sakupa/site.json must never be shortened to site.json.",
|
|
2162
|
+
"A subscription-backed site stays online only while its subscription remains active. Never describe that duration as permanent or long-term, and never say a subscription is bound to the site.",
|
|
2160
2163
|
`Every ISO timestamp ending in Z is UTC, never the user local time. Never present it without an explicit UTC label. If the user time zone is known, convert it and show the local date, local clock time, and zone name or UTC offset, while also preserving the exact UTC timestamp. The MCP client runtime reports ${clientTimeZone}; use that only when it represents the user's timezone. If the user time zone is unknown, label the exact value as UTC and do not guess.`,
|
|
2161
2164
|
"Do not proactively mention a normal Production environment. Always disclose Test or unknown/non-production environments prominently.",
|
|
2162
2165
|
...envelope.presentation?.agentInstructions ?? []
|
|
2163
2166
|
]
|
|
2164
2167
|
};
|
|
2165
2168
|
const structuredEnvelope = { ...envelope, presentation };
|
|
2166
|
-
const presentationFallback = `AGENT PRESENTATION CONTRACT: Retain every technical fact below for reasoning and exact follow-up. Tell the user the requested result, required next step, and every material charge, deadline, security or irreversible consequence. Answer only the current question instead of dumping all fields; explain relevant technical terms in plain language while keeping exact terms available. Translate human-readable explanations into the user's language, but preserve URLs, paths, IDs, tool names, arguments, DNS values, field names, amounts and exact timestamps. A timestamp ending in Z is UTC, never local time: label UTC explicitly and, when the user time zone is known, also show the converted local date/time with its zone name or UTC offset. Never show an unlabeled timestamp or guess an unknown time zone. The MCP client runtime timezone is ${clientTimeZone}; use it only when it represents the user timezone. Do not proactively show a normal Production environment; always disclose Test or unknown environments. Never ask the user to run exact tool arguments that this AI can execute.`;
|
|
2169
|
+
const presentationFallback = `AGENT PRESENTATION CONTRACT: Retain every technical fact below for reasoning and exact follow-up. Tell the user the requested result, required next step, and every material charge, deadline, security or irreversible consequence. Answer only the current question instead of dumping all fields; explain relevant technical terms in plain language while keeping exact terms available. Translate human-readable explanations into the user's language, but preserve URLs, paths, IDs, tool names, arguments, DNS values, field names, amounts and exact timestamps. Preserve every path verbatim with all directory segments: never shorten .sakupa/site.json to site.json. A subscription-backed site stays online only while its subscription remains active; never call that permanent or long-term, and never say a subscription is bound to the site. A timestamp ending in Z is UTC, never local time: label UTC explicitly and, when the user time zone is known, also show the converted local date/time with its zone name or UTC offset. Never show an unlabeled timestamp or guess an unknown time zone. The MCP client runtime timezone is ${clientTimeZone}; use it only when it represents the user timezone. Do not proactively show a normal Production environment; always disclose Test or unknown environments. Never ask the user to run exact tool arguments that this AI can execute.`;
|
|
2167
2170
|
return {
|
|
2168
2171
|
content: [{ type: "text", text: `${envelope.summary}
|
|
2169
2172
|
|
|
@@ -4663,7 +4666,7 @@ Next action: ${analysis.suggestedNextAction}`,
|
|
|
4663
4666
|
Files uploaded: ${uploaded2} (${finalized2.totalBytes} bytes)
|
|
4664
4667
|
` + (finalized2.expiresAt ? `Expiry deadline: ${timestampForAgent(finalized2.expiresAt)}
|
|
4665
4668
|
` : "") + `
|
|
4666
|
-
This is a FREE temporary preview: it stays live for ${FREE_SITE_TTL_HOURS} hours. Deploying again or calling refresh extends the validity; while a subscription remains active, this URL stays live without the free-site expiry. The management credential was saved to .sakupa/site.json \u2014
|
|
4669
|
+
This is a FREE temporary preview: it stays live for ${FREE_SITE_TTL_HOURS} hours. Deploying again or calling refresh extends the validity; while a subscription remains active, this URL stays live without the free-site expiry. This is conditional on the subscription remaining active: do NOT describe the site as permanent or long-term, and do NOT say the subscription is bound to the site. The management credential was saved to the exact relative path .sakupa/site.json \u2014 preserve this complete path verbatim and never shorten it to site.json. Keep that file: it is the only way to manage this site.
|
|
4667
4670
|
` + credentialGitReminder(ctx.projectDir) + (finalized2.warnings.length > 0 ? `
|
|
4668
4671
|
Warnings:
|
|
4669
4672
|
${JSON.stringify(finalized2.warnings, null, 2)}` : ""),
|
|
@@ -4678,6 +4681,13 @@ ${JSON.stringify(finalized2.warnings, null, 2)}` : ""),
|
|
|
4678
4681
|
totalBytes: finalized2.totalBytes,
|
|
4679
4682
|
warnings: finalized2.warnings,
|
|
4680
4683
|
credentialStoredLocally: true,
|
|
4684
|
+
credentialPath: ".sakupa/site.json",
|
|
4685
|
+
subscriptionServingRule: {
|
|
4686
|
+
siteStaysOnlineOnlyWhileSubscriptionActive: true,
|
|
4687
|
+
freeSiteExpirySuppressedWhileSubscriptionActive: true,
|
|
4688
|
+
permanentOrLongTermDescriptionAllowed: false,
|
|
4689
|
+
subscriptionBindingDescriptionAllowed: false
|
|
4690
|
+
},
|
|
4681
4691
|
projectDir: ctx.projectDir,
|
|
4682
4692
|
environment: environmentFor(ctx.apiBaseUrl)
|
|
4683
4693
|
}
|
|
@@ -4769,6 +4779,13 @@ Optional security recommendation: this management credential was created at ${ti
|
|
|
4769
4779
|
filesUploaded: uploaded,
|
|
4770
4780
|
totalBytes: finalized.totalBytes,
|
|
4771
4781
|
warnings: finalized.warnings,
|
|
4782
|
+
credentialPath: ".sakupa/site.json",
|
|
4783
|
+
subscriptionServingRule: {
|
|
4784
|
+
siteStaysOnlineOnlyWhileSubscriptionActive: true,
|
|
4785
|
+
freeSiteExpirySuppressedWhileSubscriptionActive: true,
|
|
4786
|
+
permanentOrLongTermDescriptionAllowed: false,
|
|
4787
|
+
subscriptionBindingDescriptionAllowed: false
|
|
4788
|
+
},
|
|
4772
4789
|
credentialSecurity: credentialSecurity ? {
|
|
4773
4790
|
credentialCreatedAt: credentialSecurity.credentialCreatedAt,
|
|
4774
4791
|
ageSeconds: credentialSecurity.ageSeconds,
|