memax-cli 0.2.0 → 0.2.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.
Files changed (33) hide show
  1. package/dist/commands/agent-configs-discovery.d.ts +38 -0
  2. package/dist/commands/agent-configs-discovery.d.ts.map +1 -0
  3. package/dist/commands/agent-configs-discovery.js +389 -0
  4. package/dist/commands/agent-configs-discovery.js.map +1 -0
  5. package/dist/commands/agent-configs.d.ts +2 -16
  6. package/dist/commands/agent-configs.d.ts.map +1 -1
  7. package/dist/commands/agent-configs.js +16 -268
  8. package/dist/commands/agent-configs.js.map +1 -1
  9. package/dist/commands/mcp.d.ts.map +1 -1
  10. package/dist/commands/mcp.js +70 -0
  11. package/dist/commands/mcp.js.map +1 -1
  12. package/dist/commands/setup-mcp.d.ts +39 -0
  13. package/dist/commands/setup-mcp.d.ts.map +1 -1
  14. package/dist/commands/setup-mcp.js +247 -35
  15. package/dist/commands/setup-mcp.js.map +1 -1
  16. package/dist/commands/setup-types.d.ts +1 -1
  17. package/dist/commands/setup-types.d.ts.map +1 -1
  18. package/dist/commands/setup.d.ts.map +1 -1
  19. package/dist/commands/setup.js +23 -1
  20. package/dist/commands/setup.js.map +1 -1
  21. package/dist/commands/topic-archive.d.ts +12 -0
  22. package/dist/commands/topic-archive.d.ts.map +1 -0
  23. package/dist/commands/topic-archive.js +113 -0
  24. package/dist/commands/topic-archive.js.map +1 -0
  25. package/dist/commands/topic-shared.d.ts +7 -0
  26. package/dist/commands/topic-shared.d.ts.map +1 -0
  27. package/dist/commands/topic-shared.js +45 -0
  28. package/dist/commands/topic-shared.js.map +1 -0
  29. package/dist/commands/topic.d.ts +2 -7
  30. package/dist/commands/topic.d.ts.map +1 -1
  31. package/dist/commands/topic.js +23 -41
  32. package/dist/commands/topic.js.map +1 -1
  33. package/package.json +2 -2
@@ -0,0 +1,38 @@
1
+ import { type ProjectScope } from "../lib/project-context.js";
2
+ import type { AgentConfigClass, Scope } from "memax-sdk";
3
+ /**
4
+ * Agent config discovery + write-path resolution — the single registry of
5
+ * which on-disk files each agent owns. Detection is existence-based: every
6
+ * candidate location is listed here and the sync engine filters to files
7
+ * that actually exist.
8
+ *
9
+ * Two kinds of agents live in this registry:
10
+ * - Coding agents (Claude Code, Cursor, Codex, …) — configs are project
11
+ * conventions and rules files, mostly project-scoped.
12
+ * - Personal agents (OpenClaw, Hermes) — configs are identity (SOUL.md)
13
+ * and accumulated memory. These are irreplaceable, so coverage errs
14
+ * toward inclusion — but NEVER settings files (.env, *.json, *.yaml
15
+ * at the agent root): they routinely hold tokens and secrets.
16
+ */
17
+ /** Files larger than this are skipped by sync — configs are stored inline
18
+ * in Postgres, not object storage. */
19
+ export declare const MAX_AGENT_CONFIG_BYTES: number;
20
+ export interface AgentConfigLocation {
21
+ agent: string;
22
+ label: string;
23
+ path: string;
24
+ filePath: string;
25
+ scope: Scope;
26
+ configClass: AgentConfigClass;
27
+ }
28
+ export interface ResolveAgentConfigWritePathOptions {
29
+ cwd?: string;
30
+ home?: string;
31
+ currentProjectScope?: ProjectScope;
32
+ findClaudeProjectDir?: (scope: Scope) => string | null;
33
+ }
34
+ export declare function findClaudeProjectDir(scope: Scope): string | null;
35
+ export declare function resolveAgentConfigWritePath(agent: string, filePath: string, scope: Scope, options?: ResolveAgentConfigWritePathOptions): string | null;
36
+ export declare function discoverAgentConfigs(): AgentConfigLocation[];
37
+ export declare function formatAgentName(id: string): string;
38
+ //# sourceMappingURL=agent-configs-discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-configs-discovery.d.ts","sourceRoot":"","sources":["../../src/commands/agent-configs-discovery.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AAEH;sCACsC;AACtC,eAAO,MAAM,sBAAsB,QAAa,CAAC;AAEjD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,gBAAgB,CAAC;CAC/B;AAED,MAAM,WAAW,kCAAkC;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mBAAmB,CAAC,EAAE,YAAY,CAAC;IACnC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,GAAG,IAAI,CAAC;CACxD;AAsBD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAehE;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,kCAAuC,GAC/C,MAAM,GAAG,IAAI,CA0Hf;AAcD,wBAAgB,oBAAoB,IAAI,mBAAmB,EAAE,CAqW5D;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAclD"}
@@ -0,0 +1,389 @@
1
+ import { existsSync, readdirSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { homedir } from "node:os";
4
+ import { getProjectScope, resolveClaudeProjectFolder, normalizeFilePath, isCanonicalProjectScope, } from "../lib/project-context.js";
5
+ import { classifyAgentConfigFile } from "memax-sdk";
6
+ /**
7
+ * Agent config discovery + write-path resolution — the single registry of
8
+ * which on-disk files each agent owns. Detection is existence-based: every
9
+ * candidate location is listed here and the sync engine filters to files
10
+ * that actually exist.
11
+ *
12
+ * Two kinds of agents live in this registry:
13
+ * - Coding agents (Claude Code, Cursor, Codex, …) — configs are project
14
+ * conventions and rules files, mostly project-scoped.
15
+ * - Personal agents (OpenClaw, Hermes) — configs are identity (SOUL.md)
16
+ * and accumulated memory. These are irreplaceable, so coverage errs
17
+ * toward inclusion — but NEVER settings files (.env, *.json, *.yaml
18
+ * at the agent root): they routinely hold tokens and secrets.
19
+ */
20
+ /** Files larger than this are skipped by sync — configs are stored inline
21
+ * in Postgres, not object storage. */
22
+ export const MAX_AGENT_CONFIG_BYTES = 512 * 1024;
23
+ /** Profile names come from cloud-supplied scope strings — restrict to a
24
+ * conservative charset so they can never traverse out of the profiles dir. */
25
+ const SAFE_PROFILE_NAME = /^[A-Za-z0-9][A-Za-z0-9._-]*$/;
26
+ function profileNameFromScope(scope) {
27
+ if (!scope.startsWith("profile:"))
28
+ return null;
29
+ const name = scope.slice("profile:".length);
30
+ // SAFE_PROFILE_NAME forbids "/" and a leading dot, so traversal is
31
+ // impossible; keep this the single rule (mirrored in discovery below
32
+ // and in the server's safeProfileName) rather than layering ad-hoc
33
+ // extra checks that drift apart.
34
+ if (!SAFE_PROFILE_NAME.test(name))
35
+ return null;
36
+ return name;
37
+ }
38
+ /** Cloud-supplied file paths must never escape the agent's root directory. */
39
+ function hasPathTraversal(filePath) {
40
+ return filePath.split("/").some((segment) => segment === "..");
41
+ }
42
+ export function findClaudeProjectDir(scope) {
43
+ const home = homedir();
44
+ const claudeProjectsDir = join(home, ".claude", "projects");
45
+ if (!existsSync(claudeProjectsDir))
46
+ return null;
47
+ try {
48
+ for (const project of readdirSync(claudeProjectsDir)) {
49
+ const repoUrl = resolveClaudeProjectFolder(project);
50
+ if (repoUrl && scope === `project:${repoUrl}`) {
51
+ return join(claudeProjectsDir, project);
52
+ }
53
+ }
54
+ }
55
+ catch {
56
+ // Permission denied — skip
57
+ }
58
+ return null;
59
+ }
60
+ export function resolveAgentConfigWritePath(agent, filePath, scope, options = {}) {
61
+ const cwd = options.cwd ?? process.cwd();
62
+ const home = options.home ?? homedir();
63
+ const currentProjectScope = options.currentProjectScope ?? getProjectScope(cwd);
64
+ const normalizedFilePath = normalizeFilePath(filePath);
65
+ if (hasPathTraversal(normalizedFilePath))
66
+ return null;
67
+ if (scope === "global") {
68
+ switch (agent) {
69
+ case "claude-code":
70
+ return join(home, ".claude", normalizedFilePath);
71
+ case "codex":
72
+ return join(home, ".codex", normalizedFilePath);
73
+ case "gemini":
74
+ return join(home, ".gemini", normalizedFilePath);
75
+ case "openclaw":
76
+ return join(home, ".openclaw", normalizedFilePath);
77
+ case "opencode":
78
+ return join(home, ".opencode", normalizedFilePath);
79
+ case "hermes":
80
+ return join(home, ".hermes", normalizedFilePath);
81
+ default:
82
+ return null;
83
+ }
84
+ }
85
+ if (scope.startsWith("profile:")) {
86
+ const profile = profileNameFromScope(scope);
87
+ if (!profile)
88
+ return null;
89
+ switch (agent) {
90
+ case "hermes":
91
+ return join(home, ".hermes", "profiles", profile, normalizedFilePath);
92
+ default:
93
+ return null;
94
+ }
95
+ }
96
+ if (!scope.startsWith("project:") || scope !== currentProjectScope) {
97
+ return null;
98
+ }
99
+ switch (agent) {
100
+ case "claude-code":
101
+ if (normalizedFilePath === "CLAUDE.md" ||
102
+ normalizedFilePath === "MEMORY.md") {
103
+ return join(cwd, ".claude", normalizedFilePath);
104
+ }
105
+ if (normalizedFilePath.startsWith(".claude/")) {
106
+ return join(cwd, normalizedFilePath);
107
+ }
108
+ if (normalizedFilePath.startsWith("memory/")) {
109
+ const projectDir = options.findClaudeProjectDir?.(scope);
110
+ if (projectDir) {
111
+ return join(projectDir, normalizedFilePath);
112
+ }
113
+ const mangledCwd = cwd.replace(/\//g, "-");
114
+ return join(home, ".claude", "projects", mangledCwd, normalizedFilePath);
115
+ }
116
+ return null;
117
+ case "cursor":
118
+ if (normalizedFilePath === ".cursorrules" ||
119
+ normalizedFilePath.startsWith(".cursor/")) {
120
+ return join(cwd, normalizedFilePath);
121
+ }
122
+ return null;
123
+ case "codex":
124
+ if (normalizedFilePath === "instructions.md") {
125
+ return join(cwd, ".codex", "instructions.md");
126
+ }
127
+ if (normalizedFilePath.startsWith(".codex/")) {
128
+ return join(cwd, normalizedFilePath);
129
+ }
130
+ return null;
131
+ case "gemini":
132
+ if (normalizedFilePath === "GEMINI.md") {
133
+ return join(cwd, "GEMINI.md");
134
+ }
135
+ return null;
136
+ case "copilot":
137
+ if (normalizedFilePath === "copilot-instructions.md") {
138
+ return join(cwd, ".github", "copilot-instructions.md");
139
+ }
140
+ if (normalizedFilePath.startsWith(".github/")) {
141
+ return join(cwd, normalizedFilePath);
142
+ }
143
+ return null;
144
+ case "windsurf":
145
+ if (normalizedFilePath === ".windsurfrules" ||
146
+ normalizedFilePath.startsWith(".windsurf/")) {
147
+ return join(cwd, normalizedFilePath);
148
+ }
149
+ return null;
150
+ case "opencode":
151
+ if (normalizedFilePath.startsWith(".opencode/")) {
152
+ return join(cwd, normalizedFilePath);
153
+ }
154
+ return join(cwd, ".opencode", normalizedFilePath);
155
+ case "generic":
156
+ if (normalizedFilePath === "AGENTS.md" ||
157
+ normalizedFilePath === "CLAUDE.md" ||
158
+ normalizedFilePath === "GEMINI.md") {
159
+ return join(cwd, normalizedFilePath);
160
+ }
161
+ return null;
162
+ default:
163
+ return null;
164
+ }
165
+ }
166
+ /** OpenClaw/Hermes bootstrap markdown files — identity + memory surfaces.
167
+ * Settings (openclaw.json, config.yaml, .env) are deliberately absent. */
168
+ const OPENCLAW_BOOTSTRAP_FILES = [
169
+ "SOUL.md",
170
+ "IDENTITY.md",
171
+ "USER.md",
172
+ "AGENTS.md",
173
+ "TOOLS.md",
174
+ "MEMORY.md",
175
+ ];
176
+ const HERMES_BOOTSTRAP_FILES = ["SOUL.md", "MEMORY.md", "AGENTS.md"];
177
+ export function discoverAgentConfigs() {
178
+ const home = homedir();
179
+ const cwd = process.cwd();
180
+ const projectScope = getProjectScope(cwd);
181
+ const canonicalProjectScope = isCanonicalProjectScope(projectScope)
182
+ ? projectScope
183
+ : null;
184
+ const locations = [];
185
+ const add = (agent, label, path, filePath, scope = "global") => {
186
+ const normalized = normalizeFilePath(filePath);
187
+ locations.push({
188
+ agent,
189
+ label,
190
+ path,
191
+ filePath: normalized,
192
+ scope,
193
+ configClass: classifyAgentConfigFile(agent, normalized),
194
+ });
195
+ };
196
+ /** Scan a directory for markdown files and register each one. */
197
+ const addMarkdownDir = (agent, labelPrefix, dir, filePathPrefix, scope = "global", extraExtensions = []) => {
198
+ if (!existsSync(dir))
199
+ return;
200
+ try {
201
+ for (const file of readdirSync(dir)) {
202
+ const keep = file.endsWith(".md") || extraExtensions.some((e) => file.endsWith(e));
203
+ if (!keep)
204
+ continue;
205
+ add(agent, `${labelPrefix}/${file}`, join(dir, file), `${filePathPrefix}/${file}`, scope);
206
+ }
207
+ }
208
+ catch {
209
+ /* Permission denied — skip */
210
+ }
211
+ };
212
+ // Claude Code — global
213
+ add("claude-code", "~/.claude/CLAUDE.md", join(home, ".claude", "CLAUDE.md"), "CLAUDE.md");
214
+ add("claude-code", "~/.claude/MEMORY.md", join(home, ".claude", "MEMORY.md"), "MEMORY.md");
215
+ // Claude Code — per-project memories: ~/.claude/projects/*/memory/*.md
216
+ // The folder name is the absolute project path with "/" replaced by "-"
217
+ // (e.g., "-workspaces-memax"). We resolve it to a git repo URL so the
218
+ // same project's memories match across machines regardless of clone path.
219
+ const claudeProjectsDir = join(home, ".claude", "projects");
220
+ if (existsSync(claudeProjectsDir)) {
221
+ try {
222
+ for (const project of readdirSync(claudeProjectsDir)) {
223
+ const memoryDir = join(claudeProjectsDir, project, "memory");
224
+ if (!existsSync(memoryDir))
225
+ continue;
226
+ // Try to resolve mangled folder → git repo → canonical scope
227
+ const repoUrl = resolveClaudeProjectFolder(project);
228
+ const memoryScope = repoUrl
229
+ ? `project:${repoUrl}`
230
+ : undefined;
231
+ try {
232
+ for (const file of readdirSync(memoryDir)) {
233
+ if (!file.endsWith(".md"))
234
+ continue;
235
+ if (memoryScope) {
236
+ // Canonical: filePath is just "memory/<file>", scope identifies the project
237
+ add("claude-code", `~/.claude/projects/${project}/memory/${file}`, join(memoryDir, file), `memory/${file}`, memoryScope);
238
+ }
239
+ else {
240
+ // Fallback: can't resolve project → keep legacy format with folder name
241
+ add("claude-code", `~/.claude/projects/${project}/memory/${file}`, join(memoryDir, file), `projects/${project}/memory/${file}`);
242
+ }
243
+ }
244
+ }
245
+ catch {
246
+ // Permission denied — skip
247
+ }
248
+ }
249
+ }
250
+ catch {
251
+ // Permission denied — skip
252
+ }
253
+ }
254
+ // --- Project-scoped configs (only when inside a git repo) ---
255
+ if (canonicalProjectScope) {
256
+ // Claude Code — project-level
257
+ add("claude-code", "./.claude/CLAUDE.md", join(cwd, ".claude", "CLAUDE.md"), "CLAUDE.md", canonicalProjectScope);
258
+ // Cursor (project-level)
259
+ add("cursor", "./.cursorrules", join(cwd, ".cursorrules"), ".cursorrules", canonicalProjectScope);
260
+ const cursorRulesDir = join(cwd, ".cursor", "rules");
261
+ if (existsSync(cursorRulesDir)) {
262
+ try {
263
+ for (const file of readdirSync(cursorRulesDir)) {
264
+ if (file.endsWith(".mdc")) {
265
+ add("cursor", `./.cursor/rules/${file}`, join(cursorRulesDir, file), `.cursor/rules/${file}`, canonicalProjectScope);
266
+ }
267
+ }
268
+ }
269
+ catch {
270
+ /* skip */
271
+ }
272
+ }
273
+ // Codex (project-level)
274
+ add("codex", "./.codex/instructions.md", join(cwd, ".codex", "instructions.md"), "instructions.md", canonicalProjectScope);
275
+ }
276
+ add("codex", "~/.codex/AGENTS.md", join(home, ".codex", "AGENTS.md"), "AGENTS.md");
277
+ // Gemini CLI — global
278
+ add("gemini", "~/.gemini/GEMINI.md", join(home, ".gemini", "GEMINI.md"), "GEMINI.md");
279
+ if (canonicalProjectScope) {
280
+ // Gemini CLI — project-level
281
+ add("gemini", "./GEMINI.md", join(cwd, "GEMINI.md"), "GEMINI.md", canonicalProjectScope);
282
+ // GitHub Copilot
283
+ add("copilot", "./.github/copilot-instructions.md", join(cwd, ".github", "copilot-instructions.md"), "copilot-instructions.md", canonicalProjectScope);
284
+ // Windsurf
285
+ add("windsurf", "./.windsurfrules", join(cwd, ".windsurfrules"), ".windsurfrules", canonicalProjectScope);
286
+ const windsurfRulesDir = join(cwd, ".windsurf", "rules");
287
+ if (existsSync(windsurfRulesDir)) {
288
+ try {
289
+ for (const file of readdirSync(windsurfRulesDir)) {
290
+ if (file.endsWith(".md")) {
291
+ add("windsurf", `./.windsurf/rules/${file}`, join(windsurfRulesDir, file), `.windsurf/rules/${file}`, canonicalProjectScope);
292
+ }
293
+ }
294
+ }
295
+ catch {
296
+ /* skip */
297
+ }
298
+ }
299
+ }
300
+ // OpenClaw — personal agent. Identity + memory markdown at the state root
301
+ // and inside the workspace, plus skills. The agent's accumulated identity
302
+ // is irreplaceable, so coverage is broad — but settings JSON stays out.
303
+ const openclawDir = join(home, ".openclaw");
304
+ for (const file of OPENCLAW_BOOTSTRAP_FILES) {
305
+ add("openclaw", `~/.openclaw/${file}`, join(openclawDir, file), file);
306
+ add("openclaw", `~/.openclaw/workspace/${file}`, join(openclawDir, "workspace", file), `workspace/${file}`);
307
+ }
308
+ // Legacy memory dir (kept for existing users — includes .json memory state)
309
+ addMarkdownDir("openclaw", "~/.openclaw/memory", join(openclawDir, "memory"), "memory", "global", [".json"]);
310
+ addMarkdownDir("openclaw", "~/.openclaw/workspace/memory", join(openclawDir, "workspace", "memory"), "workspace/memory");
311
+ // Skills — one SKILL.md per skill directory
312
+ const openclawSkillsDir = join(openclawDir, "skills");
313
+ if (existsSync(openclawSkillsDir)) {
314
+ try {
315
+ for (const skill of readdirSync(openclawSkillsDir)) {
316
+ const skillFile = join(openclawSkillsDir, skill, "SKILL.md");
317
+ if (existsSync(skillFile)) {
318
+ add("openclaw", `~/.openclaw/skills/${skill}/SKILL.md`, skillFile, `skills/${skill}/SKILL.md`);
319
+ }
320
+ }
321
+ }
322
+ catch {
323
+ /* skip */
324
+ }
325
+ }
326
+ // Hermes — personal agent with named profiles. The default (root) profile
327
+ // syncs as global scope; each ~/.hermes/profiles/<name>/ syncs under
328
+ // profile:<name> so every device restores the same profile set.
329
+ // config.yaml and .env are settings/secrets — never synced.
330
+ const hermesDir = join(home, ".hermes");
331
+ for (const file of HERMES_BOOTSTRAP_FILES) {
332
+ add("hermes", `~/.hermes/${file}`, join(hermesDir, file), file);
333
+ }
334
+ addMarkdownDir("hermes", "~/.hermes/memory", join(hermesDir, "memory"), "memory");
335
+ const hermesProfilesDir = join(hermesDir, "profiles");
336
+ if (existsSync(hermesProfilesDir)) {
337
+ try {
338
+ for (const profile of readdirSync(hermesProfilesDir)) {
339
+ if (!SAFE_PROFILE_NAME.test(profile))
340
+ continue;
341
+ const profileDir = join(hermesProfilesDir, profile);
342
+ const scope = `profile:${profile}`;
343
+ for (const file of HERMES_BOOTSTRAP_FILES) {
344
+ add("hermes", `~/.hermes/profiles/${profile}/${file}`, join(profileDir, file), file, scope);
345
+ }
346
+ addMarkdownDir("hermes", `~/.hermes/profiles/${profile}/memory`, join(profileDir, "memory"), "memory", scope);
347
+ }
348
+ }
349
+ catch {
350
+ /* skip */
351
+ }
352
+ }
353
+ if (canonicalProjectScope) {
354
+ // OpenCode (project-level)
355
+ const opencodePath = join(cwd, ".opencode");
356
+ if (existsSync(opencodePath)) {
357
+ try {
358
+ for (const file of readdirSync(opencodePath)) {
359
+ if (file.endsWith(".md")) {
360
+ add("opencode", `./.opencode/${file}`, join(opencodePath, file), file, canonicalProjectScope);
361
+ }
362
+ }
363
+ }
364
+ catch {
365
+ /* skip */
366
+ }
367
+ }
368
+ // Generic project-level agent files
369
+ add("generic", "./AGENTS.md", join(cwd, "AGENTS.md"), "AGENTS.md", canonicalProjectScope);
370
+ add("generic", "./CLAUDE.md", join(cwd, "CLAUDE.md"), "CLAUDE.md", canonicalProjectScope);
371
+ }
372
+ return locations;
373
+ }
374
+ export function formatAgentName(id) {
375
+ const names = {
376
+ "claude-code": "Claude Code",
377
+ cursor: "Cursor",
378
+ codex: "Codex",
379
+ gemini: "Gemini CLI",
380
+ copilot: "GitHub Copilot",
381
+ windsurf: "Windsurf",
382
+ openclaw: "OpenClaw",
383
+ hermes: "Hermes",
384
+ opencode: "OpenCode",
385
+ generic: "Generic",
386
+ };
387
+ return names[id] ?? id;
388
+ }
389
+ //# sourceMappingURL=agent-configs-discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-configs-discovery.js","sourceRoot":"","sources":["../../src/commands/agent-configs-discovery.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Command } from "commander";
2
- import { type ProjectScope } from "../lib/project-context.js";
3
2
  import type { Scope } from "memax-sdk";
3
+ import { type AgentConfigLocation, type ResolveAgentConfigWritePathOptions } from "./agent-configs-discovery.js";
4
+ export { resolveAgentConfigWritePath } from "./agent-configs-discovery.js";
4
5
  export declare function syncAgentMemoryCommand(options?: SyncAgentOptions): Promise<void>;
5
6
  export declare function listAgentConfigsCommand(): Promise<void>;
6
7
  export declare function listDeletedAgentConfigsCommand(): Promise<void>;
@@ -17,25 +18,10 @@ export declare function classifyAgentConfigPlacement(agent: string, filePath: st
17
18
  export declare function doctorAgentConfigsCommand(): Promise<void>;
18
19
  export declare function registerAgentConfigCommands(agentsCmd: Command): void;
19
20
  export declare function deleteAgentConfigsCommand(): Promise<void>;
20
- interface AgentConfigLocation {
21
- agent: string;
22
- label: string;
23
- path: string;
24
- filePath: string;
25
- scope: Scope;
26
- }
27
- interface ResolveAgentConfigWritePathOptions {
28
- cwd?: string;
29
- home?: string;
30
- currentProjectScope?: ProjectScope;
31
- findClaudeProjectDir?: (scope: Scope) => string | null;
32
- }
33
- export declare function resolveAgentConfigWritePath(agent: string, filePath: string, scope: Scope, options?: ResolveAgentConfigWritePathOptions): string | null;
34
21
  interface SyncAgentOptions {
35
22
  push?: boolean;
36
23
  pull?: boolean;
37
24
  /** Skip conflicts silently (used by setup — conflicts can be resolved later via `memax agents sync`). */
38
25
  skipConflicts?: boolean;
39
26
  }
40
- export {};
41
27
  //# sourceMappingURL=agent-configs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-configs.d.ts","sourceRoot":"","sources":["../../src/commands/agent-configs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,OAAO,EAOL,KAAK,YAAY,EAClB,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAe,KAAK,EAAkB,MAAM,WAAW,CAAC;AAEpE,wBAAsB,sBAAsB,CAC1C,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAwD7D;AAED,wBAAsB,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC,CAkCpE;AAED,wBAAsB,iCAAiC,IAAI,OAAO,CAAC,IAAI,CAAC,CAgHvE;AAED,UAAU,oBAAoB;IAC5B,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,mBAAmB,GAAG,YAAY,CAAC;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,mCAAoC,SAAQ,kCAAkC;IACtF,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAC/C;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,mCAAwC,GAChD,oBAAoB,CAkCtB;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiK/D;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAsCpE;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAsP/D;AAcD,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,UAAU,kCAAkC;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mBAAmB,CAAC,EAAE,YAAY,CAAC;IACnC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,GAAG,IAAI,CAAC;CACxD;AAiDD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,kCAAuC,GAC/C,MAAM,GAAG,IAAI,CA4Gf;AAkQD,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,yGAAyG;IACzG,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
1
+ {"version":3,"file":"agent-configs.d.ts","sourceRoot":"","sources":["../../src/commands/agent-configs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0BpC,OAAO,KAAK,EAAe,KAAK,EAAkB,MAAM,WAAW,CAAC;AAEpE,OAAO,EAML,KAAK,mBAAmB,EACxB,KAAK,kCAAkC,EACxC,MAAM,8BAA8B,CAAC;AAItC,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAE3E,wBAAsB,sBAAsB,CAC1C,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAwD7D;AAED,wBAAsB,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC,CAkCpE;AAED,wBAAsB,iCAAiC,IAAI,OAAO,CAAC,IAAI,CAAC,CAgHvE;AAED,UAAU,oBAAoB;IAC5B,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,mBAAmB,GAAG,YAAY,CAAC;IACpE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,mCAAoC,SAAQ,kCAAkC;IACtF,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAC/C;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,mCAAwC,GAChD,oBAAoB,CAkCtB;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiK/D;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAsCpE;AAED,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAsP/D;AA4CD,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,yGAAyG;IACzG,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}