@hasna/configs 0.2.37 → 0.2.38
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/cli/index.js +25 -26
- package/dist/index.js +4 -5
- package/dist/mcp/index.js +1 -1
- package/dist/server/index.js +1 -1
- package/dist/status.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -13649,7 +13649,6 @@ function ensurePlatformProfiles(db) {
|
|
|
13649
13649
|
init_database();
|
|
13650
13650
|
init_configs();
|
|
13651
13651
|
import { existsSync as existsSync12, readFileSync as readFileSync6 } from "fs";
|
|
13652
|
-
import { createRequire as createRequire2 } from "module";
|
|
13653
13652
|
|
|
13654
13653
|
// src/db/machines.ts
|
|
13655
13654
|
init_database();
|
|
@@ -13661,8 +13660,8 @@ function listMachines(db) {
|
|
|
13661
13660
|
// src/status.ts
|
|
13662
13661
|
init_apply();
|
|
13663
13662
|
init_redact();
|
|
13664
|
-
var
|
|
13665
|
-
var
|
|
13663
|
+
var PACKAGE_NAME = "@hasna/configs";
|
|
13664
|
+
var PACKAGE_VERSION = "0.2.38";
|
|
13666
13665
|
function activeDatabaseEnv() {
|
|
13667
13666
|
if (process.env["HASNA_CONFIGS_DB_PATH"])
|
|
13668
13667
|
return "HASNA_CONFIGS_DB_PATH";
|
|
@@ -13733,8 +13732,8 @@ function getConfigsStatus(db = getDatabase()) {
|
|
|
13733
13732
|
service: "configs",
|
|
13734
13733
|
schemaVersion: "1.0",
|
|
13735
13734
|
package: {
|
|
13736
|
-
name:
|
|
13737
|
-
version:
|
|
13735
|
+
name: PACKAGE_NAME,
|
|
13736
|
+
version: PACKAGE_VERSION
|
|
13738
13737
|
},
|
|
13739
13738
|
env: {
|
|
13740
13739
|
database: {
|
|
@@ -13781,8 +13780,8 @@ function getConfigsStatus(db = getDatabase()) {
|
|
|
13781
13780
|
}
|
|
13782
13781
|
|
|
13783
13782
|
// src/cli/index.tsx
|
|
13784
|
-
import { createRequire as
|
|
13785
|
-
var
|
|
13783
|
+
import { createRequire as createRequire2 } from "module";
|
|
13784
|
+
var pkg = createRequire2(import.meta.url)("../../package.json");
|
|
13786
13785
|
function fmtConfig(c, format) {
|
|
13787
13786
|
if (format === "json")
|
|
13788
13787
|
return JSON.stringify(c, null, 2);
|
|
@@ -14034,7 +14033,7 @@ program.command("import <file>").description("Import configs from a tar.gz bundl
|
|
|
14034
14033
|
program.command("whoami").description("Show setup summary").action(async () => {
|
|
14035
14034
|
const dbPath = process.env["CONFIGS_DB_PATH"] || join13(homedir11(), ".hasna", "configs", "configs.db");
|
|
14036
14035
|
const stats = getConfigStats();
|
|
14037
|
-
console.log(chalk.bold("@hasna/configs") + chalk.dim(" v" +
|
|
14036
|
+
console.log(chalk.bold("@hasna/configs") + chalk.dim(" v" + pkg.version));
|
|
14038
14037
|
console.log(chalk.cyan("DB:") + " " + dbPath);
|
|
14039
14038
|
console.log(chalk.cyan("Total configs:") + " " + (stats["total"] || 0));
|
|
14040
14039
|
console.log();
|
|
@@ -14465,7 +14464,7 @@ program.command("status").description("Health check: total configs, drift from d
|
|
|
14465
14464
|
console.log(JSON.stringify(status, null, 2));
|
|
14466
14465
|
return;
|
|
14467
14466
|
}
|
|
14468
|
-
console.log(chalk.bold("@hasna/configs") + chalk.dim(` v${
|
|
14467
|
+
console.log(chalk.bold("@hasna/configs") + chalk.dim(` v${pkg.version}`));
|
|
14469
14468
|
console.log(chalk.cyan("Database:") + ` ${status.env.database.kind} (${status.env.database.active ?? "default"})`);
|
|
14470
14469
|
console.log(chalk.cyan("Total:") + ` ${status.counts.configs.total} configs
|
|
14471
14470
|
`);
|
|
@@ -14773,39 +14772,39 @@ program.command("bootstrap").description("Install the full @hasna ecosystem: CLI
|
|
|
14773
14772
|
console.log(chalk.bold("@hasna/configs bootstrap") + chalk.dim(` \u2014 installing ${packages.length} ecosystem packages
|
|
14774
14773
|
`));
|
|
14775
14774
|
console.log(chalk.cyan("Installing CLI tools:"));
|
|
14776
|
-
for (const
|
|
14775
|
+
for (const pkg2 of packages) {
|
|
14777
14776
|
if (opts.dryRun) {
|
|
14778
|
-
console.log(chalk.dim(` would install: ${
|
|
14777
|
+
console.log(chalk.dim(` would install: ${pkg2.name}`));
|
|
14779
14778
|
continue;
|
|
14780
14779
|
}
|
|
14781
14780
|
try {
|
|
14782
|
-
const proc = Bun.spawn(["bun", "install", "-g",
|
|
14781
|
+
const proc = Bun.spawn(["bun", "install", "-g", pkg2.name], { stdout: "pipe", stderr: "pipe" });
|
|
14783
14782
|
const code = await proc.exited;
|
|
14784
14783
|
if (code === 0)
|
|
14785
|
-
console.log(chalk.green(" \u2713 ") +
|
|
14784
|
+
console.log(chalk.green(" \u2713 ") + pkg2.name);
|
|
14786
14785
|
else
|
|
14787
|
-
console.log(chalk.yellow(" \u26A0 ") +
|
|
14786
|
+
console.log(chalk.yellow(" \u26A0 ") + pkg2.name + chalk.dim(" (may already be installed)"));
|
|
14788
14787
|
} catch {
|
|
14789
|
-
console.log(chalk.yellow(" \u26A0 ") +
|
|
14788
|
+
console.log(chalk.yellow(" \u26A0 ") + pkg2.name + chalk.dim(" (skipped)"));
|
|
14790
14789
|
}
|
|
14791
14790
|
}
|
|
14792
14791
|
if (!opts.skipMcp) {
|
|
14793
14792
|
console.log(chalk.cyan(`
|
|
14794
14793
|
Registering MCP servers in Claude Code:`));
|
|
14795
|
-
for (const
|
|
14794
|
+
for (const pkg2 of packages) {
|
|
14796
14795
|
if (opts.dryRun) {
|
|
14797
|
-
console.log(chalk.dim(` would register: ${
|
|
14796
|
+
console.log(chalk.dim(` would register: ${pkg2.mcp}`));
|
|
14798
14797
|
continue;
|
|
14799
14798
|
}
|
|
14800
14799
|
try {
|
|
14801
|
-
const proc = Bun.spawn(["claude", "mcp", "add", "--transport", "stdio", "--scope", "user",
|
|
14800
|
+
const proc = Bun.spawn(["claude", "mcp", "add", "--transport", "stdio", "--scope", "user", pkg2.bin, "--", pkg2.mcp], { stdout: "pipe", stderr: "pipe" });
|
|
14802
14801
|
const code = await proc.exited;
|
|
14803
14802
|
if (code === 0)
|
|
14804
|
-
console.log(chalk.green(" \u2713 ") +
|
|
14803
|
+
console.log(chalk.green(" \u2713 ") + pkg2.bin);
|
|
14805
14804
|
else
|
|
14806
|
-
console.log(chalk.dim(" = ") +
|
|
14805
|
+
console.log(chalk.dim(" = ") + pkg2.bin + chalk.dim(" (already registered)"));
|
|
14807
14806
|
} catch {
|
|
14808
|
-
console.log(chalk.yellow(" \u26A0 ") +
|
|
14807
|
+
console.log(chalk.yellow(" \u26A0 ") + pkg2.bin + chalk.dim(" (skipped)"));
|
|
14809
14808
|
}
|
|
14810
14809
|
}
|
|
14811
14810
|
}
|
|
@@ -14833,10 +14832,10 @@ program.command("update").description("Check for updates and install latest vers
|
|
|
14833
14832
|
const proc = Bun.spawn(["npm", "view", "@hasna/configs", "version"], { stdout: "pipe", stderr: "pipe" });
|
|
14834
14833
|
const latest = (await new Response(proc.stdout).text()).trim();
|
|
14835
14834
|
await proc.exited;
|
|
14836
|
-
if (latest ===
|
|
14837
|
-
console.log(chalk.green("\u2713") + ` Already on latest version (${
|
|
14835
|
+
if (latest === pkg.version) {
|
|
14836
|
+
console.log(chalk.green("\u2713") + ` Already on latest version (${pkg.version})`);
|
|
14838
14837
|
} else {
|
|
14839
|
-
console.log(`Current: ${chalk.dim(
|
|
14838
|
+
console.log(`Current: ${chalk.dim(pkg.version)} \u2192 Latest: ${chalk.green(latest)}`);
|
|
14840
14839
|
if (!opts.check) {
|
|
14841
14840
|
console.log(chalk.dim("Installing..."));
|
|
14842
14841
|
const install = Bun.spawn(["bun", "install", "-g", `@hasna/configs@${latest}`], { stdout: "inherit", stderr: "inherit" });
|
|
@@ -14850,9 +14849,9 @@ program.command("update").description("Check for updates and install latest vers
|
|
|
14850
14849
|
});
|
|
14851
14850
|
program.command("feedback <message>").description("Send feedback about this service").option("-e, --email <email>", "Contact email").option("-c, --category <cat>", "Category: bug, feature, general", "general").action(async (message, opts) => {
|
|
14852
14851
|
const db = getDatabase();
|
|
14853
|
-
db.run("INSERT INTO feedback (message, email, category, version) VALUES (?, ?, ?, ?)", [message, opts.email || null, opts.category || "general",
|
|
14852
|
+
db.run("INSERT INTO feedback (message, email, category, version) VALUES (?, ?, ?, ?)", [message, opts.email || null, opts.category || "general", pkg.version]);
|
|
14854
14853
|
console.log(chalk.green("\u2713") + " Feedback saved. Thank you!");
|
|
14855
14854
|
});
|
|
14856
|
-
program.version(
|
|
14855
|
+
program.version(pkg.version).name("configs");
|
|
14857
14856
|
registerEventsCommands(program, { source: "configs" });
|
|
14858
14857
|
program.parse(process.argv);
|
package/dist/index.js
CHANGED
|
@@ -10238,7 +10238,6 @@ function listMachines(db) {
|
|
|
10238
10238
|
}
|
|
10239
10239
|
// src/status.ts
|
|
10240
10240
|
import { existsSync as existsSync9, readFileSync as readFileSync3 } from "fs";
|
|
10241
|
-
import { createRequire as createRequire2 } from "module";
|
|
10242
10241
|
|
|
10243
10242
|
// src/lib/apply.ts
|
|
10244
10243
|
import { existsSync as existsSync7, mkdirSync as mkdirSync5, readFileSync as readFileSync2, writeFileSync as writeFileSync2 } from "fs";
|
|
@@ -10472,8 +10471,8 @@ function hasSecrets(content, format) {
|
|
|
10472
10471
|
}
|
|
10473
10472
|
|
|
10474
10473
|
// src/status.ts
|
|
10475
|
-
var
|
|
10476
|
-
var
|
|
10474
|
+
var PACKAGE_NAME = "@hasna/configs";
|
|
10475
|
+
var PACKAGE_VERSION = "0.2.38";
|
|
10477
10476
|
function activeDatabaseEnv() {
|
|
10478
10477
|
if (process.env["HASNA_CONFIGS_DB_PATH"])
|
|
10479
10478
|
return "HASNA_CONFIGS_DB_PATH";
|
|
@@ -10544,8 +10543,8 @@ function getConfigsStatus(db = getDatabase()) {
|
|
|
10544
10543
|
service: "configs",
|
|
10545
10544
|
schemaVersion: "1.0",
|
|
10546
10545
|
package: {
|
|
10547
|
-
name:
|
|
10548
|
-
version:
|
|
10546
|
+
name: PACKAGE_NAME,
|
|
10547
|
+
version: PACKAGE_VERSION
|
|
10549
10548
|
},
|
|
10550
10549
|
env: {
|
|
10551
10550
|
database: {
|
package/dist/mcp/index.js
CHANGED
|
@@ -11241,7 +11241,7 @@ var init_sync_dir = __esm(() => {
|
|
|
11241
11241
|
var require_package = __commonJS((exports, module) => {
|
|
11242
11242
|
module.exports = {
|
|
11243
11243
|
name: "@hasna/configs",
|
|
11244
|
-
version: "0.2.
|
|
11244
|
+
version: "0.2.38",
|
|
11245
11245
|
description: "AI coding agent configuration manager \u2014 store, version, apply, and share all your AI coding configs. CLI + MCP + REST API + Dashboard.",
|
|
11246
11246
|
type: "module",
|
|
11247
11247
|
main: "dist/index.js",
|
package/dist/server/index.js
CHANGED
|
@@ -17829,7 +17829,7 @@ var require_dist2 = __commonJS((exports, module) => {
|
|
|
17829
17829
|
var require_package = __commonJS((exports, module) => {
|
|
17830
17830
|
module.exports = {
|
|
17831
17831
|
name: "@hasna/configs",
|
|
17832
|
-
version: "0.2.
|
|
17832
|
+
version: "0.2.38",
|
|
17833
17833
|
description: "AI coding agent configuration manager \u2014 store, version, apply, and share all your AI coding configs. CLI + MCP + REST API + Dashboard.",
|
|
17834
17834
|
type: "module",
|
|
17835
17835
|
main: "dist/index.js",
|
package/dist/status.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAW3C,KAAK,WAAW,GAAG,uBAAuB,GAAG,iBAAiB,GAAG,IAAI,CAAC;AACtE,KAAK,YAAY,GAAG,QAAQ,GAAG,MAAM,CAAC;AACtC,KAAK,cAAc,GAAG,IAAI,GAAG,MAAM,CAAC;AAEpC,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,SAAS,CAAC;IACnB,aAAa,EAAE,KAAK,CAAC;IACrB,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,GAAG,EAAE;QACH,QAAQ,EAAE;YACR,OAAO,EAAE,uBAAuB,CAAC;YACjC,QAAQ,EAAE,iBAAiB,CAAC;YAC5B,MAAM,EAAE,WAAW,CAAC;YACpB,IAAI,EAAE,YAAY,CAAC;SACpB,CAAC;KACH,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE;YACP,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,MAAM,EAAE;QACN,MAAM,EAAE,cAAc,CAAC;QACvB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,wBAAwB,EAAE,MAAM,CAAC;QACjC,QAAQ,EAAE,OAAO,CAAC;QAClB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,oBAAoB,EAAE,OAAO,CAAC;KAC/B,CAAC;IACF,MAAM,EAAE;QACN,oBAAoB,EAAE,KAAK,CAAC;QAC5B,oBAAoB,EAAE,KAAK,CAAC;QAC5B,iBAAiB,EAAE,KAAK,CAAC;QACzB,oBAAoB,EAAE,KAAK,CAAC;QAC5B,0BAA0B,EAAE,IAAI,CAAC;KAClC,CAAC;CACH;AAgCD,wBAAgB,gBAAgB,CAAC,EAAE,GAAE,QAAwB,GAAG,qBAAqB,CAmGpF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hasna/configs",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.38",
|
|
4
4
|
"description": "AI coding agent configuration manager — store, version, apply, and share all your AI coding configs. CLI + MCP + REST API + Dashboard.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|