@nahisaho/yata-global 1.6.6
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/api-client.d.ts +71 -0
- package/dist/api-client.d.ts.map +1 -0
- package/dist/api-client.js +165 -0
- package/dist/api-client.js.map +1 -0
- package/dist/cache-manager.d.ts +122 -0
- package/dist/cache-manager.d.ts.map +1 -0
- package/dist/cache-manager.js +376 -0
- package/dist/cache-manager.js.map +1 -0
- package/dist/index.d.ts +138 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +548 -0
- package/dist/index.js.map +1 -0
- package/dist/kgpr/index.d.ts +12 -0
- package/dist/kgpr/index.d.ts.map +1 -0
- package/dist/kgpr/index.js +12 -0
- package/dist/kgpr/index.js.map +1 -0
- package/dist/kgpr/kgpr-manager.d.ts +162 -0
- package/dist/kgpr/kgpr-manager.d.ts.map +1 -0
- package/dist/kgpr/kgpr-manager.js +465 -0
- package/dist/kgpr/kgpr-manager.js.map +1 -0
- package/dist/kgpr/merge-engine.d.ts +269 -0
- package/dist/kgpr/merge-engine.d.ts.map +1 -0
- package/dist/kgpr/merge-engine.js +451 -0
- package/dist/kgpr/merge-engine.js.map +1 -0
- package/dist/kgpr/notification-service.d.ts +227 -0
- package/dist/kgpr/notification-service.d.ts.map +1 -0
- package/dist/kgpr/notification-service.js +440 -0
- package/dist/kgpr/notification-service.js.map +1 -0
- package/dist/kgpr/privacy-filter.d.ts +61 -0
- package/dist/kgpr/privacy-filter.d.ts.map +1 -0
- package/dist/kgpr/privacy-filter.js +191 -0
- package/dist/kgpr/privacy-filter.js.map +1 -0
- package/dist/kgpr/types.d.ts +303 -0
- package/dist/kgpr/types.d.ts.map +1 -0
- package/dist/kgpr/types.js +40 -0
- package/dist/kgpr/types.js.map +1 -0
- package/dist/sync-engine.d.ts +104 -0
- package/dist/sync-engine.d.ts.map +1 -0
- package/dist/sync-engine.js +275 -0
- package/dist/sync-engine.js.map +1 -0
- package/dist/types.d.ts +353 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +19 -0
- package/dist/types.js.map +1 -0
- package/package.json +59 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Knowledge Graph Pull Request (KGPR) - Privacy Filter
|
|
3
|
+
*
|
|
4
|
+
* Removes sensitive information before sharing
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
* @module @nahisaho/yata-global/kgpr
|
|
8
|
+
*
|
|
9
|
+
* @see REQ-KGPR-002
|
|
10
|
+
*/
|
|
11
|
+
import type { KGPRDiff, PrivacyFilterConfig } from './types.js';
|
|
12
|
+
export { DEFAULT_PRIVACY_FILTER_STRICT, DEFAULT_PRIVACY_FILTER_MODERATE, } from './types.js';
|
|
13
|
+
/**
|
|
14
|
+
* Privacy filter for KGPR
|
|
15
|
+
*/
|
|
16
|
+
export declare class PrivacyFilter {
|
|
17
|
+
private config;
|
|
18
|
+
private excludeRegexes;
|
|
19
|
+
constructor(config: PrivacyFilterConfig);
|
|
20
|
+
/**
|
|
21
|
+
* Filter a complete diff
|
|
22
|
+
*/
|
|
23
|
+
filterDiff(diff: KGPRDiff): KGPRDiff;
|
|
24
|
+
/**
|
|
25
|
+
* Filter entity changes
|
|
26
|
+
*/
|
|
27
|
+
private filterEntityChanges;
|
|
28
|
+
/**
|
|
29
|
+
* Filter relationship changes
|
|
30
|
+
*/
|
|
31
|
+
private filterRelationshipChanges;
|
|
32
|
+
/**
|
|
33
|
+
* Check if entity should be included
|
|
34
|
+
*/
|
|
35
|
+
private shouldIncludeEntity;
|
|
36
|
+
/**
|
|
37
|
+
* Check if relationship should be included
|
|
38
|
+
*/
|
|
39
|
+
private shouldIncludeRelationship;
|
|
40
|
+
/**
|
|
41
|
+
* Sanitize entity data
|
|
42
|
+
*/
|
|
43
|
+
private sanitizeEntity;
|
|
44
|
+
/**
|
|
45
|
+
* Sanitize relationship data
|
|
46
|
+
*/
|
|
47
|
+
private sanitizeRelationship;
|
|
48
|
+
/**
|
|
49
|
+
* Apply configured string replacements
|
|
50
|
+
*/
|
|
51
|
+
private applyReplacements;
|
|
52
|
+
/**
|
|
53
|
+
* Recalculate stats after filtering
|
|
54
|
+
*/
|
|
55
|
+
private recalculateStats;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Create privacy filter with preset level
|
|
59
|
+
*/
|
|
60
|
+
export declare function createPrivacyFilter(level: 'strict' | 'moderate' | 'none', customConfig?: Partial<PrivacyFilterConfig>): PrivacyFilter;
|
|
61
|
+
//# sourceMappingURL=privacy-filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privacy-filter.d.ts","sourceRoot":"","sources":["../../src/kgpr/privacy-filter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAGV,QAAQ,EACR,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAMpB,OAAO,EACL,6BAA6B,EAC7B,+BAA+B,GAChC,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,cAAc,CAAW;gBAErB,MAAM,EAAE,mBAAmB;IAOvC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ;IAgBpC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAQjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAyBjC;;OAEG;IACH,OAAO,CAAC,cAAc;IA4BtB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAwBzB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,EACrC,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAC1C,aAAa,CAuBf"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Knowledge Graph Pull Request (KGPR) - Privacy Filter
|
|
3
|
+
*
|
|
4
|
+
* Removes sensitive information before sharing
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
* @module @nahisaho/yata-global/kgpr
|
|
8
|
+
*
|
|
9
|
+
* @see REQ-KGPR-002
|
|
10
|
+
*/
|
|
11
|
+
import { DEFAULT_PRIVACY_FILTER_STRICT, DEFAULT_PRIVACY_FILTER_MODERATE, } from './types.js';
|
|
12
|
+
export { DEFAULT_PRIVACY_FILTER_STRICT, DEFAULT_PRIVACY_FILTER_MODERATE, } from './types.js';
|
|
13
|
+
/**
|
|
14
|
+
* Privacy filter for KGPR
|
|
15
|
+
*/
|
|
16
|
+
export class PrivacyFilter {
|
|
17
|
+
config;
|
|
18
|
+
excludeRegexes;
|
|
19
|
+
constructor(config) {
|
|
20
|
+
this.config = config;
|
|
21
|
+
this.excludeRegexes = config.excludePatterns.map((p) => new RegExp(p, 'i'));
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Filter a complete diff
|
|
25
|
+
*/
|
|
26
|
+
filterDiff(diff) {
|
|
27
|
+
return {
|
|
28
|
+
entities: {
|
|
29
|
+
added: this.filterEntityChanges(diff.entities.added),
|
|
30
|
+
updated: this.filterEntityChanges(diff.entities.updated),
|
|
31
|
+
deleted: this.filterEntityChanges(diff.entities.deleted),
|
|
32
|
+
},
|
|
33
|
+
relationships: {
|
|
34
|
+
added: this.filterRelationshipChanges(diff.relationships.added),
|
|
35
|
+
updated: this.filterRelationshipChanges(diff.relationships.updated),
|
|
36
|
+
deleted: this.filterRelationshipChanges(diff.relationships.deleted),
|
|
37
|
+
},
|
|
38
|
+
stats: this.recalculateStats(diff),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Filter entity changes
|
|
43
|
+
*/
|
|
44
|
+
filterEntityChanges(changes) {
|
|
45
|
+
return changes
|
|
46
|
+
.filter((change) => this.shouldIncludeEntity(change))
|
|
47
|
+
.map((change) => this.sanitizeEntity(change));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Filter relationship changes
|
|
51
|
+
*/
|
|
52
|
+
filterRelationshipChanges(changes) {
|
|
53
|
+
return changes
|
|
54
|
+
.filter((change) => this.shouldIncludeRelationship(change))
|
|
55
|
+
.map((change) => this.sanitizeRelationship(change));
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Check if entity should be included
|
|
59
|
+
*/
|
|
60
|
+
shouldIncludeEntity(entity) {
|
|
61
|
+
// Check namespace exclusion
|
|
62
|
+
if (this.config.excludeNamespaces.some((ns) => entity.namespace.toLowerCase().includes(ns.toLowerCase()))) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
// Check name pattern exclusion
|
|
66
|
+
if (this.excludeRegexes.some((regex) => regex.test(entity.name))) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Check if relationship should be included
|
|
73
|
+
*/
|
|
74
|
+
shouldIncludeRelationship(rel) {
|
|
75
|
+
// Exclude if either endpoint is in excluded namespace
|
|
76
|
+
const excludedNs = this.config.excludeNamespaces;
|
|
77
|
+
if (excludedNs.some((ns) => rel.sourceNamespace.toLowerCase().includes(ns.toLowerCase()) ||
|
|
78
|
+
rel.targetNamespace.toLowerCase().includes(ns.toLowerCase()))) {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
// Check name pattern exclusion
|
|
82
|
+
if (this.excludeRegexes.some((regex) => regex.test(rel.sourceName) || regex.test(rel.targetName))) {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Sanitize entity data
|
|
89
|
+
*/
|
|
90
|
+
sanitizeEntity(entity) {
|
|
91
|
+
const sanitized = {
|
|
92
|
+
...entity,
|
|
93
|
+
};
|
|
94
|
+
// Remove file path if configured
|
|
95
|
+
if (this.config.removeFilePaths) {
|
|
96
|
+
delete sanitized.filePath;
|
|
97
|
+
}
|
|
98
|
+
// Remove line numbers if configured
|
|
99
|
+
if (this.config.removeLineNumbers) {
|
|
100
|
+
delete sanitized.line;
|
|
101
|
+
}
|
|
102
|
+
// Remove metadata if configured
|
|
103
|
+
if (this.config.removeMetadata) {
|
|
104
|
+
delete sanitized.metadata;
|
|
105
|
+
delete sanitized.previousValue;
|
|
106
|
+
}
|
|
107
|
+
// Apply string replacements
|
|
108
|
+
sanitized.name = this.applyReplacements(sanitized.name);
|
|
109
|
+
sanitized.namespace = this.applyReplacements(sanitized.namespace);
|
|
110
|
+
return sanitized;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Sanitize relationship data
|
|
114
|
+
*/
|
|
115
|
+
sanitizeRelationship(rel) {
|
|
116
|
+
const sanitized = {
|
|
117
|
+
...rel,
|
|
118
|
+
};
|
|
119
|
+
// Remove metadata if configured
|
|
120
|
+
if (this.config.removeMetadata) {
|
|
121
|
+
delete sanitized.metadata;
|
|
122
|
+
}
|
|
123
|
+
// Apply string replacements
|
|
124
|
+
sanitized.sourceName = this.applyReplacements(sanitized.sourceName);
|
|
125
|
+
sanitized.sourceNamespace = this.applyReplacements(sanitized.sourceNamespace);
|
|
126
|
+
sanitized.targetName = this.applyReplacements(sanitized.targetName);
|
|
127
|
+
sanitized.targetNamespace = this.applyReplacements(sanitized.targetNamespace);
|
|
128
|
+
return sanitized;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Apply configured string replacements
|
|
132
|
+
*/
|
|
133
|
+
applyReplacements(str) {
|
|
134
|
+
let result = str;
|
|
135
|
+
for (const { pattern, replacement } of this.config.replacements) {
|
|
136
|
+
result = result.replace(new RegExp(pattern, 'gi'), replacement);
|
|
137
|
+
}
|
|
138
|
+
return result;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Recalculate stats after filtering
|
|
142
|
+
*/
|
|
143
|
+
recalculateStats(diff) {
|
|
144
|
+
const filteredEntitiesAdded = this.filterEntityChanges(diff.entities.added).length;
|
|
145
|
+
const filteredEntitiesUpdated = this.filterEntityChanges(diff.entities.updated).length;
|
|
146
|
+
const filteredEntitiesDeleted = this.filterEntityChanges(diff.entities.deleted).length;
|
|
147
|
+
const filteredRelsAdded = this.filterRelationshipChanges(diff.relationships.added).length;
|
|
148
|
+
const filteredRelsUpdated = this.filterRelationshipChanges(diff.relationships.updated).length;
|
|
149
|
+
const filteredRelsDeleted = this.filterRelationshipChanges(diff.relationships.deleted).length;
|
|
150
|
+
return {
|
|
151
|
+
entitiesAdded: filteredEntitiesAdded,
|
|
152
|
+
entitiesUpdated: filteredEntitiesUpdated,
|
|
153
|
+
entitiesDeleted: filteredEntitiesDeleted,
|
|
154
|
+
relationshipsAdded: filteredRelsAdded,
|
|
155
|
+
relationshipsUpdated: filteredRelsUpdated,
|
|
156
|
+
relationshipsDeleted: filteredRelsDeleted,
|
|
157
|
+
totalChanges: filteredEntitiesAdded +
|
|
158
|
+
filteredEntitiesUpdated +
|
|
159
|
+
filteredEntitiesDeleted +
|
|
160
|
+
filteredRelsAdded +
|
|
161
|
+
filteredRelsUpdated +
|
|
162
|
+
filteredRelsDeleted,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Create privacy filter with preset level
|
|
168
|
+
*/
|
|
169
|
+
export function createPrivacyFilter(level, customConfig) {
|
|
170
|
+
let baseConfig;
|
|
171
|
+
switch (level) {
|
|
172
|
+
case 'strict':
|
|
173
|
+
baseConfig = { ...DEFAULT_PRIVACY_FILTER_STRICT };
|
|
174
|
+
break;
|
|
175
|
+
case 'moderate':
|
|
176
|
+
baseConfig = { ...DEFAULT_PRIVACY_FILTER_MODERATE };
|
|
177
|
+
break;
|
|
178
|
+
case 'none':
|
|
179
|
+
baseConfig = {
|
|
180
|
+
removeFilePaths: false,
|
|
181
|
+
removeLineNumbers: false,
|
|
182
|
+
removeMetadata: false,
|
|
183
|
+
excludeNamespaces: [],
|
|
184
|
+
excludePatterns: [],
|
|
185
|
+
replacements: [],
|
|
186
|
+
};
|
|
187
|
+
break;
|
|
188
|
+
}
|
|
189
|
+
return new PrivacyFilter({ ...baseConfig, ...customConfig });
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=privacy-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privacy-filter.js","sourceRoot":"","sources":["../../src/kgpr/privacy-filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Knowledge Graph Pull Request (KGPR) - Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* GitHub PR-like workflow for sharing knowledge graphs
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
* @module @nahisaho/yata-global/kgpr
|
|
8
|
+
*
|
|
9
|
+
* @see REQ-KGPR-001
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* KGPR status
|
|
13
|
+
*/
|
|
14
|
+
export type KGPRStatus = 'draft' | 'open' | 'reviewing' | 'approved' | 'changes_requested' | 'merged' | 'closed';
|
|
15
|
+
/**
|
|
16
|
+
* Entity change type
|
|
17
|
+
*/
|
|
18
|
+
export type ChangeType = 'add' | 'update' | 'delete';
|
|
19
|
+
/**
|
|
20
|
+
* Single entity change in a KGPR
|
|
21
|
+
*/
|
|
22
|
+
export interface EntityChange {
|
|
23
|
+
/** Change type */
|
|
24
|
+
changeType: ChangeType;
|
|
25
|
+
/** Entity ID (local) */
|
|
26
|
+
localId: string;
|
|
27
|
+
/** Entity name */
|
|
28
|
+
name: string;
|
|
29
|
+
/** Entity type (class, function, interface, etc.) */
|
|
30
|
+
entityType: string;
|
|
31
|
+
/** Namespace */
|
|
32
|
+
namespace: string;
|
|
33
|
+
/** File path (sanitized) */
|
|
34
|
+
filePath?: string;
|
|
35
|
+
/** Line number */
|
|
36
|
+
line?: number;
|
|
37
|
+
/** Metadata */
|
|
38
|
+
metadata?: Record<string, unknown>;
|
|
39
|
+
/** Previous value (for updates) */
|
|
40
|
+
previousValue?: Record<string, unknown>;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Single relationship change in a KGPR
|
|
44
|
+
*/
|
|
45
|
+
export interface RelationshipChange {
|
|
46
|
+
/** Change type */
|
|
47
|
+
changeType: ChangeType;
|
|
48
|
+
/** Relationship ID (local) */
|
|
49
|
+
localId?: string;
|
|
50
|
+
/** Source entity name */
|
|
51
|
+
sourceName: string;
|
|
52
|
+
/** Source namespace */
|
|
53
|
+
sourceNamespace: string;
|
|
54
|
+
/** Target entity name */
|
|
55
|
+
targetName: string;
|
|
56
|
+
/** Target namespace */
|
|
57
|
+
targetNamespace: string;
|
|
58
|
+
/** Relationship type (extends, implements, imports, etc.) */
|
|
59
|
+
relationshipType: string;
|
|
60
|
+
/** Metadata */
|
|
61
|
+
metadata?: Record<string, unknown>;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* KGPR diff - all changes in a PR
|
|
65
|
+
*/
|
|
66
|
+
export interface KGPRDiff {
|
|
67
|
+
/** Entity changes */
|
|
68
|
+
entities: {
|
|
69
|
+
added: EntityChange[];
|
|
70
|
+
updated: EntityChange[];
|
|
71
|
+
deleted: EntityChange[];
|
|
72
|
+
};
|
|
73
|
+
/** Relationship changes */
|
|
74
|
+
relationships: {
|
|
75
|
+
added: RelationshipChange[];
|
|
76
|
+
updated: RelationshipChange[];
|
|
77
|
+
deleted: RelationshipChange[];
|
|
78
|
+
};
|
|
79
|
+
/** Statistics */
|
|
80
|
+
stats: {
|
|
81
|
+
entitiesAdded: number;
|
|
82
|
+
entitiesUpdated: number;
|
|
83
|
+
entitiesDeleted: number;
|
|
84
|
+
relationshipsAdded: number;
|
|
85
|
+
relationshipsUpdated: number;
|
|
86
|
+
relationshipsDeleted: number;
|
|
87
|
+
totalChanges: number;
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* KGPR review comment
|
|
92
|
+
*/
|
|
93
|
+
export interface KGPRComment {
|
|
94
|
+
/** Comment ID */
|
|
95
|
+
id: string;
|
|
96
|
+
/** Author ID */
|
|
97
|
+
authorId: string;
|
|
98
|
+
/** Author name */
|
|
99
|
+
authorName: string;
|
|
100
|
+
/** Comment body */
|
|
101
|
+
body: string;
|
|
102
|
+
/** Target (null = general, or specific entity/relationship ID) */
|
|
103
|
+
targetId?: string;
|
|
104
|
+
/** Target type */
|
|
105
|
+
targetType?: 'entity' | 'relationship';
|
|
106
|
+
/** Created timestamp */
|
|
107
|
+
createdAt: Date;
|
|
108
|
+
/** Updated timestamp */
|
|
109
|
+
updatedAt?: Date;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* KGPR review
|
|
113
|
+
*/
|
|
114
|
+
export interface KGPRReview {
|
|
115
|
+
/** Review ID */
|
|
116
|
+
id: string;
|
|
117
|
+
/** Reviewer ID */
|
|
118
|
+
reviewerId: string;
|
|
119
|
+
/** Reviewer name */
|
|
120
|
+
reviewerName: string;
|
|
121
|
+
/** Review status */
|
|
122
|
+
status: 'approved' | 'changes_requested' | 'commented';
|
|
123
|
+
/** Review body */
|
|
124
|
+
body?: string;
|
|
125
|
+
/** Comments */
|
|
126
|
+
comments: KGPRComment[];
|
|
127
|
+
/** Created timestamp */
|
|
128
|
+
createdAt: Date;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Knowledge Graph Pull Request
|
|
132
|
+
*/
|
|
133
|
+
export interface KGPR {
|
|
134
|
+
/** KGPR ID */
|
|
135
|
+
id: string;
|
|
136
|
+
/** Title */
|
|
137
|
+
title: string;
|
|
138
|
+
/** Description */
|
|
139
|
+
description: string;
|
|
140
|
+
/** Author ID */
|
|
141
|
+
authorId: string;
|
|
142
|
+
/** Author name */
|
|
143
|
+
authorName: string;
|
|
144
|
+
/** Status */
|
|
145
|
+
status: KGPRStatus;
|
|
146
|
+
/** Source namespace (from local KG) */
|
|
147
|
+
sourceNamespace: string;
|
|
148
|
+
/** Target namespace (in global KG, optional) */
|
|
149
|
+
targetNamespace?: string;
|
|
150
|
+
/** Diff */
|
|
151
|
+
diff: KGPRDiff;
|
|
152
|
+
/** Labels/tags */
|
|
153
|
+
labels: string[];
|
|
154
|
+
/** Reviews */
|
|
155
|
+
reviews: KGPRReview[];
|
|
156
|
+
/** General comments */
|
|
157
|
+
comments: KGPRComment[];
|
|
158
|
+
/** Quality score (AI-generated) */
|
|
159
|
+
qualityScore?: number;
|
|
160
|
+
/** Duplicate warnings */
|
|
161
|
+
duplicateWarnings?: DuplicateWarning[];
|
|
162
|
+
/** Created timestamp */
|
|
163
|
+
createdAt: Date;
|
|
164
|
+
/** Updated timestamp */
|
|
165
|
+
updatedAt: Date;
|
|
166
|
+
/** Merged timestamp */
|
|
167
|
+
mergedAt?: Date;
|
|
168
|
+
/** Merged by */
|
|
169
|
+
mergedBy?: string;
|
|
170
|
+
/** Closed timestamp */
|
|
171
|
+
closedAt?: Date;
|
|
172
|
+
/** Closed by */
|
|
173
|
+
closedBy?: string;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Duplicate warning from auto-detection
|
|
177
|
+
*/
|
|
178
|
+
export interface DuplicateWarning {
|
|
179
|
+
/** Local entity name */
|
|
180
|
+
localEntityName: string;
|
|
181
|
+
/** Similar global entity ID */
|
|
182
|
+
globalEntityId: string;
|
|
183
|
+
/** Similar global entity name */
|
|
184
|
+
globalEntityName: string;
|
|
185
|
+
/** Similarity score (0-1) */
|
|
186
|
+
similarity: number;
|
|
187
|
+
/** Suggestion */
|
|
188
|
+
suggestion: 'merge' | 'rename' | 'skip' | 'keep_both';
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* KGPR creation options
|
|
192
|
+
*/
|
|
193
|
+
export interface CreateKGPROptions {
|
|
194
|
+
/** Title */
|
|
195
|
+
title: string;
|
|
196
|
+
/** Description */
|
|
197
|
+
description?: string;
|
|
198
|
+
/** Source namespace to include */
|
|
199
|
+
sourceNamespace?: string;
|
|
200
|
+
/** Labels */
|
|
201
|
+
labels?: string[];
|
|
202
|
+
/** Include only specific entity types */
|
|
203
|
+
entityTypes?: string[];
|
|
204
|
+
/** Privacy filter level */
|
|
205
|
+
privacyLevel?: 'strict' | 'moderate' | 'none';
|
|
206
|
+
/** Auto-submit after creation */
|
|
207
|
+
autoSubmit?: boolean;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* KGPR submission result
|
|
211
|
+
*/
|
|
212
|
+
export interface KGPRSubmitResult {
|
|
213
|
+
/** Success flag */
|
|
214
|
+
success: boolean;
|
|
215
|
+
/** KGPR ID (if successful) */
|
|
216
|
+
kgprId?: string;
|
|
217
|
+
/** KGPR URL (if successful) */
|
|
218
|
+
kgprUrl?: string;
|
|
219
|
+
/** Quality score */
|
|
220
|
+
qualityScore?: number;
|
|
221
|
+
/** Duplicate warnings */
|
|
222
|
+
duplicateWarnings?: DuplicateWarning[];
|
|
223
|
+
/** Error message (if failed) */
|
|
224
|
+
error?: string;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* KGPR list query options
|
|
228
|
+
*/
|
|
229
|
+
export interface ListKGPROptions {
|
|
230
|
+
/** Filter by status */
|
|
231
|
+
status?: KGPRStatus | KGPRStatus[];
|
|
232
|
+
/** Filter by author */
|
|
233
|
+
authorId?: string;
|
|
234
|
+
/** Filter by labels */
|
|
235
|
+
labels?: string[];
|
|
236
|
+
/** Search query */
|
|
237
|
+
search?: string;
|
|
238
|
+
/** Sort by */
|
|
239
|
+
sortBy?: 'created' | 'updated' | 'quality' | 'changes';
|
|
240
|
+
/** Sort order */
|
|
241
|
+
sortOrder?: 'asc' | 'desc';
|
|
242
|
+
/** Limit */
|
|
243
|
+
limit?: number;
|
|
244
|
+
/** Offset */
|
|
245
|
+
offset?: number;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* KGPR merge options
|
|
249
|
+
*/
|
|
250
|
+
export interface MergeKGPROptions {
|
|
251
|
+
/** Conflict resolution strategy */
|
|
252
|
+
conflictResolution?: 'keep_local' | 'keep_global' | 'keep_both' | 'manual';
|
|
253
|
+
/** Squash similar entities */
|
|
254
|
+
squashSimilar?: boolean;
|
|
255
|
+
/** Delete source after merge */
|
|
256
|
+
deleteSourceAfterMerge?: boolean;
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* KGPR merge result
|
|
260
|
+
*/
|
|
261
|
+
export interface MergeKGPRResult {
|
|
262
|
+
/** Success flag */
|
|
263
|
+
success: boolean;
|
|
264
|
+
/** Entities merged */
|
|
265
|
+
entitiesMerged: number;
|
|
266
|
+
/** Relationships merged */
|
|
267
|
+
relationshipsMerged: number;
|
|
268
|
+
/** Conflicts resolved */
|
|
269
|
+
conflictsResolved: number;
|
|
270
|
+
/** Skipped (duplicates) */
|
|
271
|
+
skipped: number;
|
|
272
|
+
/** Error message (if failed) */
|
|
273
|
+
error?: string;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Privacy filter configuration
|
|
277
|
+
*/
|
|
278
|
+
export interface PrivacyFilterConfig {
|
|
279
|
+
/** Remove file paths */
|
|
280
|
+
removeFilePaths: boolean;
|
|
281
|
+
/** Remove line numbers */
|
|
282
|
+
removeLineNumbers: boolean;
|
|
283
|
+
/** Remove metadata */
|
|
284
|
+
removeMetadata: boolean;
|
|
285
|
+
/** Namespace patterns to exclude */
|
|
286
|
+
excludeNamespaces: string[];
|
|
287
|
+
/** Entity name patterns to exclude (regex) */
|
|
288
|
+
excludePatterns: string[];
|
|
289
|
+
/** Replace sensitive strings */
|
|
290
|
+
replacements: {
|
|
291
|
+
pattern: string;
|
|
292
|
+
replacement: string;
|
|
293
|
+
}[];
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Default privacy filter (strict)
|
|
297
|
+
*/
|
|
298
|
+
export declare const DEFAULT_PRIVACY_FILTER_STRICT: PrivacyFilterConfig;
|
|
299
|
+
/**
|
|
300
|
+
* Default privacy filter (moderate)
|
|
301
|
+
*/
|
|
302
|
+
export declare const DEFAULT_PRIVACY_FILTER_MODERATE: PrivacyFilterConfig;
|
|
303
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/kgpr/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Knowledge Graph Pull Request (KGPR) - Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* GitHub PR-like workflow for sharing knowledge graphs
|
|
5
|
+
*
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
* @module @nahisaho/yata-global/kgpr
|
|
8
|
+
*
|
|
9
|
+
* @see REQ-KGPR-001
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Default privacy filter (strict)
|
|
13
|
+
*/
|
|
14
|
+
export const DEFAULT_PRIVACY_FILTER_STRICT = {
|
|
15
|
+
removeFilePaths: true,
|
|
16
|
+
removeLineNumbers: true,
|
|
17
|
+
removeMetadata: true,
|
|
18
|
+
excludeNamespaces: ['internal', 'private', 'secret', 'config'],
|
|
19
|
+
excludePatterns: [
|
|
20
|
+
'password',
|
|
21
|
+
'secret',
|
|
22
|
+
'token',
|
|
23
|
+
'api[_-]?key',
|
|
24
|
+
'credential',
|
|
25
|
+
'auth',
|
|
26
|
+
],
|
|
27
|
+
replacements: [],
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Default privacy filter (moderate)
|
|
31
|
+
*/
|
|
32
|
+
export const DEFAULT_PRIVACY_FILTER_MODERATE = {
|
|
33
|
+
removeFilePaths: false,
|
|
34
|
+
removeLineNumbers: false,
|
|
35
|
+
removeMetadata: false,
|
|
36
|
+
excludeNamespaces: ['secret', 'config'],
|
|
37
|
+
excludePatterns: ['password', 'secret', 'token', 'api[_-]?key'],
|
|
38
|
+
replacements: [],
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/kgpr/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAiTH;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAwB;IAChE,eAAe,EAAE,IAAI;IACrB,iBAAiB,EAAE,IAAI;IACvB,cAAc,EAAE,IAAI;IACpB,iBAAiB,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;IAC9D,eAAe,EAAE;QACf,UAAU;QACV,QAAQ;QACR,OAAO;QACP,aAAa;QACb,YAAY;QACZ,MAAM;KACP;IACD,YAAY,EAAE,EAAE;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAwB;IAClE,eAAe,EAAE,KAAK;IACtB,iBAAiB,EAAE,KAAK;IACxB,cAAc,EAAE,KAAK;IACrB,iBAAiB,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACvC,eAAe,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC;IAC/D,YAAY,EAAE,EAAE;CACjB,CAAC"}
|