@eminent337/aery 0.1.85 → 0.1.87

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.
@@ -91,6 +91,7 @@ function hasDefaultModelProvider(providerId) {
91
91
  return providerId in defaultModelPerProvider;
92
92
  }
93
93
  const API_KEY_PROVIDER_NAMES = {
94
+ anthropic: "Anthropic",
94
95
  "azure-openai-responses": "Azure OpenAI Responses",
95
96
  cerebras: "Cerebras",
96
97
  fireworks: "Fireworks",
@@ -672,8 +673,8 @@ export class InteractiveMode {
672
673
  try {
673
674
  const { execFile } = await import("node:child_process");
674
675
  const { promisify } = await import("node:util");
675
- const { existsSync, readFileSync, writeFileSync } = await import("node:fs");
676
- const { join } = await import("node:path");
676
+ const { existsSync, mkdirSync, readFileSync, writeFileSync } = await import("node:fs");
677
+ const { dirname, join } = await import("node:path");
677
678
  const { homedir } = await import("node:os");
678
679
  const exec = promisify(execFile);
679
680
  await exec("aery", ["install", "https://github.com/eminent337/aery-extensions"], {
@@ -703,20 +704,21 @@ export class InteractiveMode {
703
704
  "aery-doctor",
704
705
  "aery-team",
705
706
  ["subagent", "subagent/index"],
707
+ "marketplace",
708
+ "init-prompt",
706
709
  ];
707
- if (existsSync(settingsPath)) {
708
- const settings = JSON.parse(readFileSync(settingsPath, "utf-8"));
709
- const existing = new Set(settings.extensions || []);
710
- for (const ext of CORE) {
711
- const [_name, filePath] = Array.isArray(ext) ? ext : [ext, ext];
712
- const p = join(repoPath, "core", `${filePath}.ts`);
713
- if (existsSync(p) && !existing.has(p)) {
714
- settings.extensions = settings.extensions || [];
715
- settings.extensions.push(p);
716
- }
710
+ const settings = existsSync(settingsPath) ? JSON.parse(readFileSync(settingsPath, "utf-8")) : {};
711
+ const existing = new Set(settings.extensions || []);
712
+ for (const ext of CORE) {
713
+ const [_name, filePath] = Array.isArray(ext) ? ext : [ext, ext];
714
+ const p = join(repoPath, "core", `${filePath}.ts`);
715
+ if (existsSync(p) && !existing.has(p)) {
716
+ settings.extensions = settings.extensions || [];
717
+ settings.extensions.push(p);
717
718
  }
718
- writeFileSync(settingsPath, JSON.stringify({ ...settings, quietStartup: true }, null, 2));
719
719
  }
720
+ mkdirSync(dirname(settingsPath), { recursive: true });
721
+ writeFileSync(settingsPath, `${JSON.stringify({ ...settings, quietStartup: true }, null, 2)}\n`);
720
722
  }
721
723
  catch {
722
724
  // Silent fail — user can install manually