youmd 0.4.4 → 0.5.0
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/build.d.ts.map +1 -1
- package/dist/commands/build.js +27 -5
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +47 -7
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +30 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/link.js +1 -1
- package/dist/commands/link.js.map +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +150 -24
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/preview.js +1 -1
- package/dist/commands/preview.js.map +1 -1
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js +66 -4
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/pull.d.ts.map +1 -1
- package/dist/commands/pull.js +68 -4
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/push.d.ts +1 -0
- package/dist/commands/push.d.ts.map +1 -1
- package/dist/commands/push.js +120 -2
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/register.d.ts.map +1 -1
- package/dist/commands/register.js +174 -39
- package/dist/commands/register.js.map +1 -1
- package/dist/commands/skill.d.ts +8 -0
- package/dist/commands/skill.d.ts.map +1 -0
- package/dist/commands/skill.js +1150 -0
- package/dist/commands/skill.js.map +1 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +118 -2
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +12 -0
- package/dist/commands/sync.js.map +1 -1
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +16 -11
- package/dist/commands/whoami.js.map +1 -1
- package/dist/index.js +12 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/api.d.ts +88 -5
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +56 -2
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/ascii.d.ts +14 -0
- package/dist/lib/ascii.d.ts.map +1 -0
- package/dist/lib/ascii.js +108 -0
- package/dist/lib/ascii.js.map +1 -0
- package/dist/lib/config.d.ts +26 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +40 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/hash.d.ts +3 -0
- package/dist/lib/hash.d.ts.map +1 -0
- package/dist/lib/hash.js +31 -0
- package/dist/lib/hash.js.map +1 -0
- package/dist/lib/onboarding.d.ts +1 -1
- package/dist/lib/onboarding.d.ts.map +1 -1
- package/dist/lib/onboarding.js +227 -85
- package/dist/lib/onboarding.js.map +1 -1
- package/dist/lib/render.d.ts +4 -2
- package/dist/lib/render.d.ts.map +1 -1
- package/dist/lib/render.js +81 -9
- package/dist/lib/render.js.map +1 -1
- package/dist/lib/skill-catalog.d.ts +57 -0
- package/dist/lib/skill-catalog.d.ts.map +1 -0
- package/dist/lib/skill-catalog.js +196 -0
- package/dist/lib/skill-catalog.js.map +1 -0
- package/dist/lib/skill-renderer.d.ts +55 -0
- package/dist/lib/skill-renderer.d.ts.map +1 -0
- package/dist/lib/skill-renderer.js +364 -0
- package/dist/lib/skill-renderer.js.map +1 -0
- package/dist/lib/skills.d.ts +125 -0
- package/dist/lib/skills.d.ts.map +1 -0
- package/dist/lib/skills.js +677 -0
- package/dist/lib/skills.js.map +1 -0
- package/package.json +8 -4
- package/skills/claude-md-generator.md +66 -0
- package/skills/meta-improve.md +57 -0
- package/skills/project-context-init.md +51 -0
- package/skills/voice-sync.md +41 -0
package/dist/lib/api.d.ts
CHANGED
|
@@ -7,6 +7,18 @@ interface ApiResponse<T = unknown> {
|
|
|
7
7
|
status: number;
|
|
8
8
|
data: T;
|
|
9
9
|
}
|
|
10
|
+
export declare function loginWithEmail(email: string, password: string): Promise<ApiResponse<{
|
|
11
|
+
success: boolean;
|
|
12
|
+
username: string;
|
|
13
|
+
apiKey: string;
|
|
14
|
+
plan: string;
|
|
15
|
+
}>>;
|
|
16
|
+
export declare function registerWithEmail(email: string, password: string, username: string, name: string): Promise<ApiResponse<{
|
|
17
|
+
success: boolean;
|
|
18
|
+
username: string;
|
|
19
|
+
apiKey: string;
|
|
20
|
+
clerkId: string;
|
|
21
|
+
}>>;
|
|
10
22
|
export declare function checkUsername(username: string): Promise<{
|
|
11
23
|
available: boolean;
|
|
12
24
|
reason: string | null;
|
|
@@ -18,20 +30,31 @@ export declare function getPublicProfile(username: string): Promise<{
|
|
|
18
30
|
displayName?: string;
|
|
19
31
|
} | null>;
|
|
20
32
|
export interface MeResponse {
|
|
21
|
-
username
|
|
22
|
-
email
|
|
33
|
+
username?: string;
|
|
34
|
+
email?: string;
|
|
23
35
|
displayName?: string;
|
|
24
|
-
plan
|
|
25
|
-
createdAt
|
|
36
|
+
plan?: string;
|
|
37
|
+
createdAt?: number;
|
|
38
|
+
user?: {
|
|
39
|
+
username: string;
|
|
40
|
+
email: string;
|
|
41
|
+
displayName?: string;
|
|
42
|
+
plan: string;
|
|
43
|
+
createdAt: number;
|
|
44
|
+
};
|
|
26
45
|
latestBundle: {
|
|
27
46
|
version: number;
|
|
28
47
|
isPublished: boolean;
|
|
29
48
|
createdAt: number;
|
|
30
49
|
publishedAt?: number;
|
|
50
|
+
youJson?: unknown;
|
|
51
|
+
youMd?: string;
|
|
52
|
+
contentHash?: string;
|
|
31
53
|
} | null;
|
|
32
54
|
publishedBundle: {
|
|
33
55
|
version: number;
|
|
34
56
|
publishedAt?: number;
|
|
57
|
+
contentHash?: string;
|
|
35
58
|
} | null;
|
|
36
59
|
bundleCount: number;
|
|
37
60
|
}
|
|
@@ -59,7 +82,9 @@ export declare function saveBundle(args: SaveBundleArgs): Promise<ApiResponse<{
|
|
|
59
82
|
bundleId: string;
|
|
60
83
|
version: number;
|
|
61
84
|
}>>;
|
|
62
|
-
export declare function uploadBundle(args: SaveBundleArgs
|
|
85
|
+
export declare function uploadBundle(args: SaveBundleArgs & {
|
|
86
|
+
parentHash?: string;
|
|
87
|
+
}): Promise<ApiResponse<any>>;
|
|
63
88
|
export interface PublishResult {
|
|
64
89
|
version: number;
|
|
65
90
|
username: string;
|
|
@@ -156,5 +181,63 @@ export declare function getPrivateContext(): Promise<ApiResponse<PrivateContext
|
|
|
156
181
|
export declare function updatePrivateContext(updates: Partial<PrivateContext>): Promise<ApiResponse<{
|
|
157
182
|
success: boolean;
|
|
158
183
|
}>>;
|
|
184
|
+
export interface SkillRegistryEntry {
|
|
185
|
+
_id: string;
|
|
186
|
+
name: string;
|
|
187
|
+
description: string;
|
|
188
|
+
version: string;
|
|
189
|
+
scope: string;
|
|
190
|
+
identityFields: string[];
|
|
191
|
+
downloads: number;
|
|
192
|
+
authorId: string;
|
|
193
|
+
createdAt: number;
|
|
194
|
+
}
|
|
195
|
+
export interface SkillInstallEntry {
|
|
196
|
+
_id: string;
|
|
197
|
+
skillName: string;
|
|
198
|
+
source: string;
|
|
199
|
+
scope: string;
|
|
200
|
+
identityFields: string[];
|
|
201
|
+
installedAt: number;
|
|
202
|
+
lastUsedAt?: number;
|
|
203
|
+
useCount: number;
|
|
204
|
+
}
|
|
205
|
+
export declare function browseSkills(): Promise<ApiResponse<{
|
|
206
|
+
skills: SkillRegistryEntry[];
|
|
207
|
+
count: number;
|
|
208
|
+
}>>;
|
|
209
|
+
export declare function getRegistrySkill(name: string): Promise<ApiResponse<SkillRegistryEntry & {
|
|
210
|
+
content: string;
|
|
211
|
+
}>>;
|
|
212
|
+
export declare function getMySkills(): Promise<ApiResponse<{
|
|
213
|
+
skills: SkillInstallEntry[];
|
|
214
|
+
count: number;
|
|
215
|
+
}>>;
|
|
216
|
+
export declare function publishSkill(skill: {
|
|
217
|
+
name: string;
|
|
218
|
+
description: string;
|
|
219
|
+
version: string;
|
|
220
|
+
scope: string;
|
|
221
|
+
identityFields: string[];
|
|
222
|
+
content: string;
|
|
223
|
+
}): Promise<ApiResponse<{
|
|
224
|
+
id: string;
|
|
225
|
+
updated: boolean;
|
|
226
|
+
}>>;
|
|
227
|
+
export declare function recordSkillInstall(install: {
|
|
228
|
+
skillName: string;
|
|
229
|
+
source: string;
|
|
230
|
+
scope: string;
|
|
231
|
+
identityFields: string[];
|
|
232
|
+
}): Promise<ApiResponse<{
|
|
233
|
+
id: string;
|
|
234
|
+
updated: boolean;
|
|
235
|
+
}>>;
|
|
236
|
+
export declare function trackSkillUsage(skillName: string): Promise<ApiResponse<{
|
|
237
|
+
success: boolean;
|
|
238
|
+
}>>;
|
|
239
|
+
export declare function removeSkillInstall(skillName: string): Promise<ApiResponse<{
|
|
240
|
+
success: boolean;
|
|
241
|
+
}>>;
|
|
159
242
|
export {};
|
|
160
243
|
//# sourceMappingURL=api.d.ts.map
|
package/dist/lib/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,UAAU,WAAW,CAAC,CAAC,GAAG,OAAO;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;CACT;AAoDD,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAKxD;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAM7F;AAYD,MAAM,WAAW,UAAU;
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/api.js
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
* Uses the HTTP action endpoints at the Convex site URL.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.loginWithEmail = loginWithEmail;
|
|
8
|
+
exports.registerWithEmail = registerWithEmail;
|
|
7
9
|
exports.checkUsername = checkUsername;
|
|
8
10
|
exports.getPublicProfile = getPublicProfile;
|
|
9
11
|
exports.getMe = getMe;
|
|
@@ -24,6 +26,13 @@ exports.listApiKeys = listApiKeys;
|
|
|
24
26
|
exports.revokeApiKey = revokeApiKey;
|
|
25
27
|
exports.getPrivateContext = getPrivateContext;
|
|
26
28
|
exports.updatePrivateContext = updatePrivateContext;
|
|
29
|
+
exports.browseSkills = browseSkills;
|
|
30
|
+
exports.getRegistrySkill = getRegistrySkill;
|
|
31
|
+
exports.getMySkills = getMySkills;
|
|
32
|
+
exports.publishSkill = publishSkill;
|
|
33
|
+
exports.recordSkillInstall = recordSkillInstall;
|
|
34
|
+
exports.trackSkillUsage = trackSkillUsage;
|
|
35
|
+
exports.removeSkillInstall = removeSkillInstall;
|
|
27
36
|
const config_1 = require("./config");
|
|
28
37
|
const SITE_URL = "https://kindly-cassowary-600.convex.site";
|
|
29
38
|
async function request(path, options = {}) {
|
|
@@ -58,6 +67,13 @@ async function request(path, options = {}) {
|
|
|
58
67
|
data,
|
|
59
68
|
};
|
|
60
69
|
}
|
|
70
|
+
// ─── Auth endpoints (no token needed) ────────────────────────────────
|
|
71
|
+
async function loginWithEmail(email, password) {
|
|
72
|
+
return request("/api/v1/auth/login", { method: "POST", body: { email, password } });
|
|
73
|
+
}
|
|
74
|
+
async function registerWithEmail(email, password, username, name) {
|
|
75
|
+
return request("/api/v1/auth/register", { method: "POST", body: { email, password, username, name } });
|
|
76
|
+
}
|
|
61
77
|
// ─── Public endpoints ────────────────────────────────────────────────
|
|
62
78
|
async function checkUsername(username) {
|
|
63
79
|
const res = await request(`/api/v1/check-username?username=${encodeURIComponent(username)}`);
|
|
@@ -105,13 +121,12 @@ async function uploadBundle(args) {
|
|
|
105
121
|
token: getToken(),
|
|
106
122
|
body: {
|
|
107
123
|
profileData: {
|
|
108
|
-
// Map our compiled bundle back to profile data shape
|
|
109
|
-
// This is a workaround since the endpoint does server-side compilation
|
|
110
124
|
_rawBundle: true,
|
|
111
125
|
manifest: args.manifest,
|
|
112
126
|
youJson: args.youJson,
|
|
113
127
|
youMd: args.youMd,
|
|
114
128
|
},
|
|
129
|
+
parentHash: args.parentHash,
|
|
115
130
|
},
|
|
116
131
|
});
|
|
117
132
|
}
|
|
@@ -213,4 +228,43 @@ async function updatePrivateContext(updates) {
|
|
|
213
228
|
body: updates,
|
|
214
229
|
});
|
|
215
230
|
}
|
|
231
|
+
async function browseSkills() {
|
|
232
|
+
return request("/api/v1/skills");
|
|
233
|
+
}
|
|
234
|
+
async function getRegistrySkill(name) {
|
|
235
|
+
return request(`/api/v1/skills?name=${encodeURIComponent(name)}`);
|
|
236
|
+
}
|
|
237
|
+
async function getMySkills() {
|
|
238
|
+
return request("/api/v1/me/skills", {
|
|
239
|
+
token: getToken(),
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
async function publishSkill(skill) {
|
|
243
|
+
return request("/api/v1/me/skills", {
|
|
244
|
+
method: "POST",
|
|
245
|
+
token: getToken(),
|
|
246
|
+
body: skill,
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
async function recordSkillInstall(install) {
|
|
250
|
+
return request("/api/v1/me/skills/install", {
|
|
251
|
+
method: "POST",
|
|
252
|
+
token: getToken(),
|
|
253
|
+
body: install,
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
async function trackSkillUsage(skillName) {
|
|
257
|
+
return request("/api/v1/me/skills/usage", {
|
|
258
|
+
method: "POST",
|
|
259
|
+
token: getToken(),
|
|
260
|
+
body: { skillName },
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
async function removeSkillInstall(skillName) {
|
|
264
|
+
return request("/api/v1/me/skills/remove", {
|
|
265
|
+
method: "POST",
|
|
266
|
+
token: getToken(),
|
|
267
|
+
body: { skillName },
|
|
268
|
+
});
|
|
269
|
+
}
|
|
216
270
|
//# sourceMappingURL=api.js.map
|
package/dist/lib/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AA8DH,sCAOC;AAED,4CAQC;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/lib/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ASCII portrait generator for the CLI.
|
|
3
|
+
* Fetches a profile image URL, converts to ASCII art using luminance mapping.
|
|
4
|
+
* Same algorithm as the web AsciiAvatar component but using jimp instead of canvas.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Fetch an image URL and render it as colored ASCII art in the terminal.
|
|
8
|
+
* Returns the ASCII lines as an array of strings (for potential saving).
|
|
9
|
+
*/
|
|
10
|
+
export declare function renderAsciiPortrait(imageUrl: string, cols?: number, options?: {
|
|
11
|
+
colored?: boolean;
|
|
12
|
+
}): Promise<string[] | null>;
|
|
13
|
+
export declare function printYouLogo(): void;
|
|
14
|
+
//# sourceMappingURL=ascii.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ascii.d.ts","sourceRoot":"","sources":["../../src/lib/ascii.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAuBH;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAW,EACjB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9B,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAsD1B;AAgBD,wBAAgB,YAAY,IAAI,IAAI,CAYnC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ASCII portrait generator for the CLI.
|
|
4
|
+
* Fetches a profile image URL, converts to ASCII art using luminance mapping.
|
|
5
|
+
* Same algorithm as the web AsciiAvatar component but using jimp instead of canvas.
|
|
6
|
+
*/
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.renderAsciiPortrait = renderAsciiPortrait;
|
|
12
|
+
exports.printYouLogo = printYouLogo;
|
|
13
|
+
const jimp_1 = __importDefault(require("jimp"));
|
|
14
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
15
|
+
const ACCENT = chalk_1.default.hex("#C46A3A");
|
|
16
|
+
// Character ramp — dark to light (same as web AsciiAvatar "classic" ramp)
|
|
17
|
+
const RAMP = `$@B%8&#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/|()1{}?-_+~<>i!lI;:,". `;
|
|
18
|
+
// Luminance to terminal color (orange-tinted, matching the web version)
|
|
19
|
+
function lumToAnsi(l) {
|
|
20
|
+
if (l < 25)
|
|
21
|
+
return chalk_1.default.hidden;
|
|
22
|
+
if (l < 55)
|
|
23
|
+
return chalk_1.default.hex("#3D2010");
|
|
24
|
+
if (l < 85)
|
|
25
|
+
return chalk_1.default.hex("#5A3018");
|
|
26
|
+
if (l < 115)
|
|
27
|
+
return chalk_1.default.hex("#7A4020");
|
|
28
|
+
if (l < 145)
|
|
29
|
+
return chalk_1.default.hex("#9A5030");
|
|
30
|
+
if (l < 175)
|
|
31
|
+
return chalk_1.default.hex("#B06038");
|
|
32
|
+
if (l < 205)
|
|
33
|
+
return chalk_1.default.hex("#C47040");
|
|
34
|
+
if (l < 230)
|
|
35
|
+
return chalk_1.default.hex("#D48050");
|
|
36
|
+
return chalk_1.default.hex("#E09060");
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Fetch an image URL and render it as colored ASCII art in the terminal.
|
|
40
|
+
* Returns the ASCII lines as an array of strings (for potential saving).
|
|
41
|
+
*/
|
|
42
|
+
async function renderAsciiPortrait(imageUrl, cols = 60, options) {
|
|
43
|
+
const colored = options?.colored ?? true;
|
|
44
|
+
try {
|
|
45
|
+
// Fetch the image with a timeout to avoid hanging on slow CDNs
|
|
46
|
+
const image = await Promise.race([
|
|
47
|
+
jimp_1.default.read(imageUrl),
|
|
48
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error("image fetch timed out")), 10000)),
|
|
49
|
+
]);
|
|
50
|
+
// Calculate rows maintaining aspect ratio (terminal chars are ~2x tall as wide)
|
|
51
|
+
const rows = Math.floor(cols * (image.getHeight() / image.getWidth()) * 0.46);
|
|
52
|
+
// Resize to target dimensions
|
|
53
|
+
image.resize(cols, rows);
|
|
54
|
+
// Apply contrast boost (similar to web version's ctx.filter)
|
|
55
|
+
image.contrast(0.3);
|
|
56
|
+
image.brightness(0.05);
|
|
57
|
+
const lines = [];
|
|
58
|
+
for (let y = 0; y < rows; y++) {
|
|
59
|
+
let line = "";
|
|
60
|
+
let coloredLine = "";
|
|
61
|
+
for (let x = 0; x < cols; x++) {
|
|
62
|
+
const pixel = jimp_1.default.intToRGBA(image.getPixelColor(x, y));
|
|
63
|
+
const lum = 0.299 * pixel.r + 0.587 * pixel.g + 0.114 * pixel.b;
|
|
64
|
+
const charIndex = Math.floor((lum / 255) * (RAMP.length - 1));
|
|
65
|
+
const ch = RAMP[charIndex];
|
|
66
|
+
line += ch;
|
|
67
|
+
if (colored) {
|
|
68
|
+
coloredLine += lumToAnsi(lum)(ch);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
lines.push(line);
|
|
72
|
+
// Print each line as it's generated (live rendering effect)
|
|
73
|
+
if (colored) {
|
|
74
|
+
process.stdout.write(` ${coloredLine}\n`);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
process.stdout.write(` ${ACCENT(line)}\n`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return lines;
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* The YOU logo — large, clean block art inspired by the Vercel PLUGINS banner.
|
|
88
|
+
* Brand is just "YOU" — not "YOU.MD". The .md is the format, not the brand.
|
|
89
|
+
*/
|
|
90
|
+
const LOGO_LINES = [
|
|
91
|
+
" ██╗ ██╗ ██████╗ ██╗ ██╗",
|
|
92
|
+
" ╚██╗ ██╔╝ ██╔═══██╗ ██║ ██║",
|
|
93
|
+
" ╚████╔╝ ██║ ██║ ██║ ██║",
|
|
94
|
+
" ╚██╔╝ ██║ ██║ ██║ ██║",
|
|
95
|
+
" ██║ ╚██████╔╝ ╚██████╔╝",
|
|
96
|
+
" ╚═╝ ╚═════╝ ╚═════╝ ",
|
|
97
|
+
];
|
|
98
|
+
function printYouLogo() {
|
|
99
|
+
const dim = chalk_1.default.dim;
|
|
100
|
+
console.log("");
|
|
101
|
+
for (const line of LOGO_LINES) {
|
|
102
|
+
console.log(ACCENT(line));
|
|
103
|
+
}
|
|
104
|
+
console.log(dim(" ──────────────────────────────────"));
|
|
105
|
+
console.log(dim(" you.md") + dim(" — identity for the agent internet"));
|
|
106
|
+
console.log("");
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=ascii.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ascii.js","sourceRoot":"","sources":["../../src/lib/ascii.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ export interface GlobalConfig {
|
|
|
3
3
|
username?: string;
|
|
4
4
|
email?: string;
|
|
5
5
|
apiUrl?: string;
|
|
6
|
+
avatarUrl?: string;
|
|
7
|
+
openrouterKey?: string;
|
|
6
8
|
}
|
|
7
9
|
export interface LocalConfig {
|
|
8
10
|
version: number;
|
|
@@ -12,6 +14,10 @@ export interface LocalConfig {
|
|
|
12
14
|
addedAt: string;
|
|
13
15
|
}>;
|
|
14
16
|
lastPublished?: string;
|
|
17
|
+
lastKnownRemoteVersion?: number;
|
|
18
|
+
lastPulledHash?: string;
|
|
19
|
+
lastPushedHash?: string;
|
|
20
|
+
localContentHash?: string;
|
|
15
21
|
}
|
|
16
22
|
export declare function getGlobalConfigDir(): string;
|
|
17
23
|
export declare function getGlobalConfigPath(): string;
|
|
@@ -66,6 +72,26 @@ export declare function readProjectContext(projectName: string): Record<string,
|
|
|
66
72
|
* Write project-specific context.
|
|
67
73
|
*/
|
|
68
74
|
export declare function writeProjectContext(projectName: string, context: Record<string, unknown>): void;
|
|
75
|
+
/**
|
|
76
|
+
* Global skills directory: ~/.youmd/skills/
|
|
77
|
+
*/
|
|
78
|
+
export declare function getSkillsDir(): string;
|
|
79
|
+
/**
|
|
80
|
+
* Global skill catalog path: ~/.youmd/skills/youmd-skills.yaml
|
|
81
|
+
*/
|
|
82
|
+
export declare function getSkillCatalogPath(): string;
|
|
83
|
+
/**
|
|
84
|
+
* Skill metrics path: ~/.youmd/skills/skill-metrics.json
|
|
85
|
+
*/
|
|
86
|
+
export declare function getSkillMetricsPath(): string;
|
|
87
|
+
/**
|
|
88
|
+
* Per-project skills directory: .youmd/skills/ in cwd
|
|
89
|
+
*/
|
|
90
|
+
export declare function getProjectSkillsDir(): string;
|
|
91
|
+
/**
|
|
92
|
+
* Ensure the global skills directory exists.
|
|
93
|
+
*/
|
|
94
|
+
export declare function ensureSkillsDir(): string;
|
|
69
95
|
/**
|
|
70
96
|
* List all known projects from .youmd/projects/
|
|
71
97
|
*/
|
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.js
CHANGED
|
@@ -50,6 +50,11 @@ exports.readProjectPrivateNotes = readProjectPrivateNotes;
|
|
|
50
50
|
exports.writeProjectPrivateNotes = writeProjectPrivateNotes;
|
|
51
51
|
exports.readProjectContext = readProjectContext;
|
|
52
52
|
exports.writeProjectContext = writeProjectContext;
|
|
53
|
+
exports.getSkillsDir = getSkillsDir;
|
|
54
|
+
exports.getSkillCatalogPath = getSkillCatalogPath;
|
|
55
|
+
exports.getSkillMetricsPath = getSkillMetricsPath;
|
|
56
|
+
exports.getProjectSkillsDir = getProjectSkillsDir;
|
|
57
|
+
exports.ensureSkillsDir = ensureSkillsDir;
|
|
53
58
|
exports.listProjects = listProjects;
|
|
54
59
|
const fs = __importStar(require("fs"));
|
|
55
60
|
const path = __importStar(require("path"));
|
|
@@ -258,6 +263,41 @@ function writeProjectContext(projectName, context) {
|
|
|
258
263
|
fs.mkdirSync(projectDir, { recursive: true });
|
|
259
264
|
fs.writeFileSync(path.join(projectDir, "context.json"), JSON.stringify(context, null, 2) + "\n");
|
|
260
265
|
}
|
|
266
|
+
// ─── Skills Directories ──────────────────────────────────────────────
|
|
267
|
+
/**
|
|
268
|
+
* Global skills directory: ~/.youmd/skills/
|
|
269
|
+
*/
|
|
270
|
+
function getSkillsDir() {
|
|
271
|
+
return path.join(GLOBAL_CONFIG_DIR, "skills");
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Global skill catalog path: ~/.youmd/skills/youmd-skills.yaml
|
|
275
|
+
*/
|
|
276
|
+
function getSkillCatalogPath() {
|
|
277
|
+
return path.join(getSkillsDir(), "youmd-skills.yaml");
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Skill metrics path: ~/.youmd/skills/skill-metrics.json
|
|
281
|
+
*/
|
|
282
|
+
function getSkillMetricsPath() {
|
|
283
|
+
return path.join(getSkillsDir(), "skill-metrics.json");
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Per-project skills directory: .youmd/skills/ in cwd
|
|
287
|
+
*/
|
|
288
|
+
function getProjectSkillsDir() {
|
|
289
|
+
return path.resolve(process.cwd(), ".youmd", "skills");
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Ensure the global skills directory exists.
|
|
293
|
+
*/
|
|
294
|
+
function ensureSkillsDir() {
|
|
295
|
+
const dir = getSkillsDir();
|
|
296
|
+
if (!fs.existsSync(dir)) {
|
|
297
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
298
|
+
}
|
|
299
|
+
return dir;
|
|
300
|
+
}
|
|
261
301
|
/**
|
|
262
302
|
* List all known projects from .youmd/projects/
|
|
263
303
|
*/
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../src/lib/hash.ts"],"names":[],"mappings":"AAoBA,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG1E;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C"}
|
package/dist/lib/hash.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.computeContentHash = computeContentHash;
|
|
4
|
+
exports.shortHash = shortHash;
|
|
5
|
+
const node_crypto_1 = require("node:crypto");
|
|
6
|
+
// Deterministic JSON serialization — MUST match server-side canonicalJsonString exactly
|
|
7
|
+
function canonicalJsonString(obj) {
|
|
8
|
+
if (obj === null || obj === undefined)
|
|
9
|
+
return "null";
|
|
10
|
+
if (typeof obj === "string")
|
|
11
|
+
return JSON.stringify(obj);
|
|
12
|
+
if (typeof obj === "number" || typeof obj === "boolean")
|
|
13
|
+
return String(obj);
|
|
14
|
+
if (Array.isArray(obj)) {
|
|
15
|
+
return "[" + obj.map(canonicalJsonString).join(",") + "]";
|
|
16
|
+
}
|
|
17
|
+
if (typeof obj === "object") {
|
|
18
|
+
const keys = Object.keys(obj).sort();
|
|
19
|
+
const pairs = keys.map((k) => JSON.stringify(k) + ":" + canonicalJsonString(obj[k]));
|
|
20
|
+
return "{" + pairs.join(",") + "}";
|
|
21
|
+
}
|
|
22
|
+
return String(obj);
|
|
23
|
+
}
|
|
24
|
+
function computeContentHash(youJson, youMd) {
|
|
25
|
+
const content = canonicalJsonString(youJson) + "\n---\n" + youMd;
|
|
26
|
+
return (0, node_crypto_1.createHash)("sha256").update(content, "utf-8").digest("hex");
|
|
27
|
+
}
|
|
28
|
+
function shortHash(hash) {
|
|
29
|
+
return hash.slice(0, 12);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=hash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../src/lib/hash.ts"],"names":[],"mappings":";;AAoBA,gDAGC;AAED,8BAEC;AA3BD,6CAAyC;AAEzC,wFAAwF;AACxF,SAAS,mBAAmB,CAAC,GAAY;IACvC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACrD,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAC5D,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAA8B,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,mBAAmB,CAAE,GAA+B,CAAC,CAAC,CAAC,CAAC,CAC1F,CAAC;QACF,OAAO,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACrC,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAAgB,EAAE,KAAa;IAChE,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC;IACjE,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,SAAS,CAAC,IAAY;IACpC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC"}
|