youmd 0.6.26 → 0.7.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.
Files changed (52) hide show
  1. package/dist/commands/env.d.ts +9 -0
  2. package/dist/commands/env.d.ts.map +1 -0
  3. package/dist/commands/env.js +105 -0
  4. package/dist/commands/env.js.map +1 -0
  5. package/dist/commands/export.d.ts +1 -0
  6. package/dist/commands/export.d.ts.map +1 -1
  7. package/dist/commands/export.js +5 -0
  8. package/dist/commands/export.js.map +1 -1
  9. package/dist/commands/okf.d.ts +12 -0
  10. package/dist/commands/okf.d.ts.map +1 -0
  11. package/dist/commands/okf.js +411 -0
  12. package/dist/commands/okf.js.map +1 -0
  13. package/dist/commands/stack.d.ts.map +1 -1
  14. package/dist/commands/stack.js +291 -0
  15. package/dist/commands/stack.js.map +1 -1
  16. package/dist/index.js +38 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/lib/api.d.ts +33 -0
  19. package/dist/lib/api.d.ts.map +1 -1
  20. package/dist/lib/api.js +20 -0
  21. package/dist/lib/api.js.map +1 -1
  22. package/dist/lib/okf-bundle.d.ts +104 -0
  23. package/dist/lib/okf-bundle.d.ts.map +1 -0
  24. package/dist/lib/okf-bundle.js +473 -0
  25. package/dist/lib/okf-bundle.js.map +1 -0
  26. package/dist/lib/okf-health.d.ts +40 -0
  27. package/dist/lib/okf-health.d.ts.map +1 -0
  28. package/dist/lib/okf-health.js +152 -0
  29. package/dist/lib/okf-health.js.map +1 -0
  30. package/dist/lib/okf-stack.d.ts +47 -0
  31. package/dist/lib/okf-stack.d.ts.map +1 -0
  32. package/dist/lib/okf-stack.js +331 -0
  33. package/dist/lib/okf-stack.js.map +1 -0
  34. package/dist/lib/okf-view.d.ts +49 -0
  35. package/dist/lib/okf-view.d.ts.map +1 -0
  36. package/dist/lib/okf-view.js +197 -0
  37. package/dist/lib/okf-view.js.map +1 -0
  38. package/dist/lib/okf.d.ts +130 -0
  39. package/dist/lib/okf.d.ts.map +1 -0
  40. package/dist/lib/okf.js +263 -0
  41. package/dist/lib/okf.js.map +1 -0
  42. package/package.json +3 -2
  43. package/scripts/check-version-exists.mjs +40 -0
  44. package/scripts/env-vault/README.md +123 -0
  45. package/scripts/env-vault/backup.sh +167 -0
  46. package/scripts/env-vault/restore.sh +149 -0
  47. package/scripts/skillstack-sync/README.md +166 -0
  48. package/scripts/skillstack-sync/bootstrap-new-mac.sh +141 -0
  49. package/scripts/skillstack-sync/com.youmd.identity-sync.plist +36 -0
  50. package/scripts/skillstack-sync/com.youmd.skillstack-sync.plist +38 -0
  51. package/scripts/skillstack-sync/install-daemons.sh +75 -0
  52. package/scripts/skillstack-sync/sync.sh +320 -0
@@ -0,0 +1,9 @@
1
+ export declare function envBackupCommand(opts: {
2
+ root?: string;
3
+ out?: string;
4
+ }): void;
5
+ export declare function envRestoreCommand(vault: string, opts: {
6
+ root?: string;
7
+ force?: boolean;
8
+ }): void;
9
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"AAuBA,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAyB5E;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GACvC,IAAI,CAyBN"}
@@ -0,0 +1,105 @@
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.envBackupCommand = envBackupCommand;
40
+ exports.envRestoreCommand = envRestoreCommand;
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ const child_process = __importStar(require("child_process"));
44
+ const chalk_1 = __importDefault(require("chalk"));
45
+ const render_1 = require("../lib/render");
46
+ // The compiled file lives at dist/commands/env.js.
47
+ // Walking up two levels lands at the package root, then into scripts/.
48
+ function resolveScript(name) {
49
+ return path.join(__dirname, "..", "..", "scripts", "env-vault", name);
50
+ }
51
+ function assertScriptExists(scriptPath) {
52
+ if (!fs.existsSync(scriptPath)) {
53
+ console.error(chalk_1.default.hex("#C46A3A")(` error: script not found: ${scriptPath}`) +
54
+ "\n " +
55
+ chalk_1.default.dim("run `npm run build` from the cli/ directory to ensure scripts are in place."));
56
+ process.exit(1);
57
+ }
58
+ }
59
+ function envBackupCommand(opts) {
60
+ const scriptPath = resolveScript("backup.sh");
61
+ assertScriptExists(scriptPath);
62
+ const args = [];
63
+ if (opts.root)
64
+ args.push("--root", opts.root);
65
+ if (opts.out)
66
+ args.push("--out", opts.out);
67
+ // Print the spinner line then stop it before handing the TTY to bash
68
+ // (the script needs an interactive TTY for the passphrase prompt).
69
+ const spinner = new render_1.BrailleSpinner("sealing your env vault...");
70
+ spinner.start();
71
+ spinner.stop("handing off to vault script");
72
+ console.log("");
73
+ const result = child_process.spawnSync("bash", [scriptPath, ...args], {
74
+ stdio: "inherit",
75
+ });
76
+ if (result.error) {
77
+ console.error(chalk_1.default.hex("#C46A3A")(` error spawning backup script: ${result.error.message}`));
78
+ process.exit(1);
79
+ }
80
+ process.exit(result.status ?? 0);
81
+ }
82
+ function envRestoreCommand(vault, opts) {
83
+ const scriptPath = resolveScript("restore.sh");
84
+ assertScriptExists(scriptPath);
85
+ // Build arg list — restore.sh expects: [--force] [--root <path>] <vault-file>
86
+ const args = [];
87
+ if (opts.force)
88
+ args.push("--force");
89
+ if (opts.root)
90
+ args.push("--root", opts.root);
91
+ args.push(vault);
92
+ const spinner = new render_1.BrailleSpinner("opening the vault...");
93
+ spinner.start();
94
+ spinner.stop("handing off to restore script");
95
+ console.log("");
96
+ const result = child_process.spawnSync("bash", [scriptPath, ...args], {
97
+ stdio: "inherit",
98
+ });
99
+ if (result.error) {
100
+ console.error(chalk_1.default.hex("#C46A3A")(` error spawning restore script: ${result.error.message}`));
101
+ process.exit(1);
102
+ }
103
+ process.exit(result.status ?? 0);
104
+ }
105
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/commands/env.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  interface ExportOptions {
2
2
  json?: boolean;
3
3
  md?: boolean;
4
+ okf?: boolean;
4
5
  output?: string;
5
6
  }
6
7
  export declare function exportCommand(options: ExportOptions): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAMA,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DzE"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAOA,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAmEzE"}
@@ -42,7 +42,12 @@ const path = __importStar(require("path"));
42
42
  const chalk_1 = __importDefault(require("chalk"));
43
43
  const config_1 = require("../lib/config");
44
44
  const compiler_1 = require("../lib/compiler");
45
+ const okf_1 = require("./okf");
45
46
  async function exportCommand(options) {
47
+ // `youmd export --okf` is a shortcut for `youmd okf export`.
48
+ if (options.okf) {
49
+ return (0, okf_1.okfCommand)("export", undefined, { out: options.output });
50
+ }
46
51
  console.log("");
47
52
  const bundleDir = (0, config_1.resolveActiveBundleDir)();
48
53
  if (!bundleDir) {
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ interface OkfOptions {
2
+ out?: string;
3
+ stack?: string;
4
+ skills?: boolean;
5
+ author?: string;
6
+ confidence?: string;
7
+ staleDays?: string;
8
+ json?: boolean;
9
+ }
10
+ export declare function okfCommand(subcommand: string | undefined, arg: string | undefined, options: OkfOptions): Promise<void>;
11
+ export {};
12
+ //# sourceMappingURL=okf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"okf.d.ts","sourceRoot":"","sources":["../../src/commands/okf.ts"],"names":[],"mappings":"AAoBA,UAAU,UAAU;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA+CD,wBAAsB,UAAU,CAC9B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CAoBf"}
@@ -0,0 +1,411 @@
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.okfCommand = okfCommand;
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ const chalk_1 = __importDefault(require("chalk"));
43
+ const gray_matter_1 = __importDefault(require("gray-matter"));
44
+ const config_1 = require("../lib/config");
45
+ const compiler_1 = require("../lib/compiler");
46
+ const okf_bundle_1 = require("../lib/okf-bundle");
47
+ const okf_stack_1 = require("../lib/okf-stack");
48
+ const youstack_1 = require("../lib/youstack");
49
+ const okf_1 = require("../lib/okf");
50
+ const okf_health_1 = require("../lib/okf-health");
51
+ const okf_view_1 = require("../lib/okf-view");
52
+ /** Resolve the default `last_updated_by` author: --author, else the logged-in
53
+ * username, else "user". */
54
+ function resolveAuthor(options) {
55
+ if (options.author && options.author.trim())
56
+ return options.author.trim();
57
+ const username = (0, config_1.readGlobalConfig)().username;
58
+ return username && username.trim() ? username.trim() : "user";
59
+ }
60
+ function titleCase(slug) {
61
+ return slug
62
+ .split(/[-_.]/)
63
+ .filter(Boolean)
64
+ .map((w) => w.charAt(0).toUpperCase() + w.slice(1))
65
+ .join(" ");
66
+ }
67
+ /** Collect installed skills (~/.youmd/skills/<name>/SKILL.md) as sections. */
68
+ function collectInstalledSkillSections() {
69
+ const dir = (0, config_1.getSkillsDir)();
70
+ if (!fs.existsSync(dir))
71
+ return [];
72
+ const sections = [];
73
+ for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
74
+ if (!entry.isDirectory())
75
+ continue;
76
+ const skillMd = path.join(dir, entry.name, "SKILL.md");
77
+ if (!fs.existsSync(skillMd))
78
+ continue;
79
+ const { data, content } = (0, gray_matter_1.default)(fs.readFileSync(skillMd, "utf-8"));
80
+ sections.push({
81
+ dir: "skills",
82
+ slug: entry.name,
83
+ title: (typeof data.title === "string" && data.title.trim()) ||
84
+ (typeof data.name === "string" && data.name.trim()) ||
85
+ titleCase(entry.name),
86
+ body: content.trim(),
87
+ timestamp: typeof data.timestamp === "string" ? data.timestamp : undefined,
88
+ // Skills are generated/interpolated by the skill system, not hand-authored
89
+ // — stamp them agent-authored unless the SKILL.md says otherwise.
90
+ lastUpdatedBy: typeof data.last_updated_by === "string" ? data.last_updated_by : "agent",
91
+ confidence: typeof data.confidence === "string" ? data.confidence : undefined,
92
+ });
93
+ }
94
+ return sections;
95
+ }
96
+ async function okfCommand(subcommand, arg, options) {
97
+ const sub = (subcommand || "export").toLowerCase();
98
+ if (sub === "export")
99
+ return exportSub(arg, options);
100
+ if (sub === "import")
101
+ return importSub(arg, options);
102
+ if (sub === "validate" || sub === "check")
103
+ return validateSub(arg, options);
104
+ if (sub === "health" || sub === "doctor")
105
+ return healthSub(arg, options);
106
+ if (sub === "view")
107
+ return viewSub(arg, options);
108
+ console.log("");
109
+ console.log(chalk_1.default.yellow(` unknown okf subcommand: ${sub}`));
110
+ console.log("");
111
+ console.log(" " + chalk_1.default.dim("usage:"));
112
+ console.log(" " + chalk_1.default.cyan("youmd okf export") + chalk_1.default.dim(" export your identity bundle as OKF"));
113
+ console.log(" " + chalk_1.default.cyan("youmd okf export --stack") + chalk_1.default.dim(" export a YouStack as OKF"));
114
+ console.log(" " + chalk_1.default.cyan("youmd okf import <dir>") + chalk_1.default.dim(" import an OKF bundle into You.md"));
115
+ console.log(" " + chalk_1.default.cyan("youmd okf validate <dir>") + chalk_1.default.dim(" check an OKF bundle for conformance"));
116
+ console.log(" " + chalk_1.default.cyan("youmd okf health [dir]") + chalk_1.default.dim(" audit brain health (orphans, stale, un-sourced, conflicts)"));
117
+ console.log(" " + chalk_1.default.cyan("youmd okf view [dir]") + chalk_1.default.dim(" render a local HTML brain page (graph + health)"));
118
+ console.log("");
119
+ }
120
+ // ─── export ────────────────────────────────────────────────────────────
121
+ async function exportSub(arg, options) {
122
+ console.log("");
123
+ // Stack export: --stack [path] or positional path when --stack is a flag.
124
+ if (options.stack !== undefined || arg) {
125
+ const stackPath = typeof options.stack === "string" ? options.stack : arg;
126
+ return exportStack(stackPath, options);
127
+ }
128
+ const bundleDir = (0, config_1.resolveActiveBundleDir)();
129
+ if (!bundleDir) {
130
+ console.log(chalk_1.default.yellow(" no active bundle found"));
131
+ console.log("");
132
+ console.log(" run " + chalk_1.default.cyan("youmd init") + " to create one.");
133
+ console.log("");
134
+ return;
135
+ }
136
+ // Ensure compiled artifacts exist (you.json/manifest) so timestamps/name resolve.
137
+ const youJsonPath = path.join(bundleDir, "you.json");
138
+ if (!fs.existsSync(youJsonPath)) {
139
+ const result = (0, compiler_1.compileBundle)(bundleDir);
140
+ (0, compiler_1.writeBundle)(bundleDir, result);
141
+ }
142
+ const outDir = path.resolve(process.cwd(), options.out || "okf");
143
+ const includeSkills = options.skills !== false;
144
+ const extraSections = includeSkills ? collectInstalledSkillSections() : [];
145
+ const author = resolveAuthor(options);
146
+ const result = (0, okf_bundle_1.exportBundleToOkf)(bundleDir, outDir, {
147
+ extraSections,
148
+ defaultAuthor: author,
149
+ defaultConfidence: options.confidence,
150
+ });
151
+ if (options.json) {
152
+ console.log(JSON.stringify({
153
+ ok: result.validation.ok,
154
+ okfVersion: okf_1.OKF_VERSION,
155
+ outDir: result.outDir,
156
+ concepts: result.conceptCount,
157
+ files: result.files,
158
+ errors: result.validation.errors,
159
+ warnings: result.validation.warnings,
160
+ }, null, 2));
161
+ return;
162
+ }
163
+ console.log(chalk_1.default.green(" exported OKF bundle") + chalk_1.default.dim(` (okf/${okf_1.OKF_VERSION})`));
164
+ console.log("");
165
+ console.log(" " + chalk_1.default.dim(result.outDir));
166
+ console.log(" " + chalk_1.default.dim(`${result.conceptCount} concepts, ${result.files.length} files`));
167
+ if (includeSkills && extraSections.length > 0) {
168
+ console.log(" " + chalk_1.default.dim(`${extraSections.length} installed skills included`));
169
+ }
170
+ printValidation(result.validation);
171
+ console.log("");
172
+ console.log(" " + chalk_1.default.dim("any OKF-aware agent or tool can read this directory natively."));
173
+ console.log("");
174
+ }
175
+ async function exportStack(stackPath, options) {
176
+ let loaded;
177
+ try {
178
+ loaded = (0, youstack_1.loadYouStackManifest)(stackPath);
179
+ }
180
+ catch (err) {
181
+ console.log(chalk_1.default.yellow(` ${err.message}`));
182
+ console.log("");
183
+ return;
184
+ }
185
+ if (!loaded.validation.ok) {
186
+ console.log(chalk_1.default.yellow(" stack manifest has validation errors:"));
187
+ for (const e of loaded.validation.errors)
188
+ console.log(" " + chalk_1.default.red(`- ${e}`));
189
+ console.log("");
190
+ console.log(" " + chalk_1.default.dim("exporting anyway; fix the manifest for a clean OKF bundle."));
191
+ console.log("");
192
+ }
193
+ const outDir = path.resolve(process.cwd(), options.out || `okf-${loaded.manifest.slug}`);
194
+ const result = (0, okf_stack_1.exportYouStackToOkf)(loaded.manifest, loaded.rootDir, outDir, {
195
+ defaultAuthor: resolveAuthor(options),
196
+ defaultConfidence: options.confidence,
197
+ });
198
+ if (options.json) {
199
+ console.log(JSON.stringify({
200
+ ok: result.validation.ok,
201
+ okfVersion: okf_1.OKF_VERSION,
202
+ stack: loaded.manifest.slug,
203
+ outDir: result.outDir,
204
+ concepts: result.conceptCount,
205
+ files: result.written,
206
+ errors: result.validation.errors,
207
+ warnings: result.validation.warnings,
208
+ }, null, 2));
209
+ return;
210
+ }
211
+ console.log(chalk_1.default.green(` exported YouStack as OKF`) +
212
+ chalk_1.default.dim(` ${loaded.manifest.name} (${loaded.manifest.slug})`));
213
+ console.log("");
214
+ console.log(" " + chalk_1.default.dim(result.outDir));
215
+ console.log(" " + chalk_1.default.dim(`${result.conceptCount} concepts, ${result.written.length} files`));
216
+ console.log(" " + chalk_1.default.dim("youstack.json carried alongside — still installable."));
217
+ printValidation(result.validation);
218
+ console.log("");
219
+ }
220
+ // ─── import ──────────────────────────────────────────────────────────────
221
+ async function importSub(arg, options) {
222
+ console.log("");
223
+ if (!arg) {
224
+ console.log(chalk_1.default.yellow(" usage: ") + chalk_1.default.cyan("youmd okf import <okf-dir> [--out <bundle-dir>]"));
225
+ console.log("");
226
+ return;
227
+ }
228
+ const okfDir = path.resolve(process.cwd(), arg);
229
+ if (!fs.existsSync(okfDir) || !fs.statSync(okfDir).isDirectory()) {
230
+ console.log(chalk_1.default.yellow(` not a directory: ${okfDir}`));
231
+ console.log("");
232
+ return;
233
+ }
234
+ // Validate before importing so we never write from a malformed bundle.
235
+ const files = (0, okf_bundle_1.readOkfBundleDir)(okfDir);
236
+ const validation = (0, okf_1.validateOkfBundle)(files.map((f) => ({ path: f.path, content: f.content })));
237
+ if (!validation.ok) {
238
+ console.log(chalk_1.default.yellow(" OKF bundle is not conformant:"));
239
+ for (const e of validation.errors)
240
+ console.log(" " + chalk_1.default.red(`- ${e.file}: ${e.message}`));
241
+ console.log("");
242
+ console.log(" " + chalk_1.default.dim("fix the bundle or run") + " " + chalk_1.default.cyan(`youmd okf validate ${arg}`));
243
+ console.log("");
244
+ return;
245
+ }
246
+ const outDir = path.resolve(process.cwd(), options.out || "imported-okf");
247
+ const result = (0, okf_bundle_1.importOkfToBundle)(okfDir, outDir);
248
+ if (options.json) {
249
+ console.log(JSON.stringify({ ok: true, outDir: result.outDir, sections: result.sectionCount, written: result.written }, null, 2));
250
+ return;
251
+ }
252
+ console.log(chalk_1.default.green(" imported OKF bundle"));
253
+ console.log("");
254
+ console.log(" " + chalk_1.default.dim(result.outDir));
255
+ console.log(" " + chalk_1.default.dim(`${result.sectionCount} sections written`));
256
+ console.log("");
257
+ console.log(" " + chalk_1.default.dim("next:") + " " + chalk_1.default.cyan("youmd build") + chalk_1.default.dim(" then ") + chalk_1.default.cyan("youmd push") + chalk_1.default.dim(" to sync it."));
258
+ console.log("");
259
+ }
260
+ // ─── validate ────────────────────────────────────────────────────────────
261
+ async function validateSub(arg, options) {
262
+ console.log("");
263
+ const target = path.resolve(process.cwd(), arg || ".");
264
+ if (!fs.existsSync(target) || !fs.statSync(target).isDirectory()) {
265
+ console.log(chalk_1.default.yellow(` not a directory: ${target}`));
266
+ console.log("");
267
+ return;
268
+ }
269
+ const files = (0, okf_bundle_1.readOkfBundleDir)(target);
270
+ const validation = (0, okf_1.validateOkfBundle)(files.map((f) => ({ path: f.path, content: f.content })));
271
+ if (options.json) {
272
+ console.log(JSON.stringify({ ok: validation.ok, dir: target, concepts: files.length, errors: validation.errors, warnings: validation.warnings }, null, 2));
273
+ return;
274
+ }
275
+ console.log(" " + chalk_1.default.dim(target));
276
+ console.log(" " + chalk_1.default.dim(`${files.length} markdown files`));
277
+ printValidation(validation);
278
+ if (validation.ok) {
279
+ console.log("");
280
+ console.log(" " + chalk_1.default.green(`conformant OKF bundle (okf/${okf_1.OKF_VERSION}).`));
281
+ }
282
+ console.log("");
283
+ }
284
+ // ─── shared bundle resolution ──────────────────────────────────────────────
285
+ /** Resolve OKF files from a directory arg, or build the live bundle in memory. */
286
+ function loadOkfFiles(arg, options) {
287
+ if (arg) {
288
+ const dir = path.resolve(process.cwd(), arg);
289
+ if (!fs.existsSync(dir) || !fs.statSync(dir).isDirectory()) {
290
+ console.log(chalk_1.default.yellow(` not a directory: ${dir}`));
291
+ console.log("");
292
+ return null;
293
+ }
294
+ return { files: (0, okf_bundle_1.readOkfBundleDir)(dir), label: dir };
295
+ }
296
+ const bundleDir = (0, config_1.resolveActiveBundleDir)();
297
+ if (!bundleDir) {
298
+ console.log(chalk_1.default.yellow(" no active bundle found — run ") + chalk_1.default.cyan("youmd init"));
299
+ console.log("");
300
+ return null;
301
+ }
302
+ const sections = [...(0, okf_bundle_1.collectBundleSections)(bundleDir), ...collectInstalledSkillSections()];
303
+ const files = (0, okf_bundle_1.buildOkfBundleFiles)(sections, { defaultAuthor: resolveAuthor(options) });
304
+ return { files, label: `${bundleDir} (live)` };
305
+ }
306
+ // ─── health ──────────────────────────────────────────────────────────────
307
+ async function healthSub(arg, options) {
308
+ console.log("");
309
+ const staleDays = options.staleDays ? Number(options.staleDays) : 30;
310
+ const loaded = loadOkfFiles(arg, options);
311
+ if (!loaded)
312
+ return;
313
+ const { files, label } = loaded;
314
+ const report = (0, okf_health_1.auditOkfBundle)(files, { staleDays });
315
+ if (options.json) {
316
+ console.log(JSON.stringify(report, null, 2));
317
+ return;
318
+ }
319
+ printHealth(report, label);
320
+ }
321
+ function printHealth(report, label) {
322
+ console.log(" " + chalk_1.default.dim(label));
323
+ const scoreColor = report.score >= 80 ? chalk_1.default.green : report.score >= 50 ? chalk_1.default.yellow : chalk_1.default.red;
324
+ console.log(" " +
325
+ scoreColor(`brain health: ${report.score}/100`) +
326
+ chalk_1.default.dim(` (${report.totalConcepts} concepts)`));
327
+ console.log("");
328
+ const labels = {
329
+ missing_type: "missing type (error)",
330
+ needs_review: "needs human review",
331
+ conflict: "unresolved conflicts",
332
+ stale: "stale",
333
+ no_description: "no description",
334
+ unsourced: "un-sourced",
335
+ orphan: "orphans",
336
+ };
337
+ const order = ["missing_type", "conflict", "needs_review", "stale", "unsourced", "no_description", "orphan"];
338
+ let printedAny = false;
339
+ for (const category of order) {
340
+ const count = report.summary[category];
341
+ if (!count)
342
+ continue;
343
+ printedAny = true;
344
+ const examples = report.issues
345
+ .filter((i) => i.category === category)
346
+ .slice(0, 5)
347
+ .map((i) => i.file.replace(/\.md$/, ""));
348
+ const color = category === "missing_type" ? chalk_1.default.red : category === "orphan" || category === "no_description" || category === "unsourced" ? chalk_1.default.dim : chalk_1.default.yellow;
349
+ console.log(" " + color(`${labels[category]}: ${count}`));
350
+ console.log(" " + chalk_1.default.dim(examples.join(", ") + (count > 5 ? ", …" : "")));
351
+ }
352
+ console.log("");
353
+ if (report.ok && report.score === 100) {
354
+ console.log(" " + chalk_1.default.green("clean — nothing to review."));
355
+ }
356
+ else if (report.ok) {
357
+ console.log(" " + chalk_1.default.dim("no errors. advisory items above are review candidates, not failures."));
358
+ }
359
+ else {
360
+ console.log(" " + chalk_1.default.red("errors present — fix missing `type` fields above."));
361
+ }
362
+ if (!printedAny) {
363
+ console.log(" " + chalk_1.default.green("no issues found."));
364
+ }
365
+ console.log("");
366
+ }
367
+ // ─── view ──────────────────────────────────────────────────────────────────
368
+ async function viewSub(arg, options) {
369
+ console.log("");
370
+ const loaded = loadOkfFiles(arg, options);
371
+ if (!loaded)
372
+ return;
373
+ const { files, label } = loaded;
374
+ const view = (0, okf_view_1.buildBrainView)(files, {
375
+ staleDays: options.staleDays ? Number(options.staleDays) : undefined,
376
+ });
377
+ if (options.json) {
378
+ console.log(JSON.stringify(view, null, 2));
379
+ return;
380
+ }
381
+ const html = (0, okf_view_1.renderBrainHtml)(view);
382
+ const outPath = path.resolve(process.cwd(), options.out || "you-brain.html");
383
+ fs.writeFileSync(outPath, html);
384
+ console.log(chalk_1.default.green(" rendered brain page"));
385
+ console.log("");
386
+ console.log(" " + chalk_1.default.dim(label));
387
+ console.log(" " + chalk_1.default.dim(outPath));
388
+ console.log(" " +
389
+ chalk_1.default.dim(`${view.concepts.length} concepts, ${view.edges.length} links, health ${view.health.score}/100`));
390
+ console.log("");
391
+ console.log(" " + chalk_1.default.dim("open it in a browser — same OKF model the web app and desktop client render."));
392
+ console.log("");
393
+ }
394
+ // ─── shared ──────────────────────────────────────────────────────────────
395
+ function printValidation(validation) {
396
+ if (validation.errors.length > 0) {
397
+ console.log("");
398
+ console.log(" " + chalk_1.default.red(`${validation.errors.length} error(s):`));
399
+ for (const e of validation.errors)
400
+ console.log(" " + chalk_1.default.red(`- ${e.file}: ${e.message}`));
401
+ }
402
+ if (validation.warnings.length > 0) {
403
+ console.log(" " + chalk_1.default.yellow(`${validation.warnings.length} warning(s):`));
404
+ for (const w of validation.warnings)
405
+ console.log(" " + chalk_1.default.dim(`- ${w.file}: ${w.message}`));
406
+ }
407
+ if (validation.ok && validation.warnings.length === 0) {
408
+ console.log(" " + chalk_1.default.green("conformant — 0 errors"));
409
+ }
410
+ }
411
+ //# sourceMappingURL=okf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"okf.js","sourceRoot":"","sources":["../../src/commands/okf.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../src/commands/stack.ts"],"names":[],"mappings":"AAiCA,UAAU,mBAAmB;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAwCD,wBAAsB,YAAY,CAChC,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CA8lBf"}
1
+ {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../src/commands/stack.ts"],"names":[],"mappings":"AA2CA,UAAU,mBAAmB;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAkDD,wBAAsB,YAAY,CAChC,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CA04Bf"}