universal-agent-memory 0.1.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/LICENSE +21 -0
- package/README.md +321 -0
- package/dist/analyzers/index.d.ts +3 -0
- package/dist/analyzers/index.d.ts.map +1 -0
- package/dist/analyzers/index.js +373 -0
- package/dist/analyzers/index.js.map +1 -0
- package/dist/bin/cli.d.ts +3 -0
- package/dist/bin/cli.d.ts.map +1 -0
- package/dist/bin/cli.js +119 -0
- package/dist/bin/cli.js.map +1 -0
- package/dist/cli/analyze.d.ts +7 -0
- package/dist/cli/analyze.d.ts.map +1 -0
- package/dist/cli/analyze.js +103 -0
- package/dist/cli/analyze.js.map +1 -0
- package/dist/cli/droids.d.ts +9 -0
- package/dist/cli/droids.d.ts.map +1 -0
- package/dist/cli/droids.js +227 -0
- package/dist/cli/droids.js.map +1 -0
- package/dist/cli/generate.d.ts +9 -0
- package/dist/cli/generate.d.ts.map +1 -0
- package/dist/cli/generate.js +203 -0
- package/dist/cli/generate.js.map +1 -0
- package/dist/cli/init.d.ts +12 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +260 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/memory.d.ts +15 -0
- package/dist/cli/memory.d.ts.map +1 -0
- package/dist/cli/memory.js +274 -0
- package/dist/cli/memory.js.map +1 -0
- package/dist/cli/sync.d.ts +7 -0
- package/dist/cli/sync.d.ts.map +1 -0
- package/dist/cli/sync.js +26 -0
- package/dist/cli/sync.js.map +1 -0
- package/dist/cli/worktree.d.ts +9 -0
- package/dist/cli/worktree.d.ts.map +1 -0
- package/dist/cli/worktree.js +175 -0
- package/dist/cli/worktree.js.map +1 -0
- package/dist/generators/claude-md.d.ts +3 -0
- package/dist/generators/claude-md.d.ts.map +1 -0
- package/dist/generators/claude-md.js +643 -0
- package/dist/generators/claude-md.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/memory/backends/base.d.ts +18 -0
- package/dist/memory/backends/base.d.ts.map +1 -0
- package/dist/memory/backends/base.js +2 -0
- package/dist/memory/backends/base.js.map +1 -0
- package/dist/memory/backends/factory.d.ts +4 -0
- package/dist/memory/backends/factory.d.ts.map +1 -0
- package/dist/memory/backends/factory.js +52 -0
- package/dist/memory/backends/factory.js.map +1 -0
- package/dist/memory/backends/github.d.ts +22 -0
- package/dist/memory/backends/github.d.ts.map +1 -0
- package/dist/memory/backends/github.js +118 -0
- package/dist/memory/backends/github.js.map +1 -0
- package/dist/memory/backends/qdrant-cloud.d.ts +19 -0
- package/dist/memory/backends/qdrant-cloud.d.ts.map +1 -0
- package/dist/memory/backends/qdrant-cloud.js +111 -0
- package/dist/memory/backends/qdrant-cloud.js.map +1 -0
- package/dist/memory/prepopulate.d.ts +76 -0
- package/dist/memory/prepopulate.d.ts.map +1 -0
- package/dist/memory/prepopulate.js +815 -0
- package/dist/memory/prepopulate.js.map +1 -0
- package/dist/memory/short-term/factory.d.ts +23 -0
- package/dist/memory/short-term/factory.d.ts.map +1 -0
- package/dist/memory/short-term/factory.js +28 -0
- package/dist/memory/short-term/factory.js.map +1 -0
- package/dist/memory/short-term/indexeddb.d.ts +25 -0
- package/dist/memory/short-term/indexeddb.d.ts.map +1 -0
- package/dist/memory/short-term/indexeddb.js +64 -0
- package/dist/memory/short-term/indexeddb.js.map +1 -0
- package/dist/memory/short-term/sqlite.d.ts +40 -0
- package/dist/memory/short-term/sqlite.d.ts.map +1 -0
- package/dist/memory/short-term/sqlite.js +136 -0
- package/dist/memory/short-term/sqlite.js.map +1 -0
- package/dist/types/analysis.d.ts +82 -0
- package/dist/types/analysis.d.ts.map +1 -0
- package/dist/types/analysis.js +2 -0
- package/dist/types/analysis.js.map +1 -0
- package/dist/types/config.d.ts +923 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +97 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/merge-claude-md.d.ts +15 -0
- package/dist/utils/merge-claude-md.d.ts.map +1 -0
- package/dist/utils/merge-claude-md.js +149 -0
- package/dist/utils/merge-claude-md.js.map +1 -0
- package/package.json +90 -0
- package/templates/CLAUDE.template.md +632 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,cAAc;;;;;;EAEzB,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAShC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;EAMpC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAKnC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU/B,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGvB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;EAKzB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;EAMtB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;EAKxB,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;EAOjC,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGzB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;EAIxB,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC;AACrG,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAChD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const PlatformSchema = z.object({
|
|
3
|
+
enabled: z.boolean().default(true),
|
|
4
|
+
});
|
|
5
|
+
export const ShortTermMemorySchema = z.object({
|
|
6
|
+
enabled: z.boolean().default(true),
|
|
7
|
+
// Desktop: SQLite path
|
|
8
|
+
path: z.string().default('./agents/data/memory/short_term.db'),
|
|
9
|
+
// Web: IndexedDB database name
|
|
10
|
+
webDatabase: z.string().default('agent_context_memory'),
|
|
11
|
+
maxEntries: z.number().default(50),
|
|
12
|
+
// Force desktop mode even if window exists (for testing)
|
|
13
|
+
forceDesktop: z.boolean().default(false),
|
|
14
|
+
});
|
|
15
|
+
export const GitHubMemoryBackendSchema = z.object({
|
|
16
|
+
enabled: z.boolean().default(false),
|
|
17
|
+
repo: z.string().optional(), // e.g., "owner/repo"
|
|
18
|
+
token: z.string().optional(), // GitHub PAT (can also use GITHUB_TOKEN env var)
|
|
19
|
+
path: z.string().default('.uam/memory'), // Path in repo
|
|
20
|
+
branch: z.string().default('main'),
|
|
21
|
+
});
|
|
22
|
+
export const QdrantCloudBackendSchema = z.object({
|
|
23
|
+
enabled: z.boolean().default(false),
|
|
24
|
+
url: z.string().optional(), // e.g., "https://xyz.qdrant.io"
|
|
25
|
+
apiKey: z.string().optional(), // Can also use QDRANT_API_KEY env var
|
|
26
|
+
collection: z.string().default('agent_memory'),
|
|
27
|
+
});
|
|
28
|
+
export const LongTermMemorySchema = z.object({
|
|
29
|
+
enabled: z.boolean().default(true),
|
|
30
|
+
// Legacy local provider (keep for backward compatibility)
|
|
31
|
+
provider: z.enum(['qdrant', 'chroma', 'pinecone', 'github', 'qdrant-cloud', 'none']).default('qdrant'),
|
|
32
|
+
endpoint: z.string().optional(),
|
|
33
|
+
collection: z.string().default('agent_memory'),
|
|
34
|
+
embeddingModel: z.string().default('all-MiniLM-L6-v2'),
|
|
35
|
+
// New backend-specific configs
|
|
36
|
+
github: GitHubMemoryBackendSchema.optional(),
|
|
37
|
+
qdrantCloud: QdrantCloudBackendSchema.optional(),
|
|
38
|
+
});
|
|
39
|
+
export const MemorySchema = z.object({
|
|
40
|
+
shortTerm: ShortTermMemorySchema.optional(),
|
|
41
|
+
longTerm: LongTermMemorySchema.optional(),
|
|
42
|
+
});
|
|
43
|
+
export const WorktreeSchema = z.object({
|
|
44
|
+
enabled: z.boolean().default(true),
|
|
45
|
+
directory: z.string().default('.worktrees'),
|
|
46
|
+
branchPrefix: z.string().default('feature/'),
|
|
47
|
+
autoCleanup: z.boolean().default(true),
|
|
48
|
+
});
|
|
49
|
+
export const DroidSchema = z.object({
|
|
50
|
+
name: z.string(),
|
|
51
|
+
template: z.string().optional(),
|
|
52
|
+
description: z.string().optional(),
|
|
53
|
+
model: z.string().default('inherit'),
|
|
54
|
+
tools: z.union([z.string(), z.array(z.string())]).optional(),
|
|
55
|
+
});
|
|
56
|
+
export const CommandSchema = z.object({
|
|
57
|
+
name: z.string(),
|
|
58
|
+
template: z.string().optional(),
|
|
59
|
+
description: z.string().optional(),
|
|
60
|
+
argumentHint: z.string().optional(),
|
|
61
|
+
});
|
|
62
|
+
export const TemplateSectionsSchema = z.object({
|
|
63
|
+
memorySystem: z.boolean().default(true),
|
|
64
|
+
browserUsage: z.boolean().default(true),
|
|
65
|
+
decisionLoop: z.boolean().default(true),
|
|
66
|
+
worktreeWorkflow: z.boolean().default(true),
|
|
67
|
+
troubleshooting: z.boolean().default(true),
|
|
68
|
+
augmentedCapabilities: z.boolean().default(true),
|
|
69
|
+
});
|
|
70
|
+
export const TemplateSchema = z.object({
|
|
71
|
+
extends: z.string().default('default'),
|
|
72
|
+
sections: TemplateSectionsSchema.optional(),
|
|
73
|
+
});
|
|
74
|
+
export const ProjectSchema = z.object({
|
|
75
|
+
name: z.string(),
|
|
76
|
+
description: z.string().optional(),
|
|
77
|
+
defaultBranch: z.string().default('main'),
|
|
78
|
+
});
|
|
79
|
+
export const AgentContextConfigSchema = z.object({
|
|
80
|
+
$schema: z.string().optional(),
|
|
81
|
+
version: z.string().default('1.0.0'),
|
|
82
|
+
project: ProjectSchema,
|
|
83
|
+
platforms: z
|
|
84
|
+
.object({
|
|
85
|
+
claudeCode: PlatformSchema.optional(),
|
|
86
|
+
factory: PlatformSchema.optional(),
|
|
87
|
+
vscode: PlatformSchema.optional(),
|
|
88
|
+
opencode: PlatformSchema.optional(),
|
|
89
|
+
})
|
|
90
|
+
.optional(),
|
|
91
|
+
memory: MemorySchema.optional(),
|
|
92
|
+
worktrees: WorktreeSchema.optional(),
|
|
93
|
+
droids: z.array(DroidSchema).optional(),
|
|
94
|
+
commands: z.array(CommandSchema).optional(),
|
|
95
|
+
template: TemplateSchema.optional(),
|
|
96
|
+
});
|
|
97
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,uBAAuB;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC;IAC9D,+BAA+B;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC;IACvD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IAClC,yDAAyD;IACzD,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACzC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,qBAAqB;IAClD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,iDAAiD;IAC/E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,eAAe;IACxD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;CACnC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,gCAAgC;IAC5D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,sCAAsC;IACrE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;CAC/C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,0DAA0D;IAC1D,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IACtG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;IAC9C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACtD,+BAA+B;IAC/B,MAAM,EAAE,yBAAyB,CAAC,QAAQ,EAAE;IAC5C,WAAW,EAAE,wBAAwB,CAAC,QAAQ,EAAE;CACjD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,SAAS,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IAC3C,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;IAC3C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IAC5C,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACvC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACpC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC7D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACvC,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3C,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1C,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACjD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACtC,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;CAC1C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IACpC,OAAO,EAAE,aAAa;IACtB,SAAS,EAAE,CAAC;SACT,MAAM,CAAC;QACN,UAAU,EAAE,cAAc,CAAC,QAAQ,EAAE;QACrC,OAAO,EAAE,cAAc,CAAC,QAAQ,EAAE;QAClC,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE;QACjC,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;KACpC,CAAC;SACD,QAAQ,EAAE;IACb,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,cAAc,CAAC,QAAQ,EAAE;IACpC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;IACvC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;IAC3C,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Merges existing CLAUDE.md/AGENT.md content with newly generated content
|
|
3
|
+
* Preserves custom sections and user modifications while updating standard sections
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Merge existing CLAUDE.md content with newly generated content
|
|
7
|
+
*
|
|
8
|
+
* Strategy:
|
|
9
|
+
* - Update the preamble from new content (project name, description)
|
|
10
|
+
* - Replace standard sections with new versions
|
|
11
|
+
* - Preserve custom sections from existing content
|
|
12
|
+
* - Maintain section order from new content where possible
|
|
13
|
+
*/
|
|
14
|
+
export declare function mergeClaudeMd(existingContent: string, newContent: string): string;
|
|
15
|
+
//# sourceMappingURL=merge-claude-md.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-claude-md.d.ts","sourceRoot":"","sources":["../../src/utils/merge-claude-md.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA6GH;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAoDjF"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Merges existing CLAUDE.md/AGENT.md content with newly generated content
|
|
3
|
+
* Preserves custom sections and user modifications while updating standard sections
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Parse markdown content into sections
|
|
7
|
+
*/
|
|
8
|
+
function parseSections(content) {
|
|
9
|
+
const lines = content.split('\n');
|
|
10
|
+
const sections = [];
|
|
11
|
+
let currentSection = null;
|
|
12
|
+
let currentContent = [];
|
|
13
|
+
for (let i = 0; i < lines.length; i++) {
|
|
14
|
+
const line = lines[i];
|
|
15
|
+
const heading = line.match(/^##\s+(.+)$/);
|
|
16
|
+
if (heading) {
|
|
17
|
+
// Save previous section
|
|
18
|
+
if (currentSection) {
|
|
19
|
+
currentSection.content = currentContent.join('\n').trim();
|
|
20
|
+
currentSection.endLine = i - 1;
|
|
21
|
+
sections.push(currentSection);
|
|
22
|
+
}
|
|
23
|
+
// Start new section
|
|
24
|
+
currentSection = {
|
|
25
|
+
title: heading[1].trim(),
|
|
26
|
+
content: '',
|
|
27
|
+
startLine: i,
|
|
28
|
+
endLine: i,
|
|
29
|
+
};
|
|
30
|
+
currentContent = [];
|
|
31
|
+
}
|
|
32
|
+
else if (currentSection) {
|
|
33
|
+
currentContent.push(line);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
// Save last section
|
|
37
|
+
if (currentSection) {
|
|
38
|
+
currentSection.content = currentContent.join('\n').trim();
|
|
39
|
+
currentSection.endLine = lines.length - 1;
|
|
40
|
+
sections.push(currentSection);
|
|
41
|
+
}
|
|
42
|
+
return sections;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Extract preamble (content before first ## heading)
|
|
46
|
+
*/
|
|
47
|
+
function extractPreamble(content) {
|
|
48
|
+
const lines = content.split('\n');
|
|
49
|
+
const preamble = [];
|
|
50
|
+
for (const line of lines) {
|
|
51
|
+
if (line.match(/^##\s+/)) {
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
preamble.push(line);
|
|
55
|
+
}
|
|
56
|
+
return preamble.join('\n').trim();
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Standard sections that should be updated from the generated content
|
|
60
|
+
*/
|
|
61
|
+
const STANDARD_SECTIONS = new Set([
|
|
62
|
+
'MANDATORY RULES',
|
|
63
|
+
'MEMORY SYSTEM',
|
|
64
|
+
'BROWSER USAGE',
|
|
65
|
+
'DECISION LOOP',
|
|
66
|
+
'SKILLS',
|
|
67
|
+
'MANDATORY WORKFLOW REQUIREMENTS',
|
|
68
|
+
'GIT WORKTREE WORKFLOW',
|
|
69
|
+
'GIT BRANCH WORKFLOW',
|
|
70
|
+
'Quick Reference',
|
|
71
|
+
'Essential Commands',
|
|
72
|
+
'Core Components',
|
|
73
|
+
'Architecture',
|
|
74
|
+
'Data Layer',
|
|
75
|
+
'Databases',
|
|
76
|
+
'Authentication',
|
|
77
|
+
'CI/CD',
|
|
78
|
+
'Troubleshooting',
|
|
79
|
+
'Required Workflow',
|
|
80
|
+
'Augmented Agent Capabilities',
|
|
81
|
+
'Completion Checklist',
|
|
82
|
+
]);
|
|
83
|
+
/**
|
|
84
|
+
* Check if a section title matches a standard section (case-insensitive, partial match)
|
|
85
|
+
*/
|
|
86
|
+
function isStandardSection(title) {
|
|
87
|
+
const normalizedTitle = title.toUpperCase().trim();
|
|
88
|
+
for (const stdSection of STANDARD_SECTIONS) {
|
|
89
|
+
if (normalizedTitle.includes(stdSection.toUpperCase()) || stdSection.toUpperCase().includes(normalizedTitle)) {
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Merge existing CLAUDE.md content with newly generated content
|
|
97
|
+
*
|
|
98
|
+
* Strategy:
|
|
99
|
+
* - Update the preamble from new content (project name, description)
|
|
100
|
+
* - Replace standard sections with new versions
|
|
101
|
+
* - Preserve custom sections from existing content
|
|
102
|
+
* - Maintain section order from new content where possible
|
|
103
|
+
*/
|
|
104
|
+
export function mergeClaudeMd(existingContent, newContent) {
|
|
105
|
+
const existingSections = parseSections(existingContent);
|
|
106
|
+
const newSections = parseSections(newContent);
|
|
107
|
+
const newPreamble = extractPreamble(newContent);
|
|
108
|
+
// Map existing custom sections by normalized title
|
|
109
|
+
const customSections = new Map();
|
|
110
|
+
for (const section of existingSections) {
|
|
111
|
+
if (!isStandardSection(section.title)) {
|
|
112
|
+
customSections.set(section.title.toLowerCase().trim(), section);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
// Build merged content
|
|
116
|
+
const merged = [];
|
|
117
|
+
// Use new preamble
|
|
118
|
+
merged.push(newPreamble);
|
|
119
|
+
merged.push('');
|
|
120
|
+
// Track which custom sections we've included
|
|
121
|
+
const includedCustomSections = new Set();
|
|
122
|
+
// Process new sections in order
|
|
123
|
+
for (const newSection of newSections) {
|
|
124
|
+
merged.push(`## ${newSection.title}`);
|
|
125
|
+
merged.push('');
|
|
126
|
+
merged.push(newSection.content);
|
|
127
|
+
merged.push('');
|
|
128
|
+
merged.push('---');
|
|
129
|
+
merged.push('');
|
|
130
|
+
}
|
|
131
|
+
// Append remaining custom sections at the end
|
|
132
|
+
for (const [customTitle, customSection] of customSections.entries()) {
|
|
133
|
+
if (!includedCustomSections.has(customTitle)) {
|
|
134
|
+
merged.push(`## ${customSection.title}`);
|
|
135
|
+
merged.push('');
|
|
136
|
+
merged.push(customSection.content);
|
|
137
|
+
merged.push('');
|
|
138
|
+
merged.push('---');
|
|
139
|
+
merged.push('');
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
// Clean up: remove trailing separators and normalize spacing
|
|
143
|
+
let result = merged.join('\n');
|
|
144
|
+
result = result.replace(/\n{3,}/g, '\n\n'); // Max 2 consecutive newlines
|
|
145
|
+
result = result.replace(/---\n*$/, ''); // Remove trailing separator
|
|
146
|
+
result = result.trim();
|
|
147
|
+
return result;
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=merge-claude-md.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-claude-md.js","sourceRoot":"","sources":["../../src/utils/merge-claude-md.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "universal-agent-memory",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Universal AI agent memory system - CLAUDE.md templates, memory, worktrees for Claude Code, Factory.AI, VSCode, OpenCode",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"bin": {
|
|
9
|
+
"universal-agent-memory": "dist/bin/cli.js",
|
|
10
|
+
"uam": "dist/bin/cli.js"
|
|
11
|
+
},
|
|
12
|
+
"scripts": {
|
|
13
|
+
"build": "tsc",
|
|
14
|
+
"dev": "tsc --watch",
|
|
15
|
+
"start": "node dist/bin/cli.js",
|
|
16
|
+
"test": "vitest",
|
|
17
|
+
"test:coverage": "vitest --coverage",
|
|
18
|
+
"lint": "eslint src --ext .ts",
|
|
19
|
+
"lint:fix": "eslint src --ext .ts --fix",
|
|
20
|
+
"format": "prettier --write src/**/*.ts",
|
|
21
|
+
"prepare": "npm run build",
|
|
22
|
+
"install:web": "bash scripts/install-web.sh",
|
|
23
|
+
"install:desktop": "bash scripts/install-desktop.sh",
|
|
24
|
+
"install:all": "bash scripts/install.sh",
|
|
25
|
+
"postinstall": "echo '\n✨ Run: npx universal-agent-memory init --interactive'"
|
|
26
|
+
},
|
|
27
|
+
"keywords": [
|
|
28
|
+
"claude",
|
|
29
|
+
"claude-code",
|
|
30
|
+
"factory-ai",
|
|
31
|
+
"opencode",
|
|
32
|
+
"vscode",
|
|
33
|
+
"ai-agent",
|
|
34
|
+
"context",
|
|
35
|
+
"memory",
|
|
36
|
+
"worktree",
|
|
37
|
+
"cli"
|
|
38
|
+
],
|
|
39
|
+
"author": "Miller Tech",
|
|
40
|
+
"license": "MIT",
|
|
41
|
+
"repository": {
|
|
42
|
+
"type": "git",
|
|
43
|
+
"url": "https://github.com/DammianMiller/universal-agent-memory.git"
|
|
44
|
+
},
|
|
45
|
+
"homepage": "https://github.com/DammianMiller/universal-agent-memory#readme",
|
|
46
|
+
"bugs": {
|
|
47
|
+
"url": "https://github.com/DammianMiller/universal-agent-memory/issues"
|
|
48
|
+
},
|
|
49
|
+
"publishConfig": {
|
|
50
|
+
"access": "public",
|
|
51
|
+
"registry": "https://registry.npmjs.org/"
|
|
52
|
+
},
|
|
53
|
+
"engines": {
|
|
54
|
+
"node": ">=18.0.0"
|
|
55
|
+
},
|
|
56
|
+
"dependencies": {
|
|
57
|
+
"@octokit/rest": "^20.0.2",
|
|
58
|
+
"@qdrant/js-client-rest": "^1.11.0",
|
|
59
|
+
"better-sqlite3": "^11.0.0",
|
|
60
|
+
"chalk": "^5.3.0",
|
|
61
|
+
"commander": "^12.1.0",
|
|
62
|
+
"dexie": "^4.0.8",
|
|
63
|
+
"glob": "^10.3.10",
|
|
64
|
+
"handlebars": "^4.7.8",
|
|
65
|
+
"inquirer": "^9.2.12",
|
|
66
|
+
"js-yaml": "^4.1.0",
|
|
67
|
+
"ora": "^8.0.1",
|
|
68
|
+
"simple-git": "^3.22.0",
|
|
69
|
+
"zod": "^3.22.4"
|
|
70
|
+
},
|
|
71
|
+
"devDependencies": {
|
|
72
|
+
"@types/better-sqlite3": "^7.6.8",
|
|
73
|
+
"@types/inquirer": "^9.0.7",
|
|
74
|
+
"@types/js-yaml": "^4.0.9",
|
|
75
|
+
"@types/node": "^20.11.0",
|
|
76
|
+
"@typescript-eslint/eslint-plugin": "^6.19.0",
|
|
77
|
+
"@typescript-eslint/parser": "^6.19.0",
|
|
78
|
+
"eslint": "^8.56.0",
|
|
79
|
+
"fake-indexeddb": "^6.0.0",
|
|
80
|
+
"prettier": "^3.2.4",
|
|
81
|
+
"typescript": "^5.3.3",
|
|
82
|
+
"vitest": "^1.2.0"
|
|
83
|
+
},
|
|
84
|
+
"files": [
|
|
85
|
+
"dist",
|
|
86
|
+
"templates",
|
|
87
|
+
"README.md",
|
|
88
|
+
"LICENSE"
|
|
89
|
+
]
|
|
90
|
+
}
|