xmem-ai 1.0.0 → 1.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/dist/index.d.ts +1 -1
- package/dist/src/client.d.ts +4 -1
- package/dist/src/client.js +15 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.js +22 -0
- package/dist/src/network.js +5 -1
- package/dist/src/types.d.ts +31 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { XMemClient } from "./src/client";
|
|
2
|
-
export type { APIEnvelope, DomainResult, HealthStatus, IngestParams, IngestResult, OperationDetail, RetrieveParams, RetrieveResult, SearchParams, SearchResult, SourceRecord, WeaverSummary, } from "./src/types";
|
|
2
|
+
export type { APIEnvelope, CodeQueryParams, CodeQueryResult, DirectoryNode, DirectoryTreeResult, DomainResult, HealthStatus, IngestParams, IngestResult, OperationDetail, RepoListResult, RetrieveParams, RetrieveResult, SearchParams, SearchResult, SourceRecord, WeaverSummary, } from "./src/types";
|
|
3
3
|
export { XMemSDKError, AuthenticationError, ConnectionError, NotReadyError, RateLimitError, ServerError, ValidationError, } from "./src/error";
|
package/dist/src/client.d.ts
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* console.log(answer.answer);
|
|
11
11
|
* ```
|
|
12
12
|
*/
|
|
13
|
-
import type { HealthStatus, IngestParams, IngestResult, RetrieveParams, RetrieveResult, SearchParams, SearchResult } from "./types";
|
|
13
|
+
import type { CodeQueryParams, CodeQueryResult, DirectoryTreeResult, HealthStatus, IngestParams, IngestResult, RepoListResult, RetrieveParams, RetrieveResult, SearchParams, SearchResult } from "./types";
|
|
14
14
|
export declare class XMemClient {
|
|
15
15
|
private readonly baseUrl;
|
|
16
16
|
private readonly headers;
|
|
@@ -21,4 +21,7 @@ export declare class XMemClient {
|
|
|
21
21
|
ingest(params: IngestParams): Promise<IngestResult>;
|
|
22
22
|
retrieve(params: RetrieveParams): Promise<RetrieveResult>;
|
|
23
23
|
search(params: SearchParams): Promise<SearchResult>;
|
|
24
|
+
codeQuery(params: CodeQueryParams): Promise<CodeQueryResult>;
|
|
25
|
+
getDirectoryTree(orgId: string, repo: string): Promise<DirectoryTreeResult>;
|
|
26
|
+
listRepos(orgId: string): Promise<RepoListResult>;
|
|
24
27
|
}
|
package/dist/src/client.js
CHANGED
|
@@ -58,5 +58,20 @@ class XMemClient {
|
|
|
58
58
|
const env = await this.req("POST", "/v1/memory/search", params);
|
|
59
59
|
return { ...env.data, request_id: env.request_id, elapsed_ms: env.elapsed_ms };
|
|
60
60
|
}
|
|
61
|
+
// ── Code retrieval (IDE mode) ─────────────────────────────────
|
|
62
|
+
async codeQuery(params) {
|
|
63
|
+
const env = await this.req("POST", "/v1/code/query", params);
|
|
64
|
+
return { ...env.data, request_id: env.request_id, elapsed_ms: env.elapsed_ms };
|
|
65
|
+
}
|
|
66
|
+
async getDirectoryTree(orgId, repo) {
|
|
67
|
+
const qs = `org_id=${encodeURIComponent(orgId)}&repo=${encodeURIComponent(repo)}`;
|
|
68
|
+
const env = await this.req("GET", `/v1/code/directory-tree?${qs}`);
|
|
69
|
+
return { ...env.data, request_id: env.request_id, elapsed_ms: env.elapsed_ms };
|
|
70
|
+
}
|
|
71
|
+
async listRepos(orgId) {
|
|
72
|
+
const qs = `org_id=${encodeURIComponent(orgId)}`;
|
|
73
|
+
const env = await this.req("GET", `/v1/code/repos?${qs}`);
|
|
74
|
+
return { ...env.data, request_id: env.request_id, elapsed_ms: env.elapsed_ms };
|
|
75
|
+
}
|
|
61
76
|
}
|
|
62
77
|
exports.XMemClient = XMemClient;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.XMemSDKError = exports.XMemClient = void 0;
|
|
18
|
+
var client_1 = require("./client");
|
|
19
|
+
Object.defineProperty(exports, "XMemClient", { enumerable: true, get: function () { return client_1.XMemClient; } });
|
|
20
|
+
__exportStar(require("./types"), exports);
|
|
21
|
+
var error_1 = require("./error");
|
|
22
|
+
Object.defineProperty(exports, "XMemSDKError", { enumerable: true, get: function () { return error_1.XMemSDKError; } });
|
package/dist/src/network.js
CHANGED
|
@@ -44,9 +44,13 @@ async function request(baseUrl, path, init) {
|
|
|
44
44
|
if (body.status === "error") {
|
|
45
45
|
throw mapError(response.status || 500, body);
|
|
46
46
|
}
|
|
47
|
+
// Handle both envelope-wrapped responses (with `data` field) and direct responses
|
|
48
|
+
// Some endpoints like /health return data directly, others wrap it in { data: ... }
|
|
49
|
+
const hasDataField = "data" in body && body.data !== undefined;
|
|
50
|
+
const data = hasDataField ? body.data : body;
|
|
47
51
|
return {
|
|
48
52
|
status: "ok",
|
|
49
|
-
data
|
|
53
|
+
data,
|
|
50
54
|
error: body.error,
|
|
51
55
|
request_id: body.request_id,
|
|
52
56
|
elapsed_ms: body.elapsed_ms,
|
package/dist/src/types.d.ts
CHANGED
|
@@ -78,3 +78,34 @@ export interface SearchResult {
|
|
|
78
78
|
request_id?: string;
|
|
79
79
|
elapsed_ms?: number;
|
|
80
80
|
}
|
|
81
|
+
export interface CodeQueryParams {
|
|
82
|
+
org_id: string;
|
|
83
|
+
repo: string;
|
|
84
|
+
query: string;
|
|
85
|
+
user_id?: string;
|
|
86
|
+
top_k?: number;
|
|
87
|
+
}
|
|
88
|
+
export interface CodeQueryResult {
|
|
89
|
+
answer: string;
|
|
90
|
+
sources: SourceRecord[];
|
|
91
|
+
confidence: number;
|
|
92
|
+
request_id?: string;
|
|
93
|
+
elapsed_ms?: number;
|
|
94
|
+
}
|
|
95
|
+
export interface DirectoryNode {
|
|
96
|
+
name: string;
|
|
97
|
+
type: "file" | "directory";
|
|
98
|
+
path: string;
|
|
99
|
+
children?: DirectoryNode[];
|
|
100
|
+
}
|
|
101
|
+
export interface DirectoryTreeResult {
|
|
102
|
+
repo: string;
|
|
103
|
+
tree: DirectoryNode;
|
|
104
|
+
request_id?: string;
|
|
105
|
+
elapsed_ms?: number;
|
|
106
|
+
}
|
|
107
|
+
export interface RepoListResult {
|
|
108
|
+
repos: string[];
|
|
109
|
+
request_id?: string;
|
|
110
|
+
elapsed_ms?: number;
|
|
111
|
+
}
|