drops-mcp 0.1.2 → 0.1.4
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/brand/badge.html +1 -1
- package/brand/brand.json +1 -1
- package/brand/download-page.html +3 -2
- package/brand/gate.html +14 -4
- package/drop.mjs +15 -1
- package/package.json +1 -1
package/brand/badge.html
CHANGED
|
@@ -10,6 +10,6 @@
|
|
|
10
10
|
transition:transform .12s ease,background .12s ease;"
|
|
11
11
|
onmouseover="this.style.transform='translateY(-1px)';this.style.background='rgba(20,20,22,0.78)'"
|
|
12
12
|
onmouseout="this.style.transform='none';this.style.background='rgba(20,20,22,0.62)'">
|
|
13
|
-
<
|
|
13
|
+
<span style="width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,#ff6b35,#ea580c);display:block;flex:0 0 auto;"></span>
|
|
14
14
|
<span style="opacity:.78;">__DROP_DOMAIN__</span>
|
|
15
15
|
</a>
|
package/brand/brand.json
CHANGED
package/brand/download-page.html
CHANGED
|
@@ -37,7 +37,8 @@
|
|
|
37
37
|
-webkit-backdrop-filter: blur(18px) saturate(160%);
|
|
38
38
|
box-shadow: 0 24px 70px -24px rgba(0, 0, 0, 0.7), inset 0 0.5px 0 rgba(255, 255, 255, 0.12);
|
|
39
39
|
}
|
|
40
|
-
.logo {
|
|
40
|
+
.logo { display:flex; align-items:center; justify-content:center; gap:9px; margin-bottom:24px; font-weight:700; font-size:1.15rem; letter-spacing:-.01em; color:#fff; }
|
|
41
|
+
.logo .d { width:12px; height:12px; border-radius:50%; background:linear-gradient(135deg,#ff6b35,#ea580c); box-shadow:0 0 16px rgba(255,107,53,.6); }
|
|
41
42
|
h1 {
|
|
42
43
|
font-size: 1.35em;
|
|
43
44
|
font-weight: 650;
|
|
@@ -91,7 +92,7 @@
|
|
|
91
92
|
</head>
|
|
92
93
|
<body>
|
|
93
94
|
<div class="card">
|
|
94
|
-
<
|
|
95
|
+
<div class="logo"><span class="d"></span>drop</div>
|
|
95
96
|
<h1>__DROP_TITLE__</h1>
|
|
96
97
|
<p class="sub">__DROP_SUBTITLE__</p>
|
|
97
98
|
<div class="file">
|
package/brand/gate.html
CHANGED
|
@@ -52,10 +52,20 @@
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
.drop-logo {
|
|
55
|
-
display:
|
|
56
|
-
|
|
55
|
+
display: flex;
|
|
56
|
+
align-items: center;
|
|
57
|
+
justify-content: center;
|
|
58
|
+
gap: 9px;
|
|
57
59
|
margin: 0 auto 26px;
|
|
58
|
-
|
|
60
|
+
font-weight: 700;
|
|
61
|
+
font-size: 1.15rem;
|
|
62
|
+
letter-spacing: -0.01em;
|
|
63
|
+
color: #fff;
|
|
64
|
+
}
|
|
65
|
+
.drop-logo .d {
|
|
66
|
+
width: 12px; height: 12px; border-radius: 50%;
|
|
67
|
+
background: linear-gradient(135deg, #ff6b35, #ea580c);
|
|
68
|
+
box-shadow: 0 0 16px rgba(255, 107, 53, 0.6);
|
|
59
69
|
}
|
|
60
70
|
|
|
61
71
|
.staticrypt-form {
|
|
@@ -209,7 +219,7 @@
|
|
|
209
219
|
|
|
210
220
|
<div id="staticrypt_content" class="staticrypt-content hidden">
|
|
211
221
|
<div class="staticrypt-page">
|
|
212
|
-
<
|
|
222
|
+
<div class="drop-logo"><span class="d"></span>drop</div>
|
|
213
223
|
<div class="staticrypt-form">
|
|
214
224
|
<div class="staticrypt-instructions">
|
|
215
225
|
<p class="staticrypt-title">/*[|template_title|]*/0</p>
|
package/drop.mjs
CHANGED
|
@@ -546,10 +546,24 @@ async function cmdDeploy(opts) {
|
|
|
546
546
|
|
|
547
547
|
console.log(`drop deploy — wiring backend in ${repoRoot}${dry ? " (dry run)" : ""}\n`);
|
|
548
548
|
|
|
549
|
+
const hasVercel = spawnSync(process.platform === "win32" ? "where" : "which", ["vercel"], { stdio: "ignore", shell: process.platform === "win32" }).status === 0;
|
|
550
|
+
|
|
551
|
+
// 0. auto-provision the Vercel project + Blob store so self-host is one command.
|
|
552
|
+
if (!dry && hasVercel) {
|
|
553
|
+
if (!existsSync(join(repoRoot, ".vercel", "project.json"))) {
|
|
554
|
+
console.log("linking a Vercel project…");
|
|
555
|
+
spawnSync("vercel", ["link", "--yes"], { cwd: repoRoot, stdio: "inherit", shell: process.platform === "win32" });
|
|
556
|
+
}
|
|
557
|
+
if (!getToken() && !opts.token) {
|
|
558
|
+
console.log("creating a Blob store 'drops' (if needed)…");
|
|
559
|
+
spawnSync("vercel", ["blob", "store", "add", "drops"], { cwd: repoRoot, stdio: "inherit", shell: process.platform === "win32" });
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
|
|
549
563
|
// 1. token
|
|
550
564
|
let token = getToken() || opts.token;
|
|
551
565
|
if (!token) { token = await pullTokenFromVercel(); }
|
|
552
|
-
if (!token) die("no BLOB_READ_WRITE_TOKEN.
|
|
566
|
+
if (!token) die("no BLOB_READ_WRITE_TOKEN. Run 'vercel blob store add drops' (or `vercel login`), then: drop deploy --token vercel_blob_rw_...");
|
|
553
567
|
|
|
554
568
|
// 2. discover the public blob host via a throwaway upload
|
|
555
569
|
const { put, del } = await loadBlob();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "drops-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Open-source artifact sharing — publish HTML/Markdown/files as branded, password-protected, zero-knowledge links on your own domain, from any AI agent. CLI + MCP server. The open-source, self-hosted Stacktree alternative.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|