@enactprotocol/cli 2.1.10 → 2.1.14
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/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +2 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/publish/index.d.ts +2 -0
- package/dist/commands/publish/index.d.ts.map +1 -1
- package/dist/commands/publish/index.js +18 -1
- package/dist/commands/publish/index.js.map +1 -1
- package/dist/commands/visibility/index.d.ts +11 -0
- package/dist/commands/visibility/index.d.ts.map +1 -0
- package/dist/commands/visibility/index.js +117 -0
- package/dist/commands/visibility/index.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
- package/src/commands/index.ts +3 -0
- package/src/commands/publish/index.ts +23 -1
- package/src/commands/visibility/index.ts +154 -0
- package/src/index.ts +5 -1
- package/tests/commands/publish.test.ts +50 -0
- package/tests/commands/visibility.test.ts +156 -0
- package/tsconfig.tsbuildinfo +1 -1
package/dist/commands/index.d.ts
CHANGED
|
@@ -23,4 +23,5 @@ export { configureReportCommand } from "./report";
|
|
|
23
23
|
export { configureInspectCommand } from "./inspect";
|
|
24
24
|
export { configureYankCommand } from "./yank";
|
|
25
25
|
export { configureUnyankCommand } from "./unyank";
|
|
26
|
+
export { configureVisibilityCommand } from "./visibility";
|
|
26
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGlD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAGhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAGpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGlD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAGhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAGpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGlD,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/commands/index.js
CHANGED
|
@@ -26,4 +26,6 @@ export { configureInspectCommand } from "./inspect";
|
|
|
26
26
|
// API v2 migration commands
|
|
27
27
|
export { configureYankCommand } from "./yank";
|
|
28
28
|
export { configureUnyankCommand } from "./unyank";
|
|
29
|
+
// Private tools (Phase - visibility management)
|
|
30
|
+
export { configureVisibilityCommand } from "./visibility";
|
|
29
31
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD,8BAA8B;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD,wCAAwC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEpD,4BAA4B;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD,8BAA8B;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD,wCAAwC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEpD,4BAA4B;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD,gDAAgD;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/publish/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/publish/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBzC,6BAA6B;AAC7B,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAoU/D;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2B9D"}
|
|
@@ -139,10 +139,17 @@ async function publishHandler(pathArg, options, ctx) {
|
|
|
139
139
|
const version = manifest.version ?? "0.0.0";
|
|
140
140
|
header(`Publishing ${toolName}@${version}`);
|
|
141
141
|
newline();
|
|
142
|
+
// Determine visibility (private by default for security)
|
|
143
|
+
const visibility = options.public
|
|
144
|
+
? "public"
|
|
145
|
+
: options.unlisted
|
|
146
|
+
? "unlisted"
|
|
147
|
+
: "private";
|
|
142
148
|
// Show what we're publishing
|
|
143
149
|
keyValue("Name", toolName);
|
|
144
150
|
keyValue("Version", version);
|
|
145
151
|
keyValue("Description", manifest.description);
|
|
152
|
+
keyValue("Visibility", visibility);
|
|
146
153
|
if (manifest.tags && manifest.tags.length > 0) {
|
|
147
154
|
keyValue("Tags", manifest.tags.join(", "));
|
|
148
155
|
}
|
|
@@ -216,6 +223,7 @@ async function publishHandler(pathArg, options, ctx) {
|
|
|
216
223
|
info("Would publish to registry:");
|
|
217
224
|
keyValue("Tool", toolName);
|
|
218
225
|
keyValue("Version", version);
|
|
226
|
+
keyValue("Visibility", visibility);
|
|
219
227
|
keyValue("Source", toolDir);
|
|
220
228
|
// Show files that would be bundled
|
|
221
229
|
const files = collectFiles(toolDir, toolDir);
|
|
@@ -247,6 +255,7 @@ async function publishHandler(pathArg, options, ctx) {
|
|
|
247
255
|
manifest: manifest,
|
|
248
256
|
bundle,
|
|
249
257
|
rawManifest: rawManifestContent,
|
|
258
|
+
visibility,
|
|
250
259
|
});
|
|
251
260
|
});
|
|
252
261
|
// JSON output
|
|
@@ -256,10 +265,16 @@ async function publishHandler(pathArg, options, ctx) {
|
|
|
256
265
|
}
|
|
257
266
|
// Success output
|
|
258
267
|
newline();
|
|
259
|
-
success(`Published ${result.name}@${result.version}`);
|
|
268
|
+
success(`Published ${result.name}@${result.version} (${visibility})`);
|
|
260
269
|
keyValue("Bundle Hash", result.bundleHash);
|
|
261
270
|
keyValue("Published At", result.publishedAt.toISOString());
|
|
262
271
|
newline();
|
|
272
|
+
if (visibility === "private") {
|
|
273
|
+
dim("This tool is private - only you can access it.");
|
|
274
|
+
}
|
|
275
|
+
else if (visibility === "unlisted") {
|
|
276
|
+
dim("This tool is unlisted - accessible via direct link, not searchable.");
|
|
277
|
+
}
|
|
263
278
|
dim(`Install with: enact install ${toolName}`);
|
|
264
279
|
}
|
|
265
280
|
/**
|
|
@@ -274,6 +289,8 @@ export function configurePublishCommand(program) {
|
|
|
274
289
|
.option("-v, --verbose", "Show detailed output")
|
|
275
290
|
.option("--skip-auth", "Skip authentication (for local development)")
|
|
276
291
|
.option("--json", "Output as JSON")
|
|
292
|
+
.option("--public", "Publish as public (searchable by everyone)")
|
|
293
|
+
.option("--unlisted", "Publish as unlisted (accessible via direct link, not searchable)")
|
|
277
294
|
.action(async (pathArg, options) => {
|
|
278
295
|
const resolvedPath = pathArg ?? ".";
|
|
279
296
|
const ctx = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/publish/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAGL,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,GAAG,EACH,KAAK,EACL,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,OAAO,EACP,OAAO,EACP,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEjE,uCAAuC;AACvC,MAAM,cAAc,GAAG,YAAY,CAAC;AACpC,MAAM,gBAAgB,GAAG,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/publish/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* enact visibility command
|
|
3
|
+
*
|
|
4
|
+
* Change the visibility of a published tool.
|
|
5
|
+
*/
|
|
6
|
+
import type { Command } from "commander";
|
|
7
|
+
/**
|
|
8
|
+
* Configure the visibility command
|
|
9
|
+
*/
|
|
10
|
+
export declare function configureVisibilityCommand(program: Command): void;
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/visibility/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyHzC;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqBjE"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* enact visibility command
|
|
3
|
+
*
|
|
4
|
+
* Change the visibility of a published tool.
|
|
5
|
+
*/
|
|
6
|
+
import { getSecret } from "@enactprotocol/secrets";
|
|
7
|
+
import { loadConfig } from "@enactprotocol/shared";
|
|
8
|
+
import { dim, error, extractNamespace, formatError, getCurrentUsername, header, info, json, newline, success, } from "../../utils";
|
|
9
|
+
/** Auth namespace for token storage */
|
|
10
|
+
const AUTH_NAMESPACE = "enact:auth";
|
|
11
|
+
const ACCESS_TOKEN_KEY = "access_token";
|
|
12
|
+
/** Valid visibility levels */
|
|
13
|
+
const VALID_VISIBILITIES = ["public", "private", "unlisted"];
|
|
14
|
+
/**
|
|
15
|
+
* Visibility command handler
|
|
16
|
+
*/
|
|
17
|
+
async function visibilityHandler(tool, visibility, options, _ctx) {
|
|
18
|
+
// Validate visibility value
|
|
19
|
+
if (!VALID_VISIBILITIES.includes(visibility)) {
|
|
20
|
+
error(`Invalid visibility: ${visibility}`);
|
|
21
|
+
newline();
|
|
22
|
+
dim(`Valid values: ${VALID_VISIBILITIES.join(", ")}`);
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
header(`Changing visibility for ${tool}`);
|
|
26
|
+
newline();
|
|
27
|
+
// Pre-flight namespace check
|
|
28
|
+
const currentUsername = await getCurrentUsername();
|
|
29
|
+
if (currentUsername) {
|
|
30
|
+
const toolNamespace = extractNamespace(tool);
|
|
31
|
+
if (toolNamespace !== currentUsername) {
|
|
32
|
+
error(`Namespace mismatch: Tool namespace "${toolNamespace}" does not match your username "${currentUsername}".`);
|
|
33
|
+
newline();
|
|
34
|
+
dim("You can only change visibility for your own tools.");
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// Get registry URL from config or environment
|
|
39
|
+
const config = loadConfig();
|
|
40
|
+
const registryUrl = process.env.ENACT_REGISTRY_URL ??
|
|
41
|
+
config.registry?.url ??
|
|
42
|
+
"https://siikwkfgsmouioodghho.supabase.co/functions/v1";
|
|
43
|
+
// Get auth token
|
|
44
|
+
let authToken = await getSecret(AUTH_NAMESPACE, ACCESS_TOKEN_KEY);
|
|
45
|
+
if (!authToken) {
|
|
46
|
+
authToken = config.registry?.authToken ?? process.env.ENACT_AUTH_TOKEN ?? null;
|
|
47
|
+
}
|
|
48
|
+
if (!authToken) {
|
|
49
|
+
error("Not authenticated. Please run: enact auth login");
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
// Make the API request to change visibility
|
|
53
|
+
const response = await fetch(`${registryUrl}/tools/${tool}/visibility`, {
|
|
54
|
+
method: "PATCH",
|
|
55
|
+
headers: {
|
|
56
|
+
Authorization: `Bearer ${authToken}`,
|
|
57
|
+
"Content-Type": "application/json",
|
|
58
|
+
},
|
|
59
|
+
body: JSON.stringify({ visibility }),
|
|
60
|
+
});
|
|
61
|
+
if (!response.ok) {
|
|
62
|
+
const errorText = await response.text();
|
|
63
|
+
try {
|
|
64
|
+
const errorJson = JSON.parse(errorText);
|
|
65
|
+
error(`Failed to change visibility: ${errorJson.error?.message ?? errorText}`);
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
error(`Failed to change visibility: ${errorText}`);
|
|
69
|
+
}
|
|
70
|
+
process.exit(1);
|
|
71
|
+
}
|
|
72
|
+
// Parse response (we don't use it but need to consume the body)
|
|
73
|
+
await response.json();
|
|
74
|
+
// JSON output
|
|
75
|
+
if (options.json) {
|
|
76
|
+
json({ tool, visibility, success: true });
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
// Success output
|
|
80
|
+
success(`${tool} is now ${visibility}`);
|
|
81
|
+
newline();
|
|
82
|
+
if (visibility === "private") {
|
|
83
|
+
info("This tool is now private - only you can access it.");
|
|
84
|
+
}
|
|
85
|
+
else if (visibility === "unlisted") {
|
|
86
|
+
info("This tool is now unlisted - accessible via direct link, but not searchable.");
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
info("This tool is now public - anyone can find and install it.");
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Configure the visibility command
|
|
94
|
+
*/
|
|
95
|
+
export function configureVisibilityCommand(program) {
|
|
96
|
+
program
|
|
97
|
+
.command("visibility <tool> <visibility>")
|
|
98
|
+
.description("Change tool visibility (public, private, or unlisted)")
|
|
99
|
+
.option("--json", "Output as JSON")
|
|
100
|
+
.option("-v, --verbose", "Show detailed output")
|
|
101
|
+
.action(async (tool, visibility, options) => {
|
|
102
|
+
const ctx = {
|
|
103
|
+
cwd: process.cwd(),
|
|
104
|
+
options,
|
|
105
|
+
isCI: Boolean(process.env.CI),
|
|
106
|
+
isInteractive: process.stdout.isTTY ?? false,
|
|
107
|
+
};
|
|
108
|
+
try {
|
|
109
|
+
await visibilityHandler(tool, visibility, options, ctx);
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
error(formatError(err));
|
|
113
|
+
process.exit(1);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/visibility/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
* Command-line interface for Enact.
|
|
6
6
|
* User-facing commands for tool execution, discovery, and management.
|
|
7
7
|
*/
|
|
8
|
-
export declare const version = "2.1.
|
|
8
|
+
export declare const version = "2.1.14";
|
|
9
9
|
export type { GlobalOptions, CommandContext } from "./types";
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AA6BH,eAAO,MAAM,OAAO,WAAW,CAAC;AAGhC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { ensureGlobalSetup } from "@enactprotocol/shared";
|
|
9
9
|
import { Command } from "commander";
|
|
10
|
-
import { configureAuthCommand, configureCacheCommand, configureConfigCommand, configureEnvCommand, configureExecCommand, configureInfoCommand, configureInitCommand, configureInspectCommand, configureInstallCommand, configureLearnCommand, configureListCommand, configurePublishCommand, configureReportCommand, configureRunCommand, configureSearchCommand, configureSetupCommand, configureSignCommand, configureTrustCommand, configureUnyankCommand, configureYankCommand, } from "./commands";
|
|
10
|
+
import { configureAuthCommand, configureCacheCommand, configureConfigCommand, configureEnvCommand, configureExecCommand, configureInfoCommand, configureInitCommand, configureInspectCommand, configureInstallCommand, configureLearnCommand, configureListCommand, configurePublishCommand, configureReportCommand, configureRunCommand, configureSearchCommand, configureSetupCommand, configureSignCommand, configureTrustCommand, configureUnyankCommand, configureVisibilityCommand, configureYankCommand, } from "./commands";
|
|
11
11
|
import { error, formatError } from "./utils";
|
|
12
|
-
export const version = "2.1.
|
|
12
|
+
export const version = "2.1.14";
|
|
13
13
|
// Main CLI entry point
|
|
14
14
|
async function main() {
|
|
15
15
|
// Ensure global setup is complete on first run
|
|
@@ -43,6 +43,8 @@ async function main() {
|
|
|
43
43
|
// API v2 migration commands
|
|
44
44
|
configureYankCommand(program);
|
|
45
45
|
configureUnyankCommand(program);
|
|
46
|
+
// Private tools - visibility management
|
|
47
|
+
configureVisibilityCommand(program);
|
|
46
48
|
// Global error handler - handle Commander's help/version exits gracefully
|
|
47
49
|
program.exitOverride((err) => {
|
|
48
50
|
// Commander throws errors for help, version, and other "exit" scenarios
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@enactprotocol/cli",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.14",
|
|
4
4
|
"description": "Command-line interface for Enact - the npm for AI tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -34,10 +34,10 @@
|
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@clack/prompts": "^0.11.0",
|
|
37
|
-
"@enactprotocol/api": "2.1.
|
|
38
|
-
"@enactprotocol/execution": "2.1.
|
|
39
|
-
"@enactprotocol/secrets": "2.1.
|
|
40
|
-
"@enactprotocol/shared": "2.1.
|
|
37
|
+
"@enactprotocol/api": "2.1.14",
|
|
38
|
+
"@enactprotocol/execution": "2.1.14",
|
|
39
|
+
"@enactprotocol/secrets": "2.1.14",
|
|
40
|
+
"@enactprotocol/shared": "2.1.14",
|
|
41
41
|
"commander": "^12.1.0",
|
|
42
42
|
"picocolors": "^1.1.1"
|
|
43
43
|
},
|
package/src/commands/index.ts
CHANGED
|
@@ -30,3 +30,6 @@ export { configureInspectCommand } from "./inspect";
|
|
|
30
30
|
// API v2 migration commands
|
|
31
31
|
export { configureYankCommand } from "./yank";
|
|
32
32
|
export { configureUnyankCommand } from "./unyank";
|
|
33
|
+
|
|
34
|
+
// Private tools (Phase - visibility management)
|
|
35
|
+
export { configureVisibilityCommand } from "./visibility";
|
|
@@ -39,10 +39,15 @@ import { loadGitignore, shouldIgnore } from "../../utils/ignore";
|
|
|
39
39
|
const AUTH_NAMESPACE = "enact:auth";
|
|
40
40
|
const ACCESS_TOKEN_KEY = "access_token";
|
|
41
41
|
|
|
42
|
+
/** Tool visibility levels */
|
|
43
|
+
export type ToolVisibility = "public" | "private" | "unlisted";
|
|
44
|
+
|
|
42
45
|
interface PublishOptions extends GlobalOptions {
|
|
43
46
|
dryRun?: boolean;
|
|
44
47
|
tag?: string;
|
|
45
48
|
skipAuth?: boolean;
|
|
49
|
+
public?: boolean;
|
|
50
|
+
unlisted?: boolean;
|
|
46
51
|
}
|
|
47
52
|
|
|
48
53
|
/**
|
|
@@ -203,10 +208,18 @@ async function publishHandler(
|
|
|
203
208
|
header(`Publishing ${toolName}@${version}`);
|
|
204
209
|
newline();
|
|
205
210
|
|
|
211
|
+
// Determine visibility (private by default for security)
|
|
212
|
+
const visibility: ToolVisibility = options.public
|
|
213
|
+
? "public"
|
|
214
|
+
: options.unlisted
|
|
215
|
+
? "unlisted"
|
|
216
|
+
: "private";
|
|
217
|
+
|
|
206
218
|
// Show what we're publishing
|
|
207
219
|
keyValue("Name", toolName);
|
|
208
220
|
keyValue("Version", version);
|
|
209
221
|
keyValue("Description", manifest.description);
|
|
222
|
+
keyValue("Visibility", visibility);
|
|
210
223
|
if (manifest.tags && manifest.tags.length > 0) {
|
|
211
224
|
keyValue("Tags", manifest.tags.join(", "));
|
|
212
225
|
}
|
|
@@ -290,6 +303,7 @@ async function publishHandler(
|
|
|
290
303
|
info("Would publish to registry:");
|
|
291
304
|
keyValue("Tool", toolName);
|
|
292
305
|
keyValue("Version", version);
|
|
306
|
+
keyValue("Visibility", visibility);
|
|
293
307
|
keyValue("Source", toolDir);
|
|
294
308
|
|
|
295
309
|
// Show files that would be bundled
|
|
@@ -326,6 +340,7 @@ async function publishHandler(
|
|
|
326
340
|
manifest: manifest as unknown as Record<string, unknown>,
|
|
327
341
|
bundle,
|
|
328
342
|
rawManifest: rawManifestContent,
|
|
343
|
+
visibility,
|
|
329
344
|
});
|
|
330
345
|
});
|
|
331
346
|
|
|
@@ -337,10 +352,15 @@ async function publishHandler(
|
|
|
337
352
|
|
|
338
353
|
// Success output
|
|
339
354
|
newline();
|
|
340
|
-
success(`Published ${result.name}@${result.version}`);
|
|
355
|
+
success(`Published ${result.name}@${result.version} (${visibility})`);
|
|
341
356
|
keyValue("Bundle Hash", result.bundleHash);
|
|
342
357
|
keyValue("Published At", result.publishedAt.toISOString());
|
|
343
358
|
newline();
|
|
359
|
+
if (visibility === "private") {
|
|
360
|
+
dim("This tool is private - only you can access it.");
|
|
361
|
+
} else if (visibility === "unlisted") {
|
|
362
|
+
dim("This tool is unlisted - accessible via direct link, not searchable.");
|
|
363
|
+
}
|
|
344
364
|
dim(`Install with: enact install ${toolName}`);
|
|
345
365
|
}
|
|
346
366
|
|
|
@@ -356,6 +376,8 @@ export function configurePublishCommand(program: Command): void {
|
|
|
356
376
|
.option("-v, --verbose", "Show detailed output")
|
|
357
377
|
.option("--skip-auth", "Skip authentication (for local development)")
|
|
358
378
|
.option("--json", "Output as JSON")
|
|
379
|
+
.option("--public", "Publish as public (searchable by everyone)")
|
|
380
|
+
.option("--unlisted", "Publish as unlisted (accessible via direct link, not searchable)")
|
|
359
381
|
.action(async (pathArg: string | undefined, options: PublishOptions) => {
|
|
360
382
|
const resolvedPath = pathArg ?? ".";
|
|
361
383
|
const ctx: CommandContext = {
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* enact visibility command
|
|
3
|
+
*
|
|
4
|
+
* Change the visibility of a published tool.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { getSecret } from "@enactprotocol/secrets";
|
|
8
|
+
import { loadConfig } from "@enactprotocol/shared";
|
|
9
|
+
import type { Command } from "commander";
|
|
10
|
+
import type { CommandContext, GlobalOptions } from "../../types";
|
|
11
|
+
import {
|
|
12
|
+
dim,
|
|
13
|
+
error,
|
|
14
|
+
extractNamespace,
|
|
15
|
+
formatError,
|
|
16
|
+
getCurrentUsername,
|
|
17
|
+
header,
|
|
18
|
+
info,
|
|
19
|
+
json,
|
|
20
|
+
newline,
|
|
21
|
+
success,
|
|
22
|
+
} from "../../utils";
|
|
23
|
+
|
|
24
|
+
/** Auth namespace for token storage */
|
|
25
|
+
const AUTH_NAMESPACE = "enact:auth";
|
|
26
|
+
const ACCESS_TOKEN_KEY = "access_token";
|
|
27
|
+
|
|
28
|
+
/** Valid visibility levels */
|
|
29
|
+
const VALID_VISIBILITIES = ["public", "private", "unlisted"] as const;
|
|
30
|
+
type Visibility = (typeof VALID_VISIBILITIES)[number];
|
|
31
|
+
|
|
32
|
+
interface VisibilityOptions extends GlobalOptions {
|
|
33
|
+
json?: boolean;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Visibility command handler
|
|
38
|
+
*/
|
|
39
|
+
async function visibilityHandler(
|
|
40
|
+
tool: string,
|
|
41
|
+
visibility: string,
|
|
42
|
+
options: VisibilityOptions,
|
|
43
|
+
_ctx: CommandContext
|
|
44
|
+
): Promise<void> {
|
|
45
|
+
// Validate visibility value
|
|
46
|
+
if (!VALID_VISIBILITIES.includes(visibility as Visibility)) {
|
|
47
|
+
error(`Invalid visibility: ${visibility}`);
|
|
48
|
+
newline();
|
|
49
|
+
dim(`Valid values: ${VALID_VISIBILITIES.join(", ")}`);
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
header(`Changing visibility for ${tool}`);
|
|
54
|
+
newline();
|
|
55
|
+
|
|
56
|
+
// Pre-flight namespace check
|
|
57
|
+
const currentUsername = await getCurrentUsername();
|
|
58
|
+
if (currentUsername) {
|
|
59
|
+
const toolNamespace = extractNamespace(tool);
|
|
60
|
+
if (toolNamespace !== currentUsername) {
|
|
61
|
+
error(
|
|
62
|
+
`Namespace mismatch: Tool namespace "${toolNamespace}" does not match your username "${currentUsername}".`
|
|
63
|
+
);
|
|
64
|
+
newline();
|
|
65
|
+
dim("You can only change visibility for your own tools.");
|
|
66
|
+
process.exit(1);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Get registry URL from config or environment
|
|
71
|
+
const config = loadConfig();
|
|
72
|
+
const registryUrl =
|
|
73
|
+
process.env.ENACT_REGISTRY_URL ??
|
|
74
|
+
config.registry?.url ??
|
|
75
|
+
"https://siikwkfgsmouioodghho.supabase.co/functions/v1";
|
|
76
|
+
|
|
77
|
+
// Get auth token
|
|
78
|
+
let authToken = await getSecret(AUTH_NAMESPACE, ACCESS_TOKEN_KEY);
|
|
79
|
+
if (!authToken) {
|
|
80
|
+
authToken = config.registry?.authToken ?? process.env.ENACT_AUTH_TOKEN ?? null;
|
|
81
|
+
}
|
|
82
|
+
if (!authToken) {
|
|
83
|
+
error("Not authenticated. Please run: enact auth login");
|
|
84
|
+
process.exit(1);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Make the API request to change visibility
|
|
88
|
+
const response = await fetch(`${registryUrl}/tools/${tool}/visibility`, {
|
|
89
|
+
method: "PATCH",
|
|
90
|
+
headers: {
|
|
91
|
+
Authorization: `Bearer ${authToken}`,
|
|
92
|
+
"Content-Type": "application/json",
|
|
93
|
+
},
|
|
94
|
+
body: JSON.stringify({ visibility }),
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
if (!response.ok) {
|
|
98
|
+
const errorText = await response.text();
|
|
99
|
+
try {
|
|
100
|
+
const errorJson = JSON.parse(errorText);
|
|
101
|
+
error(`Failed to change visibility: ${errorJson.error?.message ?? errorText}`);
|
|
102
|
+
} catch {
|
|
103
|
+
error(`Failed to change visibility: ${errorText}`);
|
|
104
|
+
}
|
|
105
|
+
process.exit(1);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Parse response (we don't use it but need to consume the body)
|
|
109
|
+
await response.json();
|
|
110
|
+
|
|
111
|
+
// JSON output
|
|
112
|
+
if (options.json) {
|
|
113
|
+
json({ tool, visibility, success: true });
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// Success output
|
|
118
|
+
success(`${tool} is now ${visibility}`);
|
|
119
|
+
newline();
|
|
120
|
+
|
|
121
|
+
if (visibility === "private") {
|
|
122
|
+
info("This tool is now private - only you can access it.");
|
|
123
|
+
} else if (visibility === "unlisted") {
|
|
124
|
+
info("This tool is now unlisted - accessible via direct link, but not searchable.");
|
|
125
|
+
} else {
|
|
126
|
+
info("This tool is now public - anyone can find and install it.");
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Configure the visibility command
|
|
132
|
+
*/
|
|
133
|
+
export function configureVisibilityCommand(program: Command): void {
|
|
134
|
+
program
|
|
135
|
+
.command("visibility <tool> <visibility>")
|
|
136
|
+
.description("Change tool visibility (public, private, or unlisted)")
|
|
137
|
+
.option("--json", "Output as JSON")
|
|
138
|
+
.option("-v, --verbose", "Show detailed output")
|
|
139
|
+
.action(async (tool: string, visibility: string, options: VisibilityOptions) => {
|
|
140
|
+
const ctx: CommandContext = {
|
|
141
|
+
cwd: process.cwd(),
|
|
142
|
+
options,
|
|
143
|
+
isCI: Boolean(process.env.CI),
|
|
144
|
+
isInteractive: process.stdout.isTTY ?? false,
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
try {
|
|
148
|
+
await visibilityHandler(tool, visibility, options, ctx);
|
|
149
|
+
} catch (err) {
|
|
150
|
+
error(formatError(err));
|
|
151
|
+
process.exit(1);
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -29,11 +29,12 @@ import {
|
|
|
29
29
|
configureSignCommand,
|
|
30
30
|
configureTrustCommand,
|
|
31
31
|
configureUnyankCommand,
|
|
32
|
+
configureVisibilityCommand,
|
|
32
33
|
configureYankCommand,
|
|
33
34
|
} from "./commands";
|
|
34
35
|
import { error, formatError } from "./utils";
|
|
35
36
|
|
|
36
|
-
export const version = "2.1.
|
|
37
|
+
export const version = "2.1.14";
|
|
37
38
|
|
|
38
39
|
// Export types for external use
|
|
39
40
|
export type { GlobalOptions, CommandContext } from "./types";
|
|
@@ -78,6 +79,9 @@ async function main() {
|
|
|
78
79
|
configureYankCommand(program);
|
|
79
80
|
configureUnyankCommand(program);
|
|
80
81
|
|
|
82
|
+
// Private tools - visibility management
|
|
83
|
+
configureVisibilityCommand(program);
|
|
84
|
+
|
|
81
85
|
// Global error handler - handle Commander's help/version exits gracefully
|
|
82
86
|
program.exitOverride((err) => {
|
|
83
87
|
// Commander throws errors for help, version, and other "exit" scenarios
|