youmd 0.2.1 → 0.3.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 +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/status.d.ts.map +1 -1
- package/dist/commands/status.js +69 -13
- package/dist/commands/status.js.map +1 -1
- 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 +7 -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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"}
|
|
@@ -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 {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAIA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"whoami.d.ts","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"AAIA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAiHnD"}
|
package/dist/commands/whoami.js
CHANGED
|
@@ -17,7 +17,7 @@ async function whoamiCommand() {
|
|
|
17
17
|
console.log("");
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
20
|
-
console.log("you.md -- current identity");
|
|
20
|
+
console.log(" " + chalk_1.default.bold("you.md") + chalk_1.default.dim(" -- current identity"));
|
|
21
21
|
console.log("");
|
|
22
22
|
// Show cached info first
|
|
23
23
|
if (config.username) {
|
|
@@ -65,8 +65,15 @@ async function whoamiCommand() {
|
|
|
65
65
|
console.log(" live: v" +
|
|
66
66
|
me.publishedBundle.version);
|
|
67
67
|
}
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
const profileUrl = "https://you.md/" + me.username;
|
|
69
|
+
console.log("");
|
|
70
|
+
console.log(" \u250C" + "\u2500".repeat(profileUrl.length + 4) + "\u2510");
|
|
71
|
+
console.log(" \u2502 " + chalk_1.default.cyan.bold(profileUrl) + " \u2502");
|
|
72
|
+
console.log(" \u2514" + "\u2500".repeat(profileUrl.length + 4) + "\u2518");
|
|
73
|
+
console.log("");
|
|
74
|
+
const displayName = me.displayName || me.username;
|
|
75
|
+
console.log(" " + chalk_1.default.bold(`you are ${displayName}.`) +
|
|
76
|
+
chalk_1.default.dim(" the agent internet knows you."));
|
|
70
77
|
console.log("");
|
|
71
78
|
// Update cached config
|
|
72
79
|
config.username = me.username;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":";;;;;AAIA,
|
|
1
|
+
{"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -14,11 +14,12 @@ const diff_1 = require("./commands/diff");
|
|
|
14
14
|
const preview_1 = require("./commands/preview");
|
|
15
15
|
const link_1 = require("./commands/link");
|
|
16
16
|
const keys_1 = require("./commands/keys");
|
|
17
|
+
const chat_1 = require("./commands/chat");
|
|
17
18
|
const program = new commander_1.Command();
|
|
18
19
|
program
|
|
19
20
|
.name("youmd")
|
|
20
|
-
.description("
|
|
21
|
-
.version("0.
|
|
21
|
+
.description("your identity file for the agent internet")
|
|
22
|
+
.version("0.3.0");
|
|
22
23
|
program
|
|
23
24
|
.command("init")
|
|
24
25
|
.description("Initialize a local .youmd/ identity bundle (interactive)")
|
|
@@ -62,6 +63,10 @@ program
|
|
|
62
63
|
.description("Start a local preview server")
|
|
63
64
|
.option("-p, --port <port>", "Port number", "3333")
|
|
64
65
|
.action(preview_1.previewCommand);
|
|
66
|
+
program
|
|
67
|
+
.command("chat")
|
|
68
|
+
.description("Talk to the You agent — update your profile, add sources, ask questions")
|
|
69
|
+
.action(chat_1.chatCommand);
|
|
65
70
|
const linkCmd = program
|
|
66
71
|
.command("link [subcommand]")
|
|
67
72
|
.description("Manage context links (create, list, revoke)")
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,0CAA8C;AAC9C,4CAAgD;AAChD,kDAAsD;AACtD,8CAAkD;AAClD,8CAAkD;AAClD,4CAAgD;AAChD,gDAAoD;AACpD,wCAA4C;AAC5C,0CAA8C;AAC9C,gDAAoD;AACpD,0CAA8C;AAC9C,0CAA8C;AAE9C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,0CAA8C;AAC9C,4CAAgD;AAChD,kDAAsD;AACtD,8CAAkD;AAClD,8CAAkD;AAClD,4CAAgD;AAChD,gDAAoD;AACpD,wCAA4C;AAC5C,0CAA8C;AAC9C,gDAAoD;AACpD,0CAA8C;AAC9C,0CAA8C;AAC9C,0CAA8C;AAE9C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,2CAA2C,CAAC;KACxD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,gBAAgB,EAAE,kDAAkD,CAAC;KAC5E,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,oBAAoB,EAAE,4BAA4B,CAAC;KAC1D,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,0BAAe,CAAC,CAAC;AAE3B,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,iCAAiC,CAAC;KAC9C,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,kEAAkE,CAAC;KAC/E,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,0CAA0C,CAAC;KACvD,MAAM,CAAC,wBAAc,CAAC,CAAC;AAE1B,OAAO;KACJ,OAAO,CAAC,oBAAoB,CAAC;KAC7B,WAAW,CAAC,gFAAgF,CAAC;KAC7F,MAAM,CAAC,gBAAU,CAAC,CAAC;AAEtB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,iCAAiC,CAAC;KAC9C,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CAAC,mBAAmB,EAAE,aAAa,EAAE,MAAM,CAAC;KAClD,MAAM,CAAC,wBAAc,CAAC,CAAC;AAE1B,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,yEAAyE,CAAC;KACtF,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,MAAM,OAAO,GAAG,OAAO;KACpB,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,EAAE,QAAQ,CAAC;KACjE,MAAM,CAAC,aAAa,EAAE,4CAA4C,EAAE,IAAI,CAAC;KACzE,MAAM,CAAC,gBAAgB,EAAE,wBAAwB,CAAC;KAClD,MAAM,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;AAE/C,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE;IACrC,OAAO,IAAA,kBAAW,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG,OAAO;KACpB,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;KAC9C,MAAM,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;AAE9C,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE;IACrC,OAAO,IAAA,kBAAW,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
package/dist/lib/onboarding.d.ts
CHANGED
|
@@ -1,3 +1,75 @@
|
|
|
1
|
+
declare const CHAT_PROXY_URL = "https://kindly-cassowary-600.convex.site/api/v1/chat";
|
|
2
|
+
declare const SCRAPE_URL = "https://kindly-cassowary-600.convex.site/api/v1/scrape";
|
|
3
|
+
declare const RESEARCH_URL = "https://kindly-cassowary-600.convex.site/api/v1/research";
|
|
4
|
+
declare const BUNDLE_SECTIONS: readonly ["profile/about.md", "profile/now.md", "profile/projects.md", "profile/values.md", "profile/links.md", "preferences/agent.md", "preferences/writing.md"];
|
|
5
|
+
type BundleSection = (typeof BUNDLE_SECTIONS)[number];
|
|
6
|
+
declare const SYSTEM_PROMPT = "you are the you.md agent. you help humans build their identity file for the agent internet. you are their first AI that truly knows them.\n\npersonality:\n- warm but not gushy. direct. a dash of dry wit when it lands naturally.\n- genuinely curious about people \u2014 you actually want to learn what makes them tick.\n- terminal-native tone: lowercase, no exclamation marks, no emoji, short sentences.\n- proactive \u2014 don't just wait for answers, connect dots, make observations, suggest things.\n- reference specific things you learn about them. make them feel seen.\n- you're like a sharp coworker who's also a great listener.\n\nyou're building a you-md/v1 identity bundle. the sections are:\n- profile/about.md \u2014 bio, background, narrative\n- profile/now.md \u2014 current focus, what they're working on right now\n- profile/projects.md \u2014 active projects with details\n- profile/values.md \u2014 core values and principles\n- profile/links.md \u2014 annotated links (website, socials, repos)\n- preferences/agent.md \u2014 how AI agents should interact with them\n- preferences/writing.md \u2014 their communication style\n\nyour job:\n1. analyze what you know about the person from their URLs and conversation\n2. ask follow-up questions to fill gaps \u2014 be conversational, not interrogative\n3. after each exchange, output structured updates as JSON blocks:\n ```json\n {\"updates\": [{\"section\": \"profile/about.md\", \"content\": \"...markdown content...\"}]}\n ```\n4. keep the conversation going until you have enough for a rich identity bundle\n5. never tell the user to edit markdown files themselves \u2014 you handle all of that\n6. reference specific things you learned about them\n7. if someone shares links, immediately offer to pull context from them\n8. be proactive: \"i noticed you mentioned X \u2014 want me to add that to your projects?\"\n9. occasionally remind them of what you've captured so far\n\nconversational style examples:\n- \"cool. let me go read your site.\"\n- \"ok so you're basically a linkedin whisperer. noted.\"\n- \"that's a solid stack. let me capture that.\"\n- \"interesting \u2014 so you're more on the strategy side than pure engineering?\"\n- \"i've got a good picture of what you do. want to tell me what you actually care about?\"\n- \"that's a lot of projects. which one keeps you up at night?\"\n- \"your bundle is looking solid. ready to publish, or should we keep going?\"\n\nrules for content in updates:\n- each section must start with a YAML frontmatter block (--- title: \"SectionTitle\" ---)\n- content should be real markdown, not HTML comments or placeholders\n- be substantive. write real prose based on what you know.\n- for links.md, format as: - **Label**: URL \u2014 brief annotation\n- for agent.md, describe how agents should interact with this person\n- for writing.md, capture their tone/style from how they've been talking to you\n\nwhen you think the profile is rich enough (at least about, now, projects, and values have substance), suggest finishing by saying something like \"your bundle is looking solid. ready to publish, or want to keep going?\"\n\nimportant: keep responses concise. 2-4 sentences max per turn. ask one good question at a time, not a list. be a conversation, not a questionnaire.";
|
|
7
|
+
declare function randomThinking(): string;
|
|
8
|
+
declare function getOpenRouterKey(): string | null;
|
|
9
|
+
declare function fetchWebsiteContent(url: string): Promise<string>;
|
|
10
|
+
interface ScrapeResult {
|
|
11
|
+
name?: string;
|
|
12
|
+
bio?: string;
|
|
13
|
+
followers?: number;
|
|
14
|
+
following?: number;
|
|
15
|
+
location?: string;
|
|
16
|
+
website?: string;
|
|
17
|
+
avatar?: string;
|
|
18
|
+
posts?: Array<{
|
|
19
|
+
text: string;
|
|
20
|
+
date?: string;
|
|
21
|
+
}>;
|
|
22
|
+
[key: string]: unknown;
|
|
23
|
+
}
|
|
24
|
+
declare function scrapeProfile(url: string): Promise<ScrapeResult | null>;
|
|
25
|
+
interface ResearchResult {
|
|
26
|
+
summary?: string;
|
|
27
|
+
findings?: string[];
|
|
28
|
+
content?: string;
|
|
29
|
+
[key: string]: unknown;
|
|
30
|
+
}
|
|
31
|
+
declare function researchUser(params: {
|
|
32
|
+
name: string;
|
|
33
|
+
username?: string;
|
|
34
|
+
email?: string;
|
|
35
|
+
links?: string[];
|
|
36
|
+
}): Promise<ResearchResult | null>;
|
|
37
|
+
declare class Spinner {
|
|
38
|
+
private interval;
|
|
39
|
+
private frames;
|
|
40
|
+
private frameIndex;
|
|
41
|
+
private label;
|
|
42
|
+
constructor(label?: string);
|
|
43
|
+
start(): void;
|
|
44
|
+
stop(): void;
|
|
45
|
+
}
|
|
46
|
+
interface ChatMessage {
|
|
47
|
+
role: "system" | "user" | "assistant";
|
|
48
|
+
content: string;
|
|
49
|
+
}
|
|
50
|
+
declare function callLLM(apiKey: string | null, messages: ChatMessage[]): Promise<string>;
|
|
51
|
+
interface SectionUpdate {
|
|
52
|
+
section: string;
|
|
53
|
+
content: string;
|
|
54
|
+
}
|
|
55
|
+
declare function parseUpdatesFromResponse(text: string): {
|
|
56
|
+
display: string;
|
|
57
|
+
updates: SectionUpdate[];
|
|
58
|
+
};
|
|
59
|
+
declare function writeSectionFile(bundleDir: string, section: string, content: string): void;
|
|
60
|
+
declare function sectionLabel(section: string): string;
|
|
61
|
+
declare function showBundlePreview(bundleDir: string): {
|
|
62
|
+
fileCount: number;
|
|
63
|
+
filledCount: number;
|
|
64
|
+
};
|
|
65
|
+
interface BasicInfo {
|
|
66
|
+
username: string;
|
|
67
|
+
name: string;
|
|
68
|
+
website: string;
|
|
69
|
+
linkedin: string;
|
|
70
|
+
twitter: string;
|
|
71
|
+
github: string;
|
|
72
|
+
}
|
|
1
73
|
export interface OnboardingResult {
|
|
2
74
|
username: string;
|
|
3
75
|
name: string;
|
|
@@ -5,7 +77,10 @@ export interface OnboardingResult {
|
|
|
5
77
|
website?: string;
|
|
6
78
|
linkedin?: string;
|
|
7
79
|
twitter?: string;
|
|
80
|
+
github?: string;
|
|
8
81
|
}
|
|
9
82
|
export declare function runOnboarding(): Promise<void>;
|
|
10
83
|
export declare function createBundle(info: OnboardingResult): Promise<void>;
|
|
84
|
+
export { callLLM, parseUpdatesFromResponse, writeSectionFile, sectionLabel, showBundlePreview, fetchWebsiteContent, scrapeProfile, researchUser, getOpenRouterKey, Spinner, randomThinking, SYSTEM_PROMPT, BUNDLE_SECTIONS, CHAT_PROXY_URL, SCRAPE_URL, RESEARCH_URL, };
|
|
85
|
+
export type { ChatMessage, SectionUpdate, BundleSection, BasicInfo, ScrapeResult, ResearchResult };
|
|
11
86
|
//# sourceMappingURL=onboarding.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/lib/onboarding.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/lib/onboarding.ts"],"names":[],"mappings":"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"}
|