youmd 0.3.1 → 0.3.3

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.
Files changed (44) hide show
  1. package/dist/commands/chat.d.ts.map +1 -1
  2. package/dist/commands/chat.js +379 -39
  3. package/dist/commands/chat.js.map +1 -1
  4. package/dist/commands/keys.d.ts +2 -1
  5. package/dist/commands/keys.d.ts.map +1 -1
  6. package/dist/commands/keys.js +176 -40
  7. package/dist/commands/keys.js.map +1 -1
  8. package/dist/commands/link.d.ts +6 -0
  9. package/dist/commands/link.d.ts.map +1 -1
  10. package/dist/commands/link.js +145 -60
  11. package/dist/commands/link.js.map +1 -1
  12. package/dist/commands/login.d.ts +1 -0
  13. package/dist/commands/login.d.ts.map +1 -1
  14. package/dist/commands/login.js +25 -0
  15. package/dist/commands/login.js.map +1 -1
  16. package/dist/commands/memories.d.ts +2 -0
  17. package/dist/commands/memories.d.ts.map +1 -0
  18. package/dist/commands/memories.js +113 -0
  19. package/dist/commands/memories.js.map +1 -0
  20. package/dist/commands/private.d.ts +5 -0
  21. package/dist/commands/private.d.ts.map +1 -0
  22. package/dist/commands/private.js +450 -0
  23. package/dist/commands/private.js.map +1 -0
  24. package/dist/commands/pull.d.ts.map +1 -1
  25. package/dist/commands/pull.js +23 -0
  26. package/dist/commands/pull.js.map +1 -1
  27. package/dist/commands/push.d.ts.map +1 -1
  28. package/dist/commands/push.js +21 -0
  29. package/dist/commands/push.js.map +1 -1
  30. package/dist/index.js +16 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/lib/api.d.ts +85 -0
  33. package/dist/lib/api.d.ts.map +1 -1
  34. package/dist/lib/api.js +83 -0
  35. package/dist/lib/api.js.map +1 -1
  36. package/dist/lib/onboarding.d.ts +2 -1
  37. package/dist/lib/onboarding.d.ts.map +1 -1
  38. package/dist/lib/onboarding.js +18 -11
  39. package/dist/lib/onboarding.js.map +1 -1
  40. package/dist/lib/render.d.ts +71 -0
  41. package/dist/lib/render.d.ts.map +1 -0
  42. package/dist/lib/render.js +286 -0
  43. package/dist/lib/render.js.map +1 -0
  44. package/package.json +1 -1
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
@@ -6,11 +39,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
39
  exports.keysCommand = keysCommand;
7
40
  const chalk_1 = __importDefault(require("chalk"));
8
41
  const config_1 = require("../lib/config");
42
+ const api_1 = require("../lib/api");
43
+ const render_1 = require("../lib/render");
44
+ const ACCENT = chalk_1.default.hex("#C46A3A");
45
+ const DIM = chalk_1.default.dim;
46
+ const SUCCESS = chalk_1.default.green;
9
47
  /**
10
48
  * API key management.
11
49
  * Subcommands: list, create, revoke
12
50
  *
13
- * API keys are created through the web dashboard and used by the CLI for auth.
51
+ * API keys authenticate CLI requests to the You.md platform.
14
52
  */
15
53
  async function keysCommand(subcommand, options = {}) {
16
54
  console.log("");
@@ -27,7 +65,7 @@ async function keysCommand(subcommand, options = {}) {
27
65
  await keysList();
28
66
  break;
29
67
  case "create":
30
- await keysCreate(options.label);
68
+ await keysCreate(options);
31
69
  break;
32
70
  case "revoke":
33
71
  await keysRevoke(options.id);
@@ -37,63 +75,161 @@ async function keysCommand(subcommand, options = {}) {
37
75
  console.log("");
38
76
  console.log("Usage:");
39
77
  console.log(" youmd keys list");
40
- console.log(" youmd keys create [--label <name>]");
78
+ console.log(" youmd keys create [--label <name>] [--scopes read:public]");
41
79
  console.log(" youmd keys revoke --id <keyId>");
42
80
  console.log("");
43
81
  console.log("API keys authenticate CLI requests to the You.md platform.");
44
- console.log("Create keys at " +
45
- chalk_1.default.cyan("https://you.md/settings/api") +
46
- " or use this command.");
47
82
  console.log("");
48
83
  break;
49
84
  }
50
85
  }
51
86
  async function keysList() {
52
- console.log("you.md -- API keys");
53
- console.log("");
54
- console.log(chalk_1.default.yellow("note") +
55
- " -- API key management from CLI is not yet available");
56
- console.log("");
57
- console.log(" Visit " +
58
- chalk_1.default.cyan("https://you.md/settings/api") +
59
- " to manage your API keys.");
60
- console.log("");
61
- const config = (0, config_1.readGlobalConfig)();
62
- if (config.token) {
63
- console.log(" Current key: " + config.token.slice(0, 8) + "..." + config.token.slice(-4));
87
+ const spinner = new render_1.BrailleSpinner("fetching API keys");
88
+ spinner.start();
89
+ try {
90
+ const res = await (0, api_1.listApiKeys)();
91
+ if (!res.ok) {
92
+ spinner.fail(res.data?.error || `HTTP ${res.status}`);
93
+ console.log("");
94
+ return;
95
+ }
96
+ const keys = res.data;
97
+ const activeKeys = keys.filter((k) => !k.isRevoked);
98
+ const revokedKeys = keys.filter((k) => k.isRevoked);
99
+ spinner.stop(`${activeKeys.length} active, ${revokedKeys.length} revoked`);
100
+ console.log("");
101
+ // Show current CLI key
102
+ const config = (0, config_1.readGlobalConfig)();
103
+ if (config.token) {
104
+ console.log(DIM(" current CLI key: ") +
105
+ chalk_1.default.white(config.token.slice(0, 8) + "..." + config.token.slice(-4)));
106
+ console.log("");
107
+ }
108
+ if (keys.length === 0) {
109
+ console.log(DIM(" no API keys found."));
110
+ console.log("");
111
+ console.log(DIM(" create one with: ") + chalk_1.default.cyan("youmd keys create"));
112
+ console.log("");
113
+ return;
114
+ }
115
+ if (activeKeys.length > 0) {
116
+ console.log(DIM(" ACTIVE"));
117
+ console.log("");
118
+ for (const key of activeKeys) {
119
+ const label = key.label ? chalk_1.default.white(key.label) : DIM("(no label)");
120
+ const scopes = DIM(key.scopes.join(", "));
121
+ const lastUsed = key.lastUsedAt
122
+ ? DIM("last used " + key.lastUsedAt.split("T")[0])
123
+ : DIM("never used");
124
+ const created = DIM("created " + key.createdAt.split("T")[0]);
125
+ console.log(` ${chalk_1.default.white(key.keyPrefix)} ${label}`);
126
+ console.log(` ${scopes} -- ${lastUsed} -- ${created}`);
127
+ console.log(` ${DIM("id: " + key.id)}`);
128
+ console.log("");
129
+ }
130
+ }
131
+ if (revokedKeys.length > 0) {
132
+ console.log(DIM(" REVOKED"));
133
+ console.log("");
134
+ for (const key of revokedKeys) {
135
+ const label = key.label || "(no label)";
136
+ console.log(DIM(` ${key.keyPrefix} ${label}`));
137
+ console.log(DIM(` ${key.scopes.join(", ")} -- revoked`));
138
+ console.log("");
139
+ }
140
+ }
141
+ }
142
+ catch (err) {
143
+ spinner.fail("failed to list keys");
144
+ if (err instanceof Error) {
145
+ console.log(" " + DIM(err.message));
146
+ }
64
147
  console.log("");
65
148
  }
66
149
  }
67
- async function keysCreate(label) {
68
- console.log("you.md -- create API key");
69
- console.log("");
70
- console.log(chalk_1.default.yellow("note") +
71
- " -- API key creation from CLI is not yet available");
72
- console.log("");
73
- console.log(" Visit " +
74
- chalk_1.default.cyan("https://you.md/settings/api") +
75
- " to create a new API key.");
76
- if (label) {
77
- console.log(" Requested label: " + label);
150
+ async function keysCreate(options) {
151
+ const label = options.label;
152
+ const scopes = options.scopes
153
+ ? options.scopes.split(",").map((s) => s.trim())
154
+ : ["read:public"];
155
+ const spinner = new render_1.BrailleSpinner("creating API key");
156
+ spinner.start();
157
+ try {
158
+ const res = await (0, api_1.createApiKey)({ label, scopes });
159
+ if (!res.ok) {
160
+ spinner.fail(res.data?.error || `HTTP ${res.status}`);
161
+ console.log("");
162
+ return;
163
+ }
164
+ const data = res.data;
165
+ spinner.stop();
166
+ console.log("");
167
+ if (data.label) {
168
+ console.log(DIM(" label ") + chalk_1.default.white(data.label));
169
+ }
170
+ console.log(DIM(" scopes ") + chalk_1.default.white(data.scopes.join(", ")));
171
+ console.log("");
172
+ // Print the key value -- this is shown only once
173
+ console.log(ACCENT(" copy this key now -- it will not be shown again:"));
174
+ console.log("");
175
+ process.stdout.write(" " + chalk_1.default.white(data.key) + "\n");
176
+ console.log("");
177
+ // Try to copy to clipboard
178
+ try {
179
+ const { execSync } = await Promise.resolve().then(() => __importStar(require("child_process")));
180
+ if (process.platform === "darwin") {
181
+ execSync(`echo -n ${JSON.stringify(data.key)} | pbcopy`, { stdio: "pipe" });
182
+ console.log(SUCCESS(" copied to clipboard"));
183
+ }
184
+ else if (process.platform === "linux") {
185
+ execSync(`echo -n ${JSON.stringify(data.key)} | xclip -selection clipboard`, { stdio: "pipe" });
186
+ console.log(SUCCESS(" copied to clipboard"));
187
+ }
188
+ }
189
+ catch {
190
+ // Clipboard not available -- not fatal
191
+ }
192
+ console.log("");
193
+ console.log(DIM(" authenticate with: ") +
194
+ chalk_1.default.cyan("youmd login --key <key>"));
195
+ console.log("");
196
+ }
197
+ catch (err) {
198
+ spinner.fail("failed to create key");
199
+ if (err instanceof Error) {
200
+ console.log(" " + DIM(err.message));
201
+ }
202
+ console.log("");
78
203
  }
79
- console.log("");
80
204
  }
81
205
  async function keysRevoke(id) {
82
206
  if (!id) {
83
- console.log(chalk_1.default.yellow("missing --id flag"));
207
+ console.log(ACCENT("missing --id flag"));
84
208
  console.log("");
85
209
  console.log("Usage: youmd keys revoke --id <keyId>");
86
210
  console.log("");
211
+ console.log(DIM("Tip: run ") + chalk_1.default.cyan("youmd keys list") + DIM(" to see key IDs."));
212
+ console.log("");
87
213
  return;
88
214
  }
89
- console.log("you.md -- revoke API key");
90
- console.log("");
91
- console.log(chalk_1.default.yellow("note") +
92
- " -- API key revocation from CLI is not yet available");
93
- console.log("");
94
- console.log(" Visit " +
95
- chalk_1.default.cyan("https://you.md/settings/api") +
96
- " to revoke API keys.");
97
- console.log("");
215
+ const spinner = new render_1.BrailleSpinner("revoking API key");
216
+ spinner.start();
217
+ try {
218
+ const res = await (0, api_1.revokeApiKey)(id);
219
+ if (!res.ok) {
220
+ spinner.fail(res.data?.error || `HTTP ${res.status}`);
221
+ console.log("");
222
+ return;
223
+ }
224
+ spinner.stop("key revoked");
225
+ console.log("");
226
+ }
227
+ catch (err) {
228
+ spinner.fail("failed to revoke key");
229
+ if (err instanceof Error) {
230
+ console.log(" " + DIM(err.message));
231
+ }
232
+ console.log("");
233
+ }
98
234
  }
99
235
  //# sourceMappingURL=keys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/commands/keys.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/commands/keys.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Context link management.
3
+ * Subcommands: create, list, revoke
4
+ *
5
+ * Context links are shareable URLs that give agents/LLMs access to your bundle.
6
+ */
1
7
  export declare function linkCommand(subcommand?: string, options?: {
2
8
  scope?: string;
3
9
  ttl?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/commands/link.ts"],"names":[],"mappings":"AAiCA,wBAAsB,WAAW,CAC/B,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5E,OAAO,CAAC,IAAI,CAAC,CAkCf"}
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/commands/link.ts"],"names":[],"mappings":"AAaA;;;;;GAKG;AAEH,wBAAsB,WAAW,CAC/B,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5E,OAAO,CAAC,IAAI,CAAC,CAkCf"}
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
@@ -6,32 +39,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
39
  exports.linkCommand = linkCommand;
7
40
  const chalk_1 = __importDefault(require("chalk"));
8
41
  const config_1 = require("../lib/config");
42
+ const api_1 = require("../lib/api");
43
+ const render_1 = require("../lib/render");
44
+ const ACCENT = chalk_1.default.hex("#C46A3A");
45
+ const DIM = chalk_1.default.dim;
46
+ const SUCCESS = chalk_1.default.green;
9
47
  /**
10
48
  * Context link management.
11
49
  * Subcommands: create, list, revoke
12
50
  *
13
51
  * Context links are shareable URLs that give agents/LLMs access to your bundle.
14
52
  */
15
- const SITE_URL = "https://uncommon-chicken-142.convex.site";
16
- function getToken() {
17
- const config = (0, config_1.readGlobalConfig)();
18
- if (!config.token) {
19
- throw new Error("Not authenticated");
20
- }
21
- return config.token;
22
- }
23
- async function apiRequest(path, options = {}) {
24
- const token = getToken();
25
- const res = await fetch(`${SITE_URL}${path}`, {
26
- ...options,
27
- headers: {
28
- "Content-Type": "application/json",
29
- Authorization: `Bearer ${token}`,
30
- ...(options.headers || {}),
31
- },
32
- });
33
- return res.json();
34
- }
35
53
  async function linkCommand(subcommand, options = {}) {
36
54
  console.log("");
37
55
  if (!(0, config_1.isAuthenticated)()) {
@@ -56,7 +74,7 @@ async function linkCommand(subcommand, options = {}) {
56
74
  console.log("you.md -- context links");
57
75
  console.log("");
58
76
  console.log("Usage:");
59
- console.log(" youmd link create [--scope public|full] [--ttl 24h|7d|30d|never] [--max-uses N]");
77
+ console.log(" youmd link create [--scope public|full] [--ttl 1h|24h|7d|30d|90d|never] [--max-uses N]");
60
78
  console.log(" youmd link list");
61
79
  console.log(" youmd link revoke --id <linkId>");
62
80
  console.log("");
@@ -66,85 +84,152 @@ async function linkCommand(subcommand, options = {}) {
66
84
  }
67
85
  }
68
86
  async function linkCreate(options) {
69
- console.log("you.md -- creating context link");
70
- console.log("");
71
87
  const scope = options.scope || "public";
72
88
  const ttl = options.ttl || "7d";
73
89
  const maxUses = options.maxUses ? parseInt(options.maxUses, 10) : undefined;
74
90
  if (scope !== "public" && scope !== "full") {
75
- console.log(chalk_1.default.yellow("invalid scope") + " -- must be 'public' or 'full'");
91
+ console.log(ACCENT("invalid scope") + " -- must be 'public' or 'full'");
76
92
  console.log("");
77
93
  return;
78
94
  }
95
+ const validTtl = ["1h", "24h", "7d", "30d", "90d", "never"];
96
+ if (!validTtl.includes(ttl)) {
97
+ console.log(ACCENT("invalid ttl") + " -- must be one of: " + validTtl.join(", "));
98
+ console.log("");
99
+ return;
100
+ }
101
+ if (maxUses !== undefined && (isNaN(maxUses) || maxUses < 1)) {
102
+ console.log(ACCENT("invalid max-uses") + " -- must be a positive number");
103
+ console.log("");
104
+ return;
105
+ }
106
+ const spinner = new render_1.BrailleSpinner("creating context link");
107
+ spinner.start();
79
108
  try {
80
- const config = (0, config_1.readGlobalConfig)();
81
- // We need the clerkId; for now we pass through the API key auth
82
- // The server endpoint doesn't exist yet for context links via API key
83
- // This is a placeholder that shows the intended flow
84
- console.log(chalk_1.default.yellow("note") +
85
- " -- context link management from CLI requires the web dashboard");
86
- console.log("");
87
- console.log(" Visit " +
88
- chalk_1.default.cyan("https://you.md/settings/links") +
89
- " to create context links.");
90
- console.log("");
91
- console.log("Requested:");
92
- console.log(" scope: " + scope);
93
- console.log(" ttl: " + ttl);
109
+ const res = await (0, api_1.createContextLink)({ scope, ttl, maxUses });
110
+ if (!res.ok) {
111
+ spinner.fail(res.data?.error || `HTTP ${res.status}`);
112
+ console.log("");
113
+ return;
114
+ }
115
+ const data = res.data;
116
+ spinner.stop();
117
+ console.log("");
118
+ console.log(DIM(" scope ") + chalk_1.default.white(data.scope));
119
+ console.log(DIM(" ttl ") + chalk_1.default.white(ttl));
120
+ console.log(DIM(" expires ") + chalk_1.default.white(data.expiresAt === "never" ? "never" : data.expiresAt.split("T")[0]));
94
121
  if (maxUses) {
95
- console.log(" maxUses: " + maxUses);
122
+ console.log(DIM(" max uses ") + chalk_1.default.white(String(maxUses)));
123
+ }
124
+ console.log("");
125
+ console.log(DIM(" url ") + ACCENT(data.url));
126
+ console.log("");
127
+ // Try to copy to clipboard
128
+ try {
129
+ const { execSync } = await Promise.resolve().then(() => __importStar(require("child_process")));
130
+ if (process.platform === "darwin") {
131
+ execSync(`echo ${JSON.stringify(data.url)} | pbcopy`, { stdio: "pipe" });
132
+ console.log(SUCCESS(" copied to clipboard"));
133
+ }
134
+ else if (process.platform === "linux") {
135
+ execSync(`echo ${JSON.stringify(data.url)} | xclip -selection clipboard`, { stdio: "pipe" });
136
+ console.log(SUCCESS(" copied to clipboard"));
137
+ }
138
+ }
139
+ catch {
140
+ // Clipboard not available -- not fatal
96
141
  }
97
142
  console.log("");
98
143
  }
99
144
  catch (err) {
100
- console.log(chalk_1.default.red("error") + " -- failed to create link");
145
+ spinner.fail("failed to create link");
101
146
  if (err instanceof Error) {
102
- console.log(" " + err.message);
147
+ console.log(" " + DIM(err.message));
103
148
  }
104
149
  console.log("");
105
150
  }
106
151
  }
107
152
  async function linkList() {
108
- console.log("you.md -- context links");
109
- console.log("");
153
+ const spinner = new render_1.BrailleSpinner("fetching context links");
154
+ spinner.start();
110
155
  try {
111
- console.log(chalk_1.default.yellow("note") +
112
- " -- context link listing from CLI requires the web dashboard");
113
- console.log("");
114
- console.log(" Visit " +
115
- chalk_1.default.cyan("https://you.md/settings/links") +
116
- " to manage your context links.");
156
+ const res = await (0, api_1.listContextLinks)();
157
+ if (!res.ok) {
158
+ spinner.fail(res.data?.error || `HTTP ${res.status}`);
159
+ console.log("");
160
+ return;
161
+ }
162
+ const links = res.data;
163
+ spinner.stop(`${links.length} link${links.length !== 1 ? "s" : ""}`);
117
164
  console.log("");
165
+ if (links.length === 0) {
166
+ console.log(DIM(" no context links yet."));
167
+ console.log("");
168
+ console.log(DIM(" create one with: ") + chalk_1.default.cyan("youmd link create"));
169
+ console.log("");
170
+ return;
171
+ }
172
+ const active = links.filter((l) => !l.isExpired);
173
+ const expired = links.filter((l) => l.isExpired);
174
+ if (active.length > 0) {
175
+ console.log(DIM(" ACTIVE"));
176
+ console.log("");
177
+ for (const link of active) {
178
+ const scopeLabel = link.scope === "full" ? ACCENT("full") : DIM("public");
179
+ const uses = DIM(`${link.useCount} use${link.useCount !== 1 ? "s" : ""}`);
180
+ const expires = link.expiresAt === "never"
181
+ ? DIM("no expiry")
182
+ : DIM("expires " + (typeof link.expiresAt === "string" ? link.expiresAt.split("T")[0] : "?"));
183
+ console.log(` ${ACCENT(link.url)}`);
184
+ console.log(` ${scopeLabel} -- ${uses} -- ${expires}`);
185
+ console.log(` ${DIM("id: " + link.id)}`);
186
+ console.log("");
187
+ }
188
+ }
189
+ if (expired.length > 0) {
190
+ console.log(DIM(" EXPIRED"));
191
+ console.log("");
192
+ for (const link of expired) {
193
+ console.log(DIM(` ${link.url}`));
194
+ console.log(DIM(` ${link.scope} -- ${link.useCount} uses -- expired`));
195
+ console.log("");
196
+ }
197
+ }
118
198
  }
119
199
  catch (err) {
120
- console.log(chalk_1.default.red("error") + " -- failed to list links");
200
+ spinner.fail("failed to list links");
121
201
  if (err instanceof Error) {
122
- console.log(" " + err.message);
202
+ console.log(" " + DIM(err.message));
123
203
  }
124
204
  console.log("");
125
205
  }
126
206
  }
127
207
  async function linkRevoke(id) {
128
208
  if (!id) {
129
- console.log(chalk_1.default.yellow("missing --id flag"));
209
+ console.log(ACCENT("missing --id flag"));
130
210
  console.log("");
131
211
  console.log("Usage: youmd link revoke --id <linkId>");
132
212
  console.log("");
213
+ console.log(DIM("Tip: run ") + chalk_1.default.cyan("youmd link list") + DIM(" to see link IDs."));
214
+ console.log("");
133
215
  return;
134
216
  }
217
+ const spinner = new render_1.BrailleSpinner("revoking context link");
218
+ spinner.start();
135
219
  try {
136
- console.log(chalk_1.default.yellow("note") +
137
- " -- context link revocation from CLI requires the web dashboard");
138
- console.log("");
139
- console.log(" Visit " +
140
- chalk_1.default.cyan("https://you.md/settings/links") +
141
- " to revoke context links.");
220
+ const res = await (0, api_1.revokeContextLink)(id);
221
+ if (!res.ok) {
222
+ spinner.fail(res.data?.error || `HTTP ${res.status}`);
223
+ console.log("");
224
+ return;
225
+ }
226
+ spinner.stop("link revoked");
142
227
  console.log("");
143
228
  }
144
229
  catch (err) {
145
- console.log(chalk_1.default.red("error") + " -- failed to revoke link");
230
+ spinner.fail("failed to revoke link");
146
231
  if (err instanceof Error) {
147
- console.log(" " + err.message);
232
+ console.log(" " + DIM(err.message));
148
233
  }
149
234
  console.log("");
150
235
  }
@@ -1 +1 @@
1
- {"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/commands/link.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/commands/link.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export declare function loginCommand(options: {
2
2
  key?: string;
3
+ web?: boolean;
3
4
  }): Promise<void>;
4
5
  //# sourceMappingURL=login.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAKA,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC3E"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAMA,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmE1F"}