@proappstore/cli 2.6.29 → 2.6.31
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/publish.d.ts.map +1 -1
- package/dist/publish.js +17 -56
- package/dist/publish.js.map +1 -1
- package/package.json +2 -2
package/dist/publish.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAIA,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAkCD;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA+IpE"}
|
package/dist/publish.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { execFileSync } from 'node:child_process';
|
|
2
1
|
import { resolve } from 'node:path';
|
|
3
2
|
import { resolveToken } from './lib/config.js';
|
|
4
3
|
import { readJsonIfExists } from './lib/json-file.js';
|
|
@@ -110,14 +109,20 @@ export async function publishApp(opts) {
|
|
|
110
109
|
// ── Register MCP tools from mcp.json (if present) ──────────
|
|
111
110
|
const mcpManifestPath = resolve(cwd, 'mcp.json');
|
|
112
111
|
const mcpManifest = readJsonIfExists(mcpManifestPath);
|
|
113
|
-
|
|
114
|
-
|
|
112
|
+
const manifestTools = Array.isArray(mcpManifest?.tools) ? mcpManifest.tools : [];
|
|
113
|
+
// #259: visibility registers with the tools, so a manifest that declares it
|
|
114
|
+
// registers even with no tools — or a tool-less private app would go live public.
|
|
115
|
+
const declaresVisibility = mcpManifest?.visibility !== undefined;
|
|
116
|
+
const isPrivate = mcpManifest?.visibility?.mode === 'private';
|
|
117
|
+
let privateRegistrationFailed = false;
|
|
118
|
+
if (mcpManifest && (manifestTools.length > 0 || declaresVisibility)) {
|
|
119
|
+
process.stdout.write(`\n Registering ${manifestTools.length} MCP tool(s)${declaresVisibility ? ' and visibility' : ''}...\n`);
|
|
115
120
|
try {
|
|
116
121
|
const toolsRes = await fetch(`${PAS_API}/v1/apps/${appId}/tools`, {
|
|
117
122
|
method: 'PUT',
|
|
118
123
|
headers: { Authorization: `Bearer ${token}`, 'Content-Type': 'application/json' },
|
|
119
|
-
// page_meta / sitemap (#210), operator (#229)
|
|
120
|
-
body: JSON.stringify({ tools:
|
|
124
|
+
// page_meta / sitemap (#210), operator (#229), operator_view (#240) and visibility (#259) register with the tools and are replaced with them.
|
|
125
|
+
body: JSON.stringify({ tools: manifestTools, page_meta: mcpManifest.page_meta, sitemap: mcpManifest.sitemap, operator: mcpManifest.operator, operator_view: mcpManifest.operator_view, visibility: mcpManifest.visibility }),
|
|
121
126
|
});
|
|
122
127
|
if (toolsRes.ok) {
|
|
123
128
|
const toolsData = (await toolsRes.json());
|
|
@@ -129,16 +134,21 @@ export async function publishApp(opts) {
|
|
|
129
134
|
else {
|
|
130
135
|
const errText = await toolsRes.text();
|
|
131
136
|
process.stdout.write(` [!] MCP tools: ${errText}\n`);
|
|
137
|
+
privateRegistrationFailed = isPrivate;
|
|
132
138
|
}
|
|
133
139
|
}
|
|
134
140
|
catch (e) {
|
|
135
141
|
process.stdout.write(` [!] MCP tools: ${e}\n`);
|
|
142
|
+
privateRegistrationFailed = isPrivate;
|
|
136
143
|
}
|
|
137
144
|
}
|
|
145
|
+
if (privateRegistrationFailed) {
|
|
146
|
+
process.stderr.write(`\n mcp.json declares visibility: private, but it did not register — the app would be served PUBLICLY.\n` +
|
|
147
|
+
` Fix the error above and re-run pas publish (it is idempotent) before pushing any code.\n`);
|
|
148
|
+
process.exit(1);
|
|
149
|
+
}
|
|
138
150
|
}
|
|
139
151
|
if (data.success) {
|
|
140
|
-
// Set R2 deploy secrets on external-org repos
|
|
141
|
-
await ensureDeploySecrets(appId, token);
|
|
142
152
|
process.stdout.write(`\n Published. Push your code to deploy:\n`);
|
|
143
153
|
process.stdout.write(` git push origin main\n\n`);
|
|
144
154
|
process.stdout.write(` Live URL: https://${appId}.proappstore.online\n`);
|
|
@@ -151,53 +161,4 @@ export async function publishApp(opts) {
|
|
|
151
161
|
process.exit(1);
|
|
152
162
|
}
|
|
153
163
|
}
|
|
154
|
-
/**
|
|
155
|
-
* Ensure an app repo has its R2 deploy secrets.
|
|
156
|
-
* proappstore-online app repos are PRIVATE on the free org plan and CANNOT inherit
|
|
157
|
-
* org-level secrets, so they need R2_* as REPO-level secrets. Trigger the reconcile
|
|
158
|
-
* workflow (runs in the public platform repo, reads the org R2 secrets, fans them
|
|
159
|
-
* out repo-level) rather than assuming inheritance. External-org repos can't use our
|
|
160
|
-
* org secrets at all, so we print manual instructions.
|
|
161
|
-
*/
|
|
162
|
-
async function ensureDeploySecrets(appId, _token) {
|
|
163
|
-
let remoteUrl;
|
|
164
|
-
try {
|
|
165
|
-
remoteUrl = execFileSync('git', ['remote', 'get-url', 'origin'], { encoding: 'utf8' }).trim();
|
|
166
|
-
}
|
|
167
|
-
catch {
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
const match = remoteUrl.match(/github\.com[/:]([^/]+)\/([^/.]+)/);
|
|
171
|
-
if (!match)
|
|
172
|
-
return;
|
|
173
|
-
const [, owner] = match;
|
|
174
|
-
if (owner === 'proappstore-online') {
|
|
175
|
-
// Private-repo-on-free ⇒ no org inheritance. Dispatch the reconcile workflow to
|
|
176
|
-
// set R2_* repo-level (idempotent; the hourly cron also catches it).
|
|
177
|
-
try {
|
|
178
|
-
execFileSync('gh', ['workflow', 'run', 'reconcile-app-secrets.yml', '-R', 'proappstore-online/platform', '-f', `repo=${appId}`], { stdio: 'pipe' });
|
|
179
|
-
process.stdout.write(` [+] R2 deploy secrets: reconcile dispatched for ${appId}\n`);
|
|
180
|
-
}
|
|
181
|
-
catch {
|
|
182
|
-
process.stdout.write(` [!] Could not dispatch secret reconcile (hourly cron will catch it, or run it manually)\n`);
|
|
183
|
-
}
|
|
184
|
-
return;
|
|
185
|
-
}
|
|
186
|
-
// External repo — check if R2 secrets are set
|
|
187
|
-
const fullRepo = `${owner}/${match[2]}`;
|
|
188
|
-
try {
|
|
189
|
-
execFileSync('gh', ['--version'], { stdio: 'pipe' });
|
|
190
|
-
const secrets = execFileSync('gh', ['secret', 'list', '-R', fullRepo], { encoding: 'utf8', stdio: 'pipe' });
|
|
191
|
-
if (secrets.includes('R2_ACCESS_KEY_ID'))
|
|
192
|
-
return;
|
|
193
|
-
}
|
|
194
|
-
catch {
|
|
195
|
-
// gh not available or can't list secrets
|
|
196
|
-
}
|
|
197
|
-
process.stdout.write(`\n Your repo is outside the proappstore-online org.\n`);
|
|
198
|
-
process.stdout.write(` Set these GitHub Actions secrets on ${fullRepo}:\n`);
|
|
199
|
-
process.stdout.write(` R2_ACCESS_KEY_ID (from CF Dashboard → R2 → API Tokens)\n`);
|
|
200
|
-
process.stdout.write(` R2_SECRET_ACCESS_KEY\n`);
|
|
201
|
-
process.stdout.write(` R2_ACCOUNT_ID\n\n`);
|
|
202
|
-
}
|
|
203
164
|
//# sourceMappingURL=publish.js.map
|
package/dist/publish.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../src/publish.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@proappstore/cli",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.31",
|
|
4
4
|
"description": "pas — CLI for publishing paid apps to proappstore.online",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"commander": "^12.1.0",
|
|
25
|
-
"@proappstore/compliance": "0.2.
|
|
25
|
+
"@proappstore/compliance": "0.2.14"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "^22.0.0",
|