@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.
Files changed (141) hide show
  1. package/dist/analyzers/python-analyzer.d.ts +3 -0
  2. package/dist/analyzers/python-analyzer.d.ts.map +1 -0
  3. package/dist/analyzers/python-analyzer.js +127 -0
  4. package/dist/analyzers/python-analyzer.js.map +1 -0
  5. package/dist/analyzers/types.d.ts +18 -0
  6. package/dist/analyzers/types.d.ts.map +1 -0
  7. package/dist/analyzers/types.js +2 -0
  8. package/dist/analyzers/types.js.map +1 -0
  9. package/dist/analyzers/typescript-analyzer.d.ts +3 -0
  10. package/dist/analyzers/typescript-analyzer.d.ts.map +1 -0
  11. package/dist/analyzers/typescript-analyzer.js +131 -0
  12. package/dist/analyzers/typescript-analyzer.js.map +1 -0
  13. package/dist/api-client/api-provider.d.ts +3 -0
  14. package/dist/api-client/api-provider.d.ts.map +1 -0
  15. package/dist/api-client/api-provider.js +85 -0
  16. package/dist/api-client/api-provider.js.map +1 -0
  17. package/dist/api-client/credentials.d.ts +6 -0
  18. package/dist/api-client/credentials.d.ts.map +1 -0
  19. package/dist/api-client/credentials.js +34 -0
  20. package/dist/api-client/credentials.js.map +1 -0
  21. package/dist/api-client/direct-provider.d.ts +3 -0
  22. package/dist/api-client/direct-provider.d.ts.map +1 -0
  23. package/dist/api-client/direct-provider.js +149 -0
  24. package/dist/api-client/direct-provider.js.map +1 -0
  25. package/dist/api-client/http-client.d.ts +11 -0
  26. package/dist/api-client/http-client.d.ts.map +1 -0
  27. package/dist/api-client/http-client.js +37 -0
  28. package/dist/api-client/http-client.js.map +1 -0
  29. package/dist/api-client/index.d.ts +5 -0
  30. package/dist/api-client/index.d.ts.map +1 -0
  31. package/dist/api-client/index.js +12 -0
  32. package/dist/api-client/index.js.map +1 -0
  33. package/dist/api-client/types.d.ts +93 -0
  34. package/dist/api-client/types.d.ts.map +1 -0
  35. package/dist/api-client/types.js +2 -0
  36. package/dist/api-client/types.js.map +1 -0
  37. package/dist/commands/add.d.ts +3 -0
  38. package/dist/commands/add.d.ts.map +1 -0
  39. package/dist/commands/add.js +50 -0
  40. package/dist/commands/add.js.map +1 -0
  41. package/dist/commands/context.d.ts +3 -0
  42. package/dist/commands/context.d.ts.map +1 -0
  43. package/dist/commands/context.js +40 -0
  44. package/dist/commands/context.js.map +1 -0
  45. package/dist/commands/delete.d.ts +3 -0
  46. package/dist/commands/delete.d.ts.map +1 -0
  47. package/dist/commands/delete.js +45 -0
  48. package/dist/commands/delete.js.map +1 -0
  49. package/dist/commands/domains.d.ts +3 -0
  50. package/dist/commands/domains.d.ts.map +1 -0
  51. package/dist/commands/domains.js +61 -0
  52. package/dist/commands/domains.js.map +1 -0
  53. package/dist/commands/drafts.d.ts +3 -0
  54. package/dist/commands/drafts.d.ts.map +1 -0
  55. package/dist/commands/drafts.js +29 -0
  56. package/dist/commands/drafts.js.map +1 -0
  57. package/dist/commands/duplicates.d.ts +3 -0
  58. package/dist/commands/duplicates.d.ts.map +1 -0
  59. package/dist/commands/duplicates.js +39 -0
  60. package/dist/commands/duplicates.js.map +1 -0
  61. package/dist/commands/get.d.ts +3 -0
  62. package/dist/commands/get.d.ts.map +1 -0
  63. package/dist/commands/get.js +43 -0
  64. package/dist/commands/get.js.map +1 -0
  65. package/dist/commands/graph.d.ts +3 -0
  66. package/dist/commands/graph.d.ts.map +1 -0
  67. package/dist/commands/graph.js +368 -0
  68. package/dist/commands/graph.js.map +1 -0
  69. package/dist/commands/health.d.ts +3 -0
  70. package/dist/commands/health.d.ts.map +1 -0
  71. package/dist/commands/health.js +61 -0
  72. package/dist/commands/health.js.map +1 -0
  73. package/dist/commands/init.d.ts +3 -0
  74. package/dist/commands/init.d.ts.map +1 -0
  75. package/dist/commands/init.js +336 -0
  76. package/dist/commands/init.js.map +1 -0
  77. package/dist/commands/islands.d.ts +3 -0
  78. package/dist/commands/islands.d.ts.map +1 -0
  79. package/dist/commands/islands.js +70 -0
  80. package/dist/commands/islands.js.map +1 -0
  81. package/dist/commands/link.d.ts +3 -0
  82. package/dist/commands/link.d.ts.map +1 -0
  83. package/dist/commands/link.js +40 -0
  84. package/dist/commands/link.js.map +1 -0
  85. package/dist/commands/login.d.ts +3 -0
  86. package/dist/commands/login.d.ts.map +1 -0
  87. package/dist/commands/login.js +72 -0
  88. package/dist/commands/login.js.map +1 -0
  89. package/dist/commands/logout.d.ts +3 -0
  90. package/dist/commands/logout.d.ts.map +1 -0
  91. package/dist/commands/logout.js +18 -0
  92. package/dist/commands/logout.js.map +1 -0
  93. package/dist/commands/map.d.ts +3 -0
  94. package/dist/commands/map.d.ts.map +1 -0
  95. package/dist/commands/map.js +127 -0
  96. package/dist/commands/map.js.map +1 -0
  97. package/dist/commands/normalize.d.ts +3 -0
  98. package/dist/commands/normalize.d.ts.map +1 -0
  99. package/dist/commands/normalize.js +67 -0
  100. package/dist/commands/normalize.js.map +1 -0
  101. package/dist/commands/orphans.d.ts +3 -0
  102. package/dist/commands/orphans.d.ts.map +1 -0
  103. package/dist/commands/orphans.js +36 -0
  104. package/dist/commands/orphans.js.map +1 -0
  105. package/dist/commands/search.d.ts +3 -0
  106. package/dist/commands/search.d.ts.map +1 -0
  107. package/dist/commands/search.js +44 -0
  108. package/dist/commands/search.js.map +1 -0
  109. package/dist/commands/status.d.ts +3 -0
  110. package/dist/commands/status.d.ts.map +1 -0
  111. package/dist/commands/status.js +25 -0
  112. package/dist/commands/status.js.map +1 -0
  113. package/dist/commands/suggest-links.d.ts +3 -0
  114. package/dist/commands/suggest-links.d.ts.map +1 -0
  115. package/dist/commands/suggest-links.js +44 -0
  116. package/dist/commands/suggest-links.js.map +1 -0
  117. package/dist/commands/types.d.ts +3 -0
  118. package/dist/commands/types.d.ts.map +1 -0
  119. package/dist/commands/types.js +30 -0
  120. package/dist/commands/types.js.map +1 -0
  121. package/dist/commands/update.d.ts +3 -0
  122. package/dist/commands/update.d.ts.map +1 -0
  123. package/dist/commands/update.js +55 -0
  124. package/dist/commands/update.js.map +1 -0
  125. package/dist/commands/validate.d.ts +3 -0
  126. package/dist/commands/validate.d.ts.map +1 -0
  127. package/dist/commands/validate.js +79 -0
  128. package/dist/commands/validate.js.map +1 -0
  129. package/dist/commands/whoami.d.ts +3 -0
  130. package/dist/commands/whoami.d.ts.map +1 -0
  131. package/dist/commands/whoami.js +21 -0
  132. package/dist/commands/whoami.js.map +1 -0
  133. package/dist/index.d.ts +3 -0
  134. package/dist/index.d.ts.map +1 -0
  135. package/dist/index.js +59 -0
  136. package/dist/index.js.map +1 -0
  137. package/dist/utils.d.ts +3 -0
  138. package/dist/utils.d.ts.map +1 -0
  139. package/dist/utils.js +7 -0
  140. package/dist/utils.js.map +1 -0
  141. 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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/api-client/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function addCommand(program: Command): void;
3
+ //# sourceMappingURL=add.d.ts.map
@@ -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":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,UAAU,UAAU,CAAC,OAAgB;IACzC,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,0BAA0B,CAAC;SACvC,QAAQ,CAAC,WAAW,EAAE,iCAAiC,CAAC;SACxD,MAAM,CAAC,mBAAmB,EAAE,6CAA6C,EAAE,MAAM,CAAC;SAClF,MAAM,CAAC,iBAAiB,EAAE,YAAY,CAAC;SACvC,MAAM,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,KAAK,CAAC;SACrD,MAAM,CAAC,uBAAuB,EAAE,eAAe,CAAC;SAChD,MAAM,CAAC,qBAAqB,EAAE,aAAa,CAAC;SAC5C,MAAM,CAAC,uBAAuB,EAAE,sDAAsD,EAAE,OAAO,CAAC;SAChG,MAAM,CAAC,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,CAAC;SACpE,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,IAAI,EAAE,EAAE;QACtC,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;QAEvC,MAAM,KAAK,GACT,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEhE,IAAI,QAA4B,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;QACvB,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YACvC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK;YACL,OAAO;YACP,QAAQ;YACR,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,QAAQ;YACR,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function contextCommand(program: Command): void;
3
+ //# sourceMappingURL=context.d.ts.map
@@ -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,3 @@
1
+ import { Command } from "commander";
2
+ export declare function deleteCommand(program: Command): void;
3
+ //# sourceMappingURL=delete.d.ts.map
@@ -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,3 @@
1
+ import { Command } from "commander";
2
+ export declare function domainsCommand(program: Command): void;
3
+ //# sourceMappingURL=domains.d.ts.map
@@ -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,3 @@
1
+ import { Command } from "commander";
2
+ export declare function draftsCommand(program: Command): void;
3
+ //# sourceMappingURL=drafts.d.ts.map
@@ -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,3 @@
1
+ import { Command } from "commander";
2
+ export declare function duplicatesCommand(program: Command): void;
3
+ //# sourceMappingURL=duplicates.d.ts.map
@@ -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":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,UAAU,iBAAiB,CAAC,OAAgB;IAChD,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,mDAAmD,CAAC;SAChE,MAAM,CACL,qBAAqB,EACrB,iCAAiC,EACjC,MAAM,CACP;SACA,MAAM,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,IAAI,CAAC;SACtD,MAAM,CAAC,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,CAAC;SACpE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAEjD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnC,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAE9D,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,KAAK,CACT,uCAAuC,SAAS,cAAc,CAC/D,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,SAAS,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,kCAAkC,SAAS,iBAAiB,CAC7F,CACF,CAAC;QAEF,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,KAAK,EAAE,CAAC;YACjD,MAAM,GAAG,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC,CACvD,CAAC;YACF,OAAO,CAAC,GAAG,CACT,UAAU,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CACvF,CAAC;YACF,OAAO,CAAC,GAAG,CACT,UAAU,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,CACvF,CAAC;YACF,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CACP,+DAA+D,CAChE,CACF,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function getCommand(program: Command): void;
3
+ //# sourceMappingURL=get.d.ts.map
@@ -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