@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.
Files changed (45) hide show
  1. package/dist/api-client.d.ts +71 -0
  2. package/dist/api-client.d.ts.map +1 -0
  3. package/dist/api-client.js +165 -0
  4. package/dist/api-client.js.map +1 -0
  5. package/dist/cache-manager.d.ts +122 -0
  6. package/dist/cache-manager.d.ts.map +1 -0
  7. package/dist/cache-manager.js +376 -0
  8. package/dist/cache-manager.js.map +1 -0
  9. package/dist/index.d.ts +138 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +548 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/kgpr/index.d.ts +12 -0
  14. package/dist/kgpr/index.d.ts.map +1 -0
  15. package/dist/kgpr/index.js +12 -0
  16. package/dist/kgpr/index.js.map +1 -0
  17. package/dist/kgpr/kgpr-manager.d.ts +162 -0
  18. package/dist/kgpr/kgpr-manager.d.ts.map +1 -0
  19. package/dist/kgpr/kgpr-manager.js +465 -0
  20. package/dist/kgpr/kgpr-manager.js.map +1 -0
  21. package/dist/kgpr/merge-engine.d.ts +269 -0
  22. package/dist/kgpr/merge-engine.d.ts.map +1 -0
  23. package/dist/kgpr/merge-engine.js +451 -0
  24. package/dist/kgpr/merge-engine.js.map +1 -0
  25. package/dist/kgpr/notification-service.d.ts +227 -0
  26. package/dist/kgpr/notification-service.d.ts.map +1 -0
  27. package/dist/kgpr/notification-service.js +440 -0
  28. package/dist/kgpr/notification-service.js.map +1 -0
  29. package/dist/kgpr/privacy-filter.d.ts +61 -0
  30. package/dist/kgpr/privacy-filter.d.ts.map +1 -0
  31. package/dist/kgpr/privacy-filter.js +191 -0
  32. package/dist/kgpr/privacy-filter.js.map +1 -0
  33. package/dist/kgpr/types.d.ts +303 -0
  34. package/dist/kgpr/types.d.ts.map +1 -0
  35. package/dist/kgpr/types.js +40 -0
  36. package/dist/kgpr/types.js.map +1 -0
  37. package/dist/sync-engine.d.ts +104 -0
  38. package/dist/sync-engine.d.ts.map +1 -0
  39. package/dist/sync-engine.js +275 -0
  40. package/dist/sync-engine.js.map +1 -0
  41. package/dist/types.d.ts +353 -0
  42. package/dist/types.d.ts.map +1 -0
  43. package/dist/types.js +19 -0
  44. package/dist/types.js.map +1 -0
  45. 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"}