youmd 0.4.9 → 0.6.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/__tests__/api.test.d.ts +2 -0
- package/dist/__tests__/api.test.d.ts.map +1 -0
- package/dist/__tests__/api.test.js +84 -0
- package/dist/__tests__/api.test.js.map +1 -0
- package/dist/__tests__/compiler.test.d.ts +2 -0
- package/dist/__tests__/compiler.test.d.ts.map +1 -0
- package/dist/__tests__/compiler.test.js +127 -0
- package/dist/__tests__/compiler.test.js.map +1 -0
- package/dist/__tests__/config.test.d.ts +2 -0
- package/dist/__tests__/config.test.d.ts.map +1 -0
- package/dist/__tests__/config.test.js +79 -0
- package/dist/__tests__/config.test.js.map +1 -0
- package/dist/__tests__/decompile.test.d.ts +2 -0
- package/dist/__tests__/decompile.test.d.ts.map +1 -0
- package/dist/__tests__/decompile.test.js +102 -0
- package/dist/__tests__/decompile.test.js.map +1 -0
- package/dist/__tests__/hash.test.d.ts +2 -0
- package/dist/__tests__/hash.test.d.ts.map +1 -0
- package/dist/__tests__/hash.test.js +44 -0
- package/dist/__tests__/hash.test.js.map +1 -0
- package/dist/__tests__/integration.test.d.ts +2 -0
- package/dist/__tests__/integration.test.d.ts.map +1 -0
- package/dist/__tests__/integration.test.js +277 -0
- package/dist/__tests__/integration.test.js.map +1 -0
- package/dist/__tests__/skill-renderer.test.d.ts +2 -0
- package/dist/__tests__/skill-renderer.test.d.ts.map +1 -0
- package/dist/__tests__/skill-renderer.test.js +68 -0
- package/dist/__tests__/skill-renderer.test.js.map +1 -0
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +6 -3
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/agents.d.ts +2 -0
- package/dist/commands/agents.d.ts.map +1 -0
- package/dist/commands/agents.js +93 -0
- package/dist/commands/agents.js.map +1 -0
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +96 -21
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +110 -11
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/diff.d.ts +1 -1
- package/dist/commands/diff.d.ts.map +1 -1
- package/dist/commands/diff.js +402 -16
- package/dist/commands/diff.js.map +1 -1
- package/dist/commands/export.js +1 -1
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +138 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/link.d.ts +1 -0
- package/dist/commands/link.d.ts.map +1 -1
- package/dist/commands/link.js +77 -13
- package/dist/commands/link.js.map +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +48 -27
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logs.d.ts +7 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +115 -0
- package/dist/commands/logs.js.map +1 -0
- package/dist/commands/mcp.d.ts +6 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +258 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/preview.d.ts.map +1 -1
- package/dist/commands/preview.js +191 -7
- package/dist/commands/preview.js.map +1 -1
- package/dist/commands/private.d.ts.map +1 -1
- package/dist/commands/private.js +248 -0
- package/dist/commands/private.js.map +1 -1
- package/dist/commands/prompts.d.ts +12 -0
- package/dist/commands/prompts.d.ts.map +1 -0
- package/dist/commands/prompts.js +245 -0
- package/dist/commands/prompts.js.map +1 -0
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js +69 -6
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/pull.d.ts.map +1 -1
- package/dist/commands/pull.js +110 -137
- 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 +236 -38
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/register.d.ts.map +1 -1
- package/dist/commands/register.js +40 -84
- 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 +1226 -0
- package/dist/commands/skill.js.map +1 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +221 -69
- 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 +62 -33
- package/dist/commands/whoami.js.map +1 -1
- package/dist/index.js +187 -6
- package/dist/index.js.map +1 -1
- package/dist/lib/api.d.ts +169 -12
- package/dist/lib/api.d.ts.map +1 -1
- package/dist/lib/api.js +183 -33
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/ascii.d.ts.map +1 -1
- package/dist/lib/ascii.js +20 -48
- package/dist/lib/ascii.js.map +1 -1
- package/dist/lib/compiler.d.ts +16 -33
- package/dist/lib/compiler.d.ts.map +1 -1
- package/dist/lib/compiler.js +499 -84
- package/dist/lib/compiler.js.map +1 -1
- package/dist/lib/config.d.ts +27 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +50 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/decompile.d.ts +21 -0
- package/dist/lib/decompile.d.ts.map +1 -0
- package/dist/lib/decompile.js +304 -0
- package/dist/lib/decompile.js.map +1 -0
- 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 +4 -4
- package/dist/lib/onboarding.d.ts.map +1 -1
- package/dist/lib/onboarding.js +228 -81
- package/dist/lib/onboarding.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 +245 -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 +382 -0
- package/dist/lib/skill-renderer.js.map +1 -0
- package/dist/lib/skills.d.ts +130 -0
- package/dist/lib/skills.d.ts.map +1 -0
- package/dist/lib/skills.js +876 -0
- package/dist/lib/skills.js.map +1 -0
- package/dist/lib/vault.d.ts +40 -0
- package/dist/lib/vault.d.ts.map +1 -0
- package/dist/lib/vault.js +187 -0
- package/dist/lib/vault.js.map +1 -0
- package/dist/mcp/server.d.ts +21 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +1283 -0
- package/dist/mcp/server.js.map +1 -0
- package/examples/houston/directives/agent.md +13 -0
- package/examples/houston/preferences/agent.md +14 -0
- package/examples/houston/profile/about.md +15 -0
- package/examples/houston/profile/links.md +10 -0
- package/examples/houston/profile/projects.md +37 -0
- package/examples/houston/profile/values.md +9 -0
- package/examples/houston/voice/voice.md +13 -0
- package/examples/jordan/directives/agent.md +13 -0
- package/examples/jordan/preferences/agent.md +16 -0
- package/examples/jordan/profile/about.md +15 -0
- package/examples/jordan/profile/links.md +10 -0
- package/examples/jordan/profile/projects.md +29 -0
- package/examples/jordan/profile/values.md +9 -0
- package/examples/jordan/voice/voice.md +12 -0
- package/examples/priya/directives/agent.md +13 -0
- package/examples/priya/preferences/agent.md +15 -0
- package/examples/priya/profile/about.md +15 -0
- package/examples/priya/profile/links.md +9 -0
- package/examples/priya/profile/projects.md +28 -0
- package/examples/priya/profile/values.md +9 -0
- package/examples/priya/voice/voice.md +12 -0
- package/package.json +15 -6
- package/skills/claude-md-generator.md +91 -0
- package/skills/meta-improve.md +84 -0
- package/skills/proactive-context-fill.md +52 -0
- package/skills/project-context-init.md +77 -0
- package/skills/voice-sync.md +89 -0
- package/skills/you-logs.md +71 -0
package/dist/lib/api.d.ts
CHANGED
|
@@ -7,17 +7,24 @@ interface ApiResponse<T = unknown> {
|
|
|
7
7
|
status: number;
|
|
8
8
|
data: T;
|
|
9
9
|
}
|
|
10
|
-
export declare function
|
|
10
|
+
export declare function startEmailLogin(email: string): Promise<ApiResponse<{
|
|
11
11
|
success: boolean;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
devCode?: string;
|
|
13
|
+
}>>;
|
|
14
|
+
export declare function startEmailRegister(email: string, username: string, displayName: string): Promise<ApiResponse<{
|
|
15
|
+
success: boolean;
|
|
16
|
+
devCode?: string;
|
|
15
17
|
}>>;
|
|
16
|
-
export declare function
|
|
18
|
+
export declare function verifyEmailCode(email: string, code: string): Promise<ApiResponse<{
|
|
17
19
|
success: boolean;
|
|
18
20
|
username: string;
|
|
19
|
-
apiKey: string;
|
|
20
|
-
|
|
21
|
+
apiKey: string | null;
|
|
22
|
+
user: {
|
|
23
|
+
id: string;
|
|
24
|
+
username: string;
|
|
25
|
+
email: string;
|
|
26
|
+
displayName?: string;
|
|
27
|
+
};
|
|
21
28
|
}>>;
|
|
22
29
|
export declare function checkUsername(username: string): Promise<{
|
|
23
30
|
available: boolean;
|
|
@@ -30,24 +37,74 @@ export declare function getPublicProfile(username: string): Promise<{
|
|
|
30
37
|
displayName?: string;
|
|
31
38
|
} | null>;
|
|
32
39
|
export interface MeResponse {
|
|
33
|
-
username
|
|
34
|
-
email
|
|
40
|
+
username?: string;
|
|
41
|
+
email?: string;
|
|
35
42
|
displayName?: string;
|
|
36
|
-
plan
|
|
37
|
-
createdAt
|
|
43
|
+
plan?: string;
|
|
44
|
+
createdAt?: number;
|
|
45
|
+
user?: {
|
|
46
|
+
username: string;
|
|
47
|
+
email: string;
|
|
48
|
+
displayName?: string;
|
|
49
|
+
plan: string;
|
|
50
|
+
createdAt: number;
|
|
51
|
+
};
|
|
38
52
|
latestBundle: {
|
|
39
53
|
version: number;
|
|
40
54
|
isPublished: boolean;
|
|
41
55
|
createdAt: number;
|
|
42
56
|
publishedAt?: number;
|
|
57
|
+
youJson?: unknown;
|
|
58
|
+
youMd?: string;
|
|
59
|
+
contentHash?: string;
|
|
43
60
|
} | null;
|
|
44
61
|
publishedBundle: {
|
|
45
62
|
version: number;
|
|
46
63
|
publishedAt?: number;
|
|
64
|
+
contentHash?: string;
|
|
47
65
|
} | null;
|
|
48
66
|
bundleCount: number;
|
|
49
67
|
}
|
|
68
|
+
export interface MeUser {
|
|
69
|
+
username?: string;
|
|
70
|
+
email?: string;
|
|
71
|
+
displayName?: string;
|
|
72
|
+
plan?: string;
|
|
73
|
+
createdAt?: number;
|
|
74
|
+
}
|
|
75
|
+
export declare function getMeUser(me: MeResponse): MeUser;
|
|
50
76
|
export declare function getMe(): Promise<ApiResponse<MeResponse>>;
|
|
77
|
+
export interface BundleVersionData {
|
|
78
|
+
version: number;
|
|
79
|
+
isPublished: boolean;
|
|
80
|
+
createdAt: number;
|
|
81
|
+
publishedAt?: number;
|
|
82
|
+
contentHash?: string;
|
|
83
|
+
manifest?: unknown;
|
|
84
|
+
youJson: unknown;
|
|
85
|
+
youMd: string;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Fetch a specific bundle by version number for the authenticated user.
|
|
89
|
+
* Powers `youmd diff <v1> <v2>`.
|
|
90
|
+
*/
|
|
91
|
+
export declare function getBundleByVersion(version: number): Promise<ApiResponse<BundleVersionData>>;
|
|
92
|
+
export interface HistoryEntry {
|
|
93
|
+
_id: string;
|
|
94
|
+
version: number;
|
|
95
|
+
isPublished: boolean;
|
|
96
|
+
createdAt: number;
|
|
97
|
+
publishedAt?: number;
|
|
98
|
+
contentHash?: string;
|
|
99
|
+
parentHash?: string;
|
|
100
|
+
source?: string;
|
|
101
|
+
changeNote?: string | null;
|
|
102
|
+
changedSections?: string[] | null;
|
|
103
|
+
}
|
|
104
|
+
export declare function getBundleHistory(): Promise<ApiResponse<{
|
|
105
|
+
history: HistoryEntry[];
|
|
106
|
+
count: number;
|
|
107
|
+
}>>;
|
|
51
108
|
export interface RemoteStatus {
|
|
52
109
|
username: string;
|
|
53
110
|
bundleCount: number;
|
|
@@ -71,7 +128,9 @@ export declare function saveBundle(args: SaveBundleArgs): Promise<ApiResponse<{
|
|
|
71
128
|
bundleId: string;
|
|
72
129
|
version: number;
|
|
73
130
|
}>>;
|
|
74
|
-
export declare function uploadBundle(args: SaveBundleArgs
|
|
131
|
+
export declare function uploadBundle(args: SaveBundleArgs & {
|
|
132
|
+
parentHash?: string;
|
|
133
|
+
}): Promise<ApiResponse<any>>;
|
|
75
134
|
export interface PublishResult {
|
|
76
135
|
version: number;
|
|
77
136
|
username: string;
|
|
@@ -107,17 +166,20 @@ export declare function saveMemories(memories: Array<{
|
|
|
107
166
|
export declare function getAnalytics(): Promise<ApiResponse<any>>;
|
|
108
167
|
export interface ContextLink {
|
|
109
168
|
id: string;
|
|
169
|
+
name?: string | null;
|
|
110
170
|
token: string;
|
|
111
171
|
url: string;
|
|
112
172
|
scope: string;
|
|
113
173
|
expiresAt: string;
|
|
114
174
|
maxUses: number | string;
|
|
115
175
|
useCount: number;
|
|
176
|
+
lastUsedAt?: string | null;
|
|
116
177
|
createdAt: string;
|
|
117
178
|
isExpired: boolean;
|
|
118
179
|
}
|
|
119
180
|
export interface CreateLinkResult {
|
|
120
181
|
id: string;
|
|
182
|
+
name?: string | null;
|
|
121
183
|
token: string;
|
|
122
184
|
url: string;
|
|
123
185
|
scope: string;
|
|
@@ -127,6 +189,7 @@ export declare function createContextLink(opts: {
|
|
|
127
189
|
scope?: string;
|
|
128
190
|
ttl?: string;
|
|
129
191
|
maxUses?: number;
|
|
192
|
+
name?: string;
|
|
130
193
|
}): Promise<ApiResponse<CreateLinkResult>>;
|
|
131
194
|
export declare function listContextLinks(): Promise<ApiResponse<ContextLink[]>>;
|
|
132
195
|
export declare function revokeContextLink(linkId: string): Promise<ApiResponse<{
|
|
@@ -168,5 +231,99 @@ export declare function getPrivateContext(): Promise<ApiResponse<PrivateContext
|
|
|
168
231
|
export declare function updatePrivateContext(updates: Partial<PrivateContext>): Promise<ApiResponse<{
|
|
169
232
|
success: boolean;
|
|
170
233
|
}>>;
|
|
234
|
+
export interface SkillRegistryEntry {
|
|
235
|
+
_id: string;
|
|
236
|
+
name: string;
|
|
237
|
+
description: string;
|
|
238
|
+
version: string;
|
|
239
|
+
scope: string;
|
|
240
|
+
identityFields: string[];
|
|
241
|
+
downloads: number;
|
|
242
|
+
authorId: string;
|
|
243
|
+
createdAt: number;
|
|
244
|
+
}
|
|
245
|
+
export interface SkillInstallEntry {
|
|
246
|
+
_id: string;
|
|
247
|
+
skillName: string;
|
|
248
|
+
source: string;
|
|
249
|
+
scope: string;
|
|
250
|
+
identityFields: string[];
|
|
251
|
+
installedAt: number;
|
|
252
|
+
lastUsedAt?: number;
|
|
253
|
+
useCount: number;
|
|
254
|
+
}
|
|
255
|
+
export declare function browseSkills(): Promise<ApiResponse<{
|
|
256
|
+
skills: SkillRegistryEntry[];
|
|
257
|
+
count: number;
|
|
258
|
+
}>>;
|
|
259
|
+
export declare function getRegistrySkill(name: string): Promise<ApiResponse<SkillRegistryEntry & {
|
|
260
|
+
content: string;
|
|
261
|
+
}>>;
|
|
262
|
+
export declare function getMySkills(): Promise<ApiResponse<{
|
|
263
|
+
skills: SkillInstallEntry[];
|
|
264
|
+
count: number;
|
|
265
|
+
}>>;
|
|
266
|
+
export declare function publishSkill(skill: {
|
|
267
|
+
name: string;
|
|
268
|
+
description: string;
|
|
269
|
+
version: string;
|
|
270
|
+
scope: string;
|
|
271
|
+
identityFields: string[];
|
|
272
|
+
content: string;
|
|
273
|
+
}): Promise<ApiResponse<{
|
|
274
|
+
id: string;
|
|
275
|
+
updated: boolean;
|
|
276
|
+
}>>;
|
|
277
|
+
export declare function recordSkillInstall(install: {
|
|
278
|
+
skillName: string;
|
|
279
|
+
source: string;
|
|
280
|
+
scope: string;
|
|
281
|
+
identityFields: string[];
|
|
282
|
+
}): Promise<ApiResponse<{
|
|
283
|
+
id: string;
|
|
284
|
+
updated: boolean;
|
|
285
|
+
}>>;
|
|
286
|
+
export declare function trackSkillUsage(skillName: string): Promise<ApiResponse<{
|
|
287
|
+
success: boolean;
|
|
288
|
+
}>>;
|
|
289
|
+
export declare function removeSkillInstall(skillName: string): Promise<ApiResponse<{
|
|
290
|
+
success: boolean;
|
|
291
|
+
}>>;
|
|
292
|
+
export declare function savePortrait(portrait: {
|
|
293
|
+
lines: string[];
|
|
294
|
+
coloredLines?: unknown;
|
|
295
|
+
cols: number;
|
|
296
|
+
rows: number;
|
|
297
|
+
format: string;
|
|
298
|
+
sourceUrl: string;
|
|
299
|
+
}): Promise<ApiResponse<{
|
|
300
|
+
success: boolean;
|
|
301
|
+
}>>;
|
|
302
|
+
export interface VaultData {
|
|
303
|
+
initialized: boolean;
|
|
304
|
+
encryptedMd?: string | null;
|
|
305
|
+
encryptedJson?: string | null;
|
|
306
|
+
iv?: string | null;
|
|
307
|
+
wrappedVaultKey?: string | null;
|
|
308
|
+
vaultSalt?: string | null;
|
|
309
|
+
vaultKeyIv?: string | null;
|
|
310
|
+
createdAt?: number | null;
|
|
311
|
+
updatedAt?: number | null;
|
|
312
|
+
}
|
|
313
|
+
export declare function initVault(wrapped: {
|
|
314
|
+
wrappedVaultKey: string;
|
|
315
|
+
vaultSalt: string;
|
|
316
|
+
vaultKeyIv: string;
|
|
317
|
+
}): Promise<ApiResponse<{
|
|
318
|
+
success: boolean;
|
|
319
|
+
}>>;
|
|
320
|
+
export declare function saveVaultData(data: {
|
|
321
|
+
encryptedMd: string;
|
|
322
|
+
encryptedJson: string;
|
|
323
|
+
iv: string;
|
|
324
|
+
}): Promise<ApiResponse<{
|
|
325
|
+
success: boolean;
|
|
326
|
+
}>>;
|
|
327
|
+
export declare function getVaultData(): Promise<ApiResponse<VaultData>>;
|
|
171
328
|
export {};
|
|
172
329
|
//# 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;
|
|
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,11 +4,15 @@
|
|
|
4
4
|
* Uses the HTTP action endpoints at the Convex site URL.
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
8
|
-
exports.
|
|
7
|
+
exports.startEmailLogin = startEmailLogin;
|
|
8
|
+
exports.startEmailRegister = startEmailRegister;
|
|
9
|
+
exports.verifyEmailCode = verifyEmailCode;
|
|
9
10
|
exports.checkUsername = checkUsername;
|
|
10
11
|
exports.getPublicProfile = getPublicProfile;
|
|
12
|
+
exports.getMeUser = getMeUser;
|
|
11
13
|
exports.getMe = getMe;
|
|
14
|
+
exports.getBundleByVersion = getBundleByVersion;
|
|
15
|
+
exports.getBundleHistory = getBundleHistory;
|
|
12
16
|
exports.getRemoteStatus = getRemoteStatus;
|
|
13
17
|
exports.saveBundle = saveBundle;
|
|
14
18
|
exports.uploadBundle = uploadBundle;
|
|
@@ -26,9 +30,21 @@ exports.listApiKeys = listApiKeys;
|
|
|
26
30
|
exports.revokeApiKey = revokeApiKey;
|
|
27
31
|
exports.getPrivateContext = getPrivateContext;
|
|
28
32
|
exports.updatePrivateContext = updatePrivateContext;
|
|
33
|
+
exports.browseSkills = browseSkills;
|
|
34
|
+
exports.getRegistrySkill = getRegistrySkill;
|
|
35
|
+
exports.getMySkills = getMySkills;
|
|
36
|
+
exports.publishSkill = publishSkill;
|
|
37
|
+
exports.recordSkillInstall = recordSkillInstall;
|
|
38
|
+
exports.trackSkillUsage = trackSkillUsage;
|
|
39
|
+
exports.removeSkillInstall = removeSkillInstall;
|
|
40
|
+
exports.savePortrait = savePortrait;
|
|
41
|
+
exports.initVault = initVault;
|
|
42
|
+
exports.saveVaultData = saveVaultData;
|
|
43
|
+
exports.getVaultData = getVaultData;
|
|
29
44
|
const config_1 = require("./config");
|
|
30
|
-
const SITE_URL =
|
|
31
|
-
|
|
45
|
+
const SITE_URL = (0, config_1.getConvexSiteUrl)();
|
|
46
|
+
const APP_URL = (0, config_1.getAppUrl)();
|
|
47
|
+
async function request(baseUrl, path, options = {}) {
|
|
32
48
|
const { method = "GET", body, token, headers = {} } = options;
|
|
33
49
|
const reqHeaders = {
|
|
34
50
|
"Content-Type": "application/json",
|
|
@@ -44,11 +60,12 @@ async function request(path, options = {}) {
|
|
|
44
60
|
if (body && method !== "GET") {
|
|
45
61
|
fetchOptions.body = JSON.stringify(body);
|
|
46
62
|
}
|
|
47
|
-
const url = `${
|
|
63
|
+
const url = `${baseUrl}${path}`;
|
|
48
64
|
const res = await fetch(url, fetchOptions);
|
|
49
65
|
let data;
|
|
50
66
|
const contentType = res.headers.get("content-type") ?? "";
|
|
51
|
-
if (contentType.includes("application/json")
|
|
67
|
+
if (contentType.includes("application/json") ||
|
|
68
|
+
contentType.includes("+json")) {
|
|
52
69
|
data = (await res.json());
|
|
53
70
|
}
|
|
54
71
|
else {
|
|
@@ -60,23 +77,59 @@ async function request(path, options = {}) {
|
|
|
60
77
|
data,
|
|
61
78
|
};
|
|
62
79
|
}
|
|
80
|
+
async function apiRequest(path, options = {}) {
|
|
81
|
+
return request(SITE_URL, path, options);
|
|
82
|
+
}
|
|
83
|
+
async function appRequest(path, options = {}) {
|
|
84
|
+
return request(APP_URL, path, options);
|
|
85
|
+
}
|
|
63
86
|
// ─── Auth endpoints (no token needed) ────────────────────────────────
|
|
64
|
-
async function
|
|
65
|
-
return
|
|
87
|
+
async function startEmailLogin(email) {
|
|
88
|
+
return appRequest("/api/auth/send-verification", { method: "POST", body: { email, type: "login" } });
|
|
66
89
|
}
|
|
67
|
-
async function
|
|
68
|
-
return
|
|
90
|
+
async function startEmailRegister(email, username, displayName) {
|
|
91
|
+
return appRequest("/api/auth/send-verification", { method: "POST", body: { email, type: "signup", username, displayName } });
|
|
92
|
+
}
|
|
93
|
+
async function verifyEmailCode(email, code) {
|
|
94
|
+
return appRequest("/api/auth/verify-code", { method: "POST", body: { email, code, issueApiKey: true } });
|
|
69
95
|
}
|
|
70
96
|
// ─── Public endpoints ────────────────────────────────────────────────
|
|
71
97
|
async function checkUsername(username) {
|
|
72
|
-
const res = await
|
|
98
|
+
const res = await apiRequest(`/api/v1/check-username?username=${encodeURIComponent(username)}`);
|
|
73
99
|
return res.data;
|
|
74
100
|
}
|
|
75
101
|
async function getPublicProfile(username) {
|
|
76
|
-
const
|
|
102
|
+
const path = `/api/v1/profiles?username=${encodeURIComponent(username)}`;
|
|
103
|
+
const res = await apiRequest(path);
|
|
77
104
|
if (!res.ok)
|
|
78
105
|
return null;
|
|
79
|
-
|
|
106
|
+
const data = res.data;
|
|
107
|
+
// The /api/v1/profiles endpoint spreads youJson flat into the response
|
|
108
|
+
// (not wrapped in a youJson property). Detect and wrap it.
|
|
109
|
+
if (data && !data.youJson) {
|
|
110
|
+
// If the response has profile[] or identity{}, the entire response IS the youJson
|
|
111
|
+
if (Array.isArray(data.profile) || data.identity) {
|
|
112
|
+
const { _profile, ...bundleData } = data;
|
|
113
|
+
let youMd = bundleData.youMd ||
|
|
114
|
+
data._youMd ||
|
|
115
|
+
"";
|
|
116
|
+
if (!youMd) {
|
|
117
|
+
const mdRes = await apiRequest(path, {
|
|
118
|
+
headers: { Accept: "text/plain" },
|
|
119
|
+
});
|
|
120
|
+
if (mdRes.ok && typeof mdRes.data === "string") {
|
|
121
|
+
youMd = mdRes.data;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return {
|
|
125
|
+
youJson: bundleData,
|
|
126
|
+
youMd,
|
|
127
|
+
username: data._profile?.username || bundleData.username || username,
|
|
128
|
+
displayName: data._profile?.displayName,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return data;
|
|
80
133
|
}
|
|
81
134
|
// ─── Authenticated endpoints ─────────────────────────────────────────
|
|
82
135
|
function getToken() {
|
|
@@ -86,18 +139,50 @@ function getToken() {
|
|
|
86
139
|
}
|
|
87
140
|
return config.token;
|
|
88
141
|
}
|
|
142
|
+
function getMeUser(me) {
|
|
143
|
+
if (me.user) {
|
|
144
|
+
return {
|
|
145
|
+
username: me.user.username,
|
|
146
|
+
email: me.user.email,
|
|
147
|
+
displayName: me.user.displayName,
|
|
148
|
+
plan: me.user.plan,
|
|
149
|
+
createdAt: me.user.createdAt,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
return {
|
|
153
|
+
username: me.username,
|
|
154
|
+
email: me.email,
|
|
155
|
+
displayName: me.displayName,
|
|
156
|
+
plan: me.plan,
|
|
157
|
+
createdAt: me.createdAt,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
89
160
|
async function getMe() {
|
|
90
|
-
return
|
|
161
|
+
return apiRequest("/api/v1/me", {
|
|
162
|
+
token: getToken(),
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Fetch a specific bundle by version number for the authenticated user.
|
|
167
|
+
* Powers `youmd diff <v1> <v2>`.
|
|
168
|
+
*/
|
|
169
|
+
async function getBundleByVersion(version) {
|
|
170
|
+
return apiRequest(`/api/v1/me/bundles?version=${version}`, {
|
|
171
|
+
token: getToken(),
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
async function getBundleHistory() {
|
|
175
|
+
return apiRequest("/api/v1/me/history", {
|
|
91
176
|
token: getToken(),
|
|
92
177
|
});
|
|
93
178
|
}
|
|
94
179
|
async function getRemoteStatus() {
|
|
95
|
-
return
|
|
180
|
+
return apiRequest("/api/v1/me", {
|
|
96
181
|
token: getToken(),
|
|
97
182
|
});
|
|
98
183
|
}
|
|
99
184
|
async function saveBundle(args) {
|
|
100
|
-
return
|
|
185
|
+
return apiRequest("/api/v1/me/bundle", {
|
|
101
186
|
method: "POST",
|
|
102
187
|
token: getToken(),
|
|
103
188
|
body: {
|
|
@@ -109,37 +194,36 @@ async function uploadBundle(args) {
|
|
|
109
194
|
// Upload raw bundle data - manifest, youJson, youMd
|
|
110
195
|
// The /api/v1/me/bundle endpoint expects profileData for server-side compilation.
|
|
111
196
|
// For CLI uploads where we already have compiled artifacts, we send them directly.
|
|
112
|
-
return
|
|
197
|
+
return apiRequest("/api/v1/me/bundle", {
|
|
113
198
|
method: "POST",
|
|
114
199
|
token: getToken(),
|
|
115
200
|
body: {
|
|
116
201
|
profileData: {
|
|
117
|
-
// Map our compiled bundle back to profile data shape
|
|
118
|
-
// This is a workaround since the endpoint does server-side compilation
|
|
119
202
|
_rawBundle: true,
|
|
120
203
|
manifest: args.manifest,
|
|
121
204
|
youJson: args.youJson,
|
|
122
205
|
youMd: args.youMd,
|
|
123
206
|
},
|
|
207
|
+
parentHash: args.parentHash,
|
|
124
208
|
},
|
|
125
209
|
});
|
|
126
210
|
}
|
|
127
211
|
async function publishLatest() {
|
|
128
|
-
return
|
|
212
|
+
return apiRequest("/api/v1/me/publish", {
|
|
129
213
|
method: "POST",
|
|
130
214
|
token: getToken(),
|
|
131
215
|
});
|
|
132
216
|
}
|
|
133
217
|
// ─── Sources ─────────────────────────────────────────────────────────
|
|
134
218
|
async function addSource(sourceType, sourceUrl) {
|
|
135
|
-
return
|
|
219
|
+
return apiRequest("/api/v1/me/sources", {
|
|
136
220
|
method: "POST",
|
|
137
221
|
token: getToken(),
|
|
138
222
|
body: { sourceType, sourceUrl },
|
|
139
223
|
});
|
|
140
224
|
}
|
|
141
225
|
async function listSources() {
|
|
142
|
-
return
|
|
226
|
+
return apiRequest("/api/v1/me/sources", {
|
|
143
227
|
token: getToken(),
|
|
144
228
|
});
|
|
145
229
|
}
|
|
@@ -150,10 +234,10 @@ async function listMemories(opts) {
|
|
|
150
234
|
if (opts?.limit)
|
|
151
235
|
params.set("limit", String(opts.limit));
|
|
152
236
|
const qs = params.toString();
|
|
153
|
-
return
|
|
237
|
+
return apiRequest(`/api/v1/me/memories${qs ? `?${qs}` : ""}`, { token: getToken() });
|
|
154
238
|
}
|
|
155
239
|
async function saveMemories(memories, agentName) {
|
|
156
|
-
return
|
|
240
|
+
return apiRequest("/api/v1/me/memories", {
|
|
157
241
|
method: "POST",
|
|
158
242
|
token: getToken(),
|
|
159
243
|
body: { memories, agentName: agentName || "cli" },
|
|
@@ -161,35 +245,36 @@ async function saveMemories(memories, agentName) {
|
|
|
161
245
|
}
|
|
162
246
|
// ─── Analytics ───────────────────────────────────────────────────────
|
|
163
247
|
async function getAnalytics() {
|
|
164
|
-
return
|
|
248
|
+
return apiRequest("/api/v1/me/analytics", {
|
|
165
249
|
token: getToken(),
|
|
166
250
|
});
|
|
167
251
|
}
|
|
168
252
|
async function createContextLink(opts) {
|
|
169
|
-
return
|
|
253
|
+
return apiRequest("/api/v1/me/context-links", {
|
|
170
254
|
method: "POST",
|
|
171
255
|
token: getToken(),
|
|
172
256
|
body: {
|
|
173
257
|
scope: opts.scope || "public",
|
|
174
258
|
ttl: opts.ttl || "7d",
|
|
175
259
|
maxUses: opts.maxUses,
|
|
260
|
+
name: opts.name,
|
|
176
261
|
},
|
|
177
262
|
});
|
|
178
263
|
}
|
|
179
264
|
async function listContextLinks() {
|
|
180
|
-
return
|
|
265
|
+
return apiRequest("/api/v1/me/context-links", {
|
|
181
266
|
token: getToken(),
|
|
182
267
|
});
|
|
183
268
|
}
|
|
184
269
|
async function revokeContextLink(linkId) {
|
|
185
|
-
return
|
|
270
|
+
return apiRequest("/api/v1/me/context-links", {
|
|
186
271
|
method: "DELETE",
|
|
187
272
|
token: getToken(),
|
|
188
273
|
body: { linkId },
|
|
189
274
|
});
|
|
190
275
|
}
|
|
191
276
|
async function createApiKey(opts) {
|
|
192
|
-
return
|
|
277
|
+
return apiRequest("/api/v1/me/api-keys", {
|
|
193
278
|
method: "POST",
|
|
194
279
|
token: getToken(),
|
|
195
280
|
body: {
|
|
@@ -199,27 +284,92 @@ async function createApiKey(opts) {
|
|
|
199
284
|
});
|
|
200
285
|
}
|
|
201
286
|
async function listApiKeys() {
|
|
202
|
-
return
|
|
287
|
+
return apiRequest("/api/v1/me/api-keys", {
|
|
203
288
|
token: getToken(),
|
|
204
289
|
});
|
|
205
290
|
}
|
|
206
291
|
async function revokeApiKey(keyId) {
|
|
207
|
-
return
|
|
292
|
+
return apiRequest("/api/v1/me/api-keys", {
|
|
208
293
|
method: "DELETE",
|
|
209
294
|
token: getToken(),
|
|
210
295
|
body: { keyId },
|
|
211
296
|
});
|
|
212
297
|
}
|
|
213
298
|
async function getPrivateContext() {
|
|
214
|
-
return
|
|
299
|
+
return apiRequest("/api/v1/me/private", {
|
|
215
300
|
token: getToken(),
|
|
216
301
|
});
|
|
217
302
|
}
|
|
218
303
|
async function updatePrivateContext(updates) {
|
|
219
|
-
return
|
|
304
|
+
return apiRequest("/api/v1/me/private", {
|
|
220
305
|
method: "POST",
|
|
221
306
|
token: getToken(),
|
|
222
307
|
body: updates,
|
|
223
308
|
});
|
|
224
309
|
}
|
|
310
|
+
async function browseSkills() {
|
|
311
|
+
return apiRequest("/api/v1/skills");
|
|
312
|
+
}
|
|
313
|
+
async function getRegistrySkill(name) {
|
|
314
|
+
return apiRequest(`/api/v1/skills?name=${encodeURIComponent(name)}`);
|
|
315
|
+
}
|
|
316
|
+
async function getMySkills() {
|
|
317
|
+
return apiRequest("/api/v1/me/skills", {
|
|
318
|
+
token: getToken(),
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
async function publishSkill(skill) {
|
|
322
|
+
return apiRequest("/api/v1/me/skills", {
|
|
323
|
+
method: "POST",
|
|
324
|
+
token: getToken(),
|
|
325
|
+
body: skill,
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
async function recordSkillInstall(install) {
|
|
329
|
+
return apiRequest("/api/v1/me/skills/install", {
|
|
330
|
+
method: "POST",
|
|
331
|
+
token: getToken(),
|
|
332
|
+
body: install,
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
async function trackSkillUsage(skillName) {
|
|
336
|
+
return apiRequest("/api/v1/me/skills/usage", {
|
|
337
|
+
method: "POST",
|
|
338
|
+
token: getToken(),
|
|
339
|
+
body: { skillName },
|
|
340
|
+
});
|
|
341
|
+
}
|
|
342
|
+
async function removeSkillInstall(skillName) {
|
|
343
|
+
return apiRequest("/api/v1/me/skills/remove", {
|
|
344
|
+
method: "POST",
|
|
345
|
+
token: getToken(),
|
|
346
|
+
body: { skillName },
|
|
347
|
+
});
|
|
348
|
+
}
|
|
349
|
+
async function savePortrait(portrait) {
|
|
350
|
+
return apiRequest("/api/v1/me/portrait", {
|
|
351
|
+
method: "POST",
|
|
352
|
+
token: getToken(),
|
|
353
|
+
body: { portrait },
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
async function initVault(wrapped) {
|
|
357
|
+
return apiRequest("/api/v1/me/vault/init", {
|
|
358
|
+
method: "POST",
|
|
359
|
+
token: getToken(),
|
|
360
|
+
body: wrapped,
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
async function saveVaultData(data) {
|
|
364
|
+
return apiRequest("/api/v1/me/vault", {
|
|
365
|
+
method: "POST",
|
|
366
|
+
token: getToken(),
|
|
367
|
+
body: data,
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
async function getVaultData() {
|
|
371
|
+
return apiRequest("/api/v1/me/vault", {
|
|
372
|
+
token: getToken(),
|
|
373
|
+
});
|
|
374
|
+
}
|
|
225
375
|
//# sourceMappingURL=api.js.map
|