youmd 0.2.1 → 0.3.1
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 +1 -1
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +70 -9
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/chat.d.ts +2 -0
- package/dist/commands/chat.d.ts.map +1 -0
- package/dist/commands/chat.js +598 -0
- package/dist/commands/chat.js.map +1 -0
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js +28 -18
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/pull.d.ts +2 -0
- package/dist/commands/pull.d.ts.map +1 -0
- package/dist/commands/pull.js +209 -0
- package/dist/commands/pull.js.map +1 -0
- package/dist/commands/push.d.ts +4 -0
- package/dist/commands/push.d.ts.map +1 -0
- package/dist/commands/push.js +114 -0
- package/dist/commands/push.js.map +1 -0
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +69 -13
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/sync.d.ts +4 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +105 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +10 -3
- package/dist/commands/whoami.js.map +1 -1
- package/dist/index.js +24 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/onboarding.d.ts +75 -0
- package/dist/lib/onboarding.d.ts.map +1 -1
- package/dist/lib/onboarding.js +915 -164
- package/dist/lib/onboarding.js.map +1 -1
- package/package.json +2 -2
package/dist/commands/publish.js
CHANGED
|
@@ -42,6 +42,7 @@ const path = __importStar(require("path"));
|
|
|
42
42
|
const chalk_1 = __importDefault(require("chalk"));
|
|
43
43
|
const config_1 = require("../lib/config");
|
|
44
44
|
const api_1 = require("../lib/api");
|
|
45
|
+
const onboarding_1 = require("../lib/onboarding");
|
|
45
46
|
async function publishCommand() {
|
|
46
47
|
console.log("");
|
|
47
48
|
if (!(0, config_1.isAuthenticated)()) {
|
|
@@ -70,7 +71,7 @@ async function publishCommand() {
|
|
|
70
71
|
return;
|
|
71
72
|
}
|
|
72
73
|
const config = (0, config_1.readGlobalConfig)();
|
|
73
|
-
console.log("you.md -- publishing bundle");
|
|
74
|
+
console.log(" " + chalk_1.default.bold("you.md") + chalk_1.default.dim(" -- publishing bundle"));
|
|
74
75
|
console.log("");
|
|
75
76
|
// Read the bundle files
|
|
76
77
|
const youJson = JSON.parse(fs.readFileSync(youJsonPath, "utf-8"));
|
|
@@ -80,12 +81,12 @@ async function publishCommand() {
|
|
|
80
81
|
const manifest = fs.existsSync(manifestPath)
|
|
81
82
|
? JSON.parse(fs.readFileSync(manifestPath, "utf-8"))
|
|
82
83
|
: { version: youJson.version || 1, entries: [] };
|
|
83
|
-
console.log("\u251C\u2500\u2500
|
|
84
|
-
console.log("\u251C\u2500\u2500
|
|
85
|
-
console.log("\u251C\u2500\u2500
|
|
86
|
-
// Upload the bundle
|
|
87
|
-
|
|
88
|
-
|
|
84
|
+
console.log(" \u251C\u2500\u2500 " + chalk_1.default.dim("reading") + " you.json (v" + (youJson.version || "?") + ")");
|
|
85
|
+
console.log(" \u251C\u2500\u2500 " + chalk_1.default.dim("reading") + " you.md (" + youMd.length + " bytes)");
|
|
86
|
+
console.log(" \u251C\u2500\u2500 " + chalk_1.default.dim("reading") + " manifest.json");
|
|
87
|
+
// Upload the bundle with a thinking spinner
|
|
88
|
+
const spinner = new onboarding_1.Spinner("beaming you up to the agent internet");
|
|
89
|
+
spinner.start();
|
|
89
90
|
try {
|
|
90
91
|
const uploadRes = await (0, api_1.uploadBundle)({
|
|
91
92
|
manifest,
|
|
@@ -93,22 +94,22 @@ async function publishCommand() {
|
|
|
93
94
|
youMd,
|
|
94
95
|
});
|
|
95
96
|
if (!uploadRes.ok) {
|
|
97
|
+
spinner.stop();
|
|
96
98
|
const errData = uploadRes.data;
|
|
97
99
|
console.log("");
|
|
98
|
-
console.log(chalk_1.default.red("upload failed") +
|
|
100
|
+
console.log(chalk_1.default.red(" upload failed") +
|
|
99
101
|
" -- " +
|
|
100
102
|
(errData?.error || `status ${uploadRes.status}`));
|
|
101
103
|
console.log("");
|
|
102
104
|
return;
|
|
103
105
|
}
|
|
104
|
-
console.log("\u251C\u2500\u2500 Bundle saved");
|
|
105
106
|
// Publish the latest bundle
|
|
106
|
-
console.log("\u2514\u2500\u2500 Publishing...");
|
|
107
107
|
const pubRes = await (0, api_1.publishLatest)();
|
|
108
|
+
spinner.stop();
|
|
108
109
|
if (!pubRes.ok) {
|
|
109
110
|
const errData = pubRes.data;
|
|
110
111
|
console.log("");
|
|
111
|
-
console.log(chalk_1.default.red("publish failed") +
|
|
112
|
+
console.log(chalk_1.default.red(" publish failed") +
|
|
112
113
|
" -- " +
|
|
113
114
|
(errData?.error || `status ${pubRes.status}`));
|
|
114
115
|
console.log("");
|
|
@@ -121,22 +122,31 @@ async function publishCommand() {
|
|
|
121
122
|
localConfig.lastPublished = new Date().toISOString();
|
|
122
123
|
(0, config_1.writeLocalConfig)(localConfig);
|
|
123
124
|
}
|
|
125
|
+
const liveUrl = result.url || `https://you.md/${result.username}`;
|
|
124
126
|
console.log("");
|
|
125
|
-
console.log(chalk_1.default.green("\u2713") +
|
|
126
|
-
"
|
|
127
|
+
console.log(" " + chalk_1.default.green("\u2713") +
|
|
128
|
+
" published v" +
|
|
127
129
|
result.version +
|
|
128
130
|
" as " +
|
|
129
|
-
chalk_1.default.
|
|
131
|
+
chalk_1.default.bold(result.username));
|
|
130
132
|
console.log("");
|
|
131
|
-
|
|
132
|
-
console.log("
|
|
133
|
-
console.log("
|
|
133
|
+
console.log(" " + chalk_1.default.bold("you are live on the agent internet."));
|
|
134
|
+
console.log("");
|
|
135
|
+
console.log(" \u250C" + "\u2500".repeat(liveUrl.length + 4) + "\u2510");
|
|
136
|
+
console.log(" \u2502 " + chalk_1.default.cyan.bold(liveUrl) + " \u2502");
|
|
137
|
+
console.log(" \u2514" + "\u2500".repeat(liveUrl.length + 4) + "\u2518");
|
|
138
|
+
console.log("");
|
|
139
|
+
console.log(chalk_1.default.dim(" api: ") +
|
|
134
140
|
chalk_1.default.cyan(`https://uncommon-chicken-142.convex.site/api/v1/profiles?username=${result.username}`));
|
|
135
141
|
console.log("");
|
|
142
|
+
console.log(chalk_1.default.dim(" share your identity: ") +
|
|
143
|
+
chalk_1.default.cyan("youmd link create"));
|
|
144
|
+
console.log("");
|
|
136
145
|
}
|
|
137
146
|
catch (err) {
|
|
147
|
+
spinner.stop();
|
|
138
148
|
console.log("");
|
|
139
|
-
console.log(chalk_1.default.red("error") + " -- failed to publish bundle");
|
|
149
|
+
console.log(chalk_1.default.red(" error") + " -- failed to publish bundle");
|
|
140
150
|
if (err instanceof Error) {
|
|
141
151
|
console.log(" " + err.message);
|
|
142
152
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAMA,wBAAsB,WAAW,kBAwLhC"}
|
|
@@ -0,0 +1,209 @@
|
|
|
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
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.pullCommand = pullCommand;
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
41
|
+
const path = __importStar(require("path"));
|
|
42
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
43
|
+
const api_1 = require("../lib/api");
|
|
44
|
+
const config_1 = require("../lib/config");
|
|
45
|
+
async function pullCommand() {
|
|
46
|
+
const config = (0, config_1.readGlobalConfig)();
|
|
47
|
+
if (!config.token) {
|
|
48
|
+
console.log(chalk_1.default.hex("#C46A3A")(" not authenticated. run: youmd login"));
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (!config.username) {
|
|
52
|
+
console.log(chalk_1.default.hex("#C46A3A")(" no username configured. run: youmd login"));
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const username = config.username;
|
|
56
|
+
console.log(chalk_1.default.dim(` pulling profile for @${username}...`));
|
|
57
|
+
// Fetch the published profile from the API
|
|
58
|
+
const profile = await (0, api_1.getPublicProfile)(username);
|
|
59
|
+
if (!profile || !profile.youJson) {
|
|
60
|
+
console.log(chalk_1.default.hex("#C46A3A")(" no published bundle found on you.md"));
|
|
61
|
+
console.log(chalk_1.default.dim(" publish your local bundle first: youmd build && youmd publish"));
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const bundleDir = (0, config_1.getLocalBundleDir)();
|
|
65
|
+
// Create directories if needed
|
|
66
|
+
const profileDir = path.join(bundleDir, "profile");
|
|
67
|
+
const prefsDir = path.join(bundleDir, "preferences");
|
|
68
|
+
const voiceDir = path.join(bundleDir, "voice");
|
|
69
|
+
fs.mkdirSync(profileDir, { recursive: true });
|
|
70
|
+
fs.mkdirSync(prefsDir, { recursive: true });
|
|
71
|
+
fs.mkdirSync(voiceDir, { recursive: true });
|
|
72
|
+
const youJson = profile.youJson;
|
|
73
|
+
const identity = youJson.identity || {};
|
|
74
|
+
const bio = identity.bio || {};
|
|
75
|
+
const now = youJson.now || {};
|
|
76
|
+
const projects = youJson.projects || [];
|
|
77
|
+
const values = youJson.values || [];
|
|
78
|
+
const links = youJson.links || {};
|
|
79
|
+
const prefs = youJson.preferences || {};
|
|
80
|
+
const analysis = youJson.analysis || {};
|
|
81
|
+
const voice = youJson.voice || {};
|
|
82
|
+
let filesWritten = 0;
|
|
83
|
+
// Write profile/about.md
|
|
84
|
+
if (bio.long || bio.medium || bio.short || identity.name) {
|
|
85
|
+
const aboutContent = `---
|
|
86
|
+
title: "About"
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
# ${identity.name || username}
|
|
90
|
+
|
|
91
|
+
${bio.long || bio.medium || bio.short || ""}
|
|
92
|
+
`;
|
|
93
|
+
fs.writeFileSync(path.join(profileDir, "about.md"), aboutContent);
|
|
94
|
+
filesWritten++;
|
|
95
|
+
console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(" profile/about.md"));
|
|
96
|
+
}
|
|
97
|
+
// Write profile/now.md
|
|
98
|
+
const focus = now.focus || [];
|
|
99
|
+
if (focus.length > 0) {
|
|
100
|
+
const nowContent = `---
|
|
101
|
+
title: "Now"
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
${focus.map((f) => `- ${f}`).join("\n")}
|
|
105
|
+
`;
|
|
106
|
+
fs.writeFileSync(path.join(profileDir, "now.md"), nowContent);
|
|
107
|
+
filesWritten++;
|
|
108
|
+
console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(" profile/now.md"));
|
|
109
|
+
}
|
|
110
|
+
// Write profile/projects.md
|
|
111
|
+
if (projects.length > 0) {
|
|
112
|
+
const projectsContent = `---
|
|
113
|
+
title: "Projects"
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
${projects.map((p) => `## ${p.name}\n${p.description || ""}\n- Role: ${p.role || "contributor"}\n- Status: ${p.status || "active"}\n${p.url ? `- URL: ${p.url}` : ""}`).join("\n\n")}
|
|
117
|
+
`;
|
|
118
|
+
fs.writeFileSync(path.join(profileDir, "projects.md"), projectsContent);
|
|
119
|
+
filesWritten++;
|
|
120
|
+
console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(" profile/projects.md"));
|
|
121
|
+
}
|
|
122
|
+
// Write profile/values.md
|
|
123
|
+
if (values.length > 0) {
|
|
124
|
+
const valuesContent = `---
|
|
125
|
+
title: "Values"
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
${values.map((v) => `- ${v}`).join("\n")}
|
|
129
|
+
`;
|
|
130
|
+
fs.writeFileSync(path.join(profileDir, "values.md"), valuesContent);
|
|
131
|
+
filesWritten++;
|
|
132
|
+
console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(" profile/values.md"));
|
|
133
|
+
}
|
|
134
|
+
// Write profile/links.md
|
|
135
|
+
const linkEntries = Object.entries(links).filter(([, url]) => url);
|
|
136
|
+
if (linkEntries.length > 0) {
|
|
137
|
+
const linksContent = `---
|
|
138
|
+
title: "Links"
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
${linkEntries.map(([platform, url]) => `- **${platform}**: ${url}`).join("\n")}
|
|
142
|
+
`;
|
|
143
|
+
fs.writeFileSync(path.join(profileDir, "links.md"), linksContent);
|
|
144
|
+
filesWritten++;
|
|
145
|
+
console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(" profile/links.md"));
|
|
146
|
+
}
|
|
147
|
+
// Write preferences/agent.md
|
|
148
|
+
if (prefs.agent) {
|
|
149
|
+
const agentContent = `---
|
|
150
|
+
title: "Agent Preferences"
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
Tone: ${prefs.agent.tone || "direct, curious"}
|
|
154
|
+
Formality: ${prefs.agent.formality || "casual-professional"}
|
|
155
|
+
${prefs.agent.avoid?.length ? `Avoid: ${prefs.agent.avoid.join(", ")}` : ""}
|
|
156
|
+
`;
|
|
157
|
+
fs.writeFileSync(path.join(prefsDir, "agent.md"), agentContent);
|
|
158
|
+
filesWritten++;
|
|
159
|
+
console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(" preferences/agent.md"));
|
|
160
|
+
}
|
|
161
|
+
// Write preferences/writing.md
|
|
162
|
+
if (prefs.writing) {
|
|
163
|
+
const writingContent = `---
|
|
164
|
+
title: "Writing Style"
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
Style: ${prefs.writing.style || ""}
|
|
168
|
+
Format: ${prefs.writing.format || "markdown preferred"}
|
|
169
|
+
`;
|
|
170
|
+
fs.writeFileSync(path.join(prefsDir, "writing.md"), writingContent);
|
|
171
|
+
filesWritten++;
|
|
172
|
+
console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(" preferences/writing.md"));
|
|
173
|
+
}
|
|
174
|
+
// Write voice/voice.md (overall)
|
|
175
|
+
if (voice.overall || analysis.voice_summary) {
|
|
176
|
+
const voiceContent = `---
|
|
177
|
+
title: "Voice Profile"
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
${voice.overall || analysis.voice_summary || ""}
|
|
181
|
+
`;
|
|
182
|
+
fs.writeFileSync(path.join(voiceDir, "voice.md"), voiceContent);
|
|
183
|
+
filesWritten++;
|
|
184
|
+
console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(" voice/voice.md"));
|
|
185
|
+
}
|
|
186
|
+
// Write voice platform-specific files
|
|
187
|
+
const platforms = voice.platforms || {};
|
|
188
|
+
for (const [platform, content] of Object.entries(platforms)) {
|
|
189
|
+
if (content) {
|
|
190
|
+
fs.writeFileSync(path.join(voiceDir, `voice.${platform}.md`), content);
|
|
191
|
+
filesWritten++;
|
|
192
|
+
console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(` voice/voice.${platform}.md`));
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
// Write you.json
|
|
196
|
+
fs.writeFileSync(path.join(bundleDir, "you.json"), JSON.stringify(youJson, null, 2));
|
|
197
|
+
filesWritten++;
|
|
198
|
+
console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(" you.json"));
|
|
199
|
+
// Write you.md
|
|
200
|
+
if (profile.youMd) {
|
|
201
|
+
fs.writeFileSync(path.join(bundleDir, "you.md"), profile.youMd);
|
|
202
|
+
filesWritten++;
|
|
203
|
+
console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(" you.md"));
|
|
204
|
+
}
|
|
205
|
+
console.log("");
|
|
206
|
+
console.log(chalk_1.default.green(` pulled ${filesWritten} files from you.md/${username}`));
|
|
207
|
+
console.log(chalk_1.default.dim(` bundle dir: ${bundleDir}`));
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=pull.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAOA,wBAAsB,WAAW,CAAC,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,iBA+F/D"}
|
|
@@ -0,0 +1,114 @@
|
|
|
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
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.pushCommand = pushCommand;
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
41
|
+
const path = __importStar(require("path"));
|
|
42
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
43
|
+
const config_1 = require("../lib/config");
|
|
44
|
+
const compiler_1 = require("../lib/compiler");
|
|
45
|
+
const api_1 = require("../lib/api");
|
|
46
|
+
async function pushCommand(options) {
|
|
47
|
+
const config = (0, config_1.readGlobalConfig)();
|
|
48
|
+
if (!config.token) {
|
|
49
|
+
console.log(chalk_1.default.hex("#C46A3A")(" not authenticated. run: youmd login"));
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (!(0, config_1.localBundleExists)()) {
|
|
53
|
+
console.log(chalk_1.default.hex("#C46A3A")(" no local bundle found."));
|
|
54
|
+
console.log(chalk_1.default.dim(" run: youmd init"));
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const bundleDir = (0, config_1.getLocalBundleDir)();
|
|
58
|
+
// Step 1: Compile the bundle from local files
|
|
59
|
+
console.log(chalk_1.default.dim(" compiling local bundle..."));
|
|
60
|
+
const bundle = (0, compiler_1.compileBundle)(bundleDir);
|
|
61
|
+
if (!bundle) {
|
|
62
|
+
console.log(chalk_1.default.hex("#C46A3A")(" compilation failed."));
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
// Write compiled files locally
|
|
66
|
+
(0, compiler_1.writeBundle)(bundleDir, bundle);
|
|
67
|
+
const youJsonPath = path.join(bundleDir, "you.json");
|
|
68
|
+
const youMdPath = path.join(bundleDir, "you.md");
|
|
69
|
+
const manifestPath = path.join(bundleDir, "manifest.json");
|
|
70
|
+
if (!fs.existsSync(youJsonPath)) {
|
|
71
|
+
console.log(chalk_1.default.hex("#C46A3A")(" you.json not found after compilation."));
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const youJson = JSON.parse(fs.readFileSync(youJsonPath, "utf-8"));
|
|
75
|
+
const youMd = fs.existsSync(youMdPath)
|
|
76
|
+
? fs.readFileSync(youMdPath, "utf-8")
|
|
77
|
+
: "";
|
|
78
|
+
const manifest = fs.existsSync(manifestPath)
|
|
79
|
+
? JSON.parse(fs.readFileSync(manifestPath, "utf-8"))
|
|
80
|
+
: {};
|
|
81
|
+
// Step 2: Upload to Convex
|
|
82
|
+
console.log(chalk_1.default.dim(" pushing to you.md..."));
|
|
83
|
+
try {
|
|
84
|
+
const uploadResult = await (0, api_1.uploadBundle)({
|
|
85
|
+
manifest,
|
|
86
|
+
youJson,
|
|
87
|
+
youMd,
|
|
88
|
+
});
|
|
89
|
+
if (!uploadResult.ok) {
|
|
90
|
+
console.log(chalk_1.default.hex("#C46A3A")(` push failed: ${JSON.stringify(uploadResult.data)}`));
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
console.log(chalk_1.default.green(" ✓") +
|
|
94
|
+
chalk_1.default.dim(` bundle uploaded (v${uploadResult.data?.version || "?"})`));
|
|
95
|
+
// Step 3: Auto-publish if --publish flag
|
|
96
|
+
if (options.publish !== false) {
|
|
97
|
+
console.log(chalk_1.default.dim(" publishing..."));
|
|
98
|
+
const pubResult = await (0, api_1.publishLatest)();
|
|
99
|
+
if (pubResult.ok) {
|
|
100
|
+
console.log(chalk_1.default.green(" ✓") +
|
|
101
|
+
chalk_1.default.dim(` published v${pubResult.data.version} → you.md/${pubResult.data.username}`));
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
console.log(chalk_1.default.hex("#C46A3A")(` publish failed: ${JSON.stringify(pubResult.data)}`));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
console.log("");
|
|
108
|
+
console.log(chalk_1.default.green(" push complete."));
|
|
109
|
+
}
|
|
110
|
+
catch (err) {
|
|
111
|
+
console.log(chalk_1.default.hex("#C46A3A")(` push failed: ${err instanceof Error ? err.message : String(err)}`));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=push.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAYA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAYA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAoInD"}
|
package/dist/commands/status.js
CHANGED
|
@@ -44,7 +44,7 @@ const config_1 = require("../lib/config");
|
|
|
44
44
|
const api_1 = require("../lib/api");
|
|
45
45
|
async function statusCommand() {
|
|
46
46
|
console.log("");
|
|
47
|
-
console.log("you.md -- status");
|
|
47
|
+
console.log(" " + chalk_1.default.bold("you.md") + chalk_1.default.dim(" -- status"));
|
|
48
48
|
console.log("");
|
|
49
49
|
// Check authentication
|
|
50
50
|
const authed = (0, config_1.isAuthenticated)();
|
|
@@ -56,7 +56,7 @@ async function statusCommand() {
|
|
|
56
56
|
(hasBundle ? chalk_1.default.green("initialized") : chalk_1.default.yellow("not initialized")));
|
|
57
57
|
if (!hasBundle) {
|
|
58
58
|
console.log("");
|
|
59
|
-
console.log("
|
|
59
|
+
console.log(" run " + chalk_1.default.cyan("youmd init") + " to create a local bundle.");
|
|
60
60
|
console.log("");
|
|
61
61
|
// Still show remote status if authenticated
|
|
62
62
|
if (authed) {
|
|
@@ -67,12 +67,13 @@ async function statusCommand() {
|
|
|
67
67
|
const bundleDir = (0, config_1.getLocalBundleDir)();
|
|
68
68
|
// Check manifest for build status
|
|
69
69
|
const manifestPath = path.join(bundleDir, "manifest.json");
|
|
70
|
+
let lastBuildTime = "";
|
|
70
71
|
if (fs.existsSync(manifestPath)) {
|
|
71
72
|
try {
|
|
72
73
|
const manifest = JSON.parse(fs.readFileSync(manifestPath, "utf-8"));
|
|
73
74
|
if (manifest.version > 0) {
|
|
74
75
|
console.log(" version: " + chalk_1.default.green("v" + manifest.version));
|
|
75
|
-
|
|
76
|
+
lastBuildTime = manifest.generatedAt;
|
|
76
77
|
}
|
|
77
78
|
else {
|
|
78
79
|
console.log(" version: " + chalk_1.default.yellow("not built"));
|
|
@@ -97,16 +98,58 @@ async function statusCommand() {
|
|
|
97
98
|
else {
|
|
98
99
|
console.log(" publish: " + chalk_1.default.yellow("never"));
|
|
99
100
|
}
|
|
100
|
-
//
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
101
|
+
// Last build timestamp
|
|
102
|
+
if (lastBuildTime) {
|
|
103
|
+
const builtDate = new Date(lastBuildTime);
|
|
104
|
+
const ago = timeSince(builtDate);
|
|
105
|
+
console.log(" built: " + chalk_1.default.dim(ago + " ago"));
|
|
106
|
+
}
|
|
107
|
+
// Rich section summary with tree characters
|
|
108
|
+
console.log("");
|
|
109
|
+
console.log(" " + chalk_1.default.bold("local bundle:"));
|
|
110
|
+
const dirs = [
|
|
111
|
+
{ dir: "profile", label: "profile" },
|
|
112
|
+
{ dir: "preferences", label: "preferences" },
|
|
113
|
+
];
|
|
114
|
+
for (let d = 0; d < dirs.length; d++) {
|
|
115
|
+
const { dir, label } = dirs[d];
|
|
116
|
+
const dirPath = path.join(bundleDir, dir);
|
|
117
|
+
if (!fs.existsSync(dirPath))
|
|
118
|
+
continue;
|
|
119
|
+
const files = fs
|
|
120
|
+
.readdirSync(dirPath)
|
|
121
|
+
.filter((f) => f.endsWith(".md"))
|
|
122
|
+
.sort();
|
|
123
|
+
if (files.length === 0)
|
|
124
|
+
continue;
|
|
125
|
+
const isLastDir = d === dirs.length - 1;
|
|
126
|
+
const dirConnector = isLastDir ? "\u2514\u2500\u2500" : "\u251C\u2500\u2500";
|
|
127
|
+
const dirPipe = isLastDir ? " " : "\u2502 ";
|
|
128
|
+
console.log(" " + dirConnector + " " + chalk_1.default.bold(label));
|
|
129
|
+
for (let i = 0; i < files.length; i++) {
|
|
130
|
+
const file = files[i];
|
|
131
|
+
const filePath = path.join(dirPath, file);
|
|
132
|
+
const raw = fs.readFileSync(filePath, "utf-8");
|
|
133
|
+
const contentLines = raw
|
|
134
|
+
.replace(/---[\s\S]*?---/, "")
|
|
135
|
+
.trim()
|
|
136
|
+
.split("\n")
|
|
137
|
+
.filter((l) => l.trim() && !l.startsWith("<!--"));
|
|
138
|
+
const hasContent = contentLines.length > 0;
|
|
139
|
+
const preview = hasContent
|
|
140
|
+
? contentLines[0].replace(/^#+\s*/, "").trim().slice(0, 45)
|
|
141
|
+
: "";
|
|
142
|
+
const isLast = i === files.length - 1;
|
|
143
|
+
const fileConnector = isLast ? "\u2514\u2500\u2500" : "\u251C\u2500\u2500";
|
|
144
|
+
const name = path.basename(file, ".md");
|
|
145
|
+
const statusIcon = hasContent ? chalk_1.default.green("\u2713") : chalk_1.default.dim("\u2022");
|
|
146
|
+
const nameStr = hasContent ? chalk_1.default.cyan(name + ".md") : chalk_1.default.dim(name + ".md");
|
|
147
|
+
const previewStr = hasContent
|
|
148
|
+
? chalk_1.default.dim(" -- " + preview)
|
|
149
|
+
: chalk_1.default.dim(" (empty)");
|
|
150
|
+
console.log(" " + dirPipe + fileConnector + " " + statusIcon + " " + nameStr + previewStr);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
110
153
|
// Remote status
|
|
111
154
|
if (authed) {
|
|
112
155
|
console.log("");
|
|
@@ -116,6 +159,19 @@ async function statusCommand() {
|
|
|
116
159
|
console.log("");
|
|
117
160
|
}
|
|
118
161
|
}
|
|
162
|
+
function timeSince(date) {
|
|
163
|
+
const seconds = Math.floor((Date.now() - date.getTime()) / 1000);
|
|
164
|
+
if (seconds < 60)
|
|
165
|
+
return "just now";
|
|
166
|
+
const minutes = Math.floor(seconds / 60);
|
|
167
|
+
if (minutes < 60)
|
|
168
|
+
return minutes + "m";
|
|
169
|
+
const hours = Math.floor(minutes / 60);
|
|
170
|
+
if (hours < 24)
|
|
171
|
+
return hours + "h";
|
|
172
|
+
const days = Math.floor(hours / 24);
|
|
173
|
+
return days + "d";
|
|
174
|
+
}
|
|
119
175
|
async function showRemoteStatus() {
|
|
120
176
|
console.log(" " + chalk_1.default.dim("--- remote ---"));
|
|
121
177
|
try {
|