memax-cli 0.1.2-alpha.1967 → 0.1.2-alpha.1975

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 (45) hide show
  1. package/package.json +2 -2
  2. package/dist/commands/agent-configs.test.d.ts +0 -2
  3. package/dist/commands/agent-configs.test.d.ts.map +0 -1
  4. package/dist/commands/agent-configs.test.js +0 -122
  5. package/dist/commands/agent-configs.test.js.map +0 -1
  6. package/dist/commands/agent-sessions.test.d.ts +0 -2
  7. package/dist/commands/agent-sessions.test.d.ts.map +0 -1
  8. package/dist/commands/agent-sessions.test.js +0 -255
  9. package/dist/commands/agent-sessions.test.js.map +0 -1
  10. package/dist/commands/dreams.test.d.ts +0 -2
  11. package/dist/commands/dreams.test.d.ts.map +0 -1
  12. package/dist/commands/dreams.test.js +0 -39
  13. package/dist/commands/dreams.test.js.map +0 -1
  14. package/dist/commands/hub.test.d.ts +0 -2
  15. package/dist/commands/hub.test.d.ts.map +0 -1
  16. package/dist/commands/hub.test.js +0 -62
  17. package/dist/commands/hub.test.js.map +0 -1
  18. package/dist/commands/import.test.d.ts +0 -2
  19. package/dist/commands/import.test.d.ts.map +0 -1
  20. package/dist/commands/import.test.js +0 -11
  21. package/dist/commands/import.test.js.map +0 -1
  22. package/dist/commands/list.test.d.ts +0 -2
  23. package/dist/commands/list.test.d.ts.map +0 -1
  24. package/dist/commands/list.test.js +0 -20
  25. package/dist/commands/list.test.js.map +0 -1
  26. package/dist/commands/recall.test.d.ts +0 -2
  27. package/dist/commands/recall.test.d.ts.map +0 -1
  28. package/dist/commands/recall.test.js +0 -31
  29. package/dist/commands/recall.test.js.map +0 -1
  30. package/dist/commands/topic.test.d.ts +0 -2
  31. package/dist/commands/topic.test.d.ts.map +0 -1
  32. package/dist/commands/topic.test.js +0 -114
  33. package/dist/commands/topic.test.js.map +0 -1
  34. package/dist/lib/client.test.d.ts +0 -2
  35. package/dist/lib/client.test.d.ts.map +0 -1
  36. package/dist/lib/client.test.js +0 -44
  37. package/dist/lib/client.test.js.map +0 -1
  38. package/dist/lib/hubs.test.d.ts +0 -2
  39. package/dist/lib/hubs.test.d.ts.map +0 -1
  40. package/dist/lib/hubs.test.js +0 -58
  41. package/dist/lib/hubs.test.js.map +0 -1
  42. package/dist/lib/project-context.test.d.ts +0 -2
  43. package/dist/lib/project-context.test.d.ts.map +0 -1
  44. package/dist/lib/project-context.test.js +0 -75
  45. package/dist/lib/project-context.test.js.map +0 -1
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.1.2-alpha.1967",
6
+ "version": "0.1.2-alpha.1975",
7
7
  "description": "CLI for Memax — universal context & memory hub for AI agents",
8
8
  "homepage": "https://memax.app",
9
9
  "repository": {
@@ -28,7 +28,7 @@
28
28
  "@modelcontextprotocol/sdk": "^1.12.1",
29
29
  "chalk": "^5.4.0",
30
30
  "commander": "^13.0.0",
31
- "memax-sdk": "^0.4.1-alpha.1967"
31
+ "memax-sdk": "^0.4.1-alpha.1975"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/node": "^25.5.0",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=agent-configs.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-configs.test.d.ts","sourceRoot":"","sources":["../../src/commands/agent-configs.test.ts"],"names":[],"mappings":""}
@@ -1,122 +0,0 @@
1
- import { join } from "node:path";
2
- import { describe, expect, it } from "vitest";
3
- import { classifyAgentConfigPlacement, resolveAgentConfigWritePath, } from "./agent-configs.js";
4
- describe("resolveAgentConfigWritePath", () => {
5
- const cwd = "/workspaces/memax";
6
- const home = "/home/tester";
7
- const scope = "project:github.com/memaxlabs/memax";
8
- it("resolves Claude project config into .claude", () => {
9
- expect(resolveAgentConfigWritePath("claude-code", "CLAUDE.md", scope, {
10
- cwd,
11
- home,
12
- currentProjectScope: scope,
13
- })).toBe(join(cwd, ".claude", "CLAUDE.md"));
14
- });
15
- it("resolves Codex project config into .codex", () => {
16
- expect(resolveAgentConfigWritePath("codex", "instructions.md", scope, {
17
- cwd,
18
- home,
19
- currentProjectScope: scope,
20
- })).toBe(join(cwd, ".codex", "instructions.md"));
21
- });
22
- it("resolves Copilot project config into .github", () => {
23
- expect(resolveAgentConfigWritePath("copilot", "copilot-instructions.md", scope, {
24
- cwd,
25
- home,
26
- currentProjectScope: scope,
27
- })).toBe(join(cwd, ".github", "copilot-instructions.md"));
28
- });
29
- it("resolves OpenCode project files into .opencode", () => {
30
- expect(resolveAgentConfigWritePath("opencode", "identity.md", scope, {
31
- cwd,
32
- home,
33
- currentProjectScope: scope,
34
- })).toBe(join(cwd, ".opencode", "identity.md"));
35
- });
36
- it("resolves Claude per-project memory files via project dir locator", () => {
37
- expect(resolveAgentConfigWritePath("claude-code", "memory/feedback.md", scope, {
38
- cwd,
39
- home,
40
- currentProjectScope: scope,
41
- findClaudeProjectDir: () => "/home/tester/.claude/projects/-workspaces-memax",
42
- })).toBe("/home/tester/.claude/projects/-workspaces-memax/memory/feedback.md");
43
- });
44
- it("refuses to resolve project-scoped files for a different project", () => {
45
- expect(resolveAgentConfigWritePath("codex", "instructions.md", scope, {
46
- cwd,
47
- home,
48
- currentProjectScope: "project:github.com/other/repo",
49
- })).toBeNull();
50
- });
51
- it("resolves global Claude config under ~/.claude", () => {
52
- expect(resolveAgentConfigWritePath("claude-code", "CLAUDE.md", "global", {
53
- cwd,
54
- home,
55
- currentProjectScope: scope,
56
- })).toBe(join(home, ".claude", "CLAUDE.md"));
57
- });
58
- });
59
- describe("classifyAgentConfigPlacement", () => {
60
- const cwd = "/workspaces/memax";
61
- const home = "/home/tester";
62
- const scope = "project:github.com/memaxlabs/memax";
63
- it("reports present when a local config already exists", () => {
64
- const result = classifyAgentConfigPlacement("codex", "instructions.md", scope, {
65
- cwd,
66
- home,
67
- currentProjectScope: scope,
68
- localByKey: new Map([
69
- [
70
- `codex|instructions.md|${scope}`,
71
- {
72
- agent: "codex",
73
- label: "./.codex/instructions.md",
74
- path: join(cwd, ".codex", "instructions.md"),
75
- filePath: "instructions.md",
76
- scope,
77
- },
78
- ],
79
- ]),
80
- });
81
- expect(result).toEqual({
82
- kind: "present",
83
- path: join(cwd, ".codex", "instructions.md"),
84
- reason: "present locally",
85
- });
86
- });
87
- it("reports restorable when there is a safe write path on this machine", () => {
88
- const result = classifyAgentConfigPlacement("codex", "instructions.md", scope, {
89
- cwd,
90
- home,
91
- currentProjectScope: scope,
92
- });
93
- expect(result).toEqual({
94
- kind: "restorable",
95
- path: join(cwd, ".codex", "instructions.md"),
96
- reason: "safe restore path available",
97
- });
98
- });
99
- it("reports different project for mismatched project scopes", () => {
100
- const result = classifyAgentConfigPlacement("codex", "instructions.md", scope, {
101
- cwd,
102
- home,
103
- currentProjectScope: "project:github.com/other/repo",
104
- });
105
- expect(result).toEqual({
106
- kind: "different_project",
107
- reason: "belongs to github.com/memaxlabs/memax",
108
- });
109
- });
110
- it("reports unresolved when no safe path can be derived", () => {
111
- const result = classifyAgentConfigPlacement("unknown-agent", "instructions.md", "global", {
112
- cwd,
113
- home,
114
- currentProjectScope: scope,
115
- });
116
- expect(result).toEqual({
117
- kind: "unresolved",
118
- reason: "no safe restore path on this machine",
119
- });
120
- });
121
- });
122
- //# sourceMappingURL=agent-configs.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-configs.test.js","sourceRoot":"","sources":["../../src/commands/agent-configs.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=agent-sessions.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-sessions.test.d.ts","sourceRoot":"","sources":["../../src/commands/agent-sessions.test.ts"],"names":[],"mappings":""}
@@ -1,255 +0,0 @@
1
- import { existsSync, readFileSync, rmSync } from "node:fs";
2
- import { join } from "node:path";
3
- import { describe, expect, it } from "vitest";
4
- import { classifyAgentSessionPlacement, computeSessionSyncHash, findShadowedGlobalSessions, hashPortableSessionContent, isLegacyGlobalSessionShadowed, materializeAgentSessionContent, resolveAgentSessionWritePath, } from "./agent-sessions.js";
5
- describe("resolveAgentSessionWritePath", () => {
6
- const cwd = "/workspaces/memax";
7
- const home = "/home/tester";
8
- const scope = "project:github.com/memaxlabs/memax";
9
- it("resolves global Codex history", () => {
10
- expect(resolveAgentSessionWritePath("codex", "history.jsonl", "global", {
11
- cwd,
12
- home,
13
- currentProjectScope: scope,
14
- })).toBe(join(home, ".codex", "history.jsonl"));
15
- });
16
- it("resolves global Codex sessions", () => {
17
- expect(resolveAgentSessionWritePath("codex", "sessions/2026/04/07/example.jsonl", "global", {
18
- cwd,
19
- home,
20
- currentProjectScope: scope,
21
- })).toBe(join(home, ".codex", "sessions", "2026/04/07/example.jsonl"));
22
- });
23
- it("refuses project-scoped writes for a different project", () => {
24
- expect(resolveAgentSessionWritePath("gemini", "chats/session.json", scope, {
25
- cwd,
26
- home,
27
- currentProjectScope: "project:github.com/other/repo",
28
- })).toBeNull();
29
- });
30
- it("resolves project-scoped Codex sessions into ~/.codex", () => {
31
- expect(resolveAgentSessionWritePath("codex", "sessions/2026/04/07/example.jsonl", scope, {
32
- cwd,
33
- home,
34
- currentProjectScope: scope,
35
- })).toBe(join(home, ".codex", "sessions", "2026/04/07/example.jsonl"));
36
- });
37
- });
38
- describe("classifyAgentSessionPlacement", () => {
39
- const cwd = "/workspaces/memax";
40
- const home = "/home/tester";
41
- const scope = "project:github.com/memaxlabs/memax";
42
- it("reports present when a local session already exists", () => {
43
- const result = classifyAgentSessionPlacement("codex", "history.jsonl", "global", {
44
- cwd,
45
- home,
46
- currentProjectScope: scope,
47
- localByKey: new Map([
48
- [
49
- "codex|history.jsonl|global",
50
- {
51
- agent: "codex",
52
- path: join(home, ".codex", "history.jsonl"),
53
- filePath: "history.jsonl",
54
- scope: "global",
55
- sessionType: "history",
56
- },
57
- ],
58
- ]),
59
- });
60
- expect(result).toEqual({
61
- kind: "present",
62
- path: join(home, ".codex", "history.jsonl"),
63
- reason: "present locally",
64
- });
65
- });
66
- it("reports restorable for a known safe path", () => {
67
- const result = classifyAgentSessionPlacement("codex", "history.jsonl", "global", {
68
- cwd,
69
- home,
70
- currentProjectScope: scope,
71
- });
72
- expect(result).toEqual({
73
- kind: "restorable",
74
- path: join(home, ".codex", "history.jsonl"),
75
- reason: "safe restore path available",
76
- });
77
- });
78
- it("reports different project for mismatched project scopes", () => {
79
- const result = classifyAgentSessionPlacement("gemini", "chats/session.json", scope, {
80
- cwd,
81
- home,
82
- currentProjectScope: "project:github.com/other/repo",
83
- });
84
- expect(result).toEqual({
85
- kind: "different_project",
86
- reason: "belongs to github.com/memaxlabs/memax",
87
- });
88
- });
89
- });
90
- describe("portable session hashing", () => {
91
- it("treats Codex cwd rewrites as the same logical session", () => {
92
- const first = Buffer.from(`${JSON.stringify({
93
- type: "session_meta",
94
- payload: { cwd: "/workspaces/memax" },
95
- })}\n`, "utf-8");
96
- const second = Buffer.from(`${JSON.stringify({
97
- type: "session_meta",
98
- payload: { cwd: "/Users/alice/src/memax" },
99
- })}\n`, "utf-8");
100
- expect(hashPortableSessionContent("codex", first, "/workspaces/memax")).toBe(hashPortableSessionContent("codex", second, "/Users/alice/src/memax"));
101
- });
102
- });
103
- describe("materializeAgentSessionContent", () => {
104
- it("rewrites structured cwd fields for Codex restores", () => {
105
- const content = Buffer.from(`${JSON.stringify({
106
- type: "session_meta",
107
- payload: { cwd: "/workspaces/memax" },
108
- })}\n`, "utf-8");
109
- const restored = materializeAgentSessionContent("codex", content, {
110
- scope: "project:github.com/memaxlabs/memax",
111
- currentProjectRootPath: "/Users/alice/src/memax",
112
- writePath: "/Users/alice/.codex/sessions/example.jsonl",
113
- }).toString("utf-8");
114
- expect(restored).toContain("/Users/alice/src/memax");
115
- expect(restored).not.toContain("/workspaces/memax");
116
- });
117
- it("writes Gemini project_root markers on restore", () => {
118
- const content = Buffer.from('{"sessionId":"1"}\n', "utf-8");
119
- const root = join("/tmp", "memax-agent-session-test");
120
- const writePath = join(root, "chats", "session.json");
121
- rmSync(root, { recursive: true, force: true });
122
- materializeAgentSessionContent("gemini", content, {
123
- scope: "project:github.com/memaxlabs/memax",
124
- currentProjectRootPath: "/workspaces/memax",
125
- writePath,
126
- });
127
- const markerPath = join(root, ".project_root");
128
- expect(existsSync(markerPath)).toBe(true);
129
- expect(readFileSync(markerPath, "utf-8")).toBe("/workspaces/memax\n");
130
- rmSync(root, { recursive: true, force: true });
131
- });
132
- });
133
- describe("session sync convergence", () => {
134
- it("acks pulled project sessions using the materialized portable hash", () => {
135
- const downloaded = Buffer.from(`${JSON.stringify({
136
- type: "session_meta",
137
- payload: { cwd: "/workspaces/memax" },
138
- })}\n`, "utf-8");
139
- const materialized = materializeAgentSessionContent("codex", downloaded, {
140
- scope: "project:github.com/memaxlabs/memax",
141
- currentProjectRootPath: "/Users/alice/src/memax",
142
- writePath: "/Users/alice/.codex/sessions/example.jsonl",
143
- });
144
- expect(computeSessionSyncHash("codex", "project:github.com/memaxlabs/memax", materialized, "/Users/alice/src/memax")).toBe(hashPortableSessionContent("codex", materialized, "/Users/alice/src/memax"));
145
- });
146
- it("marks legacy global codex session duplicates as shadowed", () => {
147
- expect(isLegacyGlobalSessionShadowed({
148
- action: "pull",
149
- agent: "codex",
150
- file_path: "sessions/2026/04/07/rollout-2026-04-07T05-39-15-019d6673-c077-7371-a3b8-3d98c1c8e7a7.jsonl",
151
- scope: "global",
152
- reason: "cloud_only",
153
- }, new Set([
154
- "codex|sessions/2026/04/07/rollout-2026-04-07T05-39-15-019d6673-c077-7371-a3b8-3d98c1c8e7a7.jsonl",
155
- ]))).toBe(true);
156
- expect(isLegacyGlobalSessionShadowed({
157
- action: "delete_local",
158
- agent: "codex",
159
- file_path: "sessions/2026/04/07/rollout-2026-04-07T05-39-15-019d6673-c077-7371-a3b8-3d98c1c8e7a7.jsonl",
160
- scope: "global",
161
- reason: "deleted_everywhere",
162
- }, new Set([
163
- "codex|sessions/2026/04/07/rollout-2026-04-07T05-39-15-019d6673-c077-7371-a3b8-3d98c1c8e7a7.jsonl",
164
- ]))).toBe(true);
165
- });
166
- it("does not shadow codex history or non-duplicate sessions", () => {
167
- expect(isLegacyGlobalSessionShadowed({
168
- action: "pull",
169
- agent: "codex",
170
- file_path: "history.jsonl",
171
- scope: "global",
172
- reason: "cloud_only",
173
- }, new Set(["codex|history.jsonl"]))).toBe(false);
174
- expect(isLegacyGlobalSessionShadowed({
175
- action: "pull",
176
- agent: "codex",
177
- file_path: "sessions/2026/04/07/example.jsonl",
178
- scope: "global",
179
- reason: "cloud_only",
180
- }, new Set())).toBe(false);
181
- });
182
- it("finds safe legacy global duplicates by agent and file path", () => {
183
- const pairs = findShadowedGlobalSessions([
184
- {
185
- id: "g1",
186
- owner_id: "o1",
187
- agent: "codex",
188
- file_path: "sessions/2026/04/07/example.jsonl",
189
- scope: "global",
190
- session_type: "transcript",
191
- filename: "example.jsonl",
192
- content_type: "application/jsonl",
193
- size_bytes: 10,
194
- content_hash: "abc",
195
- version: 1,
196
- created_at: "2026-04-08T00:00:00Z",
197
- updated_at: "2026-04-08T00:00:00Z",
198
- },
199
- {
200
- id: "p1",
201
- owner_id: "o1",
202
- agent: "codex",
203
- file_path: "sessions/2026/04/07/example.jsonl",
204
- scope: "project:github.com/memaxlabs/memax",
205
- session_type: "transcript",
206
- filename: "example.jsonl",
207
- content_type: "application/jsonl",
208
- size_bytes: 10,
209
- content_hash: "abc",
210
- version: 2,
211
- created_at: "2026-04-08T00:00:00Z",
212
- updated_at: "2026-04-08T00:00:00Z",
213
- },
214
- ]);
215
- expect(pairs).toHaveLength(1);
216
- expect(pairs[0]?.global.id).toBe("g1");
217
- expect(pairs[0]?.project.id).toBe("p1");
218
- });
219
- it("ignores codex history and unrelated scopes when finding duplicates", () => {
220
- const pairs = findShadowedGlobalSessions([
221
- {
222
- id: "g1",
223
- owner_id: "o1",
224
- agent: "codex",
225
- file_path: "history.jsonl",
226
- scope: "global",
227
- session_type: "history",
228
- filename: "history.jsonl",
229
- content_type: "application/jsonl",
230
- size_bytes: 10,
231
- content_hash: "abc",
232
- version: 1,
233
- created_at: "2026-04-08T00:00:00Z",
234
- updated_at: "2026-04-08T00:00:00Z",
235
- },
236
- {
237
- id: "p1",
238
- owner_id: "o1",
239
- agent: "codex",
240
- file_path: "history.jsonl",
241
- scope: "project:github.com/memaxlabs/memax",
242
- session_type: "history",
243
- filename: "history.jsonl",
244
- content_type: "application/jsonl",
245
- size_bytes: 10,
246
- content_hash: "abc",
247
- version: 2,
248
- created_at: "2026-04-08T00:00:00Z",
249
- updated_at: "2026-04-08T00:00:00Z",
250
- },
251
- ]);
252
- expect(pairs).toHaveLength(0);
253
- });
254
- });
255
- //# sourceMappingURL=agent-sessions.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-sessions.test.js","sourceRoot":"","sources":["../../src/commands/agent-sessions.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=dreams.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dreams.test.d.ts","sourceRoot":"","sources":["../../src/commands/dreams.test.ts"],"names":[],"mappings":""}
@@ -1,39 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { summarizeRun } from "./dreams.js";
3
- describe("summarizeRun", () => {
4
- it("includes only non-zero dream outcomes", () => {
5
- expect(summarizeRun({
6
- id: "r1",
7
- owner_id: "u1",
8
- hub_id: "h1",
9
- status: "completed",
10
- started_at: "",
11
- finished_at: "",
12
- memories_scanned: 12,
13
- duplicates_merged: 2,
14
- contradictions_found: 1,
15
- memories_archived: 0,
16
- memories_organized: 5,
17
- topics_restructured: 0,
18
- report: "",
19
- })).toEqual(["2 merged", "1 contradictions", "5 organized"]);
20
- });
21
- it("returns an empty summary when no changes were made", () => {
22
- expect(summarizeRun({
23
- id: "r2",
24
- owner_id: "u1",
25
- hub_id: "h1",
26
- status: "completed",
27
- started_at: "",
28
- finished_at: "",
29
- memories_scanned: 2,
30
- duplicates_merged: 0,
31
- contradictions_found: 0,
32
- memories_archived: 0,
33
- memories_organized: 0,
34
- topics_restructured: 0,
35
- report: "",
36
- })).toEqual([]);
37
- });
38
- });
39
- //# sourceMappingURL=dreams.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dreams.test.js","sourceRoot":"","sources":["../../src/commands/dreams.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,MAAM,CACJ,YAAY,CAAC;YACX,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,WAAW;YACnB,UAAU,EAAE,EAAE;YACd,WAAW,EAAE,EAAE;YACf,gBAAgB,EAAE,EAAE;YACpB,iBAAiB,EAAE,CAAC;YACpB,oBAAoB,EAAE,CAAC;YACvB,iBAAiB,EAAE,CAAC;YACpB,kBAAkB,EAAE,CAAC;YACrB,mBAAmB,EAAE,CAAC;YACtB,MAAM,EAAE,EAAE;SACX,CAAC,CACH,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,CACJ,YAAY,CAAC;YACX,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,WAAW;YACnB,UAAU,EAAE,EAAE;YACd,WAAW,EAAE,EAAE;YACf,gBAAgB,EAAE,CAAC;YACnB,iBAAiB,EAAE,CAAC;YACpB,oBAAoB,EAAE,CAAC;YACvB,iBAAiB,EAAE,CAAC;YACpB,kBAAkB,EAAE,CAAC;YACrB,mBAAmB,EAAE,CAAC;YACtB,MAAM,EAAE,EAAE;SACX,CAAC,CACH,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=hub.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hub.test.d.ts","sourceRoot":"","sources":["../../src/commands/hub.test.ts"],"names":[],"mappings":""}
@@ -1,62 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { deriveInviteURL, extractInviteToken, inviteDisplayID, resolveInviteReference, } from "./hub.js";
3
- describe("inviteDisplayID", () => {
4
- it("shortens invite IDs by default", () => {
5
- expect(inviteDisplayID("12345678-1234-1234-1234-123456789abc")).toBe("12345678");
6
- });
7
- it("shows full invite IDs in verbose mode", () => {
8
- expect(inviteDisplayID("12345678-1234-1234-1234-123456789abc", true)).toBe("12345678-1234-1234-1234-123456789abc");
9
- });
10
- });
11
- describe("deriveInviteURL", () => {
12
- it("maps localhost API to local web app", () => {
13
- expect(deriveInviteURL("tok", "http://localhost:8080")).toBe("http://localhost:3000/invite/tok");
14
- });
15
- it("strips api prefix for production", () => {
16
- expect(deriveInviteURL("tok", "https://api.memax.app")).toBe("https://memax.app/invite/tok");
17
- });
18
- it("maps staging-api to staging-app", () => {
19
- expect(deriveInviteURL("tok", "https://staging-api.memaxlabs.com")).toBe("https://staging-app.memaxlabs.com/invite/tok");
20
- });
21
- it("maps api- prefix to app- prefix", () => {
22
- expect(deriveInviteURL("tok", "https://api-staging.memaxlabs.com")).toBe("https://app-staging.memaxlabs.com/invite/tok");
23
- });
24
- });
25
- describe("extractInviteToken", () => {
26
- it("returns raw token unchanged", () => {
27
- expect(extractInviteToken("abc123")).toBe("abc123");
28
- });
29
- it("extracts token from invite URL", () => {
30
- expect(extractInviteToken("https://memax.app/invite/abc123")).toBe("abc123");
31
- });
32
- });
33
- describe("resolveInviteReference", () => {
34
- const invites = [
35
- {
36
- id: "12345678-1234-1234-1234-123456789abc",
37
- hub_id: "h1",
38
- token: "tok1",
39
- invited_by: "u1",
40
- role: "contributor",
41
- expires_at: "",
42
- created_at: "",
43
- },
44
- {
45
- id: "abcdef12-1234-1234-1234-123456789abc",
46
- hub_id: "h1",
47
- token: "tok2",
48
- invited_by: "u1",
49
- role: "viewer",
50
- expires_at: "",
51
- created_at: "",
52
- },
53
- ];
54
- it("resolves exact invite IDs", () => {
55
- expect(resolveInviteReference(invites, "12345678-1234-1234-1234-123456789abc")
56
- .id).toBe("12345678-1234-1234-1234-123456789abc");
57
- });
58
- it("resolves unique invite ID prefixes", () => {
59
- expect(resolveInviteReference(invites, "abcdef12").id).toBe("abcdef12-1234-1234-1234-123456789abc");
60
- });
61
- });
62
- //# sourceMappingURL=hub.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hub.test.js","sourceRoot":"","sources":["../../src/commands/hub.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=import.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"import.test.d.ts","sourceRoot":"","sources":["../../src/commands/import.test.ts"],"names":[],"mappings":""}
@@ -1,11 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { buildSyncSourcePath } from "./import.js";
3
- describe("buildSyncSourcePath", () => {
4
- it("uses the declared sync root rather than process cwd", () => {
5
- expect(buildSyncSourcePath("/workspaces/memax/docs", "/workspaces/memax/docs/adr/001.md")).toBe("adr/001.md");
6
- });
7
- it("rejects files outside the sync root", () => {
8
- expect(() => buildSyncSourcePath("/workspaces/memax/docs", "/workspaces/memax/README.md")).toThrow("file is outside sync root");
9
- });
10
- });
11
- //# sourceMappingURL=import.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"import.test.js","sourceRoot":"","sources":["../../src/commands/import.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,CACJ,mBAAmB,CACjB,wBAAwB,EACxB,mCAAmC,CACpC,CACF,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,GAAG,EAAE,CACV,mBAAmB,CACjB,wBAAwB,EACxB,6BAA6B,CAC9B,CACF,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=list.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.test.d.ts","sourceRoot":"","sources":["../../src/commands/list.test.ts"],"names":[],"mappings":""}
@@ -1,20 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { buildNextPageCommand } from "./list.js";
3
- describe("buildNextPageCommand", () => {
4
- it("carries relevant options into the next-page command", () => {
5
- const cmd = buildNextPageCommand({
6
- sort: "relevant",
7
- limit: "50",
8
- hub: "team-hub",
9
- }, "12|2026-04-08T10:00:00Z");
10
- expect(cmd).toBe("memax list --sort relevant --limit 50 --hub team-hub --cursor '12|2026-04-08T10:00:00Z'");
11
- });
12
- it("preserves --topic-id across pages", () => {
13
- const cmd = buildNextPageCommand({
14
- hub: "team-hub",
15
- topicId: "01H9X0ABCDEF",
16
- }, "12|2026-04-08T10:00:00Z");
17
- expect(cmd).toBe("memax list --hub team-hub --topic-id 01H9X0ABCDEF --cursor '12|2026-04-08T10:00:00Z'");
18
- });
19
- });
20
- //# sourceMappingURL=list.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.test.js","sourceRoot":"","sources":["../../src/commands/list.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,GAAG,GAAG,oBAAoB,CAC9B;YACE,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,UAAU;SAChB,EACD,yBAAyB,CAC1B,CAAC;QAEF,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CACd,yFAAyF,CAC1F,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,GAAG,GAAG,oBAAoB,CAC9B;YACE,GAAG,EAAE,UAAU;YACf,OAAO,EAAE,cAAc;SACxB,EACD,yBAAyB,CAC1B,CAAC;QAEF,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CACd,sFAAsF,CACvF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=recall.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"recall.test.d.ts","sourceRoot":"","sources":["../../src/commands/recall.test.ts"],"names":[],"mappings":""}
@@ -1,31 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { hasMorePreviewLines, previewLines, renderMarkdownFragment, } from "./recall.js";
3
- describe("previewLines", () => {
4
- it("drops blank lines and preserves only the requested number of lines", () => {
5
- expect(previewLines("one\n\n two \n\nthree\nfour", 2)).toEqual([
6
- "one",
7
- " two",
8
- ]);
9
- });
10
- });
11
- describe("hasMorePreviewLines", () => {
12
- it("is true when there are more non-empty lines than the limit", () => {
13
- expect(hasMorePreviewLines("one\n\ntwo\nthree", 2)).toBe(true);
14
- });
15
- it("is false when the visible lines fit within the limit", () => {
16
- expect(hasMorePreviewLines("one\n\ntwo", 2)).toBe(false);
17
- });
18
- });
19
- describe("renderMarkdownFragment", () => {
20
- it("renders lightweight markdown fragments without requiring full document structure", () => {
21
- expect(renderMarkdownFragment("## Heading\n- item one\nRegular `code` text", {
22
- indent: " ",
23
- })).toEqual([" Heading", " • item one", " Regular code text"]);
24
- });
25
- it("ignores fenced code markers and renders the code lines", () => {
26
- expect(renderMarkdownFragment("```md\nconst x = 1;\n```", {
27
- indent: " ",
28
- })).toEqual([" const x = 1;"]);
29
- });
30
- });
31
- //# sourceMappingURL=recall.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"recall.test.js","sourceRoot":"","sources":["../../src/commands/recall.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,CAAC,YAAY,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7D,KAAK;YACL,MAAM;SACP,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,CAAC,mBAAmB,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,MAAM,CACJ,sBAAsB,CAAC,6CAA6C,EAAE;YACpE,MAAM,EAAE,MAAM;SACf,CAAC,CACH,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,gBAAgB,EAAE,uBAAuB,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CACJ,sBAAsB,CAAC,0BAA0B,EAAE;YACjD,MAAM,EAAE,MAAM;SACf,CAAC,CACH,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=topic.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"topic.test.d.ts","sourceRoot":"","sources":["../../src/commands/topic.test.ts"],"names":[],"mappings":""}
@@ -1,114 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { buildTopicPathMap, flattenTopics, resolveTopicReference, topicDisplayCount, topicDisplayID, } from "./topic.js";
3
- describe("topicDisplayCount", () => {
4
- it("prefers subtree totals over direct counts", () => {
5
- expect(topicDisplayCount({ memory_count: 0, total_memory_count: 7 })).toBe(7);
6
- });
7
- it("falls back to direct count when subtree total is zero", () => {
8
- expect(topicDisplayCount({ memory_count: 3, total_memory_count: 0 })).toBe(0);
9
- });
10
- });
11
- describe("buildTopicPathMap", () => {
12
- it("builds slash-delimited topic paths from the tree", () => {
13
- const map = buildTopicPathMap([
14
- {
15
- id: "root",
16
- owner_id: "u1",
17
- hub_id: "h1",
18
- parent_id: null,
19
- name: "Engineering",
20
- description: "",
21
- icon: "folder",
22
- position: 0,
23
- pinned: false,
24
- user_modified: false,
25
- created_at: "",
26
- updated_at: "",
27
- memory_count: 1,
28
- total_memory_count: 2,
29
- kind_dots: [],
30
- children: [
31
- {
32
- id: "child",
33
- owner_id: "u1",
34
- hub_id: "h1",
35
- parent_id: "root",
36
- name: "Caching",
37
- description: "",
38
- icon: "folder",
39
- position: 0,
40
- pinned: false,
41
- user_modified: false,
42
- created_at: "",
43
- updated_at: "",
44
- memory_count: 1,
45
- total_memory_count: 1,
46
- kind_dots: [],
47
- children: [],
48
- },
49
- ],
50
- },
51
- ]);
52
- expect(map.get("root")).toBe("Engineering");
53
- expect(map.get("child")).toBe("Engineering / Caching");
54
- });
55
- });
56
- describe("topicDisplayID", () => {
57
- it("shortens IDs by default", () => {
58
- expect(topicDisplayID("12345678-1234-1234-1234-123456789abc")).toBe("12345678");
59
- });
60
- it("shows full IDs in verbose mode", () => {
61
- expect(topicDisplayID("12345678-1234-1234-1234-123456789abc", true)).toBe("12345678-1234-1234-1234-123456789abc");
62
- });
63
- });
64
- describe("resolveTopicReference", () => {
65
- const topics = [
66
- {
67
- id: "12345678-1234-1234-1234-123456789abc",
68
- owner_id: "u1",
69
- hub_id: "h1",
70
- parent_id: null,
71
- name: "Engineering",
72
- description: "",
73
- icon: "folder",
74
- position: 0,
75
- pinned: false,
76
- user_modified: false,
77
- created_at: "",
78
- updated_at: "",
79
- memory_count: 1,
80
- total_memory_count: 2,
81
- kind_dots: [],
82
- children: [
83
- {
84
- id: "abcdef12-1234-1234-1234-123456789abc",
85
- owner_id: "u1",
86
- hub_id: "h1",
87
- parent_id: "12345678-1234-1234-1234-123456789abc",
88
- name: "Caching",
89
- description: "",
90
- icon: "folder",
91
- position: 0,
92
- pinned: false,
93
- user_modified: false,
94
- created_at: "",
95
- updated_at: "",
96
- memory_count: 1,
97
- total_memory_count: 1,
98
- kind_dots: [],
99
- children: [],
100
- },
101
- ],
102
- },
103
- ];
104
- it("resolves exact IDs", () => {
105
- expect(resolveTopicReference(topics, "12345678-1234-1234-1234-123456789abc")).toBe("12345678-1234-1234-1234-123456789abc");
106
- });
107
- it("resolves unique ID prefixes", () => {
108
- expect(resolveTopicReference(topics, "abcdef12")).toBe("abcdef12-1234-1234-1234-123456789abc");
109
- });
110
- it("flattens nested topics for resolution", () => {
111
- expect(flattenTopics(topics)).toHaveLength(2);
112
- });
113
- });
114
- //# sourceMappingURL=topic.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"topic.test.js","sourceRoot":"","sources":["../../src/commands/topic.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=client.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.test.d.ts","sourceRoot":"","sources":["../../src/lib/client.test.ts"],"names":[],"mappings":""}
@@ -1,44 +0,0 @@
1
- import { beforeEach, describe, expect, it, vi } from "vitest";
2
- const state = vi.hoisted(() => ({
3
- accessToken: "user-token",
4
- refreshToken: "refresh-token",
5
- expiresAt: undefined,
6
- localAgentKeys: {},
7
- }));
8
- vi.mock("./config.js", () => ({
9
- loadConfig: () => ({ api_url: "http://localhost:8080" }),
10
- }));
11
- vi.mock("./credentials.js", () => ({
12
- loadCredentials: () => ({
13
- access_token: state.accessToken,
14
- refresh_token: state.refreshToken,
15
- expires_at: state.expiresAt,
16
- local_agent_keys: state.localAgentKeys,
17
- }),
18
- saveCredentials: vi.fn(),
19
- isTokenExpired: () => false,
20
- getLocalAgentKey: (agentID) => state.localAgentKeys[agentID],
21
- }));
22
- import { getAuthHeaders, resetClient, setClientAgent } from "./client.js";
23
- describe("client auth selection", () => {
24
- beforeEach(() => {
25
- state.accessToken = "user-token";
26
- state.refreshToken = "refresh-token";
27
- state.expiresAt = undefined;
28
- state.localAgentKeys = {};
29
- setClientAgent(undefined);
30
- resetClient();
31
- });
32
- it("prefers a stored local agent key when an agent-scoped CLI flow is active", async () => {
33
- state.localAgentKeys["claude-code"] = "mxk_agent_key";
34
- setClientAgent("claude-code");
35
- const headers = await getAuthHeaders();
36
- expect(headers.Authorization).toBe("Bearer mxk_agent_key");
37
- });
38
- it("falls back to the user token when no local agent key exists", async () => {
39
- setClientAgent("claude-code");
40
- const headers = await getAuthHeaders();
41
- expect(headers.Authorization).toBe("Bearer user-token");
42
- });
43
- });
44
- //# sourceMappingURL=client.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../../src/lib/client.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9D,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9B,WAAW,EAAE,YAAY;IACzB,YAAY,EAAE,eAAe;IAC7B,SAAS,EAAE,SAA+B;IAC1C,cAAc,EAAE,EAA4B;CAC7C,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5B,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;CACzD,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;IACjC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;QACtB,YAAY,EAAE,KAAK,CAAC,WAAW;QAC/B,aAAa,EAAE,KAAK,CAAC,YAAY;QACjC,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,gBAAgB,EAAE,KAAK,CAAC,cAAc;KACvC,CAAC;IACF,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;IACxB,cAAc,EAAE,GAAG,EAAE,CAAC,KAAK;IAC3B,gBAAgB,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC;CACrE,CAAC,CAAC,CAAC;AAEJ,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE1E,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,UAAU,CAAC,GAAG,EAAE;QACd,KAAK,CAAC,WAAW,GAAG,YAAY,CAAC;QACjC,KAAK,CAAC,YAAY,GAAG,eAAe,CAAC;QACrC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAC5B,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;QAC1B,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1B,WAAW,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,eAAe,CAAC;QAEtD,cAAc,CAAC,aAAa,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,cAAc,EAAE,CAAC;QAEvC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,cAAc,CAAC,aAAa,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,cAAc,EAAE,CAAC;QAEvC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=hubs.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hubs.test.d.ts","sourceRoot":"","sources":["../../src/lib/hubs.test.ts"],"names":[],"mappings":""}
@@ -1,58 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { findHubMatch, getHubReference, PERSONAL_HUB_ALIAS } from "./hubs.js";
3
- describe("getHubReference", () => {
4
- it("uses the reserved personal alias for personal hubs", () => {
5
- expect(getHubReference({
6
- id: "h1",
7
- name: "Personal",
8
- slug: "user-123",
9
- hub_type: "personal",
10
- owner_id: "u1",
11
- })).toBe(PERSONAL_HUB_ALIAS);
12
- });
13
- it("uses the real slug for team hubs", () => {
14
- expect(getHubReference({
15
- id: "h2",
16
- name: "Memax",
17
- slug: "memax",
18
- hub_type: "team",
19
- owner_id: "u1",
20
- })).toBe("memax");
21
- });
22
- });
23
- describe("findHubMatch", () => {
24
- const hubs = [
25
- {
26
- hub: {
27
- id: "personal-id",
28
- name: "Personal",
29
- slug: "user-123",
30
- hub_type: "personal",
31
- owner_id: "u1",
32
- },
33
- role: "owner",
34
- memory_count: 0,
35
- },
36
- {
37
- hub: {
38
- id: "team-id",
39
- name: "Memax",
40
- slug: "memax",
41
- hub_type: "team",
42
- owner_id: "u1",
43
- },
44
- role: "owner",
45
- memory_count: 0,
46
- },
47
- ];
48
- it("resolves the reserved personal alias to the personal hub", () => {
49
- expect(findHubMatch([...hubs], "personal")?.hub.id).toBe("personal-id");
50
- });
51
- it("matches team hubs by slug", () => {
52
- expect(findHubMatch([...hubs], "memax")?.hub.id).toBe("team-id");
53
- });
54
- it("matches hubs by id", () => {
55
- expect(findHubMatch([...hubs], "team-id")?.hub.slug).toBe("memax");
56
- });
57
- });
58
- //# sourceMappingURL=hubs.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hubs.test.js","sourceRoot":"","sources":["../../src/lib/hubs.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE9E,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,CACJ,eAAe,CAAC;YACd,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,UAAU;YACpB,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,MAAM,CACJ,eAAe,CAAC;YACd,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,MAAM,IAAI,GAAG;QACX;YACE,GAAG,EAAE;gBACH,EAAE,EAAE,aAAa;gBACjB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,UAAU;gBACpB,QAAQ,EAAE,IAAI;aACf;YACD,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,CAAC;SAChB;QACD;YACE,GAAG,EAAE;gBACH,EAAE,EAAE,SAAS;gBACb,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,IAAI;aACf;YACD,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,CAAC;SAChB;KACO,CAAC;IAEX,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC5B,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,SAAS,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=project-context.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-context.test.d.ts","sourceRoot":"","sources":["../../src/lib/project-context.test.ts"],"names":[],"mappings":""}
@@ -1,75 +0,0 @@
1
- import { beforeEach, describe, expect, it, vi } from "vitest";
2
- const { execSync, existsSync, readFileSync } = vi.hoisted(() => ({
3
- execSync: vi.fn(),
4
- existsSync: vi.fn(),
5
- readFileSync: vi.fn(),
6
- }));
7
- vi.mock("node:child_process", () => ({
8
- execSync,
9
- }));
10
- vi.mock("node:fs", async () => {
11
- const actual = await vi.importActual("node:fs");
12
- return {
13
- ...actual,
14
- existsSync,
15
- readFileSync,
16
- };
17
- });
18
- import { getProjectScope, normalizeRepoUrl, readMemaxYmlConfig, readMemaxYmlHub, resolveProjectScope, } from "./project-context.js";
19
- describe("normalizeRepoUrl", () => {
20
- it("normalizes common git remote forms", () => {
21
- expect(normalizeRepoUrl("https://github.com/MemaxLabs/memax.git")).toBe("github.com/memaxlabs/memax");
22
- expect(normalizeRepoUrl("git@github.com:MemaxLabs/memax.git")).toBe("github.com/memaxlabs/memax");
23
- expect(normalizeRepoUrl("ssh://git@github.com/MemaxLabs/memax")).toBe("github.com/memaxlabs/memax");
24
- });
25
- });
26
- describe("getProjectScope", () => {
27
- beforeEach(() => {
28
- execSync.mockReset();
29
- existsSync.mockReset();
30
- readFileSync.mockReset();
31
- existsSync.mockReturnValue(false);
32
- });
33
- it("uses the normalized origin remote when present", () => {
34
- execSync.mockReturnValueOnce("git@github.com:MemaxLabs/memax.git\n");
35
- expect(getProjectScope("/workspaces/memax")).toBe("project:github.com/memaxlabs/memax");
36
- });
37
- it("returns generic project scope when there is no canonical remote", () => {
38
- execSync.mockImplementation(() => {
39
- throw new Error("no remote");
40
- });
41
- expect(getProjectScope("/workspaces/memax")).toBe("project");
42
- });
43
- it("uses .memax.yml project_id as an explicit override", () => {
44
- existsSync.mockImplementation((path) => path.endsWith(".memax.yml"));
45
- readFileSync.mockReturnValue("project_id: Acme.Internal/Payments-API\n");
46
- expect(getProjectScope("/workspaces/memax")).toBe("project:acme.internal/payments-api");
47
- });
48
- it("reports when .memax.yml project_id overrides git origin", () => {
49
- existsSync.mockImplementation((path) => path.endsWith(".memax.yml"));
50
- readFileSync.mockReturnValue("project_id: github.com/acme/override\n");
51
- execSync.mockReturnValueOnce("git@github.com:MemaxLabs/memax.git\n");
52
- expect(resolveProjectScope("/workspaces/memax")).toEqual({
53
- scope: "project:github.com/acme/override",
54
- source: "memax_yml",
55
- warning: ".memax.yml project_id (github.com/acme/override) overrides git origin (github.com/memaxlabs/memax)",
56
- });
57
- });
58
- });
59
- describe("readMemaxYmlConfig", () => {
60
- beforeEach(() => {
61
- existsSync.mockReset();
62
- readFileSync.mockReset();
63
- existsSync.mockReturnValue(false);
64
- });
65
- it("parses hub and project_id from .memax.yml", () => {
66
- existsSync.mockImplementation((path) => path.endsWith(".memax.yml"));
67
- readFileSync.mockReturnValue("hub: team-backend\nproject_id: github.com/MemaxLabs/memax\n");
68
- expect(readMemaxYmlConfig("/workspaces/memax")).toEqual({
69
- hub: "team-backend",
70
- project_id: "github.com/memaxlabs/memax",
71
- });
72
- expect(readMemaxYmlHub()).toBe("team-backend");
73
- });
74
- });
75
- //# sourceMappingURL=project-context.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-context.test.js","sourceRoot":"","sources":["../../src/lib/project-context.test.ts"],"names":[],"mappings":"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"}