@apart-tech/apart-intelligence 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/dist/analyzers/python-analyzer.d.ts +3 -0
- package/dist/analyzers/python-analyzer.d.ts.map +1 -0
- package/dist/analyzers/python-analyzer.js +127 -0
- package/dist/analyzers/python-analyzer.js.map +1 -0
- package/dist/analyzers/types.d.ts +18 -0
- package/dist/analyzers/types.d.ts.map +1 -0
- package/dist/analyzers/types.js +2 -0
- package/dist/analyzers/types.js.map +1 -0
- package/dist/analyzers/typescript-analyzer.d.ts +3 -0
- package/dist/analyzers/typescript-analyzer.d.ts.map +1 -0
- package/dist/analyzers/typescript-analyzer.js +131 -0
- package/dist/analyzers/typescript-analyzer.js.map +1 -0
- package/dist/api-client/api-provider.d.ts +3 -0
- package/dist/api-client/api-provider.d.ts.map +1 -0
- package/dist/api-client/api-provider.js +85 -0
- package/dist/api-client/api-provider.js.map +1 -0
- package/dist/api-client/credentials.d.ts +6 -0
- package/dist/api-client/credentials.d.ts.map +1 -0
- package/dist/api-client/credentials.js +34 -0
- package/dist/api-client/credentials.js.map +1 -0
- package/dist/api-client/direct-provider.d.ts +3 -0
- package/dist/api-client/direct-provider.d.ts.map +1 -0
- package/dist/api-client/direct-provider.js +149 -0
- package/dist/api-client/direct-provider.js.map +1 -0
- package/dist/api-client/http-client.d.ts +11 -0
- package/dist/api-client/http-client.d.ts.map +1 -0
- package/dist/api-client/http-client.js +37 -0
- package/dist/api-client/http-client.js.map +1 -0
- package/dist/api-client/index.d.ts +5 -0
- package/dist/api-client/index.d.ts.map +1 -0
- package/dist/api-client/index.js +12 -0
- package/dist/api-client/index.js.map +1 -0
- package/dist/api-client/types.d.ts +93 -0
- package/dist/api-client/types.d.ts.map +1 -0
- package/dist/api-client/types.js +2 -0
- package/dist/api-client/types.js.map +1 -0
- package/dist/commands/add.d.ts +3 -0
- package/dist/commands/add.d.ts.map +1 -0
- package/dist/commands/add.js +50 -0
- package/dist/commands/add.js.map +1 -0
- package/dist/commands/context.d.ts +3 -0
- package/dist/commands/context.d.ts.map +1 -0
- package/dist/commands/context.js +40 -0
- package/dist/commands/context.js.map +1 -0
- package/dist/commands/delete.d.ts +3 -0
- package/dist/commands/delete.d.ts.map +1 -0
- package/dist/commands/delete.js +45 -0
- package/dist/commands/delete.js.map +1 -0
- package/dist/commands/domains.d.ts +3 -0
- package/dist/commands/domains.d.ts.map +1 -0
- package/dist/commands/domains.js +61 -0
- package/dist/commands/domains.js.map +1 -0
- package/dist/commands/drafts.d.ts +3 -0
- package/dist/commands/drafts.d.ts.map +1 -0
- package/dist/commands/drafts.js +29 -0
- package/dist/commands/drafts.js.map +1 -0
- package/dist/commands/duplicates.d.ts +3 -0
- package/dist/commands/duplicates.d.ts.map +1 -0
- package/dist/commands/duplicates.js +39 -0
- package/dist/commands/duplicates.js.map +1 -0
- package/dist/commands/get.d.ts +3 -0
- package/dist/commands/get.d.ts.map +1 -0
- package/dist/commands/get.js +43 -0
- package/dist/commands/get.js.map +1 -0
- package/dist/commands/graph.d.ts +3 -0
- package/dist/commands/graph.d.ts.map +1 -0
- package/dist/commands/graph.js +368 -0
- package/dist/commands/graph.js.map +1 -0
- package/dist/commands/health.d.ts +3 -0
- package/dist/commands/health.d.ts.map +1 -0
- package/dist/commands/health.js +61 -0
- package/dist/commands/health.js.map +1 -0
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +336 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/islands.d.ts +3 -0
- package/dist/commands/islands.d.ts.map +1 -0
- package/dist/commands/islands.js +70 -0
- package/dist/commands/islands.js.map +1 -0
- package/dist/commands/link.d.ts +3 -0
- package/dist/commands/link.d.ts.map +1 -0
- package/dist/commands/link.js +40 -0
- package/dist/commands/link.js.map +1 -0
- package/dist/commands/login.d.ts +3 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/login.js +72 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +3 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logout.js +18 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/map.d.ts +3 -0
- package/dist/commands/map.d.ts.map +1 -0
- package/dist/commands/map.js +127 -0
- package/dist/commands/map.js.map +1 -0
- package/dist/commands/normalize.d.ts +3 -0
- package/dist/commands/normalize.d.ts.map +1 -0
- package/dist/commands/normalize.js +67 -0
- package/dist/commands/normalize.js.map +1 -0
- package/dist/commands/orphans.d.ts +3 -0
- package/dist/commands/orphans.d.ts.map +1 -0
- package/dist/commands/orphans.js +36 -0
- package/dist/commands/orphans.js.map +1 -0
- package/dist/commands/search.d.ts +3 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +44 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +25 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/suggest-links.d.ts +3 -0
- package/dist/commands/suggest-links.d.ts.map +1 -0
- package/dist/commands/suggest-links.js +44 -0
- package/dist/commands/suggest-links.js.map +1 -0
- package/dist/commands/types.d.ts +3 -0
- package/dist/commands/types.d.ts.map +1 -0
- package/dist/commands/types.js +30 -0
- package/dist/commands/types.js.map +1 -0
- package/dist/commands/update.d.ts +3 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +55 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/commands/validate.d.ts +3 -0
- package/dist/commands/validate.d.ts.map +1 -0
- package/dist/commands/validate.js +79 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/commands/whoami.d.ts +3 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +21 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +59 -0
- package/dist/index.js.map +1 -0
- package/dist/utils.d.ts +3 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +7 -0
- package/dist/utils.js.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct-provider.js","sourceRoot":"","sources":["../../src/api-client/direct-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Credentials } from "./types.js";
|
|
2
|
+
export declare class HttpClient {
|
|
3
|
+
private creds;
|
|
4
|
+
constructor(creds: Credentials);
|
|
5
|
+
request<T>(method: string, path: string, body?: unknown): Promise<T>;
|
|
6
|
+
get<T>(path: string): Promise<T>;
|
|
7
|
+
post<T>(path: string, body?: unknown): Promise<T>;
|
|
8
|
+
patch<T>(path: string, body?: unknown): Promise<T>;
|
|
9
|
+
delete<T>(path: string): Promise<T>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=http-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/api-client/http-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,qBAAa,UAAU;IACT,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,WAAW;IAEhC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAuB1E,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjD,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAIlD,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAGpC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export class HttpClient {
|
|
2
|
+
creds;
|
|
3
|
+
constructor(creds) {
|
|
4
|
+
this.creds = creds;
|
|
5
|
+
}
|
|
6
|
+
async request(method, path, body) {
|
|
7
|
+
const url = `${this.creds.server.replace(/\/$/, "")}${path}`;
|
|
8
|
+
const headers = {
|
|
9
|
+
Authorization: `Bearer ${this.creds.apiKey}`,
|
|
10
|
+
"Content-Type": "application/json",
|
|
11
|
+
};
|
|
12
|
+
const res = await fetch(url, {
|
|
13
|
+
method,
|
|
14
|
+
headers,
|
|
15
|
+
body: body !== undefined ? JSON.stringify(body) : undefined,
|
|
16
|
+
});
|
|
17
|
+
if (!res.ok) {
|
|
18
|
+
const errorBody = await res.json().catch(() => ({}));
|
|
19
|
+
const message = errorBody.error || `HTTP ${res.status}`;
|
|
20
|
+
throw new Error(String(message));
|
|
21
|
+
}
|
|
22
|
+
return res.json();
|
|
23
|
+
}
|
|
24
|
+
get(path) {
|
|
25
|
+
return this.request("GET", path);
|
|
26
|
+
}
|
|
27
|
+
post(path, body) {
|
|
28
|
+
return this.request("POST", path, body);
|
|
29
|
+
}
|
|
30
|
+
patch(path, body) {
|
|
31
|
+
return this.request("PATCH", path, body);
|
|
32
|
+
}
|
|
33
|
+
delete(path) {
|
|
34
|
+
return this.request("DELETE", path);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=http-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/api-client/http-client.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,UAAU;IACD;IAApB,YAAoB,KAAkB;QAAlB,UAAK,GAAL,KAAK,CAAa;IAAG,CAAC;IAE1C,KAAK,CAAC,OAAO,CAAI,MAAc,EAAE,IAAY,EAAE,IAAc;QAC3D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC;QAC7D,MAAM,OAAO,GAA2B;YACtC,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC5C,cAAc,EAAE,kBAAkB;SACnC,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,MAAM;YACN,OAAO;YACP,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC5D,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrD,MAAM,OAAO,GACV,SAAqC,CAAC,KAAK,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAC;IAClC,CAAC;IAED,GAAG,CAAI,IAAY;QACjB,OAAO,IAAI,CAAC,OAAO,CAAI,KAAK,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,CAAI,IAAY,EAAE,IAAc;QAClC,OAAO,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAI,IAAY,EAAE,IAAc;QACnC,OAAO,IAAI,CAAC,OAAO,CAAI,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAI,IAAY;QACpB,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;CACF"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ServiceProvider } from "./types.js";
|
|
2
|
+
export type { ServiceProvider } from "./types.js";
|
|
3
|
+
export { loadCredentials, saveCredentials, deleteCredentials, getCredentialsPath, } from "./credentials.js";
|
|
4
|
+
export declare function loadServiceProvider(): ServiceProvider;
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api-client/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAKlD,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EACL,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,wBAAgB,mBAAmB,IAAI,eAAe,CAMrD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { loadCredentials } from "./credentials.js";
|
|
2
|
+
import { createApiProvider } from "./api-provider.js";
|
|
3
|
+
import { createDirectProvider } from "./direct-provider.js";
|
|
4
|
+
export { loadCredentials, saveCredentials, deleteCredentials, getCredentialsPath, } from "./credentials.js";
|
|
5
|
+
export function loadServiceProvider() {
|
|
6
|
+
const creds = loadCredentials();
|
|
7
|
+
if (creds) {
|
|
8
|
+
return createApiProvider(creds);
|
|
9
|
+
}
|
|
10
|
+
return createDirectProvider();
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api-client/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EACL,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,UAAU,mBAAmB;IACjC,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAChC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,oBAAoB,EAAE,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import type { Node, Edge, Domain, SearchResult, ContextPackage, NodeStatus } from "@apart-tech/intelligence-core";
|
|
2
|
+
import type { FileAnalysis } from "../analyzers/types.js";
|
|
3
|
+
export interface ServiceProvider {
|
|
4
|
+
nodes: {
|
|
5
|
+
create(input: {
|
|
6
|
+
type: string;
|
|
7
|
+
title: string;
|
|
8
|
+
content: string;
|
|
9
|
+
metadata?: Record<string, unknown>;
|
|
10
|
+
createdBy: string;
|
|
11
|
+
domainId?: string;
|
|
12
|
+
status?: string;
|
|
13
|
+
}): Promise<Node>;
|
|
14
|
+
getById(id: string): Promise<Node | null>;
|
|
15
|
+
update(id: string, input: {
|
|
16
|
+
title?: string;
|
|
17
|
+
content?: string;
|
|
18
|
+
metadata?: Record<string, unknown>;
|
|
19
|
+
type?: string;
|
|
20
|
+
domainId?: string;
|
|
21
|
+
}): Promise<Node | null>;
|
|
22
|
+
delete(id: string): Promise<boolean>;
|
|
23
|
+
setStatus(id: string, status: NodeStatus): Promise<Node | null>;
|
|
24
|
+
listDrafts(limit?: number): Promise<Node[]>;
|
|
25
|
+
listTypes(): Promise<{
|
|
26
|
+
type: string;
|
|
27
|
+
count: number;
|
|
28
|
+
}[]>;
|
|
29
|
+
};
|
|
30
|
+
edges: {
|
|
31
|
+
create(input: {
|
|
32
|
+
sourceNodeId: string;
|
|
33
|
+
targetNodeId: string;
|
|
34
|
+
relationshipType: string;
|
|
35
|
+
weight?: number;
|
|
36
|
+
metadata?: Record<string, unknown>;
|
|
37
|
+
createdBy: string;
|
|
38
|
+
}): Promise<Edge>;
|
|
39
|
+
getByNodeId(nodeId: string): Promise<Edge[]>;
|
|
40
|
+
delete(id: string): Promise<boolean>;
|
|
41
|
+
listRelationshipTypes(): Promise<{
|
|
42
|
+
relationshipType: string;
|
|
43
|
+
count: number;
|
|
44
|
+
}[]>;
|
|
45
|
+
};
|
|
46
|
+
search: {
|
|
47
|
+
search(options: {
|
|
48
|
+
query: string;
|
|
49
|
+
limit?: number;
|
|
50
|
+
types?: string[];
|
|
51
|
+
statuses?: NodeStatus[];
|
|
52
|
+
includeDrafts?: boolean;
|
|
53
|
+
domainIds?: string[];
|
|
54
|
+
}): Promise<SearchResult[]>;
|
|
55
|
+
context(options: {
|
|
56
|
+
query: string;
|
|
57
|
+
maxDepth?: number;
|
|
58
|
+
maxNodes?: number;
|
|
59
|
+
minRelevance?: number;
|
|
60
|
+
includeDrafts?: boolean;
|
|
61
|
+
types?: string[];
|
|
62
|
+
domainIds?: string[];
|
|
63
|
+
}): Promise<ContextPackage>;
|
|
64
|
+
};
|
|
65
|
+
domains: {
|
|
66
|
+
getTree(): Promise<(Domain & {
|
|
67
|
+
children: Domain[];
|
|
68
|
+
})[]>;
|
|
69
|
+
seed(): Promise<{
|
|
70
|
+
created: number;
|
|
71
|
+
existing: number;
|
|
72
|
+
}>;
|
|
73
|
+
getBySlug(slug: string): Promise<Domain | null>;
|
|
74
|
+
resolveSlugs(slugs: string[]): Promise<string[]>;
|
|
75
|
+
};
|
|
76
|
+
map: {
|
|
77
|
+
upload(input: {
|
|
78
|
+
analyses: FileAnalysis[];
|
|
79
|
+
projectName: string;
|
|
80
|
+
createdBy?: string;
|
|
81
|
+
domainId?: string;
|
|
82
|
+
}): Promise<{
|
|
83
|
+
nodesCreated: number;
|
|
84
|
+
nodesUpdated: number;
|
|
85
|
+
edgesCreated: number;
|
|
86
|
+
}>;
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
export interface Credentials {
|
|
90
|
+
server: string;
|
|
91
|
+
apiKey: string;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api-client/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/api-client/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,QAmD1C"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { loadServiceProvider } from "../api-client/index.js";
|
|
3
|
+
export function addCommand(program) {
|
|
4
|
+
program
|
|
5
|
+
.command("add")
|
|
6
|
+
.description("Add a new knowledge node")
|
|
7
|
+
.argument("<content>", "Content for the node (markdown)")
|
|
8
|
+
.option("-t, --type <type>", "Node type (policy, process, decision, etc.)", "note")
|
|
9
|
+
.option("--title <title>", "Node title")
|
|
10
|
+
.option("--by <creator>", "Creator identifier", "cli")
|
|
11
|
+
.option("-m, --metadata <json>", "JSON metadata")
|
|
12
|
+
.option("-d, --domain <slug>", "Domain slug")
|
|
13
|
+
.option("-s, --status <status>", "Initial status (draft, reviewed, approved, archived)", "draft")
|
|
14
|
+
.option("-f, --format <format>", "Output format: text, json", "text")
|
|
15
|
+
.action(async (content, opts) => {
|
|
16
|
+
const services = loadServiceProvider();
|
|
17
|
+
const title = opts.title ?? content.slice(0, 80) + (content.length > 80 ? "..." : "");
|
|
18
|
+
const metadata = opts.metadata ? JSON.parse(opts.metadata) : {};
|
|
19
|
+
let domainId;
|
|
20
|
+
if (opts.domain) {
|
|
21
|
+
const domain = await services.domains.getBySlug(opts.domain);
|
|
22
|
+
if (!domain) {
|
|
23
|
+
console.error(chalk.red(`Domain not found: ${opts.domain}`));
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
domainId = domain.id;
|
|
27
|
+
}
|
|
28
|
+
const node = await services.nodes.create({
|
|
29
|
+
type: opts.type,
|
|
30
|
+
title,
|
|
31
|
+
content,
|
|
32
|
+
metadata,
|
|
33
|
+
createdBy: opts.by,
|
|
34
|
+
domainId,
|
|
35
|
+
status: opts.status,
|
|
36
|
+
});
|
|
37
|
+
if (opts.format === "json") {
|
|
38
|
+
console.log(JSON.stringify(node, null, 2));
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
console.log(chalk.green("✓ Node created"));
|
|
42
|
+
console.log(` ID: ${node.id}`);
|
|
43
|
+
console.log(` Type: ${node.type}`);
|
|
44
|
+
console.log(` Title: ${node.title}`);
|
|
45
|
+
console.log(` Status: ${chalk.yellow(node.status)}`);
|
|
46
|
+
}
|
|
47
|
+
process.exit(0);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=add.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,QA2C9C"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { loadServiceProvider } from "../api-client/index.js";
|
|
3
|
+
export function contextCommand(program) {
|
|
4
|
+
program
|
|
5
|
+
.command("context")
|
|
6
|
+
.description("Assemble a context package for a topic")
|
|
7
|
+
.argument("<query>", "Topic or query for context assembly")
|
|
8
|
+
.option("-d, --depth <n>", "Graph traversal depth", "1")
|
|
9
|
+
.option("-n, --max-nodes <n>", "Maximum nodes to return", "20")
|
|
10
|
+
.option("--include-drafts", "Include draft nodes")
|
|
11
|
+
.option("-f, --format <format>", "Output format: text, json, markdown", "text")
|
|
12
|
+
.action(async (query, opts) => {
|
|
13
|
+
const services = loadServiceProvider();
|
|
14
|
+
const ctx = await services.search.context({
|
|
15
|
+
query,
|
|
16
|
+
maxDepth: parseInt(opts.depth),
|
|
17
|
+
maxNodes: parseInt(opts.maxNodes),
|
|
18
|
+
includeDrafts: opts.includeDrafts,
|
|
19
|
+
});
|
|
20
|
+
if (opts.format === "json") {
|
|
21
|
+
console.log(JSON.stringify(ctx, null, 2));
|
|
22
|
+
}
|
|
23
|
+
else if (opts.format === "markdown") {
|
|
24
|
+
console.log(`# Context: ${query}\n`);
|
|
25
|
+
for (const node of ctx.nodes) {
|
|
26
|
+
console.log(`## ${node.title} (${node.type})\n`);
|
|
27
|
+
console.log(node.content);
|
|
28
|
+
console.log();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
console.log(chalk.bold(`Context for "${query}" — ${ctx.nodes.length} nodes, ${ctx.edges.length} edges\n`));
|
|
33
|
+
for (const node of ctx.nodes) {
|
|
34
|
+
console.log(` ${chalk.dim(node.id.slice(0, 8))} ${chalk.cyan(node.type)} ${node.title}`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
process.exit(0);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,wCAAwC,CAAC;SACrD,QAAQ,CAAC,SAAS,EAAE,qCAAqC,CAAC;SAC1D,MAAM,CAAC,iBAAiB,EAAE,uBAAuB,EAAE,GAAG,CAAC;SACvD,MAAM,CAAC,qBAAqB,EAAE,yBAAyB,EAAE,IAAI,CAAC;SAC9D,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;SACjD,MAAM,CAAC,uBAAuB,EAAE,qCAAqC,EAAE,MAAM,CAAC;SAC9E,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,IAAI,EAAE,EAAE;QACpC,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;QAEvC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;YACxC,KAAK;YACL,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAC9B,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;YACjC,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC;YACrC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;gBACjD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1B,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,gBAAgB,KAAK,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,MAAM,UAAU,CAClF,CACF,CAAC;YACF,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAC/E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,QA8C7C"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { loadServiceProvider } from "../api-client/index.js";
|
|
3
|
+
export function deleteCommand(program) {
|
|
4
|
+
const del = program
|
|
5
|
+
.command("delete")
|
|
6
|
+
.description("Delete a node or edge");
|
|
7
|
+
del
|
|
8
|
+
.command("node")
|
|
9
|
+
.description("Delete a node and its edges")
|
|
10
|
+
.argument("<id>", "Node ID")
|
|
11
|
+
.action(async (id) => {
|
|
12
|
+
const services = loadServiceProvider();
|
|
13
|
+
const node = await services.nodes.getById(id);
|
|
14
|
+
if (!node) {
|
|
15
|
+
console.error(chalk.red(`Node not found: ${id}`));
|
|
16
|
+
process.exit(1);
|
|
17
|
+
}
|
|
18
|
+
const deleted = await services.nodes.delete(id);
|
|
19
|
+
if (deleted) {
|
|
20
|
+
console.log(chalk.green(`✓ Deleted node: ${node.title}`));
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
console.error(chalk.red(`Failed to delete node: ${id}`));
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
process.exit(0);
|
|
27
|
+
});
|
|
28
|
+
del
|
|
29
|
+
.command("edge")
|
|
30
|
+
.description("Delete an edge")
|
|
31
|
+
.argument("<id>", "Edge ID")
|
|
32
|
+
.action(async (id) => {
|
|
33
|
+
const services = loadServiceProvider();
|
|
34
|
+
const deleted = await services.edges.delete(id);
|
|
35
|
+
if (deleted) {
|
|
36
|
+
console.log(chalk.green(`✓ Deleted edge: ${id}`));
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
console.error(chalk.red(`Edge not found: ${id}`));
|
|
40
|
+
process.exit(1);
|
|
41
|
+
}
|
|
42
|
+
process.exit(0);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,MAAM,GAAG,GAAG,OAAO;SAChB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAExC,GAAG;SACA,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,6BAA6B,CAAC;SAC1C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;SAC3B,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;QAC3B,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;QAEvC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEL,GAAG;SACA,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,gBAAgB,CAAC;SAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;SAC3B,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;QAC3B,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;QAEvC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domains.d.ts","sourceRoot":"","sources":["../../src/commands/domains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,QA4D9C"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { loadServiceProvider } from "../api-client/index.js";
|
|
3
|
+
export function domainsCommand(program) {
|
|
4
|
+
const domains = program
|
|
5
|
+
.command("domains")
|
|
6
|
+
.description("Manage knowledge domains");
|
|
7
|
+
// Default: list tree
|
|
8
|
+
domains
|
|
9
|
+
.command("list", { isDefault: true })
|
|
10
|
+
.description("List domain tree")
|
|
11
|
+
.option("-f, --format <format>", "Output format: text, json", "text")
|
|
12
|
+
.action(async (opts) => {
|
|
13
|
+
const services = loadServiceProvider();
|
|
14
|
+
const tree = await services.domains.getTree();
|
|
15
|
+
if (opts.format === "json") {
|
|
16
|
+
console.log(JSON.stringify(tree, null, 2));
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
for (const domain of tree) {
|
|
20
|
+
console.log(`${chalk.bold.cyan(domain.name)} ${chalk.dim(`(${domain.slug})`)}`);
|
|
21
|
+
if ('children' in domain && Array.isArray(domain.children)) {
|
|
22
|
+
for (const child of domain.children) {
|
|
23
|
+
console.log(` ${chalk.white(child.name)} ${chalk.dim(`(${child.slug})`)}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
process.exit(0);
|
|
29
|
+
});
|
|
30
|
+
// Seed defaults
|
|
31
|
+
domains
|
|
32
|
+
.command("seed")
|
|
33
|
+
.description("Seed the default domain taxonomy")
|
|
34
|
+
.action(async () => {
|
|
35
|
+
const services = loadServiceProvider();
|
|
36
|
+
const result = await services.domains.seed();
|
|
37
|
+
console.log(chalk.green(`✓ Domains seeded: ${result.created} created, ${result.existing} already existed`));
|
|
38
|
+
process.exit(0);
|
|
39
|
+
});
|
|
40
|
+
// Show details
|
|
41
|
+
domains
|
|
42
|
+
.command("show <slug>")
|
|
43
|
+
.description("Show domain details")
|
|
44
|
+
.action(async (slug) => {
|
|
45
|
+
const services = loadServiceProvider();
|
|
46
|
+
const domain = await services.domains.getBySlug(slug);
|
|
47
|
+
if (!domain) {
|
|
48
|
+
console.error(chalk.red(`Domain not found: ${slug}`));
|
|
49
|
+
process.exit(1);
|
|
50
|
+
}
|
|
51
|
+
console.log(chalk.bold(domain.name));
|
|
52
|
+
console.log(` Slug: ${domain.slug}`);
|
|
53
|
+
console.log(` Description: ${domain.description}`);
|
|
54
|
+
console.log(` ID: ${domain.id}`);
|
|
55
|
+
if (domain.parentId) {
|
|
56
|
+
console.log(` Parent ID: ${domain.parentId}`);
|
|
57
|
+
}
|
|
58
|
+
process.exit(0);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=domains.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domains.js","sourceRoot":"","sources":["../../src/commands/domains.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drafts.d.ts","sourceRoot":"","sources":["../../src/commands/drafts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,QA4B7C"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { loadServiceProvider } from "../api-client/index.js";
|
|
3
|
+
export function draftsCommand(program) {
|
|
4
|
+
program
|
|
5
|
+
.command("drafts")
|
|
6
|
+
.description("List draft nodes pending curation")
|
|
7
|
+
.option("-l, --limit <n>", "Max results", "50")
|
|
8
|
+
.option("-f, --format <format>", "Output format: text, json", "text")
|
|
9
|
+
.action(async (opts) => {
|
|
10
|
+
const services = loadServiceProvider();
|
|
11
|
+
const drafts = await services.nodes.listDrafts(parseInt(opts.limit));
|
|
12
|
+
if (opts.format === "json") {
|
|
13
|
+
console.log(JSON.stringify(drafts, null, 2));
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
if (drafts.length === 0) {
|
|
17
|
+
console.log(chalk.green("No drafts pending curation."));
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
console.log(chalk.bold(`${drafts.length} drafts pending:\n`));
|
|
21
|
+
for (const node of drafts) {
|
|
22
|
+
console.log(` ${chalk.dim(node.id.slice(0, 8))} ${chalk.cyan(node.type)} ${node.title} ${chalk.dim(node.createdBy)}`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
process.exit(0);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=drafts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drafts.js","sourceRoot":"","sources":["../../src/commands/drafts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,iBAAiB,EAAE,aAAa,EAAE,IAAI,CAAC;SAC9C,MAAM,CAAC,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,CAAC;SACpE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;QAEvC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAErE,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,oBAAoB,CAAC,CAAC,CAAC;gBAC9D,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;oBAC1B,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAC7G,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duplicates.d.ts","sourceRoot":"","sources":["../../src/commands/duplicates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,QAgEjD"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { loadConfig, getTenantDb, CleaningService } from "@apart-tech/intelligence-core";
|
|
3
|
+
import { resolveTenant } from "../utils.js";
|
|
4
|
+
export function duplicatesCommand(program) {
|
|
5
|
+
program
|
|
6
|
+
.command("duplicates")
|
|
7
|
+
.description("Find near-duplicate nodes by embedding similarity")
|
|
8
|
+
.option("-t, --threshold <n>", "Minimum cosine similarity (0-1)", "0.95")
|
|
9
|
+
.option("-l, --limit <n>", "Max pairs to return", "50")
|
|
10
|
+
.option("-f, --format <format>", "Output format: text, json", "text")
|
|
11
|
+
.action(async (opts) => {
|
|
12
|
+
const config = loadConfig();
|
|
13
|
+
const tenant = resolveTenant(config);
|
|
14
|
+
const db = getTenantDb(config.database.url, tenant);
|
|
15
|
+
const cleaning = new CleaningService(db, tenant);
|
|
16
|
+
const threshold = parseFloat(opts.threshold);
|
|
17
|
+
const limit = parseInt(opts.limit);
|
|
18
|
+
const pairs = await cleaning.findDuplicates(threshold, limit);
|
|
19
|
+
if (opts.format === "json") {
|
|
20
|
+
console.log(JSON.stringify(pairs, null, 2));
|
|
21
|
+
process.exit(0);
|
|
22
|
+
}
|
|
23
|
+
if (pairs.length === 0) {
|
|
24
|
+
console.log(chalk.green(`No duplicate candidates found above ${threshold} similarity.`));
|
|
25
|
+
process.exit(0);
|
|
26
|
+
}
|
|
27
|
+
console.log(chalk.bold(`Found ${chalk.red(pairs.length)} duplicate candidate pair(s) (≥${threshold} similarity):\n`));
|
|
28
|
+
for (const { nodeA, nodeB, similarity } of pairs) {
|
|
29
|
+
const pct = (similarity * 100).toFixed(1);
|
|
30
|
+
console.log(chalk.bold(` ${chalk.magenta(`${pct}%`)} similarity`));
|
|
31
|
+
console.log(` A: ${chalk.dim(nodeA.id.slice(0, 8))} ${chalk.cyan(nodeA.type)} ${nodeA.title}`);
|
|
32
|
+
console.log(` B: ${chalk.dim(nodeB.id.slice(0, 8))} ${chalk.cyan(nodeB.type)} ${nodeB.title}`);
|
|
33
|
+
console.log();
|
|
34
|
+
}
|
|
35
|
+
console.log(chalk.dim("Review pairs and use 'tc delete <id>' to remove duplicates.\n"));
|
|
36
|
+
process.exit(0);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=duplicates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duplicates.js","sourceRoot":"","sources":["../../src/commands/duplicates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../src/commands/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,QA4C1C"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { loadServiceProvider } from "../api-client/index.js";
|
|
3
|
+
export function getCommand(program) {
|
|
4
|
+
program
|
|
5
|
+
.command("get")
|
|
6
|
+
.description("Get a node by ID with its edges")
|
|
7
|
+
.argument("<id>", "Node ID")
|
|
8
|
+
.option("-f, --format <format>", "Output format: text, json", "text")
|
|
9
|
+
.action(async (id, opts) => {
|
|
10
|
+
const services = loadServiceProvider();
|
|
11
|
+
const node = await services.nodes.getById(id);
|
|
12
|
+
if (!node) {
|
|
13
|
+
console.error(chalk.red(`Node not found: ${id}`));
|
|
14
|
+
process.exit(1);
|
|
15
|
+
}
|
|
16
|
+
const edges = await services.edges.getByNodeId(id);
|
|
17
|
+
if (opts.format === "json") {
|
|
18
|
+
console.log(JSON.stringify({ node, edges }, null, 2));
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
console.log(chalk.bold(node.title));
|
|
22
|
+
console.log(` Type: ${chalk.cyan(node.type)}`);
|
|
23
|
+
console.log(` Status: ${node.status}`);
|
|
24
|
+
console.log(` ID: ${node.id}`);
|
|
25
|
+
console.log(` Version: ${node.version}`);
|
|
26
|
+
console.log(` Created: ${node.createdAt}`);
|
|
27
|
+
console.log(` By: ${node.createdBy}`);
|
|
28
|
+
console.log();
|
|
29
|
+
console.log(node.content);
|
|
30
|
+
if (edges.length > 0) {
|
|
31
|
+
console.log(chalk.bold(`\nEdges (${edges.length}):`));
|
|
32
|
+
for (const edge of edges) {
|
|
33
|
+
const dir = edge.sourceNodeId === id
|
|
34
|
+
? `→ ${edge.targetNodeId.slice(0, 8)}`
|
|
35
|
+
: `← ${edge.sourceNodeId.slice(0, 8)}`;
|
|
36
|
+
console.log(` ${dir} ${chalk.dim(edge.relationshipType)}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
process.exit(0);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=get.js.map
|