memax-cli 0.1.0-alpha.8 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/skills/memax-memory/SKILL.md +173 -0
- package/dist/commands/agent-configs.d.ts +41 -0
- package/dist/commands/agent-configs.d.ts.map +1 -0
- package/dist/commands/agent-configs.js +1290 -0
- package/dist/commands/agent-configs.js.map +1 -0
- package/dist/commands/agent-configs.test.d.ts +2 -0
- package/dist/commands/agent-configs.test.d.ts.map +1 -0
- package/dist/commands/agent-configs.test.js +122 -0
- package/dist/commands/agent-configs.test.js.map +1 -0
- package/dist/commands/agent-sessions.d.ts +74 -0
- package/dist/commands/agent-sessions.d.ts.map +1 -0
- package/dist/commands/agent-sessions.js +1513 -0
- package/dist/commands/agent-sessions.js.map +1 -0
- package/dist/commands/agent-sessions.test.d.ts +2 -0
- package/dist/commands/agent-sessions.test.d.ts.map +1 -0
- package/dist/commands/agent-sessions.test.js +255 -0
- package/dist/commands/agent-sessions.test.js.map +1 -0
- package/dist/commands/agents.d.ts +3 -0
- package/dist/commands/agents.d.ts.map +1 -0
- package/dist/commands/agents.js +36 -0
- package/dist/commands/agents.js.map +1 -0
- package/dist/commands/ask.d.ts +15 -0
- package/dist/commands/ask.d.ts.map +1 -0
- package/dist/commands/ask.js +483 -0
- package/dist/commands/ask.js.map +1 -0
- package/dist/commands/auth.d.ts +7 -0
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +103 -8
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/capture.d.ts +19 -0
- package/dist/commands/capture.d.ts.map +1 -0
- package/dist/commands/capture.js +69 -0
- package/dist/commands/capture.js.map +1 -0
- package/dist/commands/config.d.ts +2 -0
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +13 -0
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/delete.d.ts +2 -0
- package/dist/commands/delete.d.ts.map +1 -1
- package/dist/commands/delete.js +15 -18
- package/dist/commands/delete.js.map +1 -1
- package/dist/commands/dreams.d.ts +22 -0
- package/dist/commands/dreams.d.ts.map +1 -0
- package/dist/commands/dreams.js +251 -0
- package/dist/commands/dreams.js.map +1 -0
- package/dist/commands/dreams.test.d.ts +2 -0
- package/dist/commands/dreams.test.d.ts.map +1 -0
- package/dist/commands/dreams.test.js +39 -0
- package/dist/commands/dreams.test.js.map +1 -0
- package/dist/commands/hook.d.ts +2 -0
- package/dist/commands/hook.d.ts.map +1 -1
- package/dist/commands/hook.js +25 -103
- package/dist/commands/hook.js.map +1 -1
- package/dist/commands/hub.d.ts +37 -0
- package/dist/commands/hub.d.ts.map +1 -0
- package/dist/commands/hub.js +347 -0
- package/dist/commands/hub.js.map +1 -0
- package/dist/commands/hub.test.d.ts +2 -0
- package/dist/commands/hub.test.d.ts.map +1 -0
- package/dist/commands/hub.test.js +62 -0
- package/dist/commands/hub.test.js.map +1 -0
- package/dist/commands/import.d.ts +13 -0
- package/dist/commands/import.d.ts.map +1 -0
- package/dist/commands/import.js +257 -0
- package/dist/commands/import.js.map +1 -0
- package/dist/commands/import.test.d.ts +2 -0
- package/dist/commands/import.test.d.ts.map +1 -0
- package/dist/commands/import.test.js +11 -0
- package/dist/commands/import.test.js.map +1 -0
- package/dist/commands/list.d.ts +9 -2
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +118 -9
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/list.test.d.ts +2 -0
- package/dist/commands/list.test.d.ts.map +1 -0
- package/dist/commands/list.test.js +20 -0
- package/dist/commands/list.test.js.map +1 -0
- package/dist/commands/login.d.ts +7 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +81 -20
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +386 -65
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/push.d.ts +6 -1
- package/dist/commands/push.d.ts.map +1 -1
- package/dist/commands/push.js +42 -8
- package/dist/commands/push.js.map +1 -1
- package/dist/commands/recall.d.ts +11 -1
- package/dist/commands/recall.d.ts.map +1 -1
- package/dist/commands/recall.js +228 -41
- package/dist/commands/recall.js.map +1 -1
- package/dist/commands/recall.test.d.ts +2 -0
- package/dist/commands/recall.test.d.ts.map +1 -0
- package/dist/commands/recall.test.js +31 -0
- package/dist/commands/recall.test.js.map +1 -0
- package/dist/commands/setup-hooks.d.ts +13 -0
- package/dist/commands/setup-hooks.d.ts.map +1 -0
- package/dist/commands/setup-hooks.js +193 -0
- package/dist/commands/setup-hooks.js.map +1 -0
- package/dist/commands/setup-instructions.d.ts +21 -0
- package/dist/commands/setup-instructions.d.ts.map +1 -0
- package/dist/commands/setup-instructions.js +172 -0
- package/dist/commands/setup-instructions.js.map +1 -0
- package/dist/commands/setup-mcp.d.ts +40 -0
- package/dist/commands/setup-mcp.d.ts.map +1 -0
- package/dist/commands/setup-mcp.js +414 -0
- package/dist/commands/setup-mcp.js.map +1 -0
- package/dist/commands/setup-types.d.ts +33 -0
- package/dist/commands/setup-types.d.ts.map +1 -0
- package/dist/commands/setup-types.js +60 -0
- package/dist/commands/setup-types.js.map +1 -0
- package/dist/commands/setup.d.ts +10 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +216 -532
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/show.d.ts +5 -1
- package/dist/commands/show.d.ts.map +1 -1
- package/dist/commands/show.js +36 -14
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/topic.d.ts +32 -0
- package/dist/commands/topic.d.ts.map +1 -0
- package/dist/commands/topic.js +265 -0
- package/dist/commands/topic.js.map +1 -0
- package/dist/commands/topic.test.d.ts +2 -0
- package/dist/commands/topic.test.d.ts.map +1 -0
- package/dist/commands/topic.test.js +114 -0
- package/dist/commands/topic.test.js.map +1 -0
- package/dist/index.js +35 -144
- package/dist/index.js.map +1 -1
- package/dist/lib/client.d.ts +10 -0
- package/dist/lib/client.d.ts.map +1 -0
- package/dist/lib/client.js +104 -0
- package/dist/lib/client.js.map +1 -0
- package/dist/lib/client.test.d.ts +2 -0
- package/dist/lib/client.test.d.ts.map +1 -0
- package/dist/lib/client.test.js +44 -0
- package/dist/lib/client.test.js.map +1 -0
- package/dist/lib/config.d.ts +43 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +72 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/credentials.d.ts +3 -0
- package/dist/lib/credentials.d.ts.map +1 -1
- package/dist/lib/credentials.js +24 -2
- package/dist/lib/credentials.js.map +1 -1
- package/dist/lib/hubs.d.ts +7 -0
- package/dist/lib/hubs.d.ts.map +1 -0
- package/dist/lib/hubs.js +33 -0
- package/dist/lib/hubs.js.map +1 -0
- package/dist/lib/hubs.test.d.ts +2 -0
- package/dist/lib/hubs.test.d.ts.map +1 -0
- package/dist/lib/hubs.test.js +58 -0
- package/dist/lib/hubs.test.js.map +1 -0
- package/dist/lib/project-context.d.ts +56 -0
- package/dist/lib/project-context.d.ts.map +1 -0
- package/dist/lib/project-context.js +225 -0
- package/dist/lib/project-context.js.map +1 -0
- package/dist/lib/project-context.test.d.ts +2 -0
- package/dist/lib/project-context.test.d.ts.map +1 -0
- package/dist/lib/project-context.test.js +75 -0
- package/dist/lib/project-context.test.js.map +1 -0
- package/dist/lib/prompt.d.ts +7 -0
- package/dist/lib/prompt.d.ts.map +1 -0
- package/dist/lib/prompt.js +41 -0
- package/dist/lib/prompt.js.map +1 -0
- package/dist/lib/trash.d.ts +6 -0
- package/dist/lib/trash.d.ts.map +1 -0
- package/dist/lib/trash.js +28 -0
- package/dist/lib/trash.js.map +1 -0
- package/package.json +17 -13
- package/.vscode/mcp.json +0 -8
- package/dist/commands/sync.d.ts +0 -12
- package/dist/commands/sync.d.ts.map +0 -1
- package/dist/commands/sync.js +0 -414
- package/dist/commands/sync.js.map +0 -1
- package/dist/lib/api.d.ts +0 -4
- package/dist/lib/api.d.ts.map +0 -1
- package/dist/lib/api.js +0 -95
- package/dist/lib/api.js.map +0 -1
- package/src/commands/auth.ts +0 -92
- package/src/commands/config.ts +0 -27
- package/src/commands/delete.ts +0 -58
- package/src/commands/hook.ts +0 -243
- package/src/commands/list.ts +0 -38
- package/src/commands/login.ts +0 -164
- package/src/commands/mcp.ts +0 -405
- package/src/commands/push.ts +0 -137
- package/src/commands/recall.ts +0 -163
- package/src/commands/setup.ts +0 -1075
- package/src/commands/show.ts +0 -35
- package/src/commands/sync.ts +0 -506
- package/src/index.ts +0 -213
- package/src/lib/api.ts +0 -110
- package/src/lib/config.ts +0 -61
- package/src/lib/credentials.ts +0 -42
- package/tsconfig.json +0 -9
package/dist/commands/auth.js
CHANGED
|
@@ -1,21 +1,55 @@
|
|
|
1
|
-
import
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { getClient } from "../lib/client.js";
|
|
3
|
+
import { resolveHubID } from "../lib/hubs.js";
|
|
2
4
|
export async function createKeyCommand(name, opts) {
|
|
3
5
|
const expiresInDays = opts.expires ? parseInt(opts.expires, 10) : 0;
|
|
4
6
|
try {
|
|
5
|
-
const
|
|
7
|
+
const hubRefs = opts.hub ?? [];
|
|
8
|
+
const hubIds = [];
|
|
9
|
+
for (const hubRef of hubRefs) {
|
|
10
|
+
const hubId = await resolveHubID(hubRef);
|
|
11
|
+
if (!hubId) {
|
|
12
|
+
throw new Error(`Hub not found or not accessible: ${hubRef}. Run \`memax hub list\` to see available hubs.`);
|
|
13
|
+
}
|
|
14
|
+
hubIds.push(hubId);
|
|
15
|
+
}
|
|
16
|
+
if (opts.readOnly && opts.grant && opts.grant.length > 0) {
|
|
17
|
+
throw new Error("Use either --read-only or --grant, not both.");
|
|
18
|
+
}
|
|
19
|
+
const scopes = opts.readOnly ? ["read"] : opts.grant;
|
|
20
|
+
if (hubIds.length > 0 && scopes?.some(isAccountLevelGrant)) {
|
|
21
|
+
throw new Error("Hub-scoped keys cannot include account-level grants like agent-sync, config, settings, or account deletion.");
|
|
22
|
+
}
|
|
23
|
+
const result = await getClient().auth.createKey({
|
|
6
24
|
name,
|
|
7
|
-
|
|
25
|
+
hubId: hubIds[0],
|
|
26
|
+
hubIds: hubIds.length > 1 ? hubIds : undefined,
|
|
27
|
+
agentName: opts.agent || undefined,
|
|
28
|
+
expiresInDays: expiresInDays || undefined,
|
|
29
|
+
scopes,
|
|
30
|
+
trustLevel: opts.trustLevel,
|
|
8
31
|
});
|
|
9
32
|
console.log("\n API key created successfully.\n");
|
|
10
33
|
console.log(` Name: ${result.name}`);
|
|
11
34
|
console.log(` Key: ${result.key}`);
|
|
35
|
+
const isHubScoped = result.hub_scope_mode === "hub_allowlist";
|
|
36
|
+
console.log(` Scope: ${isHubScoped ? chalk.cyan(result.scope) : chalk.dim("all accessible hubs")}`);
|
|
37
|
+
if (result.default_permissions && result.default_permissions.length > 0) {
|
|
38
|
+
console.log(` Grants: ${chalk.gray(result.default_permissions.join(", "))}`);
|
|
39
|
+
}
|
|
40
|
+
if (result.trust_level) {
|
|
41
|
+
console.log(` Trust: ${chalk.gray(result.trust_level)}`);
|
|
42
|
+
}
|
|
43
|
+
if (opts.agent) {
|
|
44
|
+
console.log(` Agent: ${chalk.magenta(opts.agent)}`);
|
|
45
|
+
}
|
|
12
46
|
if (result.expires_at) {
|
|
13
47
|
console.log(` Expires: ${new Date(result.expires_at).toLocaleDateString()}`);
|
|
14
48
|
}
|
|
15
49
|
else {
|
|
16
50
|
console.log(` Expires: never`);
|
|
17
51
|
}
|
|
18
|
-
console.log(
|
|
52
|
+
console.log(`\n ${chalk.yellow("Save this key now — it cannot be retrieved again.")}\n`);
|
|
19
53
|
console.log(" Usage:");
|
|
20
54
|
console.log(` export MEMAX_API_KEY=${result.key}\n`);
|
|
21
55
|
}
|
|
@@ -26,7 +60,7 @@ export async function createKeyCommand(name, opts) {
|
|
|
26
60
|
}
|
|
27
61
|
export async function listKeysCommand() {
|
|
28
62
|
try {
|
|
29
|
-
const keys = await
|
|
63
|
+
const keys = await getClient().auth.listKeys();
|
|
30
64
|
if (keys.length === 0) {
|
|
31
65
|
console.log("\n No API keys. Create one with: memax auth create-key <name>\n");
|
|
32
66
|
return;
|
|
@@ -39,8 +73,19 @@ export async function listKeysCommand() {
|
|
|
39
73
|
const lastUsed = key.last_used
|
|
40
74
|
? new Date(key.last_used).toLocaleDateString()
|
|
41
75
|
: "never";
|
|
42
|
-
|
|
76
|
+
const scope = key.hub_id
|
|
77
|
+
? chalk.cyan(`hub:${key.scope}`)
|
|
78
|
+
: chalk.dim("all accessible hubs");
|
|
79
|
+
const agent = key.agent_name
|
|
80
|
+
? chalk.magenta(` [${key.agent_name}]`)
|
|
81
|
+
: key.standalone
|
|
82
|
+
? chalk.gray(" [standalone]")
|
|
83
|
+
: chalk.yellow(" [unassigned]");
|
|
84
|
+
console.log(` ${key.prefix}... ${key.name} ${scope}${agent}`);
|
|
43
85
|
console.log(` ID: ${key.id} Expires: ${expires} Last used: ${lastUsed}`);
|
|
86
|
+
if (key.default_permissions && key.default_permissions.length > 0) {
|
|
87
|
+
console.log(` Grants: ${key.default_permissions.join(", ")}`);
|
|
88
|
+
}
|
|
44
89
|
}
|
|
45
90
|
console.log();
|
|
46
91
|
}
|
|
@@ -50,13 +95,63 @@ export async function listKeysCommand() {
|
|
|
50
95
|
}
|
|
51
96
|
}
|
|
52
97
|
export async function revokeKeyCommand(id) {
|
|
98
|
+
// `memax auth revoke-key` is idempotent: re-running against an
|
|
99
|
+
// already-revoked key exits 0 with an explicit "already revoked"
|
|
100
|
+
// line so scripts and CI cleanup flows don't break on the race.
|
|
101
|
+
// Only a genuine store failure (revoke_failed) or an unexpected
|
|
102
|
+
// network error exits non-zero.
|
|
53
103
|
try {
|
|
54
|
-
await
|
|
55
|
-
|
|
104
|
+
const result = await getClient().auth.revokeKey(id);
|
|
105
|
+
if (result.revoked) {
|
|
106
|
+
console.log("\n API key revoked.\n");
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
const skip = result.skipped[0];
|
|
110
|
+
const reason = skip?.reason;
|
|
111
|
+
if (reason === "not_found") {
|
|
112
|
+
console.log("\n API key not found (already revoked).\n");
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
console.error(` Failed to revoke API key: ${reason ?? "unknown"}\n`);
|
|
116
|
+
process.exit(1);
|
|
56
117
|
}
|
|
57
118
|
catch (err) {
|
|
58
119
|
console.error(` Failed to revoke API key: ${err.message}\n`);
|
|
59
120
|
process.exit(1);
|
|
60
121
|
}
|
|
61
122
|
}
|
|
123
|
+
export function registerAuthCommand(program) {
|
|
124
|
+
const authCmd = program
|
|
125
|
+
.command("auth")
|
|
126
|
+
.description("Manage authentication and API keys");
|
|
127
|
+
authCmd
|
|
128
|
+
.command("create-key <name>")
|
|
129
|
+
.description("Create an API key for CI/CD or non-interactive use")
|
|
130
|
+
.option("--expires <days>", "Expire after N days (default: never)")
|
|
131
|
+
.option("--hub <id>", "Scope to a specific hub. May be repeated.", collect, [])
|
|
132
|
+
.option("--agent <slug>", "Associate with an agent (e.g. claude-code, cursor)")
|
|
133
|
+
.option("--grant <name>", "Permission bundle or permission. May be repeated.", collect, [])
|
|
134
|
+
.option("--read-only", "Shortcut for --grant read")
|
|
135
|
+
.option("--trust-level <level>", "Grant trust level: public, standard, elevated, admin")
|
|
136
|
+
.action(createKeyCommand);
|
|
137
|
+
authCmd
|
|
138
|
+
.command("list-keys")
|
|
139
|
+
.description("List your API keys")
|
|
140
|
+
.action(listKeysCommand);
|
|
141
|
+
authCmd
|
|
142
|
+
.command("revoke-key <id>")
|
|
143
|
+
.description("Revoke an API key")
|
|
144
|
+
.action(revokeKeyCommand);
|
|
145
|
+
}
|
|
146
|
+
function collect(value, previous) {
|
|
147
|
+
previous.push(value);
|
|
148
|
+
return previous;
|
|
149
|
+
}
|
|
150
|
+
function isAccountLevelGrant(grant) {
|
|
151
|
+
return (grant === "agent-sync" ||
|
|
152
|
+
grant.startsWith("config:") ||
|
|
153
|
+
grant.startsWith("agent_session:") ||
|
|
154
|
+
grant.startsWith("settings:") ||
|
|
155
|
+
grant.startsWith("account:"));
|
|
156
|
+
}
|
|
62
157
|
//# sourceMappingURL=auth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
interface CaptureOptions {
|
|
3
|
+
summary?: string;
|
|
4
|
+
agent?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* capture-session reads a session transcript from stdin and pushes it
|
|
8
|
+
* to Memax for fact extraction. The extraction pipeline (Claude Haiku)
|
|
9
|
+
* pulls out key decisions, learnings, and context — each becomes a
|
|
10
|
+
* separate searchable memory.
|
|
11
|
+
*
|
|
12
|
+
* Usage:
|
|
13
|
+
* memax capture-session --agent claude-code (reads stdin)
|
|
14
|
+
* memax capture-session --summary "Implemented auth system with JWT"
|
|
15
|
+
*/
|
|
16
|
+
export declare function captureSessionCommand(options: CaptureOptions): Promise<void>;
|
|
17
|
+
export declare function registerCaptureSessionCommand(program: Command): void;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=capture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../src/commands/capture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CA2Df;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAOpE"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { getClient, setClientAgent } from "../lib/client.js";
|
|
3
|
+
/**
|
|
4
|
+
* capture-session reads a session transcript from stdin and pushes it
|
|
5
|
+
* to Memax for fact extraction. The extraction pipeline (Claude Haiku)
|
|
6
|
+
* pulls out key decisions, learnings, and context — each becomes a
|
|
7
|
+
* separate searchable memory.
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* memax capture-session --agent claude-code (reads stdin)
|
|
11
|
+
* memax capture-session --summary "Implemented auth system with JWT"
|
|
12
|
+
*/
|
|
13
|
+
export async function captureSessionCommand(options) {
|
|
14
|
+
let content = "";
|
|
15
|
+
// Read from stdin if available
|
|
16
|
+
if (!process.stdin.isTTY) {
|
|
17
|
+
const chunks = [];
|
|
18
|
+
for await (const chunk of process.stdin) {
|
|
19
|
+
chunks.push(chunk);
|
|
20
|
+
}
|
|
21
|
+
content = Buffer.concat(chunks).toString("utf-8").trim();
|
|
22
|
+
}
|
|
23
|
+
// If --summary provided, use that as the content (or append to stdin)
|
|
24
|
+
if (options.summary) {
|
|
25
|
+
if (content) {
|
|
26
|
+
content = `## Session Summary\n${options.summary}\n\n## Session Transcript\n${content}`;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
content = options.summary;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (!content) {
|
|
33
|
+
console.error(chalk.red("No session data. Pipe transcript via stdin or use --summary:\n" +
|
|
34
|
+
" memax capture-session --summary 'Implemented JWT auth'\n" +
|
|
35
|
+
" cat transcript.md | memax capture-session --agent claude-code"));
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
// Truncate very long transcripts (keep first + last sections)
|
|
39
|
+
if (content.length > 20000) {
|
|
40
|
+
const head = content.slice(0, 10000);
|
|
41
|
+
const tail = content.slice(-5000);
|
|
42
|
+
content = head + "\n\n[...transcript truncated...]\n\n" + tail;
|
|
43
|
+
}
|
|
44
|
+
const agent = options.agent ?? "unknown";
|
|
45
|
+
setClientAgent(options.agent);
|
|
46
|
+
try {
|
|
47
|
+
const memory = await getClient().push(content, {
|
|
48
|
+
title: `Session capture (${agent}) — ${new Date().toLocaleDateString()}`,
|
|
49
|
+
contentType: "transcript",
|
|
50
|
+
source: "hook",
|
|
51
|
+
sourceAgent: agent,
|
|
52
|
+
});
|
|
53
|
+
console.log(chalk.green(" Session captured."), chalk.gray(`Facts will be extracted in the background.`));
|
|
54
|
+
console.log(chalk.gray(` id: ${memory.id}\n`));
|
|
55
|
+
}
|
|
56
|
+
catch (err) {
|
|
57
|
+
console.error(chalk.red(` Capture failed: ${err.message}\n`));
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export function registerCaptureSessionCommand(program) {
|
|
62
|
+
program
|
|
63
|
+
.command("capture-session")
|
|
64
|
+
.description("Capture an agent session — extract decisions and learnings")
|
|
65
|
+
.option("--summary <text>", "Session summary text (alternative to stdin)")
|
|
66
|
+
.option("--agent <name>", "Agent name (claude-code, gemini, etc.)")
|
|
67
|
+
.action(captureSessionCommand);
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=capture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/commands/capture.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAO7D;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAuB;IAEvB,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,+BAA+B;IAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3D,CAAC;IAED,sEAAsE;IACtE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,GAAG,uBAAuB,OAAO,CAAC,OAAO,8BAA8B,OAAO,EAAE,CAAC;QAC1F,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CACP,gEAAgE;YAC9D,4DAA4D;YAC5D,iEAAiE,CACpE,CACF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8DAA8D;IAC9D,IAAI,OAAO,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,GAAG,IAAI,GAAG,sCAAsC,GAAG,IAAI,CAAC;IACjE,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;IACzC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAE9B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE;YAC7C,KAAK,EAAE,oBAAoB,KAAK,OAAO,IAAI,IAAI,EAAE,CAAC,kBAAkB,EAAE,EAAE;YACxE,WAAW,EAAE,YAAY;YACzB,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAClC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CACzD,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAsB,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAAgB;IAC5D,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,4DAA4D,CAAC;SACzE,MAAM,CAAC,kBAAkB,EAAE,6CAA6C,CAAC;SACzE,MAAM,CAAC,gBAAgB,EAAE,wCAAwC,CAAC;SAClE,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
1
2
|
export declare function configGetCommand(key: string | undefined): void;
|
|
2
3
|
export declare function configSetCommand(key: string, value: string): void;
|
|
4
|
+
export declare function registerConfigCommand(program: Command): void;
|
|
3
5
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAkB9D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAGjE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAc5D"}
|
package/dist/commands/config.js
CHANGED
|
@@ -21,4 +21,17 @@ export function configSetCommand(key, value) {
|
|
|
21
21
|
saveConfig({ [key]: value });
|
|
22
22
|
console.log(chalk.green("Set"), `${key} = ${value}`);
|
|
23
23
|
}
|
|
24
|
+
export function registerConfigCommand(program) {
|
|
25
|
+
const configCmd = program
|
|
26
|
+
.command("config")
|
|
27
|
+
.description("Manage Memax configuration");
|
|
28
|
+
configCmd
|
|
29
|
+
.command("get [key]")
|
|
30
|
+
.description("Get config value (or all values)")
|
|
31
|
+
.action(configGetCommand);
|
|
32
|
+
configCmd
|
|
33
|
+
.command("set <key> <value>")
|
|
34
|
+
.description("Set a config value")
|
|
35
|
+
.action(configSetCommand);
|
|
36
|
+
}
|
|
24
37
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,UAAU,gBAAgB,CAAC,GAAuB;IACtD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAE5B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAI,MAA6C,CAAC,GAAG,CAAC,CAAC;IAClE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,KAAa;IACzD,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,SAAS,GAAG,OAAO;SACtB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,4BAA4B,CAAC,CAAC;IAE7C,SAAS;SACN,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE5B,SAAS;SACN,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,oBAAoB,CAAC;SACjC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAsB,aAAa,CACjC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAE,GACzB,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAO5D"}
|
package/dist/commands/delete.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { getClient } from "../lib/client.js";
|
|
3
|
+
import { confirm } from "../lib/prompt.js";
|
|
4
4
|
export async function deleteCommand(id, options) {
|
|
5
5
|
if (!id) {
|
|
6
|
-
console.error(chalk.red("Provide a
|
|
6
|
+
console.error(chalk.red("Provide a memory ID: memax forget <id>"));
|
|
7
7
|
process.exit(1);
|
|
8
8
|
}
|
|
9
|
+
const client = getClient();
|
|
9
10
|
// Show what's being deleted and confirm
|
|
10
11
|
if (!options.yes) {
|
|
11
12
|
try {
|
|
12
|
-
const
|
|
13
|
-
console.log(chalk.yellow(`\n Delete "${
|
|
13
|
+
const memory = await client.memories.get(id);
|
|
14
|
+
console.log(chalk.yellow(`\n Delete "${memory.title}"?\n`));
|
|
14
15
|
}
|
|
15
16
|
catch {
|
|
16
|
-
console.log(chalk.yellow(`\n Delete
|
|
17
|
+
console.log(chalk.yellow(`\n Delete memory ${id}?\n`));
|
|
17
18
|
}
|
|
18
19
|
const confirmed = await confirm(" Type y to confirm: ");
|
|
19
20
|
if (!confirmed) {
|
|
@@ -22,7 +23,7 @@ export async function deleteCommand(id, options) {
|
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
25
|
try {
|
|
25
|
-
await
|
|
26
|
+
await client.memories.delete(id);
|
|
26
27
|
console.log(chalk.green(" Forgotten."), chalk.gray(id + "\n"));
|
|
27
28
|
}
|
|
28
29
|
catch (err) {
|
|
@@ -30,16 +31,12 @@ export async function deleteCommand(id, options) {
|
|
|
30
31
|
process.exit(1);
|
|
31
32
|
}
|
|
32
33
|
}
|
|
33
|
-
function
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
rl.close();
|
|
41
|
-
resolve(answer.trim().toLowerCase() === "y");
|
|
42
|
-
});
|
|
43
|
-
});
|
|
34
|
+
export function registerDeleteCommand(program) {
|
|
35
|
+
program
|
|
36
|
+
.command("delete <id>")
|
|
37
|
+
.alias("forget")
|
|
38
|
+
.description("Delete a memory")
|
|
39
|
+
.option("-y, --yes", "Skip confirmation")
|
|
40
|
+
.action(deleteCommand);
|
|
44
41
|
}
|
|
45
42
|
//# sourceMappingURL=delete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,EAAU,EACV,OAA0B;IAE1B,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,wCAAwC;IACxC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,MAAM,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,uBAAuB,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAqB,GAAa,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,OAAO;SACJ,OAAO,CAAC,aAAa,CAAC;SACtB,KAAK,CAAC,QAAQ,CAAC;SACf,WAAW,CAAC,iBAAiB,CAAC;SAC9B,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC;SACxC,MAAM,CAAC,aAAa,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
import type { DreamRun } from "memax-sdk";
|
|
3
|
+
interface DreamsListOptions {
|
|
4
|
+
limit?: string;
|
|
5
|
+
hub?: string;
|
|
6
|
+
format?: string;
|
|
7
|
+
}
|
|
8
|
+
interface DreamsReportOptions {
|
|
9
|
+
hub?: string;
|
|
10
|
+
format?: string;
|
|
11
|
+
}
|
|
12
|
+
interface DreamsTriggerOptions {
|
|
13
|
+
hub?: string;
|
|
14
|
+
format?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function summarizeRun(run: DreamRun): string[];
|
|
17
|
+
export declare function dreamsListCommand(options: DreamsListOptions): Promise<void>;
|
|
18
|
+
export declare function dreamsReportCommand(options: DreamsReportOptions): Promise<void>;
|
|
19
|
+
export declare function dreamsTriggerCommand(options: DreamsTriggerOptions): Promise<void>;
|
|
20
|
+
export declare function registerDreamsCommands(program: Command): void;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=dreams.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dreams.d.ts","sourceRoot":"","sources":["../../src/commands/dreams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,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;AA4ID,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,CAAC,CA0Df;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;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2B7D"}
|