memax-cli 0.1.0-alpha.38 → 0.1.0-alpha.39

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.
@@ -0,0 +1,20 @@
1
+ import type { DreamRun } from "memax-sdk";
2
+ interface DreamsListOptions {
3
+ limit?: string;
4
+ hub?: string;
5
+ format?: string;
6
+ }
7
+ interface DreamsReportOptions {
8
+ hub?: string;
9
+ format?: string;
10
+ }
11
+ interface DreamsTriggerOptions {
12
+ hub?: string;
13
+ format?: string;
14
+ }
15
+ export declare function summarizeRun(run: DreamRun): string[];
16
+ export declare function dreamsListCommand(options: DreamsListOptions): Promise<void>;
17
+ export declare function dreamsReportCommand(options: DreamsReportOptions): Promise<void>;
18
+ export declare function dreamsTriggerCommand(options: DreamsTriggerOptions): Promise<void>;
19
+ export {};
20
+ //# sourceMappingURL=dreams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dreams.d.ts","sourceRoot":"","sources":["../../src/commands/dreams.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAK1C,UAAU,iBAAiB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,mBAAmB;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,oBAAoB;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAWD,wBAAgB,YAAY,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,EAAE,CAYpD;AAwFD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAgCf"}
@@ -0,0 +1,180 @@
1
+ import chalk from "chalk";
2
+ import { getClient } from "../lib/client.js";
3
+ import { getActiveHubID } from "../lib/config.js";
4
+ import { resolveHubID } from "../lib/hubs.js";
5
+ function parseLimit(raw) {
6
+ if (!raw)
7
+ return 10;
8
+ const limit = Number.parseInt(raw, 10);
9
+ if (!Number.isFinite(limit) || limit <= 0) {
10
+ throw new Error(`Invalid --limit value: ${raw}`);
11
+ }
12
+ return limit;
13
+ }
14
+ export function summarizeRun(run) {
15
+ const parts = [];
16
+ if (run.duplicates_merged > 0)
17
+ parts.push(`${run.duplicates_merged} merged`);
18
+ if (run.contradictions_found > 0)
19
+ parts.push(`${run.contradictions_found} contradictions`);
20
+ if (run.memories_archived > 0)
21
+ parts.push(`${run.memories_archived} archived`);
22
+ if (run.memories_organized > 0)
23
+ parts.push(`${run.memories_organized} organized`);
24
+ if ((run.topics_restructured ?? 0) > 0)
25
+ parts.push(`${run.topics_restructured} restructured`);
26
+ return parts;
27
+ }
28
+ function printRun(run) {
29
+ const statusColor = run.status === "completed"
30
+ ? chalk.green
31
+ : run.status === "failed"
32
+ ? chalk.red
33
+ : chalk.yellow;
34
+ const finished = run.finished_at
35
+ ? new Date(run.finished_at).toISOString()
36
+ : "in progress";
37
+ const summary = summarizeRun(run);
38
+ console.log(chalk.bold(run.id), statusColor(`[${run.status}]`), chalk.gray(`· started ${new Date(run.started_at).toISOString()}`));
39
+ console.log(chalk.gray(` finished: ${finished}`));
40
+ if (run.mode) {
41
+ console.log(chalk.gray(` mode: ${run.mode}`));
42
+ }
43
+ console.log(chalk.gray(` scanned: ${run.memories_scanned}`));
44
+ if (summary.length > 0) {
45
+ console.log(chalk.gray(` result: ${summary.join(", ")}`));
46
+ }
47
+ else {
48
+ console.log(chalk.gray(" result: no changes"));
49
+ }
50
+ if (run.report) {
51
+ const firstLine = run.report.split("\n").find((line) => line.trim());
52
+ if (firstLine) {
53
+ console.log(chalk.gray(` report: ${firstLine}`));
54
+ }
55
+ }
56
+ }
57
+ function resolveFinishedAt(run) {
58
+ return run.finished_at
59
+ ? new Date(run.finished_at).toISOString()
60
+ : "in progress";
61
+ }
62
+ function printReport(report) {
63
+ if (!report.has_run || !report.run) {
64
+ console.log(chalk.yellow(report.message ?? "No dream runs yet for this hub."));
65
+ return;
66
+ }
67
+ const run = report.run;
68
+ const summary = summarizeRun(run);
69
+ console.log(chalk.bold(run.id), chalk.gray(`[${run.status}]`));
70
+ console.log(chalk.gray(` started: ${new Date(run.started_at).toISOString()}`));
71
+ console.log(chalk.gray(` finished: ${resolveFinishedAt(run)}`));
72
+ if (run.mode) {
73
+ console.log(chalk.gray(` mode: ${run.mode}`));
74
+ }
75
+ console.log(chalk.gray(` scanned: ${run.memories_scanned}`));
76
+ console.log(chalk.gray(` pending reviews: ${report.pending_reviews ?? 0}`));
77
+ if (summary.length > 0) {
78
+ console.log(chalk.gray(` result: ${summary.join(", ")}`));
79
+ }
80
+ console.log();
81
+ if (run.report) {
82
+ console.log(run.report);
83
+ }
84
+ if (report.actions && report.actions.length > 0) {
85
+ console.log();
86
+ console.log(chalk.gray("Actions"));
87
+ for (const action of report.actions) {
88
+ console.log(chalk.gray(` • ${action.action_type}: ${action.reason}`));
89
+ }
90
+ }
91
+ }
92
+ export async function dreamsListCommand(options) {
93
+ try {
94
+ const limit = parseLimit(options.limit);
95
+ const format = options.format ?? "text";
96
+ if (format !== "text" && format !== "json") {
97
+ throw new Error(`Unsupported --format value: ${format}`);
98
+ }
99
+ const hubId = options.hub
100
+ ? await resolveHubID(options.hub)
101
+ : getActiveHubID() || undefined;
102
+ if (options.hub && !hubId) {
103
+ throw new Error("Hub not found or not accessible. Run `memax hub list` to see available hubs.");
104
+ }
105
+ const runs = await getClient().dreams.list(limit, hubId);
106
+ if (format === "json") {
107
+ process.stdout.write(`${JSON.stringify(runs, null, 2)}\n`);
108
+ return;
109
+ }
110
+ if (runs.length === 0) {
111
+ console.log(chalk.yellow("No dream runs yet for this hub."));
112
+ console.log(chalk.gray(" Dreams run automatically at night after enough knowledge accumulates."));
113
+ return;
114
+ }
115
+ console.log(chalk.blue(`${runs.length} dream run${runs.length === 1 ? "" : "s"}`));
116
+ console.log();
117
+ for (const run of runs) {
118
+ printRun(run);
119
+ console.log();
120
+ }
121
+ }
122
+ catch (err) {
123
+ console.error(chalk.red(`Dream list failed: ${err.message}`));
124
+ process.exit(1);
125
+ }
126
+ }
127
+ export async function dreamsReportCommand(options) {
128
+ try {
129
+ const format = options.format ?? "text";
130
+ if (format !== "text" && format !== "json") {
131
+ throw new Error(`Unsupported --format value: ${format}`);
132
+ }
133
+ const hubId = options.hub
134
+ ? await resolveHubID(options.hub)
135
+ : getActiveHubID() || undefined;
136
+ if (options.hub && !hubId) {
137
+ throw new Error("Hub not found or not accessible. Run `memax hub list` to see available hubs.");
138
+ }
139
+ const report = await getClient().dreams.report(hubId);
140
+ if (format === "json") {
141
+ process.stdout.write(`${JSON.stringify(report, null, 2)}\n`);
142
+ return;
143
+ }
144
+ printReport(report);
145
+ }
146
+ catch (err) {
147
+ console.error(chalk.red(`Dream report failed: ${err.message}`));
148
+ process.exit(1);
149
+ }
150
+ }
151
+ export async function dreamsTriggerCommand(options) {
152
+ try {
153
+ const format = options.format ?? "text";
154
+ if (format !== "text" && format !== "json") {
155
+ throw new Error(`Unsupported --format value: ${format}`);
156
+ }
157
+ const hubId = options.hub
158
+ ? await resolveHubID(options.hub)
159
+ : getActiveHubID() || undefined;
160
+ if (options.hub && !hubId) {
161
+ throw new Error("Hub not found or not accessible. Run `memax hub list` to see available hubs.");
162
+ }
163
+ const result = await getClient().dreams.trigger(hubId);
164
+ if (format === "json") {
165
+ process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
166
+ return;
167
+ }
168
+ if (result.status === "queued") {
169
+ console.log(chalk.green("Dream cycle queued."));
170
+ }
171
+ else {
172
+ console.log(chalk.green(`Dream cycle status: ${result.status}`));
173
+ }
174
+ }
175
+ catch (err) {
176
+ console.error(chalk.red(`Dream trigger failed: ${err.message}`));
177
+ process.exit(1);
178
+ }
179
+ }
180
+ //# sourceMappingURL=dreams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dreams.js","sourceRoot":"","sources":["../../src/commands/dreams.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dreams.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dreams.test.d.ts","sourceRoot":"","sources":["../../src/commands/dreams.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
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
@@ -0,0 +1 @@
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,4 +1,29 @@
1
+ import type { HubInvite } from "memax-sdk";
2
+ interface HubInviteCreateOptions {
3
+ hub?: string;
4
+ role?: string;
5
+ format?: string;
6
+ }
7
+ interface HubInviteListOptions {
8
+ hub?: string;
9
+ format?: string;
10
+ verbose?: boolean;
11
+ }
12
+ interface HubInviteMutationOptions {
13
+ hub?: string;
14
+ format?: string;
15
+ }
16
+ export declare function inviteDisplayID(id: string, verbose?: boolean): string;
17
+ export declare function deriveInviteURL(token: string, apiURL: string): string;
18
+ export declare function extractInviteToken(value: string): string;
19
+ export declare function resolveInviteReference(invites: HubInvite[], ref: string): HubInvite;
1
20
  export declare function hubListCommand(): Promise<void>;
2
21
  export declare function hubCreateCommand(name: string): Promise<void>;
3
22
  export declare function hubSwitchCommand(idOrSlug: string): Promise<void>;
23
+ export declare function hubInviteCreateCommand(options: HubInviteCreateOptions): Promise<void>;
24
+ export declare function hubInviteListCommand(options: HubInviteListOptions): Promise<void>;
25
+ export declare function hubInviteRevokeCommand(inviteRef: string, options: HubInviteMutationOptions): Promise<void>;
26
+ export declare function hubInviteRegenerateCommand(inviteRef: string, options: HubInviteMutationOptions): Promise<void>;
27
+ export declare function hubInviteAcceptCommand(tokenOrURL: string): Promise<void>;
28
+ export {};
4
29
  //# sourceMappingURL=hub.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hub.d.ts","sourceRoot":"","sources":["../../src/commands/hub.ts"],"names":[],"mappings":"AASA,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA8BpD;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAclE;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAetE"}
1
+ {"version":3,"file":"hub.d.ts","sourceRoot":"","sources":["../../src/commands/hub.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAO,SAAS,EAAE,MAAM,WAAW,CAAC;AAShD,UAAU,sBAAsB;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,oBAAoB;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,UAAU,wBAAwB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,MAAM,CAEnE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CA8BrE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAaxD;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,SAAS,EAAE,EACpB,GAAG,EAAE,MAAM,GACV,SAAS,CAqBX;AAyCD,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA8BpD;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAclE;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAetE;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CAwBf;AAED,wBAAsB,0BAA0B,CAC9C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CAwCf;AAED,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAaf"}
@@ -1,7 +1,99 @@
1
1
  import chalk from "chalk";
2
2
  import { getClient } from "../lib/client.js";
3
- import { getActiveHubID, setActiveHubID } from "../lib/config.js";
3
+ import { loadConfig, getActiveHubID, setActiveHubID } from "../lib/config.js";
4
4
  import { getHubReference, PERSONAL_HUB_ALIAS, requireHub, } from "../lib/hubs.js";
5
+ export function inviteDisplayID(id, verbose = false) {
6
+ return verbose ? id : id.slice(0, 8);
7
+ }
8
+ export function deriveInviteURL(token, apiURL) {
9
+ const parsed = new URL(apiURL);
10
+ if (parsed.hostname === "localhost" || parsed.hostname === "127.0.0.1") {
11
+ return `http://localhost:3000/invite/${token}`;
12
+ }
13
+ if (parsed.hostname.startsWith("staging-api.")) {
14
+ parsed.hostname = parsed.hostname.replace(/^staging-api\./, "staging-app.");
15
+ parsed.pathname = `/invite/${token}`;
16
+ parsed.search = "";
17
+ parsed.hash = "";
18
+ return parsed.toString();
19
+ }
20
+ if (parsed.hostname.startsWith("api.")) {
21
+ parsed.hostname = parsed.hostname.replace(/^api\./, "");
22
+ parsed.pathname = `/invite/${token}`;
23
+ parsed.search = "";
24
+ parsed.hash = "";
25
+ return parsed.toString();
26
+ }
27
+ if (parsed.hostname.startsWith("api-")) {
28
+ parsed.hostname = parsed.hostname.replace(/^api-/, "app-");
29
+ parsed.pathname = `/invite/${token}`;
30
+ parsed.search = "";
31
+ parsed.hash = "";
32
+ return parsed.toString();
33
+ }
34
+ parsed.pathname = `/invite/${token}`;
35
+ parsed.search = "";
36
+ parsed.hash = "";
37
+ return parsed.toString();
38
+ }
39
+ export function extractInviteToken(value) {
40
+ const trimmed = value.trim();
41
+ try {
42
+ const parsed = new URL(trimmed);
43
+ const parts = parsed.pathname.split("/").filter(Boolean);
44
+ const inviteIndex = parts.indexOf("invite");
45
+ if (inviteIndex >= 0 && parts[inviteIndex + 1]) {
46
+ return parts[inviteIndex + 1];
47
+ }
48
+ }
49
+ catch {
50
+ // raw token/reference, fall through
51
+ }
52
+ return trimmed;
53
+ }
54
+ export function resolveInviteReference(invites, ref) {
55
+ const normalized = ref.trim().toLowerCase();
56
+ const exact = invites.find((invite) => invite.id.toLowerCase() === normalized);
57
+ if (exact)
58
+ return exact;
59
+ const matches = invites.filter((invite) => invite.id.toLowerCase().startsWith(normalized));
60
+ if (matches.length === 1)
61
+ return matches[0];
62
+ if (matches.length > 1) {
63
+ throw new Error(`Invite ID prefix is ambiguous. Matches: ${matches
64
+ .map((invite) => inviteDisplayID(invite.id, true))
65
+ .join(", ")}`);
66
+ }
67
+ throw new Error("Invite not found. Run `memax hub invite list` to see outstanding invites.");
68
+ }
69
+ async function requireInviteHub(ref) {
70
+ const hubRef = ref ?? getActiveHubID();
71
+ if (!hubRef) {
72
+ throw new Error("No active hub selected. Run `memax hub switch <slug>` or pass `--hub`.");
73
+ }
74
+ const match = await requireHub(hubRef);
75
+ return match.hub;
76
+ }
77
+ function normalizeInviteRole(role) {
78
+ if (!role)
79
+ return "member";
80
+ const normalized = role.trim().toLowerCase();
81
+ if (!["admin", "member", "reader"].includes(normalized)) {
82
+ throw new Error("Role must be one of: admin, member, reader");
83
+ }
84
+ return normalized;
85
+ }
86
+ function validateFormat(format) {
87
+ const resolved = (format ?? "text").toLowerCase();
88
+ if (resolved !== "text" && resolved !== "json") {
89
+ throw new Error(`Unsupported --format value: ${format}`);
90
+ }
91
+ return resolved;
92
+ }
93
+ function printInvite(invite, verbose = false) {
94
+ console.log(`${chalk.bold(inviteDisplayID(invite.id, verbose))} ${chalk.gray(`[${invite.role}]`)}`);
95
+ console.log(chalk.gray(` created: ${new Date(invite.created_at).toISOString()} · expires: ${new Date(invite.expires_at).toISOString()}`));
96
+ }
5
97
  export async function hubListCommand() {
6
98
  try {
7
99
  const client = getClient();
@@ -52,4 +144,103 @@ export async function hubSwitchCommand(idOrSlug) {
52
144
  process.exit(1);
53
145
  }
54
146
  }
147
+ export async function hubInviteCreateCommand(options) {
148
+ try {
149
+ const format = validateFormat(options.format);
150
+ const hub = await requireInviteHub(options.hub);
151
+ const role = normalizeInviteRole(options.role);
152
+ const invite = await getClient().hubs.createInvite(hub.id, role);
153
+ const inviteURL = invite.invite_url ?? deriveInviteURL(invite.token, loadConfig().api_url);
154
+ if (format === "json") {
155
+ process.stdout.write(`${JSON.stringify({ invite, invite_url: inviteURL }, null, 2)}\n`);
156
+ return;
157
+ }
158
+ console.log(chalk.green(`\n Invite created for ${chalk.bold(hub.name)}\n`));
159
+ console.log(chalk.gray(` id: ${invite.id}`));
160
+ console.log(chalk.gray(` role: ${invite.role}`));
161
+ console.log(chalk.gray(` expires: ${new Date(invite.expires_at).toISOString()}`));
162
+ console.log(chalk.gray(` link: ${inviteURL}\n`));
163
+ }
164
+ catch (err) {
165
+ console.error(chalk.red(err.message || "Failed to create hub invite"));
166
+ process.exit(1);
167
+ }
168
+ }
169
+ export async function hubInviteListCommand(options) {
170
+ try {
171
+ const format = validateFormat(options.format);
172
+ const hub = await requireInviteHub(options.hub);
173
+ const invites = await getClient().hubs.listInvites(hub.id);
174
+ if (format === "json") {
175
+ process.stdout.write(`${JSON.stringify(invites, null, 2)}\n`);
176
+ return;
177
+ }
178
+ if (invites.length === 0) {
179
+ console.log(chalk.dim(` No outstanding invites for ${hub.name}.`));
180
+ return;
181
+ }
182
+ console.log(chalk.blue(`\n Outstanding invites for ${hub.name}\n`));
183
+ for (const invite of invites) {
184
+ printInvite(invite, options.verbose);
185
+ console.log();
186
+ }
187
+ }
188
+ catch (err) {
189
+ console.error(chalk.red(err.message || "Failed to list hub invites"));
190
+ process.exit(1);
191
+ }
192
+ }
193
+ export async function hubInviteRevokeCommand(inviteRef, options) {
194
+ try {
195
+ const format = validateFormat(options.format);
196
+ const hub = await requireInviteHub(options.hub);
197
+ const invites = await getClient().hubs.listInvites(hub.id);
198
+ const invite = resolveInviteReference(invites, inviteRef);
199
+ const result = await getClient().hubs.revokeInvite(hub.id, invite.id);
200
+ if (format === "json") {
201
+ process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
202
+ return;
203
+ }
204
+ console.log(chalk.green(`\n Revoked invite ${inviteDisplayID(invite.id)} for ${hub.name}\n`));
205
+ }
206
+ catch (err) {
207
+ console.error(chalk.red(err.message || "Failed to revoke hub invite"));
208
+ process.exit(1);
209
+ }
210
+ }
211
+ export async function hubInviteRegenerateCommand(inviteRef, options) {
212
+ try {
213
+ const format = validateFormat(options.format);
214
+ const hub = await requireInviteHub(options.hub);
215
+ const invites = await getClient().hubs.listInvites(hub.id);
216
+ const invite = resolveInviteReference(invites, inviteRef);
217
+ const replacement = await getClient().hubs.regenerateInvite(hub.id, invite.id);
218
+ const inviteURL = replacement.invite_url ??
219
+ deriveInviteURL(replacement.token, loadConfig().api_url);
220
+ if (format === "json") {
221
+ process.stdout.write(`${JSON.stringify({ invite: replacement, invite_url: inviteURL }, null, 2)}\n`);
222
+ return;
223
+ }
224
+ console.log(chalk.green(`\n Regenerated invite ${inviteDisplayID(invite.id)} for ${hub.name}\n`));
225
+ console.log(chalk.gray(` new id: ${replacement.id}`));
226
+ console.log(chalk.gray(` role: ${replacement.role}`));
227
+ console.log(chalk.gray(` expires: ${new Date(replacement.expires_at).toISOString()}`));
228
+ console.log(chalk.gray(` link: ${inviteURL}\n`));
229
+ }
230
+ catch (err) {
231
+ console.error(chalk.red(err.message || "Failed to regenerate hub invite"));
232
+ process.exit(1);
233
+ }
234
+ }
235
+ export async function hubInviteAcceptCommand(tokenOrURL) {
236
+ try {
237
+ const token = extractInviteToken(tokenOrURL);
238
+ const result = await getClient().invites.accept(token);
239
+ console.log(chalk.green(`\n Joined hub: ${result.hub.name} as ${result.role}\n`));
240
+ }
241
+ catch (err) {
242
+ console.error(chalk.red(err.message || "Failed to accept invite"));
243
+ process.exit(1);
244
+ }
245
+ }
55
246
  //# sourceMappingURL=hub.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hub.js","sourceRoot":"","sources":["../../src/commands/hub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hub.js","sourceRoot":"","sources":["../../src/commands/hub.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=hub.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hub.test.d.ts","sourceRoot":"","sources":["../../src/commands/hub.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,62 @@
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: "member",
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: "reader",
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hub.test.js","sourceRoot":"","sources":["../../src/commands/hub.test.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,14 @@
1
1
  import type { TopicTree } from "memax-sdk";
2
2
  interface TopicListOptions {
3
3
  hub?: string;
4
+ verbose?: boolean;
5
+ format?: string;
4
6
  }
5
7
  export declare function topicDisplayCount(topic: Pick<TopicTree, "total_memory_count" | "memory_count">): number;
6
8
  export declare function buildTopicPathMap(topics: TopicTree[], parentPath?: string, map?: Map<string, string>): Map<string, string>;
9
+ export declare function flattenTopics(topics: TopicTree[], output?: TopicTree[]): TopicTree[];
10
+ export declare function topicDisplayID(id: string, verbose?: boolean): string;
11
+ export declare function resolveTopicReference(topics: TopicTree[], ref: string): string;
7
12
  export declare function topicListCommand(options: TopicListOptions): Promise<void>;
8
13
  interface TopicCreateOptions {
9
14
  parent?: string;
@@ -18,6 +23,8 @@ export declare function topicSetCommand(memoryId: string, options: {
18
23
  export declare function topicClearCommand(memoryId: string, options: {
19
24
  topic?: string;
20
25
  }): Promise<void>;
21
- export declare function topicDeleteCommand(topicId: string): Promise<void>;
26
+ export declare function topicDeleteCommand(topicId: string, options?: {
27
+ hub?: string;
28
+ }): Promise<void>;
22
29
  export {};
23
30
  //# sourceMappingURL=topic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"topic.d.ts","sourceRoot":"","sources":["../../src/commands/topic.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,UAAU,gBAAgB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,oBAAoB,GAAG,cAAc,CAAC,GAC5D,MAAM,CAER;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,EAAE,EACnB,UAAU,SAAK,EACf,GAAG,sBAA4B,GAC9B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CASrB;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CA8Df;AAED,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAuBf;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1B,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQvE"}
1
+ {"version":3,"file":"topic.d.ts","sourceRoot":"","sources":["../../src/commands/topic.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,UAAU,gBAAgB;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,oBAAoB,GAAG,cAAc,CAAC,GAC5D,MAAM,CAER;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,EAAE,EACnB,UAAU,SAAK,EACf,GAAG,sBAA4B,GAC9B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CASrB;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,EAAE,EACnB,MAAM,GAAE,SAAS,EAAO,GACvB,SAAS,EAAE,CAQb;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,MAAM,CAElE;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EAAE,EACnB,GAAG,EAAE,MAAM,GACV,MAAM,CAwBR;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CA2Ef;AAED,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1B,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7B,OAAO,CAAC,IAAI,CAAC,CA4Bf"}
@@ -15,8 +15,40 @@ export function buildTopicPathMap(topics, parentPath = "", map = new Map()) {
15
15
  }
16
16
  return map;
17
17
  }
18
+ export function flattenTopics(topics, output = []) {
19
+ for (const topic of topics) {
20
+ output.push(topic);
21
+ if (topic.children?.length) {
22
+ flattenTopics(topic.children, output);
23
+ }
24
+ }
25
+ return output;
26
+ }
27
+ export function topicDisplayID(id, verbose = false) {
28
+ return verbose ? id : id.slice(0, 8);
29
+ }
30
+ export function resolveTopicReference(topics, ref) {
31
+ const normalized = ref.trim().toLowerCase();
32
+ const flat = flattenTopics(topics);
33
+ const exact = flat.find((topic) => topic.id.toLowerCase() === normalized);
34
+ if (exact) {
35
+ return exact.id;
36
+ }
37
+ const prefixMatches = flat.filter((topic) => topic.id.toLowerCase().startsWith(normalized));
38
+ if (prefixMatches.length === 1) {
39
+ return prefixMatches[0].id;
40
+ }
41
+ if (prefixMatches.length > 1) {
42
+ throw new Error(`Topic ID prefix is ambiguous. Matches: ${prefixMatches.map((topic) => `${topic.name} (${topic.id.slice(0, 8)})`).join(", ")}`);
43
+ }
44
+ throw new Error("Topic not found. Run `memax topic list` to see available topic IDs.");
45
+ }
18
46
  export async function topicListCommand(options) {
19
47
  try {
48
+ const format = options.format ?? "text";
49
+ if (format !== "text" && format !== "json") {
50
+ throw new Error(`Unsupported --format value: ${format}`);
51
+ }
20
52
  const hubId = options.hub
21
53
  ? await resolveHubID(options.hub)
22
54
  : getActiveHubID() || undefined;
@@ -24,6 +56,10 @@ export async function topicListCommand(options) {
24
56
  throw new Error("Hub not found or not accessible. Run `memax hub list` to see available hubs.");
25
57
  }
26
58
  const result = await getClient().topics.list(hubId);
59
+ if (format === "json") {
60
+ process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
61
+ return;
62
+ }
27
63
  if (result.topics.length === 0) {
28
64
  console.log(chalk.gray("No topics yet. Push some memories and run a dream cycle to auto-organize."));
29
65
  if (result.unassigned_count > 0) {
@@ -34,11 +70,13 @@ export async function topicListCommand(options) {
34
70
  // Print tree using subtree totals so parent counts reflect the whole branch.
35
71
  function printTopic(topic, indent) {
36
72
  const prefix = " ".repeat(indent);
73
+ const metaPrefix = " ".repeat(indent + 1);
37
74
  const icon = topic.icon || "folder";
38
75
  const count = topicDisplayCount(topic);
39
76
  const pin = topic.pinned ? chalk.yellow(" ★") : "";
40
77
  const userMod = topic.user_modified ? chalk.blue(" ✎") : "";
41
78
  console.log(`${prefix}${icon} ${chalk.bold(topic.name)} ${chalk.gray(`(${count})`)}${pin}${userMod}`);
79
+ console.log(`${metaPrefix}${chalk.gray(`id: ${topicDisplayID(topic.id, options.verbose)}`)}`);
42
80
  if (topic.children) {
43
81
  for (const child of topic.children) {
44
82
  printTopic(child, indent + 1);
@@ -60,15 +98,21 @@ export async function topicListCommand(options) {
60
98
  }
61
99
  export async function topicCreateCommand(name, options) {
62
100
  try {
101
+ const client = getClient();
63
102
  const hubId = options.hub ? await resolveHubID(options.hub) : undefined;
64
103
  if (options.hub && !hubId) {
65
104
  throw new Error("Hub not found or not accessible. Run `memax hub list` to see available hubs.");
66
105
  }
67
- const topic = await getClient().topics.create({
106
+ let parentID = options.parent;
107
+ if (parentID) {
108
+ const topics = await client.topics.list(hubId);
109
+ parentID = resolveTopicReference(topics.topics, parentID);
110
+ }
111
+ const topic = await client.topics.create({
68
112
  name,
69
113
  description: options.description,
70
114
  icon: options.icon,
71
- parent_id: options.parent,
115
+ parent_id: parentID,
72
116
  hub_id: hubId,
73
117
  });
74
118
  console.log(chalk.green("Created topic"), chalk.bold(topic.name));
@@ -81,7 +125,11 @@ export async function topicCreateCommand(name, options) {
81
125
  }
82
126
  export async function topicSetCommand(memoryId, options) {
83
127
  try {
84
- await getClient().topics.addMemory(options.topic, memoryId);
128
+ const client = getClient();
129
+ const memory = await client.memories.get(memoryId);
130
+ const topics = await client.topics.list(memory.hub_id);
131
+ const topicID = resolveTopicReference(topics.topics, options.topic);
132
+ await client.topics.addMemory(topicID, memoryId);
85
133
  console.log(chalk.green("Memory topic updated"));
86
134
  }
87
135
  catch (err) {
@@ -92,14 +140,18 @@ export async function topicSetCommand(memoryId, options) {
92
140
  export async function topicClearCommand(memoryId, options) {
93
141
  try {
94
142
  const client = getClient();
143
+ const memory = await client.memories.get(memoryId);
95
144
  let topicID = options.topic;
96
145
  if (!topicID) {
97
- const memory = await client.memories.get(memoryId);
98
146
  topicID = memory.topic_id;
99
147
  if (!topicID) {
100
148
  throw new Error("Memory does not have a topic to clear");
101
149
  }
102
150
  }
151
+ else {
152
+ const topics = await client.topics.list(memory.hub_id);
153
+ topicID = resolveTopicReference(topics.topics, topicID);
154
+ }
103
155
  await client.topics.removeMemory(topicID, memoryId);
104
156
  console.log(chalk.green("Memory topic cleared"));
105
157
  }
@@ -108,9 +160,21 @@ export async function topicClearCommand(memoryId, options) {
108
160
  process.exit(1);
109
161
  }
110
162
  }
111
- export async function topicDeleteCommand(topicId) {
163
+ export async function topicDeleteCommand(topicId, options = {}) {
112
164
  try {
113
- await getClient().topics.delete(topicId);
165
+ const client = getClient();
166
+ const hubId = options.hub
167
+ ? await resolveHubID(options.hub)
168
+ : getActiveHubID() || undefined;
169
+ if (options.hub && !hubId) {
170
+ throw new Error("Hub not found or not accessible. Run `memax hub list` to see available hubs.");
171
+ }
172
+ let resolvedTopicID = topicId;
173
+ if (!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(topicId)) {
174
+ const topics = await client.topics.list(hubId);
175
+ resolvedTopicID = resolveTopicReference(topics.topics, topicId);
176
+ }
177
+ await client.topics.delete(resolvedTopicID);
114
178
  console.log(chalk.green("Topic deleted"));
115
179
  }
116
180
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"topic.js","sourceRoot":"","sources":["../../src/commands/topic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"topic.js","sourceRoot":"","sources":["../../src/commands/topic.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, it } from "vitest";
2
- import { buildTopicPathMap, topicDisplayCount } from "./topic.js";
2
+ import { buildTopicPathMap, flattenTopics, resolveTopicReference, topicDisplayCount, topicDisplayID, } from "./topic.js";
3
3
  describe("topicDisplayCount", () => {
4
4
  it("prefers subtree totals over direct counts", () => {
5
5
  expect(topicDisplayCount({ memory_count: 0, total_memory_count: 7 })).toBe(7);
@@ -53,4 +53,62 @@ describe("buildTopicPathMap", () => {
53
53
  expect(map.get("child")).toBe("Engineering / Caching");
54
54
  });
55
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
+ category_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
+ category_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
+ });
56
114
  //# sourceMappingURL=topic.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"topic.test.js","sourceRoot":"","sources":["../../src/commands/topic.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAElE,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CACxE,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,iBAAiB,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CACxE,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,GAAG,GAAG,iBAAiB,CAAC;YAC5B;gBACE,EAAE,EAAE,MAAM;gBACV,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,KAAK;gBACb,aAAa,EAAE,KAAK;gBACpB,UAAU,EAAE,EAAE;gBACd,UAAU,EAAE,EAAE;gBACd,YAAY,EAAE,CAAC;gBACf,kBAAkB,EAAE,CAAC;gBACrB,aAAa,EAAE,EAAE;gBACjB,QAAQ,EAAE;oBACR;wBACE,EAAE,EAAE,OAAO;wBACX,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,IAAI;wBACZ,SAAS,EAAE,MAAM;wBACjB,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,EAAE;wBACf,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,CAAC;wBACX,MAAM,EAAE,KAAK;wBACb,aAAa,EAAE,KAAK;wBACpB,UAAU,EAAE,EAAE;wBACd,UAAU,EAAE,EAAE;wBACd,YAAY,EAAE,CAAC;wBACf,kBAAkB,EAAE,CAAC;wBACrB,aAAa,EAAE,EAAE;wBACjB,QAAQ,EAAE,EAAE;qBACb;iBACF;aACF;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"topic.test.js","sourceRoot":"","sources":["../../src/commands/topic.test.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -16,9 +16,10 @@ import { loginCommand, logoutCommand, whoamiCommand, } from "./commands/login.js
16
16
  import { createKeyCommand, listKeysCommand, revokeKeyCommand, } from "./commands/auth.js";
17
17
  import { registerMcpCommand } from "./commands/mcp.js";
18
18
  import { setupCommand, teardownCommand } from "./commands/setup.js";
19
- import { hubListCommand, hubCreateCommand, hubSwitchCommand, } from "./commands/hub.js";
19
+ import { hubListCommand, hubCreateCommand, hubSwitchCommand, hubInviteAcceptCommand, hubInviteCreateCommand, hubInviteListCommand, hubInviteRegenerateCommand, hubInviteRevokeCommand, } from "./commands/hub.js";
20
20
  import { topicListCommand, topicCreateCommand, topicSetCommand, topicClearCommand, topicDeleteCommand, } from "./commands/topic.js";
21
21
  import { captureSessionCommand } from "./commands/capture.js";
22
+ import { dreamsListCommand, dreamsReportCommand, dreamsTriggerCommand, } from "./commands/dreams.js";
22
23
  async function syncAgentsCommand(options) {
23
24
  await syncAgentMemoryCommand(options);
24
25
  await syncAgentSessionsCommand(options);
@@ -261,6 +262,37 @@ hubCmd
261
262
  .command("switch <id-or-slug>")
262
263
  .description('Switch your active read hub (use "personal" for your personal hub)')
263
264
  .action(hubSwitchCommand);
265
+ const hubInviteCmd = hubCmd.command("invite").description("Manage hub invites");
266
+ hubInviteCmd
267
+ .command("create")
268
+ .description("Create a shareable invite link for the current or selected hub")
269
+ .option("--hub <slug>", "Scope to a hub")
270
+ .option("--role <role>", "Invite role: admin, member, reader", "member")
271
+ .option("--format <format>", "Output format: text, json", "text")
272
+ .action(hubInviteCreateCommand);
273
+ hubInviteCmd
274
+ .command("list")
275
+ .description("List outstanding invites for the current or selected hub")
276
+ .option("--hub <slug>", "Scope to a hub")
277
+ .option("--verbose", "Show full invite IDs")
278
+ .option("--format <format>", "Output format: text, json", "text")
279
+ .action(hubInviteListCommand);
280
+ hubInviteCmd
281
+ .command("revoke <invite-id-or-prefix>")
282
+ .description("Revoke an outstanding invite")
283
+ .option("--hub <slug>", "Scope to a hub")
284
+ .option("--format <format>", "Output format: text, json", "text")
285
+ .action(hubInviteRevokeCommand);
286
+ hubInviteCmd
287
+ .command("regenerate <invite-id-or-prefix>")
288
+ .description("Revoke and replace an outstanding invite")
289
+ .option("--hub <slug>", "Scope to a hub")
290
+ .option("--format <format>", "Output format: text, json", "text")
291
+ .action(hubInviteRegenerateCommand);
292
+ hubInviteCmd
293
+ .command("accept <token-or-url>")
294
+ .description("Accept a hub invite from a token or full invite URL")
295
+ .action(hubInviteAcceptCommand);
264
296
  // --- Topics ---
265
297
  const topicCmd = program
266
298
  .command("topic")
@@ -270,11 +302,13 @@ topicCmd
270
302
  .command("list")
271
303
  .description("List your topic tree")
272
304
  .option("--hub <slug>", "Scope to a hub")
305
+ .option("--verbose", "Show full topic IDs")
306
+ .option("--format <format>", "Output format: text, json", "text")
273
307
  .action(topicListCommand);
274
308
  topicCmd
275
309
  .command("create <name>")
276
310
  .description("Create a new topic")
277
- .option("-p, --parent <id>", "Parent topic ID")
311
+ .option("-p, --parent <id-or-prefix>", "Parent topic ID or unique prefix")
278
312
  .option("-d, --description <text>", "Topic description")
279
313
  .option("-i, --icon <name>", "Lucide icon name")
280
314
  .option("--hub <slug>", "Hub to create in")
@@ -283,17 +317,41 @@ topicCmd
283
317
  .command("set <memory-id>")
284
318
  .alias("add")
285
319
  .description("Set the topic for a memory")
286
- .requiredOption("-t, --topic <id>", "Topic ID")
320
+ .requiredOption("-t, --topic <id>", "Topic ID or unique prefix")
287
321
  .action(topicSetCommand);
288
322
  topicCmd
289
323
  .command("clear <memory-id>")
290
324
  .alias("remove")
291
325
  .description("Clear the topic from a memory")
292
- .option("-t, --topic <id>", "Topic ID (optional if the memory already has one)")
326
+ .option("-t, --topic <id>", "Topic ID or unique prefix (optional if the memory already has one)")
293
327
  .action(topicClearCommand);
328
+ const dreamsCmd = program
329
+ .command("dreams")
330
+ .alias("dream")
331
+ .description("Inspect dream runs and consolidation history");
332
+ dreamsCmd
333
+ .command("list")
334
+ .description("List recent dream runs")
335
+ .option("-l, --limit <n>", "Max dream runs", "10")
336
+ .option("--hub <slug>", "Scope to a hub")
337
+ .option("--format <format>", "Output format: text, json", "text")
338
+ .action(dreamsListCommand);
339
+ dreamsCmd
340
+ .command("report")
341
+ .description("Show the latest dream report for the current hub")
342
+ .option("--hub <slug>", "Scope to a hub")
343
+ .option("--format <format>", "Output format: text, json", "text")
344
+ .action(dreamsReportCommand);
345
+ dreamsCmd
346
+ .command("trigger")
347
+ .description("Trigger a dream cycle for the current hub")
348
+ .option("--hub <slug>", "Scope to a hub")
349
+ .option("--format <format>", "Output format: text, json", "text")
350
+ .action(dreamsTriggerCommand);
294
351
  topicCmd
295
352
  .command("delete <topic-id>")
296
353
  .description("Delete a topic")
354
+ .option("--hub <slug>", "Scope topic prefix resolution to a hub")
297
355
  .action(topicDeleteCommand);
298
356
  // --- MCP Server ---
299
357
  registerMcpCommand(program);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,iCAAiC,EACjC,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,+BAA+B,EAC/B,kCAAkC,EAClC,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EACL,YAAY,EACZ,aAAa,EACb,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,KAAK,UAAU,iBAAiB,CAAC,OAGhC;IACC,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC9B,MAAM,uBAAuB,EAAE,CAAC;IAChC,MAAM,wBAAwB,EAAE,CAAC;AACnC,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,MAAM,yBAAyB,EAAE,CAAC;IAClC,MAAM,0BAA0B,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAC7D,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,8CAA8C,CAAC;KAC3D,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAExB,wBAAwB;AAExB,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,KAAK,CAAC,UAAU,CAAC;KACjB,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,mBAAmB,EAAE,cAAc,CAAC;KAC3C,MAAM,CAAC,2BAA2B,EAAE,qCAAqC,CAAC;KAC1E,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;KACnD,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC;KACzC,MAAM,CACL,mBAAmB,EACnB,oEAAoE,CACrE;KACA,MAAM,CAAC,kBAAkB,EAAE,6CAA6C,CAAC;KACzE,MAAM,CAAC,SAAS,EAAE,yBAAyB,CAAC;KAC5C,MAAM,CAAC,cAAc,EAAE,mCAAmC,CAAC;KAC3D,MAAM,CAAC,gBAAgB,EAAE,mDAAmD,CAAC;KAC7E,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,+BAA+B,CAAC;KAC5C,MAAM,CAAC,2BAA2B,EAAE,oBAAoB,CAAC;KACzD,MAAM,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;KAC7C,MAAM,CAAC,iBAAiB,EAAE,aAAa,EAAE,GAAG,CAAC;KAC7C,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,CAAC;KAChE,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;KACrD,MAAM,CAAC,uBAAuB,EAAE,wCAAwC,CAAC;KACzE,MAAM,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;KACzD,MAAM,CAAC,cAAc,EAAE,iCAAiC,CAAC;KACzD,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,oBAAoB,CAAC;KACjC,MAAM,CAAC,2BAA2B,EAAE,oBAAoB,CAAC;KACzD,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,QAAQ,CAAC;KAClE,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,IAAI,CAAC;KACvD,MAAM,CAAC,mBAAmB,EAAE,mCAAmC,CAAC;KAChE,MAAM,CAAC,cAAc,EAAE,wCAAwC,CAAC;KAChE,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,CAAC;KAChE,MAAM,CAAC,OAAO,EAAE,sCAAsC,CAAC;KACvD,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,KAAK,CAAC,KAAK,CAAC;KACZ,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,KAAK,CAAC,QAAQ,CAAC;KACf,WAAW,CAAC,iBAAiB,CAAC;KAC9B,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC;KACxC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,eAAe;AAEf,MAAM,OAAO,GAAG,OAAO;KACpB,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,2DAA2D,CAAC;KACxE,MAAM,CAAC,aAAa,EAAE,iCAAiC,CAAC;KACxD,MAAM,CACL,wBAAwB,EACxB,sCAAsC,EACtC,SAAS,CACV;KACA,MAAM,CACL,2BAA2B,EAC3B,6CAA6C,CAC9C;KACA,MAAM,CAAC,qBAAqB,EAAE,uCAAuC,CAAC;KACtE,MAAM,CAAC,WAAW,EAAE,mCAAmC,CAAC;KACxD,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,yDAAyD,CAAC;KACtE,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7B,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,gEAAgE,CAAC;KAC7E,MAAM,CAAC,QAAQ,EAAE,+CAA+C,CAAC;KACjE,MAAM,CAAC,QAAQ,EAAE,+CAA+C,CAAC;KACjE,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7B,4BAA4B;AAE5B,MAAM,SAAS,GAAG,OAAO;KACtB,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,0CAA0C,CAAC,CAAC;AAE3D,SAAS;KACN,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CACV,kEAAkE,CACnE;KACA,MAAM,CAAC,QAAQ,EAAE,+CAA+C,CAAC;KACjE,MAAM,CAAC,QAAQ,EAAE,4CAA4C,CAAC;KAC9D,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7B,SAAS;KACN,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7B,SAAS;KACN,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CACV,mFAAmF,CACpF;KACA,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAE/B,MAAM,eAAe,GAAG,SAAS;KAC9B,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,kCAAkC,CAAC,CAAC;AAEnD,eAAe;KACZ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,QAAQ,EAAE,+CAA+C,CAAC;KACjE,MAAM,CAAC,QAAQ,EAAE,+CAA+C,CAAC;KACjE,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAElC,eAAe;KACZ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAEnC,eAAe;KACZ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,oDAAoD,CAAC;KACjE,MAAM,CAAC,8BAA8B,CAAC,CAAC;AAE1C,eAAe;KACZ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,iCAAiC,CAAC,CAAC;AAE7C,eAAe;KACZ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,gDAAgD,CAAC;KAC7D,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAErC,eAAe;KACZ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CACV,oFAAoF,CACrF;KACA,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAErC,oCAAoC;AAEpC,MAAM,gBAAgB,GAAG,SAAS;KAC/B,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,uCAAuC,CAAC,CAAC;AAExD,gBAAgB;KACb,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,+DAA+D,CAAC;KAC5E,MAAM,CAAC,QAAQ,EAAE,yDAAyD,CAAC;KAC3E,MAAM,CAAC,QAAQ,EAAE,yDAAyD,CAAC;KAC3E,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAEpC,gBAAgB;KACb,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAEpC,gBAAgB;KACb,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,8DAA8D,CAAC;KAC3E,MAAM,CAAC,+BAA+B,CAAC,CAAC;AAE3C,gBAAgB;KACb,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,kCAAkC,CAAC,CAAC;AAE9C,gBAAgB;KACb,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAEtC,gBAAgB;KACb,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,yDAAyD,CAAC;KACtE,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC;KACxC,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAEvC,gBAAgB;KACb,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CACV,qFAAqF,CACtF;KACA,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAEtC,0BAA0B;AAE1B,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,4DAA4D,CAAC;KACzE,MAAM,CAAC,kBAAkB,EAAE,6CAA6C,CAAC;KACzE,MAAM,CAAC,gBAAgB,EAAE,wCAAwC,CAAC;KAClE,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAEjC,kCAAkC;AAElC,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,8DAA8D,CAAC;KAC3E,MAAM,CAAC,OAAO,EAAE,iCAAiC,CAAC;KAClD,MAAM,CAAC,SAAS,EAAE,gCAAgC,CAAC;KACnD,MAAM,CAAC,gBAAgB,EAAE,mDAAmD,CAAC;KAC7E,MAAM,CAAC,OAAO,EAAE,mCAAmC,CAAC;KACpD,MAAM,CAAC,SAAS,EAAE,8CAA8C,CAAC;KACjE,MAAM,CAAC,SAAS,EAAE,uDAAuD,CAAC;KAC1E,MAAM,CAAC,iBAAiB,EAAE,+CAA+C,CAAC;KAC1E,MAAM,CAAC,iBAAiB,EAAE,qCAAqC,CAAC;KAChE,MAAM,CAAC,YAAY,EAAE,iCAAiC,CAAC;KACvD,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,CAAC;KAC5E,MAAM,CAAC,eAAe,CAAC,CAAC;AAE3B,OAAO;KACJ,OAAO,CAAC,uBAAuB,CAAC;KAChC,WAAW,CAAC,oDAAoD,CAAC;KACjE,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,eAAe;AAEf,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,yBAAyB,CAAC;KACtC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,mBAAmB,CAAC;KAChC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,mBAAmB;AAEnB,MAAM,OAAO,GAAG,OAAO;KACpB,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,oCAAoC,CAAC,CAAC;AAErD,OAAO;KACJ,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,oDAAoD,CAAC;KACjE,MAAM,CAAC,kBAAkB,EAAE,sCAAsC,CAAC;KAClE,MAAM,CAAC,YAAY,EAAE,6CAA6C,CAAC;KACnE,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,oBAAoB,CAAC;KACjC,MAAM,CAAC,eAAe,CAAC,CAAC;AAE3B,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,mBAAmB,CAAC;KAChC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,eAAe;AAEf,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;AAE9E,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAE5E,MAAM;KACH,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,uBAAuB,CAAC;KACpC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,MAAM;KACH,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CACV,oEAAoE,CACrE;KACA,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,iBAAiB;AAEjB,MAAM,QAAQ,GAAG,OAAO;KACrB,OAAO,CAAC,OAAO,CAAC;KAChB,KAAK,CAAC,QAAQ,CAAC;KACf,WAAW,CAAC,oCAAoC,CAAC,CAAC;AAErD,QAAQ;KACL,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC;KACxC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,QAAQ;KACL,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,oBAAoB,CAAC;KACjC,MAAM,CAAC,mBAAmB,EAAE,iBAAiB,CAAC;KAC9C,MAAM,CAAC,0BAA0B,EAAE,mBAAmB,CAAC;KACvD,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;KAC/C,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC;KAC1C,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE9B,QAAQ;KACL,OAAO,CAAC,iBAAiB,CAAC;KAC1B,KAAK,CAAC,KAAK,CAAC;KACZ,WAAW,CAAC,4BAA4B,CAAC;KACzC,cAAc,CAAC,kBAAkB,EAAE,UAAU,CAAC;KAC9C,MAAM,CAAC,eAAe,CAAC,CAAC;AAE3B,QAAQ;KACL,OAAO,CAAC,mBAAmB,CAAC;KAC5B,KAAK,CAAC,QAAQ,CAAC;KACf,WAAW,CAAC,+BAA+B,CAAC;KAC5C,MAAM,CACL,kBAAkB,EAClB,mDAAmD,CACpD;KACA,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7B,QAAQ;KACL,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,gBAAgB,CAAC;KAC7B,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE9B,qBAAqB;AAErB,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAE5B,iBAAiB;AAEjB,MAAM,SAAS,GAAG,OAAO;KACtB,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,4BAA4B,CAAC,CAAC;AAE7C,SAAS;KACN,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,SAAS;KACN,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,oBAAoB,CAAC;KACjC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,iCAAiC,EACjC,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,+BAA+B,EAC/B,kCAAkC,EAClC,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EACL,YAAY,EACZ,aAAa,EACb,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,KAAK,UAAU,iBAAiB,CAAC,OAGhC;IACC,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC9B,MAAM,uBAAuB,EAAE,CAAC;IAChC,MAAM,wBAAwB,EAAE,CAAC;AACnC,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,MAAM,yBAAyB,EAAE,CAAC;IAClC,MAAM,0BAA0B,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAC7D,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,8CAA8C,CAAC;KAC3D,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAExB,wBAAwB;AAExB,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,KAAK,CAAC,UAAU,CAAC;KACjB,WAAW,CAAC,wCAAwC,CAAC;KACrD,MAAM,CAAC,mBAAmB,EAAE,cAAc,CAAC;KAC3C,MAAM,CAAC,2BAA2B,EAAE,qCAAqC,CAAC;KAC1E,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;KACnD,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC;KACzC,MAAM,CACL,mBAAmB,EACnB,oEAAoE,CACrE;KACA,MAAM,CAAC,kBAAkB,EAAE,6CAA6C,CAAC;KACzE,MAAM,CAAC,SAAS,EAAE,yBAAyB,CAAC;KAC5C,MAAM,CAAC,cAAc,EAAE,mCAAmC,CAAC;KAC3D,MAAM,CAAC,gBAAgB,EAAE,mDAAmD,CAAC;KAC7E,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,+BAA+B,CAAC;KAC5C,MAAM,CAAC,2BAA2B,EAAE,oBAAoB,CAAC;KACzD,MAAM,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;KAC7C,MAAM,CAAC,iBAAiB,EAAE,aAAa,EAAE,GAAG,CAAC;KAC7C,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,CAAC;KAChE,MAAM,CAAC,QAAQ,EAAE,mCAAmC,CAAC;KACrD,MAAM,CAAC,uBAAuB,EAAE,wCAAwC,CAAC;KACzE,MAAM,CAAC,oBAAoB,EAAE,2BAA2B,CAAC;KACzD,MAAM,CAAC,cAAc,EAAE,iCAAiC,CAAC;KACzD,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,oBAAoB,CAAC;KACjC,MAAM,CAAC,2BAA2B,EAAE,oBAAoB,CAAC;KACzD,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,QAAQ,CAAC;KAClE,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,EAAE,IAAI,CAAC;KACvD,MAAM,CAAC,mBAAmB,EAAE,mCAAmC,CAAC;KAChE,MAAM,CAAC,cAAc,EAAE,wCAAwC,CAAC;KAChE,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,CAAC;KAChE,MAAM,CAAC,OAAO,EAAE,sCAAsC,CAAC;KACvD,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,KAAK,CAAC,KAAK,CAAC;KACZ,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,KAAK,CAAC,QAAQ,CAAC;KACf,WAAW,CAAC,iBAAiB,CAAC;KAC9B,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC;KACxC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,eAAe;AAEf,MAAM,OAAO,GAAG,OAAO;KACpB,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,2DAA2D,CAAC;KACxE,MAAM,CAAC,aAAa,EAAE,iCAAiC,CAAC;KACxD,MAAM,CACL,wBAAwB,EACxB,sCAAsC,EACtC,SAAS,CACV;KACA,MAAM,CACL,2BAA2B,EAC3B,6CAA6C,CAC9C;KACA,MAAM,CAAC,qBAAqB,EAAE,uCAAuC,CAAC;KACtE,MAAM,CAAC,WAAW,EAAE,mCAAmC,CAAC;KACxD,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,yDAAyD,CAAC;KACtE,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7B,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,gEAAgE,CAAC;KAC7E,MAAM,CAAC,QAAQ,EAAE,+CAA+C,CAAC;KACjE,MAAM,CAAC,QAAQ,EAAE,+CAA+C,CAAC;KACjE,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7B,4BAA4B;AAE5B,MAAM,SAAS,GAAG,OAAO;KACtB,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,0CAA0C,CAAC,CAAC;AAE3D,SAAS;KACN,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CACV,kEAAkE,CACnE;KACA,MAAM,CAAC,QAAQ,EAAE,+CAA+C,CAAC;KACjE,MAAM,CAAC,QAAQ,EAAE,4CAA4C,CAAC;KAC9D,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7B,SAAS;KACN,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7B,SAAS;KACN,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CACV,mFAAmF,CACpF;KACA,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAE/B,MAAM,eAAe,GAAG,SAAS;KAC9B,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,kCAAkC,CAAC,CAAC;AAEnD,eAAe;KACZ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,QAAQ,EAAE,+CAA+C,CAAC;KACjE,MAAM,CAAC,QAAQ,EAAE,+CAA+C,CAAC;KACjE,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAElC,eAAe;KACZ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAEnC,eAAe;KACZ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,oDAAoD,CAAC;KACjE,MAAM,CAAC,8BAA8B,CAAC,CAAC;AAE1C,eAAe;KACZ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,iCAAiC,CAAC,CAAC;AAE7C,eAAe;KACZ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,gDAAgD,CAAC;KAC7D,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAErC,eAAe;KACZ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CACV,oFAAoF,CACrF;KACA,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAErC,oCAAoC;AAEpC,MAAM,gBAAgB,GAAG,SAAS;KAC/B,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,uCAAuC,CAAC,CAAC;AAExD,gBAAgB;KACb,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,+DAA+D,CAAC;KAC5E,MAAM,CAAC,QAAQ,EAAE,yDAAyD,CAAC;KAC3E,MAAM,CAAC,QAAQ,EAAE,yDAAyD,CAAC;KAC3E,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAEpC,gBAAgB;KACb,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAEpC,gBAAgB;KACb,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,8DAA8D,CAAC;KAC3E,MAAM,CAAC,+BAA+B,CAAC,CAAC;AAE3C,gBAAgB;KACb,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,kCAAkC,CAAC,CAAC;AAE9C,gBAAgB;KACb,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAEtC,gBAAgB;KACb,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,yDAAyD,CAAC;KACtE,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC;KACxC,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAEvC,gBAAgB;KACb,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CACV,qFAAqF,CACtF;KACA,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAEtC,0BAA0B;AAE1B,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,4DAA4D,CAAC;KACzE,MAAM,CAAC,kBAAkB,EAAE,6CAA6C,CAAC;KACzE,MAAM,CAAC,gBAAgB,EAAE,wCAAwC,CAAC;KAClE,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAEjC,kCAAkC;AAElC,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,8DAA8D,CAAC;KAC3E,MAAM,CAAC,OAAO,EAAE,iCAAiC,CAAC;KAClD,MAAM,CAAC,SAAS,EAAE,gCAAgC,CAAC;KACnD,MAAM,CAAC,gBAAgB,EAAE,mDAAmD,CAAC;KAC7E,MAAM,CAAC,OAAO,EAAE,mCAAmC,CAAC;KACpD,MAAM,CAAC,SAAS,EAAE,8CAA8C,CAAC;KACjE,MAAM,CAAC,SAAS,EAAE,uDAAuD,CAAC;KAC1E,MAAM,CAAC,iBAAiB,EAAE,+CAA+C,CAAC;KAC1E,MAAM,CAAC,iBAAiB,EAAE,qCAAqC,CAAC;KAChE,MAAM,CAAC,YAAY,EAAE,iCAAiC,CAAC;KACvD,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,CAAC;KAC5E,MAAM,CAAC,eAAe,CAAC,CAAC;AAE3B,OAAO;KACJ,OAAO,CAAC,uBAAuB,CAAC;KAChC,WAAW,CAAC,oDAAoD,CAAC;KACjE,MAAM,CAAC,WAAW,CAAC,CAAC;AAEvB,eAAe;AAEf,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,YAAY,CAAC,CAAC;AAExB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,yBAAyB,CAAC;KACtC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,mBAAmB,CAAC;KAChC,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,mBAAmB;AAEnB,MAAM,OAAO,GAAG,OAAO;KACpB,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,oCAAoC,CAAC,CAAC;AAErD,OAAO;KACJ,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,oDAAoD,CAAC;KACjE,MAAM,CAAC,kBAAkB,EAAE,sCAAsC,CAAC;KAClE,MAAM,CAAC,YAAY,EAAE,6CAA6C,CAAC;KACnE,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,oBAAoB,CAAC;KACjC,MAAM,CAAC,eAAe,CAAC,CAAC;AAE3B,OAAO;KACJ,OAAO,CAAC,iBAAiB,CAAC;KAC1B,WAAW,CAAC,mBAAmB,CAAC;KAChC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,eAAe;AAEf,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;AAE9E,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAE5E,MAAM;KACH,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,uBAAuB,CAAC;KACpC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,MAAM;KACH,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CACV,oEAAoE,CACrE;KACA,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAEhF,YAAY;KACT,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,gEAAgE,CAAC;KAC7E,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC;KACxC,MAAM,CAAC,eAAe,EAAE,oCAAoC,EAAE,QAAQ,CAAC;KACvE,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,CAAC;KAChE,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAElC,YAAY;KACT,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC;KACxC,MAAM,CAAC,WAAW,EAAE,sBAAsB,CAAC;KAC3C,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,CAAC;KAChE,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAEhC,YAAY;KACT,OAAO,CAAC,8BAA8B,CAAC;KACvC,WAAW,CAAC,8BAA8B,CAAC;KAC3C,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC;KACxC,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,CAAC;KAChE,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAElC,YAAY;KACT,OAAO,CAAC,kCAAkC,CAAC;KAC3C,WAAW,CAAC,0CAA0C,CAAC;KACvD,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC;KACxC,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,CAAC;KAChE,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAEtC,YAAY;KACT,OAAO,CAAC,uBAAuB,CAAC;KAChC,WAAW,CAAC,qDAAqD,CAAC;KAClE,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAElC,iBAAiB;AAEjB,MAAM,QAAQ,GAAG,OAAO;KACrB,OAAO,CAAC,OAAO,CAAC;KAChB,KAAK,CAAC,QAAQ,CAAC;KACf,WAAW,CAAC,oCAAoC,CAAC,CAAC;AAErD,QAAQ;KACL,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC;KACxC,MAAM,CAAC,WAAW,EAAE,qBAAqB,CAAC;KAC1C,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,CAAC;KAChE,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,QAAQ;KACL,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,oBAAoB,CAAC;KACjC,MAAM,CAAC,6BAA6B,EAAE,kCAAkC,CAAC;KACzE,MAAM,CAAC,0BAA0B,EAAE,mBAAmB,CAAC;KACvD,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;KAC/C,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC;KAC1C,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE9B,QAAQ;KACL,OAAO,CAAC,iBAAiB,CAAC;KAC1B,KAAK,CAAC,KAAK,CAAC;KACZ,WAAW,CAAC,4BAA4B,CAAC;KACzC,cAAc,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;KAC/D,MAAM,CAAC,eAAe,CAAC,CAAC;AAE3B,QAAQ;KACL,OAAO,CAAC,mBAAmB,CAAC;KAC5B,KAAK,CAAC,QAAQ,CAAC;KACf,WAAW,CAAC,+BAA+B,CAAC;KAC5C,MAAM,CACL,kBAAkB,EAClB,oEAAoE,CACrE;KACA,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7B,MAAM,SAAS,GAAG,OAAO;KACtB,OAAO,CAAC,QAAQ,CAAC;KACjB,KAAK,CAAC,OAAO,CAAC;KACd,WAAW,CAAC,8CAA8C,CAAC,CAAC;AAE/D,SAAS;KACN,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,IAAI,CAAC;KACjD,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC;KACxC,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,CAAC;KAChE,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7B,SAAS;KACN,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC;KACxC,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,CAAC;KAChE,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAE/B,SAAS;KACN,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC;KACxC,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,CAAC;KAChE,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAEhC,QAAQ;KACL,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,gBAAgB,CAAC;KAC7B,MAAM,CAAC,cAAc,EAAE,wCAAwC,CAAC;KAChE,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE9B,qBAAqB;AAErB,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAE5B,iBAAiB;AAEjB,MAAM,SAAS,GAAG,OAAO;KACtB,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,4BAA4B,CAAC,CAAC;AAE7C,SAAS;KACN,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,SAAS;KACN,OAAO,CAAC,mBAAmB,CAAC;KAC5B,WAAW,CAAC,oBAAoB,CAAC;KACjC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAE5B,OAAO,CAAC,KAAK,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "memax-cli",
3
- "version": "0.1.0-alpha.38",
3
+ "version": "0.1.0-alpha.39",
4
4
  "description": "CLI for Memax — universal context & memory hub for AI agents",
5
5
  "type": "module",
6
6
  "bin": {
@@ -16,7 +16,7 @@
16
16
  "@modelcontextprotocol/sdk": "^1.12.1",
17
17
  "chalk": "^5.4.0",
18
18
  "commander": "^13.0.0",
19
- "memax-sdk": "^0.1.7"
19
+ "memax-sdk": "^0.1.8"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@types/node": "^25.5.0",