@generacy-ai/knowledge-store 0.0.0-preview-20260304013206

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 (90) hide show
  1. package/LICENSE +191 -0
  2. package/dist/index.d.ts +47 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +50 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/manager/ContextManager.d.ts +54 -0
  7. package/dist/manager/ContextManager.d.ts.map +1 -0
  8. package/dist/manager/ContextManager.js +124 -0
  9. package/dist/manager/ContextManager.js.map +1 -0
  10. package/dist/manager/KnowledgeStoreManager.d.ts +128 -0
  11. package/dist/manager/KnowledgeStoreManager.d.ts.map +1 -0
  12. package/dist/manager/KnowledgeStoreManager.js +332 -0
  13. package/dist/manager/KnowledgeStoreManager.js.map +1 -0
  14. package/dist/manager/PatternManager.d.ts +72 -0
  15. package/dist/manager/PatternManager.d.ts.map +1 -0
  16. package/dist/manager/PatternManager.js +187 -0
  17. package/dist/manager/PatternManager.js.map +1 -0
  18. package/dist/manager/PhilosophyManager.d.ts +37 -0
  19. package/dist/manager/PhilosophyManager.d.ts.map +1 -0
  20. package/dist/manager/PhilosophyManager.js +82 -0
  21. package/dist/manager/PhilosophyManager.js.map +1 -0
  22. package/dist/manager/PrincipleManager.d.ts +74 -0
  23. package/dist/manager/PrincipleManager.d.ts.map +1 -0
  24. package/dist/manager/PrincipleManager.js +159 -0
  25. package/dist/manager/PrincipleManager.js.map +1 -0
  26. package/dist/portability/Exporter.d.ts +14 -0
  27. package/dist/portability/Exporter.d.ts.map +1 -0
  28. package/dist/portability/Exporter.js +48 -0
  29. package/dist/portability/Exporter.js.map +1 -0
  30. package/dist/portability/Importer.d.ts +18 -0
  31. package/dist/portability/Importer.d.ts.map +1 -0
  32. package/dist/portability/Importer.js +192 -0
  33. package/dist/portability/Importer.js.map +1 -0
  34. package/dist/portability/redaction.d.ts +22 -0
  35. package/dist/portability/redaction.d.ts.map +1 -0
  36. package/dist/portability/redaction.js +128 -0
  37. package/dist/portability/redaction.js.map +1 -0
  38. package/dist/storage/AuditableStorage.d.ts +44 -0
  39. package/dist/storage/AuditableStorage.d.ts.map +1 -0
  40. package/dist/storage/AuditableStorage.js +109 -0
  41. package/dist/storage/AuditableStorage.js.map +1 -0
  42. package/dist/storage/LocalFileStorage.d.ts +63 -0
  43. package/dist/storage/LocalFileStorage.d.ts.map +1 -0
  44. package/dist/storage/LocalFileStorage.js +219 -0
  45. package/dist/storage/LocalFileStorage.js.map +1 -0
  46. package/dist/storage/StorageProvider.d.ts +28 -0
  47. package/dist/storage/StorageProvider.d.ts.map +1 -0
  48. package/dist/storage/StorageProvider.js +38 -0
  49. package/dist/storage/StorageProvider.js.map +1 -0
  50. package/dist/storage/VersionedStorage.d.ts +61 -0
  51. package/dist/storage/VersionedStorage.d.ts.map +1 -0
  52. package/dist/storage/VersionedStorage.js +102 -0
  53. package/dist/storage/VersionedStorage.js.map +1 -0
  54. package/dist/types/index.d.ts +7 -0
  55. package/dist/types/index.d.ts.map +1 -0
  56. package/dist/types/index.js +5 -0
  57. package/dist/types/index.js.map +1 -0
  58. package/dist/types/knowledge.d.ts +149 -0
  59. package/dist/types/knowledge.d.ts.map +1 -0
  60. package/dist/types/knowledge.js +6 -0
  61. package/dist/types/knowledge.js.map +1 -0
  62. package/dist/types/portability.d.ts +85 -0
  63. package/dist/types/portability.d.ts.map +1 -0
  64. package/dist/types/portability.js +6 -0
  65. package/dist/types/portability.js.map +1 -0
  66. package/dist/types/storage.d.ts +58 -0
  67. package/dist/types/storage.d.ts.map +1 -0
  68. package/dist/types/storage.js +6 -0
  69. package/dist/types/storage.js.map +1 -0
  70. package/dist/utils/id.d.ts +6 -0
  71. package/dist/utils/id.d.ts.map +1 -0
  72. package/dist/utils/id.js +9 -0
  73. package/dist/utils/id.js.map +1 -0
  74. package/dist/utils/index.d.ts +3 -0
  75. package/dist/utils/index.d.ts.map +1 -0
  76. package/dist/utils/index.js +3 -0
  77. package/dist/utils/index.js.map +1 -0
  78. package/dist/utils/timestamps.d.ts +6 -0
  79. package/dist/utils/timestamps.d.ts.map +1 -0
  80. package/dist/utils/timestamps.js +8 -0
  81. package/dist/utils/timestamps.js.map +1 -0
  82. package/dist/validation/schemas.d.ts +917 -0
  83. package/dist/validation/schemas.d.ts.map +1 -0
  84. package/dist/validation/schemas.js +143 -0
  85. package/dist/validation/schemas.js.map +1 -0
  86. package/dist/validation/validator.d.ts +29 -0
  87. package/dist/validation/validator.d.ts.map +1 -0
  88. package/dist/validation/validator.js +54 -0
  89. package/dist/validation/validator.js.map +1 -0
  90. package/package.json +49 -0
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Versioned storage wrapper
3
+ * Adds automatic versioning to any StorageProvider
4
+ */
5
+ import type { StorageProvider, VersionInfo } from '../types/storage.js';
6
+ /**
7
+ * Configuration for versioned storage
8
+ */
9
+ export interface VersionedStorageConfig {
10
+ maxVersions: number;
11
+ }
12
+ /**
13
+ * Versioned storage wrapper that adds automatic versioning to any storage provider
14
+ * Uses full snapshot strategy - each version is a complete copy
15
+ */
16
+ export declare class VersionedStorage implements StorageProvider {
17
+ private readonly storage;
18
+ private readonly config;
19
+ constructor(storage: StorageProvider, config?: Partial<VersionedStorageConfig>);
20
+ /**
21
+ * Get a value by key (delegates to underlying storage)
22
+ */
23
+ get<T>(key: string): Promise<T | null>;
24
+ /**
25
+ * Set a value by key, creating a version if data already exists
26
+ */
27
+ set<T>(key: string, value: T): Promise<void>;
28
+ /**
29
+ * Delete a value by key (delegates to underlying storage)
30
+ */
31
+ delete(key: string): Promise<void>;
32
+ /**
33
+ * List all keys with a given prefix (delegates to underlying storage)
34
+ */
35
+ list(prefix: string): Promise<string[]>;
36
+ /**
37
+ * Check if a key exists (delegates to underlying storage)
38
+ */
39
+ exists(key: string): Promise<boolean>;
40
+ /**
41
+ * Get a specific version of a value (delegates to underlying storage)
42
+ */
43
+ getVersion<T>(key: string, version: number): Promise<T | null>;
44
+ /**
45
+ * List all versions for a key (delegates to underlying storage)
46
+ */
47
+ listVersions(key: string): Promise<VersionInfo[]>;
48
+ /**
49
+ * Create a new version for a key (delegates to underlying storage)
50
+ */
51
+ createVersion(key: string): Promise<number>;
52
+ /**
53
+ * Prune old versions to stay within maxVersions limit
54
+ */
55
+ private pruneOldVersions;
56
+ /**
57
+ * Get the underlying storage provider
58
+ */
59
+ getUnderlyingStorage(): StorageProvider;
60
+ }
61
+ //# sourceMappingURL=VersionedStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VersionedStorage.d.ts","sourceRoot":"","sources":["../../src/storage/VersionedStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;CACrB;AASD;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,eAAe;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;gBAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,GAAE,OAAO,CAAC,sBAAsB,CAAM;IAKlF;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAI5C;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAWlD;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7C;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3C;;OAEG;IACG,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAIpE;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAIvD;;OAEG;IACG,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMjD;;OAEG;YACW,gBAAgB;IAiB9B;;OAEG;IACH,oBAAoB,IAAI,eAAe;CAGxC"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Versioned storage wrapper
3
+ * Adds automatic versioning to any StorageProvider
4
+ */
5
+ /**
6
+ * Default configuration
7
+ */
8
+ const DEFAULT_CONFIG = {
9
+ maxVersions: 50,
10
+ };
11
+ /**
12
+ * Versioned storage wrapper that adds automatic versioning to any storage provider
13
+ * Uses full snapshot strategy - each version is a complete copy
14
+ */
15
+ export class VersionedStorage {
16
+ storage;
17
+ config;
18
+ constructor(storage, config = {}) {
19
+ this.storage = storage;
20
+ this.config = { ...DEFAULT_CONFIG, ...config };
21
+ }
22
+ /**
23
+ * Get a value by key (delegates to underlying storage)
24
+ */
25
+ async get(key) {
26
+ return this.storage.get(key);
27
+ }
28
+ /**
29
+ * Set a value by key, creating a version if data already exists
30
+ */
31
+ async set(key, value) {
32
+ // Check if data exists and create a version before updating
33
+ const exists = await this.storage.exists(key);
34
+ if (exists) {
35
+ await this.storage.createVersion(key);
36
+ await this.pruneOldVersions(key);
37
+ }
38
+ await this.storage.set(key, value);
39
+ }
40
+ /**
41
+ * Delete a value by key (delegates to underlying storage)
42
+ */
43
+ async delete(key) {
44
+ return this.storage.delete(key);
45
+ }
46
+ /**
47
+ * List all keys with a given prefix (delegates to underlying storage)
48
+ */
49
+ async list(prefix) {
50
+ return this.storage.list(prefix);
51
+ }
52
+ /**
53
+ * Check if a key exists (delegates to underlying storage)
54
+ */
55
+ async exists(key) {
56
+ return this.storage.exists(key);
57
+ }
58
+ /**
59
+ * Get a specific version of a value (delegates to underlying storage)
60
+ */
61
+ async getVersion(key, version) {
62
+ return this.storage.getVersion(key, version);
63
+ }
64
+ /**
65
+ * List all versions for a key (delegates to underlying storage)
66
+ */
67
+ async listVersions(key) {
68
+ return this.storage.listVersions(key);
69
+ }
70
+ /**
71
+ * Create a new version for a key (delegates to underlying storage)
72
+ */
73
+ async createVersion(key) {
74
+ const version = await this.storage.createVersion(key);
75
+ await this.pruneOldVersions(key);
76
+ return version;
77
+ }
78
+ /**
79
+ * Prune old versions to stay within maxVersions limit
80
+ */
81
+ async pruneOldVersions(key) {
82
+ const versions = await this.storage.listVersions(key);
83
+ if (versions.length <= this.config.maxVersions) {
84
+ return;
85
+ }
86
+ // Remove oldest versions (lowest version numbers)
87
+ const versionsToRemove = versions
88
+ .slice(0, versions.length - this.config.maxVersions);
89
+ for (const _version of versionsToRemove) {
90
+ // Note: We can't directly delete version files through the StorageProvider interface
91
+ // This would require extending the interface or handling it in the underlying storage
92
+ // For now, we'll leave this as a TODO for the pruning implementation
93
+ }
94
+ }
95
+ /**
96
+ * Get the underlying storage provider
97
+ */
98
+ getUnderlyingStorage() {
99
+ return this.storage;
100
+ }
101
+ }
102
+ //# sourceMappingURL=VersionedStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VersionedStorage.js","sourceRoot":"","sources":["../../src/storage/VersionedStorage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH;;GAEG;AACH,MAAM,cAAc,GAA2B;IAC7C,WAAW,EAAE,EAAE;CAChB,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IACV,OAAO,CAAkB;IACzB,MAAM,CAAyB;IAEhD,YAAY,OAAwB,EAAE,SAA0C,EAAE;QAChF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAI,GAAW;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAI,GAAW,EAAE,KAAQ;QAChC,4DAA4D;QAC5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,MAAc;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAI,GAAW,EAAE,OAAe;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAI,GAAG,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,GAAW;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,GAAW;QAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,GAAW;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/C,OAAO;QACT,CAAC;QAED,kDAAkD;QAClD,MAAM,gBAAgB,GAAG,QAAQ;aAC9B,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEvD,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;YACxC,qFAAqF;YACrF,sFAAsF;YACtF,qEAAqE;QACvE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Type exports for Knowledge Store
3
+ */
4
+ export type { Value, Belief, Identity, Philosophy, Evidence, PrincipleStatus, PrincipleMetadata, Principle, PatternOccurrence, PatternStatus, Pattern, RecentDecision, CurrentProject, UserPreferences, UserContext, KnowledgeMetadata, IndividualKnowledge, } from './knowledge.js';
5
+ export type { VersionInfo, StorageProvider, KnowledgeStoreConfig, } from './storage.js';
6
+ export type { PortabilityLevel, ExportedPrinciple, ExportedKnowledge, ConflictType, ConflictResolution, ImportConflict, ImportedStats, MergedStats, ImportResult, ExportOptions, } from './portability.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EACV,KAAK,EACL,MAAM,EACN,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,OAAO,EACP,cAAc,EACd,cAAc,EACd,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,WAAW,EACX,eAAe,EACf,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,GACd,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Type exports for Knowledge Store
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * Core knowledge types for the Knowledge Store
3
+ * Based on data-model.md specification
4
+ */
5
+ /**
6
+ * A core value that guides decision-making
7
+ */
8
+ export interface Value {
9
+ name: string;
10
+ description: string;
11
+ priority: number;
12
+ }
13
+ /**
14
+ * A belief statement with confidence level
15
+ */
16
+ export interface Belief {
17
+ statement: string;
18
+ confidence: number;
19
+ domain: string[];
20
+ }
21
+ /**
22
+ * Identity information for the user
23
+ */
24
+ export interface Identity {
25
+ professionalTitle?: string;
26
+ expertise?: string[];
27
+ yearsExperience?: number;
28
+ }
29
+ /**
30
+ * Core values and beliefs that rarely change
31
+ */
32
+ export interface Philosophy {
33
+ values: Value[];
34
+ beliefs: Belief[];
35
+ identity: Identity;
36
+ }
37
+ /**
38
+ * Evidence supporting a principle
39
+ */
40
+ export interface Evidence {
41
+ decision: string;
42
+ context: string;
43
+ outcome?: 'positive' | 'negative' | 'neutral';
44
+ timestamp: string;
45
+ }
46
+ /**
47
+ * Status of a principle
48
+ */
49
+ export type PrincipleStatus = 'active' | 'deprecated' | 'draft';
50
+ /**
51
+ * Metadata for a principle
52
+ */
53
+ export interface PrincipleMetadata {
54
+ createdAt: string;
55
+ updatedAt: string;
56
+ source?: string;
57
+ deprecatedAt?: string;
58
+ deprecationReason?: string;
59
+ }
60
+ /**
61
+ * Reusable decision rules with evidence
62
+ */
63
+ export interface Principle {
64
+ id: string;
65
+ content: string;
66
+ domain: string[];
67
+ weight: number;
68
+ evidence: Evidence[];
69
+ status: PrincipleStatus;
70
+ metadata: PrincipleMetadata;
71
+ }
72
+ /**
73
+ * A single occurrence of a pattern
74
+ */
75
+ export interface PatternOccurrence {
76
+ context: string;
77
+ timestamp: string;
78
+ decision: string;
79
+ }
80
+ /**
81
+ * Status of a pattern
82
+ */
83
+ export type PatternStatus = 'emerging' | 'established' | 'promoted' | 'rejected';
84
+ /**
85
+ * Emerging behaviors that may become principles
86
+ */
87
+ export interface Pattern {
88
+ id: string;
89
+ description: string;
90
+ occurrences: PatternOccurrence[];
91
+ status: PatternStatus;
92
+ domain: string[];
93
+ firstSeen: string;
94
+ lastSeen: string;
95
+ promotedTo?: string;
96
+ }
97
+ /**
98
+ * A recent decision made by the user
99
+ */
100
+ export interface RecentDecision {
101
+ summary: string;
102
+ timestamp: string;
103
+ principlesApplied: string[];
104
+ }
105
+ /**
106
+ * Current project context
107
+ */
108
+ export interface CurrentProject {
109
+ name: string;
110
+ type: string;
111
+ technologies: string[];
112
+ }
113
+ /**
114
+ * User preferences
115
+ */
116
+ export interface UserPreferences {
117
+ verbosity: 'minimal' | 'normal' | 'detailed';
118
+ codeStyle?: string;
119
+ [key: string]: unknown;
120
+ }
121
+ /**
122
+ * Temporary, session-relevant information
123
+ */
124
+ export interface UserContext {
125
+ currentProject?: CurrentProject;
126
+ recentDecisions: RecentDecision[];
127
+ activeGoals: string[];
128
+ preferences: UserPreferences;
129
+ }
130
+ /**
131
+ * Metadata for the knowledge profile
132
+ */
133
+ export interface KnowledgeMetadata {
134
+ createdAt: string;
135
+ updatedAt: string;
136
+ version: number;
137
+ }
138
+ /**
139
+ * The complete knowledge profile for a user
140
+ */
141
+ export interface IndividualKnowledge {
142
+ userId: string;
143
+ philosophy: Philosophy;
144
+ principles: Principle[];
145
+ patterns: Pattern[];
146
+ context: UserContext;
147
+ metadata: KnowledgeMetadata;
148
+ }
149
+ //# sourceMappingURL=knowledge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge.d.ts","sourceRoot":"","sources":["../../src/types/knowledge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Core knowledge types for the Knowledge Store
3
+ * Based on data-model.md specification
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=knowledge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../../src/types/knowledge.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Portability types for import/export
3
+ * Based on data-model.md specification
4
+ */
5
+ import type { Evidence, Philosophy, Pattern, UserContext } from './knowledge.js';
6
+ /**
7
+ * Level of portability for export
8
+ */
9
+ export type PortabilityLevel = 'full' | 'redacted' | 'abstracted';
10
+ /**
11
+ * Exported principle with optional evidence
12
+ */
13
+ export interface ExportedPrinciple {
14
+ id: string;
15
+ content: string;
16
+ domain: string[];
17
+ weight: number;
18
+ evidenceCount: number;
19
+ evidence?: Evidence[];
20
+ }
21
+ /**
22
+ * Exported knowledge data
23
+ */
24
+ export interface ExportedKnowledge {
25
+ version: string;
26
+ level: PortabilityLevel;
27
+ exportedAt: string;
28
+ philosophy?: Philosophy;
29
+ principles?: ExportedPrinciple[];
30
+ patterns?: Pattern[];
31
+ context?: UserContext;
32
+ checksum: string;
33
+ }
34
+ /**
35
+ * Type of import conflict
36
+ */
37
+ export type ConflictType = 'principle' | 'philosophy' | 'pattern';
38
+ /**
39
+ * Resolution status for a conflict
40
+ */
41
+ export type ConflictResolution = 'auto' | 'pending';
42
+ /**
43
+ * A conflict detected during import
44
+ */
45
+ export interface ImportConflict {
46
+ type: ConflictType;
47
+ existing: unknown;
48
+ incoming: unknown;
49
+ resolution: ConflictResolution;
50
+ autoResolved?: boolean;
51
+ reason?: string;
52
+ }
53
+ /**
54
+ * Statistics about what was imported
55
+ */
56
+ export interface ImportedStats {
57
+ principles: number;
58
+ patterns: number;
59
+ philosophy: boolean;
60
+ }
61
+ /**
62
+ * Statistics about what was merged
63
+ */
64
+ export interface MergedStats {
65
+ principles: number;
66
+ }
67
+ /**
68
+ * Result of an import operation
69
+ */
70
+ export interface ImportResult {
71
+ success: boolean;
72
+ imported: ImportedStats;
73
+ merged: MergedStats;
74
+ conflicts: ImportConflict[];
75
+ errors: string[];
76
+ }
77
+ /**
78
+ * Options for export operation
79
+ */
80
+ export interface ExportOptions {
81
+ level: PortabilityLevel;
82
+ includeEvidence: boolean;
83
+ anonymize: boolean;
84
+ }
85
+ //# sourceMappingURL=portability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portability.d.ts","sourceRoot":"","sources":["../../src/types/portability.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEjF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,gBAAgB,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;CACpB"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Portability types for import/export
3
+ * Based on data-model.md specification
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=portability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portability.js","sourceRoot":"","sources":["../../src/types/portability.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Storage provider types
3
+ * Based on data-model.md specification
4
+ */
5
+ /**
6
+ * Information about a stored version
7
+ */
8
+ export interface VersionInfo {
9
+ version: number;
10
+ timestamp: string;
11
+ size: number;
12
+ }
13
+ /**
14
+ * Abstract storage provider interface
15
+ */
16
+ export interface StorageProvider {
17
+ /**
18
+ * Get a value by key
19
+ */
20
+ get<T>(key: string): Promise<T | null>;
21
+ /**
22
+ * Set a value by key
23
+ */
24
+ set<T>(key: string, value: T): Promise<void>;
25
+ /**
26
+ * Delete a value by key
27
+ */
28
+ delete(key: string): Promise<void>;
29
+ /**
30
+ * List all keys with a given prefix
31
+ */
32
+ list(prefix: string): Promise<string[]>;
33
+ /**
34
+ * Check if a key exists
35
+ */
36
+ exists(key: string): Promise<boolean>;
37
+ /**
38
+ * Get a specific version of a value
39
+ */
40
+ getVersion<T>(key: string, version: number): Promise<T | null>;
41
+ /**
42
+ * List all versions for a key
43
+ */
44
+ listVersions(key: string): Promise<VersionInfo[]>;
45
+ /**
46
+ * Create a new version for a key (returns version number)
47
+ */
48
+ createVersion(key: string): Promise<number>;
49
+ }
50
+ /**
51
+ * Configuration for knowledge store
52
+ */
53
+ export interface KnowledgeStoreConfig {
54
+ baseDir?: string;
55
+ maxVersions?: number;
56
+ enableAudit?: boolean;
57
+ }
58
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/types/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAEvC;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC;;OAEG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAExC;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC;;OAEG;IACH,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAE/D;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAElD;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Storage provider types
3
+ * Based on data-model.md specification
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/types/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Generate a unique identifier using crypto.randomUUID()
3
+ * @returns A UUID v4 string
4
+ */
5
+ export declare function generateId(): string;
6
+ //# sourceMappingURL=id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/utils/id.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC"}
@@ -0,0 +1,9 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ /**
3
+ * Generate a unique identifier using crypto.randomUUID()
4
+ * @returns A UUID v4 string
5
+ */
6
+ export function generateId() {
7
+ return randomUUID();
8
+ }
9
+ //# sourceMappingURL=id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/utils/id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,OAAO,UAAU,EAAE,CAAC;AACtB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { generateId } from './id.js';
2
+ export { now } from './timestamps.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { generateId } from './id.js';
2
+ export { now } from './timestamps.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Get the current timestamp in ISO 8601 format
3
+ * @returns ISO 8601 timestamp string
4
+ */
5
+ export declare function now(): string;
6
+ //# sourceMappingURL=timestamps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timestamps.d.ts","sourceRoot":"","sources":["../../src/utils/timestamps.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,GAAG,IAAI,MAAM,CAE5B"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Get the current timestamp in ISO 8601 format
3
+ * @returns ISO 8601 timestamp string
4
+ */
5
+ export function now() {
6
+ return new Date().toISOString();
7
+ }
8
+ //# sourceMappingURL=timestamps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timestamps.js","sourceRoot":"","sources":["../../src/utils/timestamps.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,GAAG;IACjB,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC"}