@memnexus-ai/cli 1.7.121 → 1.7.123
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/dist/commands/hook.js +15 -2
- package/dist/commands/hook.js.map +1 -1
- package/dist/lib/commit-context/git-reader.d.ts +26 -1
- package/dist/lib/commit-context/git-reader.d.ts.map +1 -1
- package/dist/lib/commit-context/git-reader.js +139 -10
- package/dist/lib/commit-context/git-reader.js.map +1 -1
- package/dist/lib/commit-context/types.d.ts +2 -0
- package/dist/lib/commit-context/types.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/commands/hook.js
CHANGED
|
@@ -75,7 +75,7 @@ async function handlePostCommit(options) {
|
|
|
75
75
|
const shouldSync = options.sync !== false; // default true
|
|
76
76
|
const summarizer = options.summarizer || 'llm';
|
|
77
77
|
// 1. Read git context
|
|
78
|
-
const git = (0, commit_context_1.readGitContext)(cwd);
|
|
78
|
+
const git = await (0, commit_context_1.readGitContext)(cwd);
|
|
79
79
|
// 2. Check if trivial
|
|
80
80
|
const { trivial, reason } = (0, commit_context_1.isTrivialCommit)(git);
|
|
81
81
|
if (trivial) {
|
|
@@ -237,7 +237,20 @@ async function callCommitContextApi(git, session, diff, transcript) {
|
|
|
237
237
|
const apiUrl = config_1.config.getApiUrl();
|
|
238
238
|
const apiKey = config_1.config.getApiKey();
|
|
239
239
|
const response = await axios_1.default.post(`${apiUrl}/api/commit-context`, {
|
|
240
|
-
git
|
|
240
|
+
git: {
|
|
241
|
+
sha: git.sha,
|
|
242
|
+
shortSha: git.shortSha,
|
|
243
|
+
branch: git.branch,
|
|
244
|
+
message: git.message,
|
|
245
|
+
author: git.author,
|
|
246
|
+
timestamp: git.timestamp,
|
|
247
|
+
filesChanged: git.filesChanged,
|
|
248
|
+
insertions: git.insertions,
|
|
249
|
+
deletions: git.deletions,
|
|
250
|
+
isMergeCommit: git.isMergeCommit,
|
|
251
|
+
prDescription: git.prDescription,
|
|
252
|
+
prNumber: git.prNumber,
|
|
253
|
+
},
|
|
241
254
|
session: session
|
|
242
255
|
? {
|
|
243
256
|
agent: session.agent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,oDAwBC;AA5CD,kDAA0B;AAC1B,0CAAuC;AACvC,0DAe+B;AAG/B,SAAgB,oBAAoB,CAAC,OAAgB;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;IAEtE,IAAI;SACD,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,qDAAqD,CAAC;SAClE,MAAM,CAAC,aAAa,EAAE,mBAAmB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;SACzD,MAAM,CAAC,WAAW,EAAE,6BAA6B,CAAC;SAClD,MAAM,CAAC,WAAW,EAAE,4BAA4B,CAAC;SACjD,MAAM,CAAC,qBAAqB,EAAE,wCAAwC,EAAE,KAAK,CAAC;SAC9E,MAAM,CAAC,aAAa,EAAE,gCAAgC,CAAC;SACvD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,sEAAsE;gBACtE,OAAO,CAAC,KAAK,CAAC,0BAA0B,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC;gBACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,yDAAyD;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,OAM/B;IACC,uFAAuF;IACvF,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACxB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,eAAe;IAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;IAE/C,sBAAsB;IACtB,MAAM,GAAG,GAAG,IAAA,+BAAc,EAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/commands/hook.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,11 +6,36 @@ export declare function parseShortStat(stat: string): {
|
|
|
6
6
|
insertions: number;
|
|
7
7
|
deletions: number;
|
|
8
8
|
};
|
|
9
|
+
/**
|
|
10
|
+
* Parse a git remote URL and extract owner/repo for GitHub remotes.
|
|
11
|
+
*
|
|
12
|
+
* Supported formats:
|
|
13
|
+
* SSH: git@github.com:owner/repo.git
|
|
14
|
+
* HTTPS: https://github.com/owner/repo.git
|
|
15
|
+
* HTTPS: https://github.com/owner/repo
|
|
16
|
+
*
|
|
17
|
+
* Returns null for non-GitHub remotes (gitlab, bitbucket, custom) or on parse failure.
|
|
18
|
+
*/
|
|
19
|
+
export declare function parseGitRemoteUrl(url: string): {
|
|
20
|
+
owner: string;
|
|
21
|
+
repo: string;
|
|
22
|
+
} | null;
|
|
23
|
+
/**
|
|
24
|
+
* Fetch the open PR description for a branch from the GitHub API.
|
|
25
|
+
*
|
|
26
|
+
* Returns undefined (graceful no-op) on any error, non-2xx response,
|
|
27
|
+
* no matching PR, or if the sanitized body is too short (<50 non-whitespace chars).
|
|
28
|
+
* Caps output at 500 characters with a 3-second timeout.
|
|
29
|
+
*/
|
|
30
|
+
export declare function fetchPrDescription(owner: string, repo: string, branch: string, token: string): Promise<{
|
|
31
|
+
body: string;
|
|
32
|
+
prNumber: number;
|
|
33
|
+
} | undefined>;
|
|
9
34
|
/**
|
|
10
35
|
* Read git context for the most recent commit.
|
|
11
36
|
* @param cwd - Working directory (defaults to process.cwd())
|
|
12
37
|
*/
|
|
13
|
-
export declare function readGitContext(cwd?: string): GitContext
|
|
38
|
+
export declare function readGitContext(cwd?: string): Promise<GitContext>;
|
|
14
39
|
/**
|
|
15
40
|
* Read the actual diff content for the most recent commit, truncated to maxLines.
|
|
16
41
|
* Privacy filter is applied to strip secrets from diff output.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-reader.d.ts","sourceRoot":"","sources":["../../../src/lib/commit-context/git-reader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAY1C;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAOtF;AAED;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"git-reader.d.ts","sourceRoot":"","sources":["../../../src/lib/commit-context/git-reader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAY1C;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAOtF;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAmBrF;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,CAmEzD;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,CAkHrF;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAsB,EAAE,QAAQ,GAAE,MAAY,GAAG,MAAM,CAc3F"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.parseShortStat = parseShortStat;
|
|
4
|
+
exports.parseGitRemoteUrl = parseGitRemoteUrl;
|
|
5
|
+
exports.fetchPrDescription = fetchPrDescription;
|
|
4
6
|
exports.readGitContext = readGitContext;
|
|
5
7
|
exports.readDiffContent = readDiffContent;
|
|
6
8
|
/**
|
|
@@ -27,25 +29,129 @@ function parseShortStat(stat) {
|
|
|
27
29
|
deletions: del ? parseInt(del[1], 10) : 0,
|
|
28
30
|
};
|
|
29
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Parse a git remote URL and extract owner/repo for GitHub remotes.
|
|
34
|
+
*
|
|
35
|
+
* Supported formats:
|
|
36
|
+
* SSH: git@github.com:owner/repo.git
|
|
37
|
+
* HTTPS: https://github.com/owner/repo.git
|
|
38
|
+
* HTTPS: https://github.com/owner/repo
|
|
39
|
+
*
|
|
40
|
+
* Returns null for non-GitHub remotes (gitlab, bitbucket, custom) or on parse failure.
|
|
41
|
+
*/
|
|
42
|
+
function parseGitRemoteUrl(url) {
|
|
43
|
+
if (!url)
|
|
44
|
+
return null;
|
|
45
|
+
const trimmed = url.trim();
|
|
46
|
+
// SSH format: git@github.com:owner/repo.git
|
|
47
|
+
const sshMatch = trimmed.match(/^git@github\.com:([^/]+)\/([^/]+?)(?:\.git)?$/);
|
|
48
|
+
if (sshMatch) {
|
|
49
|
+
return { owner: sshMatch[1], repo: sshMatch[2] };
|
|
50
|
+
}
|
|
51
|
+
// HTTPS format: https://github.com/owner/repo[.git]
|
|
52
|
+
const httpsMatch = trimmed.match(/^https:\/\/github\.com\/([^/]+)\/([^/]+?)(?:\.git)?$/);
|
|
53
|
+
if (httpsMatch) {
|
|
54
|
+
return { owner: httpsMatch[1], repo: httpsMatch[2] };
|
|
55
|
+
}
|
|
56
|
+
// Non-GitHub remote or unparseable
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Fetch the open PR description for a branch from the GitHub API.
|
|
61
|
+
*
|
|
62
|
+
* Returns undefined (graceful no-op) on any error, non-2xx response,
|
|
63
|
+
* no matching PR, or if the sanitized body is too short (<50 non-whitespace chars).
|
|
64
|
+
* Caps output at 500 characters with a 3-second timeout.
|
|
65
|
+
*/
|
|
66
|
+
async function fetchPrDescription(owner, repo, branch, token) {
|
|
67
|
+
const controller = new AbortController();
|
|
68
|
+
const timeoutId = setTimeout(() => controller.abort(), 3000);
|
|
69
|
+
try {
|
|
70
|
+
// GitHub REST API does not support draft=false as a query param — filter client-side
|
|
71
|
+
const url = `https://api.github.com/repos/${owner}/${repo}/pulls?head=${owner}:${branch}&state=open`;
|
|
72
|
+
const response = await fetch(url, {
|
|
73
|
+
headers: {
|
|
74
|
+
Authorization: `Bearer ${token}`,
|
|
75
|
+
Accept: 'application/vnd.github+json',
|
|
76
|
+
},
|
|
77
|
+
signal: controller.signal,
|
|
78
|
+
});
|
|
79
|
+
if (!response.ok) {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
const data = (await response.json());
|
|
83
|
+
if (!Array.isArray(data) || data.length === 0) {
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
// Skip draft PRs — their descriptions are work-in-progress and low-quality signal
|
|
87
|
+
const pr = data.find((p) => !p.draft);
|
|
88
|
+
if (!pr) {
|
|
89
|
+
return undefined;
|
|
90
|
+
}
|
|
91
|
+
const rawBody = pr.body;
|
|
92
|
+
if (!rawBody) {
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
// Sanitize: strip markdown headers, strip HTML comments, collapse blank lines
|
|
96
|
+
let sanitized = rawBody
|
|
97
|
+
.replace(/^#{1,6}\s.*$/gm, '') // strip markdown headers
|
|
98
|
+
.replace(/<!--[\s\S]*?-->/g, '') // strip HTML comments
|
|
99
|
+
.replace(/\n{3,}/g, '\n\n') // collapse multiple blank lines
|
|
100
|
+
.trim();
|
|
101
|
+
// Minimum content check: at least 50 non-whitespace characters
|
|
102
|
+
const nonWhitespaceCount = sanitized.replace(/\s/g, '').length;
|
|
103
|
+
if (nonWhitespaceCount < 50) {
|
|
104
|
+
return undefined;
|
|
105
|
+
}
|
|
106
|
+
// Cap at 500 characters, truncating at word boundary if possible
|
|
107
|
+
if (sanitized.length > 500) {
|
|
108
|
+
const truncated = sanitized.slice(0, 500);
|
|
109
|
+
const lastSpace = truncated.lastIndexOf(' ');
|
|
110
|
+
sanitized = lastSpace > 400 ? truncated.slice(0, lastSpace) : truncated;
|
|
111
|
+
}
|
|
112
|
+
return { body: sanitized, prNumber: pr.number };
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
// Network error, timeout, JSON parse failure — graceful no-op
|
|
116
|
+
return undefined;
|
|
117
|
+
}
|
|
118
|
+
finally {
|
|
119
|
+
clearTimeout(timeoutId);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
30
122
|
/**
|
|
31
123
|
* Read git context for the most recent commit.
|
|
32
124
|
* @param cwd - Working directory (defaults to process.cwd())
|
|
33
125
|
*/
|
|
34
|
-
function readGitContext(cwd = process.cwd()) {
|
|
126
|
+
async function readGitContext(cwd = process.cwd()) {
|
|
35
127
|
const sha = git(['rev-parse', 'HEAD'], cwd);
|
|
36
128
|
const shortSha = sha.slice(0, 7);
|
|
37
129
|
let branch = git(['rev-parse', '--abbrev-ref', 'HEAD'], cwd);
|
|
38
130
|
if (branch === 'HEAD') {
|
|
39
|
-
// Detached HEAD state
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
branch =
|
|
44
|
-
// name-rev may resolve to a remote tracking ref — strip 'remotes/<remote>/' prefix
|
|
45
|
-
branch = branch.replace(/^remotes\/[^/]+\//, '');
|
|
131
|
+
// Detached HEAD state — try CI env vars first (always set in GitHub Actions,
|
|
132
|
+
// more reliable than name-rev in shallow clones)
|
|
133
|
+
const ciRef = process.env.GITHUB_HEAD_REF || process.env.GITHUB_REF_NAME;
|
|
134
|
+
if (ciRef) {
|
|
135
|
+
branch = ciRef;
|
|
46
136
|
}
|
|
47
|
-
|
|
48
|
-
// name-rev
|
|
137
|
+
else {
|
|
138
|
+
// Fall back to name-rev for local detached HEAD (rebase, cherry-pick, etc.)
|
|
139
|
+
try {
|
|
140
|
+
const nameRevResult = git(['name-rev', '--name-only', '--no-undefined', 'HEAD'], cwd);
|
|
141
|
+
// name-rev may append '~N' and/or '^N' suffixes for indirect refs — strip all
|
|
142
|
+
const resolved = nameRevResult
|
|
143
|
+
.replace(/([~^]\d*)+$/, '')
|
|
144
|
+
// name-rev may resolve to a remote tracking ref — strip 'remotes/<remote>/' prefix
|
|
145
|
+
.replace(/^remotes\/[^/]+\//, '');
|
|
146
|
+
// Only use if name-rev actually resolved to something meaningful
|
|
147
|
+
// (shallow clones can return 'HEAD~0' → strips to 'HEAD')
|
|
148
|
+
if (resolved && resolved !== 'HEAD' && resolved !== 'undefined') {
|
|
149
|
+
branch = resolved;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
// name-rev also failed — keep 'HEAD'
|
|
154
|
+
}
|
|
49
155
|
}
|
|
50
156
|
}
|
|
51
157
|
const message = git(['log', '-1', '--format=%s'], cwd);
|
|
@@ -93,6 +199,27 @@ function readGitContext(cwd = process.cwd()) {
|
|
|
93
199
|
catch {
|
|
94
200
|
// Not a merge commit (HEAD^2 doesn't exist)
|
|
95
201
|
}
|
|
202
|
+
// Fetch PR metadata from GitHub if GITHUB_TOKEN is available
|
|
203
|
+
let prDescription;
|
|
204
|
+
let prNumber;
|
|
205
|
+
const githubToken = process.env.GITHUB_TOKEN;
|
|
206
|
+
if (githubToken && branch && branch !== 'HEAD') {
|
|
207
|
+
try {
|
|
208
|
+
// Parse owner/repo from git remote URL
|
|
209
|
+
const remoteUrl = git(['remote', 'get-url', 'origin'], cwd);
|
|
210
|
+
const repoCoords = parseGitRemoteUrl(remoteUrl);
|
|
211
|
+
if (repoCoords) {
|
|
212
|
+
const prMeta = await fetchPrDescription(repoCoords.owner, repoCoords.repo, branch, githubToken);
|
|
213
|
+
if (prMeta) {
|
|
214
|
+
prDescription = prMeta.body;
|
|
215
|
+
prNumber = prMeta.prNumber;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
catch {
|
|
220
|
+
// Graceful no-op — PR metadata is best-effort
|
|
221
|
+
}
|
|
222
|
+
}
|
|
96
223
|
return {
|
|
97
224
|
sha,
|
|
98
225
|
shortSha,
|
|
@@ -104,6 +231,8 @@ function readGitContext(cwd = process.cwd()) {
|
|
|
104
231
|
insertions,
|
|
105
232
|
deletions,
|
|
106
233
|
isMergeCommit,
|
|
234
|
+
prDescription,
|
|
235
|
+
prNumber,
|
|
107
236
|
};
|
|
108
237
|
}
|
|
109
238
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-reader.js","sourceRoot":"","sources":["../../../src/lib/commit-context/git-reader.ts"],"names":[],"mappings":";;AAmBA,wCAOC;AAMD,
|
|
1
|
+
{"version":3,"file":"git-reader.js","sourceRoot":"","sources":["../../../src/lib/commit-context/git-reader.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,8 @@ export interface GitContext {
|
|
|
13
13
|
insertions: number;
|
|
14
14
|
deletions: number;
|
|
15
15
|
isMergeCommit: boolean;
|
|
16
|
+
prDescription?: string;
|
|
17
|
+
prNumber?: number;
|
|
16
18
|
}
|
|
17
19
|
/** Parsed info from a single tool call in a session transcript */
|
|
18
20
|
export interface ToolCallInfo {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/commit-context/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wCAAwC;AACxC,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/commit-context/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wCAAwC;AACxC,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,kEAAkE;AAClE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,4DAA4D;AAC5D,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,+CAA+C;AAC/C,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,UAAU,CAAC;IAChB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,0DAA0D;AAC1D,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,sEAAsE;AACtE,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memnexus-ai/cli",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.123",
|
|
4
4
|
"description": "Command-line interface for MemNexus Core API",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"node": ">=18.0.0"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@memnexus-ai/typescript-sdk": "^1.53.
|
|
36
|
+
"@memnexus-ai/typescript-sdk": "^1.53.29",
|
|
37
37
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
38
38
|
"axios": "^1.13.5",
|
|
39
39
|
"chalk": "^5.3.0",
|