cortex-engine 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 (139) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +154 -0
  3. package/dist/bin/cli.d.ts +13 -0
  4. package/dist/bin/cli.d.ts.map +1 -0
  5. package/dist/bin/cli.js +92 -0
  6. package/dist/bin/cli.js.map +1 -0
  7. package/dist/bin/config-cmd.d.ts +12 -0
  8. package/dist/bin/config-cmd.d.ts.map +1 -0
  9. package/dist/bin/config-cmd.js +184 -0
  10. package/dist/bin/config-cmd.js.map +1 -0
  11. package/dist/bin/config-loader.d.ts +12 -0
  12. package/dist/bin/config-loader.d.ts.map +1 -0
  13. package/dist/bin/config-loader.js +42 -0
  14. package/dist/bin/config-loader.js.map +1 -0
  15. package/dist/bin/digest-cmd.d.ts +13 -0
  16. package/dist/bin/digest-cmd.d.ts.map +1 -0
  17. package/dist/bin/digest-cmd.js +286 -0
  18. package/dist/bin/digest-cmd.js.map +1 -0
  19. package/dist/bin/init.d.ts +33 -0
  20. package/dist/bin/init.d.ts.map +1 -0
  21. package/dist/bin/init.js +355 -0
  22. package/dist/bin/init.js.map +1 -0
  23. package/dist/bin/serve.d.ts +15 -0
  24. package/dist/bin/serve.d.ts.map +1 -0
  25. package/dist/bin/serve.js +21 -0
  26. package/dist/bin/serve.js.map +1 -0
  27. package/dist/bridges/bridge.d.ts +46 -0
  28. package/dist/bridges/bridge.d.ts.map +1 -0
  29. package/dist/bridges/bridge.js +128 -0
  30. package/dist/bridges/bridge.js.map +1 -0
  31. package/dist/bridges/registry.d.ts +19 -0
  32. package/dist/bridges/registry.d.ts.map +1 -0
  33. package/dist/bridges/registry.js +36 -0
  34. package/dist/bridges/registry.js.map +1 -0
  35. package/dist/core/config.d.ts +108 -0
  36. package/dist/core/config.d.ts.map +1 -0
  37. package/dist/core/config.js +29 -0
  38. package/dist/core/config.js.map +1 -0
  39. package/dist/core/embed.d.ts +16 -0
  40. package/dist/core/embed.d.ts.map +1 -0
  41. package/dist/core/embed.js +7 -0
  42. package/dist/core/embed.js.map +1 -0
  43. package/dist/core/llm.d.ts +31 -0
  44. package/dist/core/llm.d.ts.map +1 -0
  45. package/dist/core/llm.js +13 -0
  46. package/dist/core/llm.js.map +1 -0
  47. package/dist/core/nli.d.ts +26 -0
  48. package/dist/core/nli.d.ts.map +1 -0
  49. package/dist/core/nli.js +11 -0
  50. package/dist/core/nli.js.map +1 -0
  51. package/dist/core/session.d.ts +26 -0
  52. package/dist/core/session.d.ts.map +1 -0
  53. package/dist/core/session.js +71 -0
  54. package/dist/core/session.js.map +1 -0
  55. package/dist/core/store.d.ts +58 -0
  56. package/dist/core/store.d.ts.map +1 -0
  57. package/dist/core/store.js +8 -0
  58. package/dist/core/store.js.map +1 -0
  59. package/dist/core/types.d.ts +148 -0
  60. package/dist/core/types.d.ts.map +1 -0
  61. package/dist/core/types.js +8 -0
  62. package/dist/core/types.js.map +1 -0
  63. package/dist/engines/cognition.d.ts +76 -0
  64. package/dist/engines/cognition.d.ts.map +1 -0
  65. package/dist/engines/cognition.js +441 -0
  66. package/dist/engines/cognition.js.map +1 -0
  67. package/dist/engines/digest.d.ts +52 -0
  68. package/dist/engines/digest.d.ts.map +1 -0
  69. package/dist/engines/digest.js +351 -0
  70. package/dist/engines/digest.js.map +1 -0
  71. package/dist/engines/fsrs.d.ts +44 -0
  72. package/dist/engines/fsrs.d.ts.map +1 -0
  73. package/dist/engines/fsrs.js +122 -0
  74. package/dist/engines/fsrs.js.map +1 -0
  75. package/dist/engines/keywords.d.ts +12 -0
  76. package/dist/engines/keywords.d.ts.map +1 -0
  77. package/dist/engines/keywords.js +45 -0
  78. package/dist/engines/keywords.js.map +1 -0
  79. package/dist/engines/memory.d.ts +55 -0
  80. package/dist/engines/memory.d.ts.map +1 -0
  81. package/dist/engines/memory.js +147 -0
  82. package/dist/engines/memory.js.map +1 -0
  83. package/dist/index.d.ts +42 -0
  84. package/dist/index.d.ts.map +1 -0
  85. package/dist/index.js +38 -0
  86. package/dist/index.js.map +1 -0
  87. package/dist/mcp/server.d.ts +12 -0
  88. package/dist/mcp/server.d.ts.map +1 -0
  89. package/dist/mcp/server.js +173 -0
  90. package/dist/mcp/server.js.map +1 -0
  91. package/dist/mcp/tools.d.ts +45 -0
  92. package/dist/mcp/tools.d.ts.map +1 -0
  93. package/dist/mcp/tools.js +814 -0
  94. package/dist/mcp/tools.js.map +1 -0
  95. package/dist/namespace/manager.d.ts +28 -0
  96. package/dist/namespace/manager.d.ts.map +1 -0
  97. package/dist/namespace/manager.js +73 -0
  98. package/dist/namespace/manager.js.map +1 -0
  99. package/dist/namespace/scoped-store.d.ts +43 -0
  100. package/dist/namespace/scoped-store.d.ts.map +1 -0
  101. package/dist/namespace/scoped-store.js +91 -0
  102. package/dist/namespace/scoped-store.js.map +1 -0
  103. package/dist/plugins/loader.d.ts +18 -0
  104. package/dist/plugins/loader.d.ts.map +1 -0
  105. package/dist/plugins/loader.js +71 -0
  106. package/dist/plugins/loader.js.map +1 -0
  107. package/dist/providers/nli-http.d.ts +34 -0
  108. package/dist/providers/nli-http.d.ts.map +1 -0
  109. package/dist/providers/nli-http.js +83 -0
  110. package/dist/providers/nli-http.js.map +1 -0
  111. package/dist/providers/ollama.d.ts +37 -0
  112. package/dist/providers/ollama.d.ts.map +1 -0
  113. package/dist/providers/ollama.js +103 -0
  114. package/dist/providers/ollama.js.map +1 -0
  115. package/dist/providers/vertex-embed.d.ts +38 -0
  116. package/dist/providers/vertex-embed.d.ts.map +1 -0
  117. package/dist/providers/vertex-embed.js +69 -0
  118. package/dist/providers/vertex-embed.js.map +1 -0
  119. package/dist/providers/vertex-llm.d.ts +25 -0
  120. package/dist/providers/vertex-llm.d.ts.map +1 -0
  121. package/dist/providers/vertex-llm.js +75 -0
  122. package/dist/providers/vertex-llm.js.map +1 -0
  123. package/dist/stores/firestore.d.ts +59 -0
  124. package/dist/stores/firestore.d.ts.map +1 -0
  125. package/dist/stores/firestore.js +530 -0
  126. package/dist/stores/firestore.js.map +1 -0
  127. package/dist/stores/sqlite.d.ts +43 -0
  128. package/dist/stores/sqlite.d.ts.map +1 -0
  129. package/dist/stores/sqlite.js +593 -0
  130. package/dist/stores/sqlite.js.map +1 -0
  131. package/dist/triggers/pipeline.d.ts +21 -0
  132. package/dist/triggers/pipeline.d.ts.map +1 -0
  133. package/dist/triggers/pipeline.js +30 -0
  134. package/dist/triggers/pipeline.js.map +1 -0
  135. package/dist/triggers/registry.d.ts +17 -0
  136. package/dist/triggers/registry.d.ts.map +1 -0
  137. package/dist/triggers/registry.js +32 -0
  138. package/dist/triggers/registry.js.map +1 -0
  139. package/package.json +94 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/bridges/registry.ts"],"names":[],"mappings":"AAYA,MAAM,OAAO,cAAc;IACR,KAAK,GAAsC,IAAI,GAAG,EAAE,CAAC;IAEtE,YAAY,UAA0B,EAAE;QACtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3C,MAAM,QAAQ,GAAuB;oBACnC,UAAU,EAAE,MAAM,CAAC,IAAI;oBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,EAAE,EAAE,MAAM,CAAC,EAAE;oBACb,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;iBACxB,CAAC;gBACF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC3C,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,gBAAgB,CAAC,eAAuB,EAAE,KAAa;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,eAAe,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;IAC7D,CAAC;IAED,uCAAuC;IACvC,cAAc;QACZ,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;CACF"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * CortexConfig — configuration types and loader for cortex-engine.
3
+ *
4
+ * Config is loaded from .fozikio/config.yaml (or passed programmatically).
5
+ */
6
+ import type { ConfidenceTier } from './types.js';
7
+ export interface NamespaceConfig {
8
+ description?: string;
9
+ default?: boolean;
10
+ cognitive_tools: string[];
11
+ collections_prefix: string;
12
+ ingestion_triggers?: Record<string, IngestionTriggerConfig>;
13
+ /** Similarity threshold above which observations are merged (default: 0.85). */
14
+ similarity_merge?: number;
15
+ /** Similarity threshold above which observations are linked (default: 0.50). */
16
+ similarity_link?: number;
17
+ }
18
+ export interface IngestionTriggerConfig {
19
+ pipeline: string[];
20
+ }
21
+ export interface BridgeRuleConfig {
22
+ event: string;
23
+ condition?: string;
24
+ pipeline: string[];
25
+ template?: string;
26
+ }
27
+ export interface BridgeConfig {
28
+ name: string;
29
+ from: string;
30
+ to: string;
31
+ on: BridgeRuleConfig[];
32
+ }
33
+ export interface ModelProvenanceConfig {
34
+ default_model: string;
35
+ confidence_tiers: Record<ConfidenceTier, string[]>;
36
+ conflict_policy: 'weight_by_tier' | 'flag_for_review' | 'latest_wins';
37
+ }
38
+ export interface BenchmarkConfig {
39
+ enabled: boolean;
40
+ track_models: string[];
41
+ metrics: string[];
42
+ export_path: string;
43
+ }
44
+ export interface CortexConfig {
45
+ /** Storage backend: 'sqlite' | 'firestore' */
46
+ store: 'sqlite' | 'firestore';
47
+ /** Embedding provider: 'ollama' | 'vertex' | 'openai' */
48
+ embed: 'ollama' | 'vertex' | 'openai';
49
+ /** LLM provider: 'ollama' | 'gemini' | 'anthropic' | 'openai' */
50
+ llm: 'ollama' | 'gemini' | 'anthropic' | 'openai';
51
+ /** Named cognitive namespaces. */
52
+ namespaces: Record<string, NamespaceConfig>;
53
+ /** Inter-namespace bridges. */
54
+ bridges?: BridgeConfig[];
55
+ /** Model provenance tracking config. */
56
+ model_provenance?: ModelProvenanceConfig;
57
+ /** Plugin packages to load (npm package names or local paths). */
58
+ plugins?: string[];
59
+ /** Benchmark/research mode config. */
60
+ benchmark?: BenchmarkConfig;
61
+ /** Store-specific options. */
62
+ store_options?: {
63
+ /** SQLite: path to database file (default: ./cortex.db) */
64
+ sqlite_path?: string;
65
+ /** Firestore: GCP project ID */
66
+ gcp_project_id?: string;
67
+ /** Firestore: database ID (default: '(default)') */
68
+ firestore_database_id?: string;
69
+ };
70
+ /** Embed provider-specific options. */
71
+ embed_options?: {
72
+ /** Ollama: model name (default: qwen3-embedding:0.6b) */
73
+ ollama_model?: string;
74
+ /** Ollama: base URL (default: http://localhost:11434) */
75
+ ollama_url?: string;
76
+ /** Vertex AI: model name (default: text-embedding-004) */
77
+ vertex_model?: string;
78
+ /** Vertex AI: GCP region (default: us-central1) */
79
+ vertex_location?: string;
80
+ /** OpenAI: model name (default: text-embedding-3-small) */
81
+ openai_model?: string;
82
+ };
83
+ /** LLM provider-specific options. */
84
+ llm_options?: {
85
+ /** Ollama: model name (default: qwen2.5:14b) */
86
+ ollama_model?: string;
87
+ /** Ollama: base URL (default: http://localhost:11434) */
88
+ ollama_url?: string;
89
+ /** Gemini: model name (default: gemini-2.5-flash) */
90
+ gemini_model?: string;
91
+ /** Vertex AI / Gemini: GCP region (default: us-central1) */
92
+ vertex_location?: string;
93
+ /** Anthropic: model name (default: claude-sonnet-4-6) */
94
+ anthropic_model?: string;
95
+ /** OpenAI: model name (default: gpt-4o) */
96
+ openai_model?: string;
97
+ };
98
+ }
99
+ export interface AgentConfig {
100
+ agent?: {
101
+ name: string;
102
+ type: string;
103
+ description?: string;
104
+ };
105
+ cortex: CortexConfig;
106
+ }
107
+ export declare const DEFAULT_CONFIG: CortexConfig;
108
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * CortexConfig — configuration types and loader for cortex-engine.
3
+ *
4
+ * Config is loaded from .fozikio/config.yaml (or passed programmatically).
5
+ */
6
+ // ─── Defaults ─────────────────────────────────────────────────────────────────
7
+ export const DEFAULT_CONFIG = {
8
+ store: 'sqlite',
9
+ embed: 'ollama',
10
+ llm: 'ollama',
11
+ namespaces: {
12
+ default: {
13
+ default: true,
14
+ description: 'Default namespace',
15
+ cognitive_tools: ['observe', 'query', 'recall', 'neighbors', 'predict'],
16
+ collections_prefix: '',
17
+ },
18
+ },
19
+ model_provenance: {
20
+ default_model: 'unknown',
21
+ confidence_tiers: {
22
+ high: ['claude-opus-4-6', 'gemini-2.5-pro'],
23
+ medium: ['claude-sonnet-4-6', 'gemini-2.5-flash', 'gpt-4o'],
24
+ low: ['qwen2.5:14b', 'llama3:8b', 'gemma2:9b'],
25
+ },
26
+ conflict_policy: 'weight_by_tier',
27
+ },
28
+ };
29
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAuIH,iFAAiF;AAEjF,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,KAAK,EAAE,QAAQ;IACf,KAAK,EAAE,QAAQ;IACf,GAAG,EAAE,QAAQ;IACb,UAAU,EAAE;QACV,OAAO,EAAE;YACP,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,mBAAmB;YAChC,eAAe,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC;YACvE,kBAAkB,EAAE,EAAE;SACvB;KACF;IACD,gBAAgB,EAAE;QAChB,aAAa,EAAE,SAAS;QACxB,gBAAgB,EAAE;YAChB,IAAI,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;YAC3C,MAAM,EAAE,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,QAAQ,CAAC;YAC3D,GAAG,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,CAAC;SAC/C;QACD,eAAe,EAAE,gBAAgB;KAClC;CACF,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * EmbedProvider — embedding abstraction for cortex-engine.
3
+ *
4
+ * Implementations: VertexEmbedProvider, OllamaEmbedProvider, OpenAIEmbedProvider.
5
+ */
6
+ export interface EmbedProvider {
7
+ /** Embed a single text string into a vector. */
8
+ embed(text: string): Promise<number[]>;
9
+ /** Embed multiple texts in a batch (default: sequential embed calls). */
10
+ embedBatch?(texts: string[]): Promise<number[][]>;
11
+ /** Dimensionality of the embedding vectors. */
12
+ readonly dimensions: number;
13
+ /** Provider name for provenance tracking. */
14
+ readonly name: string;
15
+ }
16
+ //# sourceMappingURL=embed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/core/embed.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC5B,gDAAgD;IAChD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEvC,yEAAyE;IACzE,UAAU,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAElD,+CAA+C;IAC/C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * EmbedProvider — embedding abstraction for cortex-engine.
3
+ *
4
+ * Implementations: VertexEmbedProvider, OllamaEmbedProvider, OpenAIEmbedProvider.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=embed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/core/embed.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * LLMProvider — language model abstraction for cortex-engine.
3
+ *
4
+ * Used for cognitive tools that need LLM reasoning:
5
+ * - HyDE query expansion (generate hypothetical passages)
6
+ * - Importance scoring (4-channel: novelty, arousal, reward, attention)
7
+ * - Dream consolidation (memory definition refinement, edge discovery)
8
+ * - Reflective passage generation
9
+ *
10
+ * Implementations: GeminiLLMProvider, OllamaLLMProvider, AnthropicLLMProvider, OpenAILLMProvider.
11
+ */
12
+ export interface LLMProvider {
13
+ /** Generate text from a prompt. */
14
+ generate(prompt: string, options?: GenerateOptions): Promise<string>;
15
+ /** Generate structured JSON output from a prompt. */
16
+ generateJSON<T>(prompt: string, options?: GenerateJSONOptions): Promise<T>;
17
+ /** Provider name for provenance tracking. */
18
+ readonly name: string;
19
+ /** Model ID being used. */
20
+ readonly modelId: string;
21
+ }
22
+ export interface GenerateOptions {
23
+ temperature?: number;
24
+ maxTokens?: number;
25
+ systemPrompt?: string;
26
+ }
27
+ export interface GenerateJSONOptions extends GenerateOptions {
28
+ /** JSON Schema describing the expected output shape. */
29
+ schema?: Record<string, unknown>;
30
+ }
31
+ //# sourceMappingURL=llm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/core/llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,WAAW;IAC1B,mCAAmC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAErE,qDAAqD;IACrD,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAE3E,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,2BAA2B;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * LLMProvider — language model abstraction for cortex-engine.
3
+ *
4
+ * Used for cognitive tools that need LLM reasoning:
5
+ * - HyDE query expansion (generate hypothetical passages)
6
+ * - Importance scoring (4-channel: novelty, arousal, reward, attention)
7
+ * - Dream consolidation (memory definition refinement, edge discovery)
8
+ * - Reflective passage generation
9
+ *
10
+ * Implementations: GeminiLLMProvider, OllamaLLMProvider, AnthropicLLMProvider, OpenAILLMProvider.
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=llm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/core/llm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * NLIProvider — Natural Language Inference abstraction for cortex-engine.
3
+ *
4
+ * Classifies text pairs as contradiction, entailment, or neutral.
5
+ * Used for automated contradiction detection in dream consolidation
6
+ * and the validate tool.
7
+ *
8
+ * Implementations: LocalNLIProvider (HTTP service), LLMFallbackNLIProvider.
9
+ */
10
+ export type NLILabel = 'contradiction' | 'entailment' | 'neutral';
11
+ export interface NLIResult {
12
+ label: NLILabel;
13
+ scores: Record<NLILabel, number>;
14
+ }
15
+ export interface NLIProvider {
16
+ /** Classify the relationship between a premise and hypothesis. */
17
+ classify(premise: string, hypothesis: string): Promise<NLIResult>;
18
+ /** Classify multiple pairs in a batch. */
19
+ classifyBatch?(pairs: Array<{
20
+ premise: string;
21
+ hypothesis: string;
22
+ }>): Promise<NLIResult[]>;
23
+ /** Provider name for provenance tracking. */
24
+ readonly name: string;
25
+ }
26
+ //# sourceMappingURL=nli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nli.d.ts","sourceRoot":"","sources":["../../src/core/nli.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,QAAQ,GAAG,eAAe,GAAG,YAAY,GAAG,SAAS,CAAC;AAElE,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IAC1B,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAElE,0CAA0C;IAC1C,aAAa,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAE5F,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * NLIProvider — Natural Language Inference abstraction for cortex-engine.
3
+ *
4
+ * Classifies text pairs as contradiction, entailment, or neutral.
5
+ * Used for automated contradiction detection in dream consolidation
6
+ * and the validate tool.
7
+ *
8
+ * Implementations: LocalNLIProvider (HTTP service), LLMFallbackNLIProvider.
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=nli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nli.js","sourceRoot":"","sources":["../../src/core/nli.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Session — tracks the current MCP session's model provenance.
3
+ *
4
+ * Created at MCP server startup. Auto-injected into every write operation.
5
+ * The caller never has to pass provenance — the engine handles it.
6
+ */
7
+ import type { ModelProvenance, ConfidenceTier } from './types.js';
8
+ import type { ModelProvenanceConfig } from './config.js';
9
+ export declare class Session {
10
+ private readonly provenance;
11
+ private readonly tiers;
12
+ constructor(modelId: string, modelFamily: string, client: string, agent: string, tiers: ModelProvenanceConfig);
13
+ /** Get the current session's provenance for write tagging. */
14
+ getProvenance(): ModelProvenance;
15
+ /** Get the confidence tier for the current model. */
16
+ getConfidenceTier(): ConfidenceTier;
17
+ /** Look up the confidence tier for any model ID. */
18
+ static tierForModel(modelId: string, config: ModelProvenanceConfig): ConfidenceTier;
19
+ /** Auto-detect model from environment variables. */
20
+ static detectModel(): {
21
+ modelId: string;
22
+ modelFamily: string;
23
+ client: string;
24
+ };
25
+ }
26
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEzD,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;gBAG5C,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,qBAAqB;IAM9B,8DAA8D;IAC9D,aAAa,IAAI,eAAe;IAIhC,qDAAqD;IACrD,iBAAiB,IAAI,cAAc;IAInC,oDAAoD;IACpD,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,GAAG,cAAc;IASnF,oDAAoD;IACpD,MAAM,CAAC,WAAW,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;CA+B/E"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Session — tracks the current MCP session's model provenance.
3
+ *
4
+ * Created at MCP server startup. Auto-injected into every write operation.
5
+ * The caller never has to pass provenance — the engine handles it.
6
+ */
7
+ export class Session {
8
+ provenance;
9
+ tiers;
10
+ constructor(modelId, modelFamily, client, agent, tiers) {
11
+ this.provenance = { model_id: modelId, model_family: modelFamily, client, agent };
12
+ this.tiers = tiers;
13
+ }
14
+ /** Get the current session's provenance for write tagging. */
15
+ getProvenance() {
16
+ return { ...this.provenance };
17
+ }
18
+ /** Get the confidence tier for the current model. */
19
+ getConfidenceTier() {
20
+ return Session.tierForModel(this.provenance.model_id, this.tiers);
21
+ }
22
+ /** Look up the confidence tier for any model ID. */
23
+ static tierForModel(modelId, config) {
24
+ for (const [tier, models] of Object.entries(config.confidence_tiers)) {
25
+ if (models.includes(modelId)) {
26
+ return tier;
27
+ }
28
+ }
29
+ return 'low'; // unknown models default to low confidence
30
+ }
31
+ /** Auto-detect model from environment variables. */
32
+ static detectModel() {
33
+ // Claude Code sets these
34
+ const claudeModel = process.env['CLAUDE_MODEL'] || process.env['ANTHROPIC_MODEL'];
35
+ if (claudeModel) {
36
+ return { modelId: claudeModel, modelFamily: 'anthropic', client: 'claude-code' };
37
+ }
38
+ // Gemini CLI
39
+ const geminiModel = process.env['GEMINI_MODEL'];
40
+ if (geminiModel) {
41
+ return { modelId: geminiModel, modelFamily: 'google', client: 'gemini-cli' };
42
+ }
43
+ // Cursor
44
+ const cursorModel = process.env['CURSOR_MODEL'];
45
+ if (cursorModel) {
46
+ return { modelId: cursorModel, modelFamily: 'cursor', client: 'cursor' };
47
+ }
48
+ // Cron/batch
49
+ const cronModel = process.env['CORTEX_MODEL'];
50
+ if (cronModel) {
51
+ return {
52
+ modelId: cronModel,
53
+ modelFamily: inferFamily(cronModel),
54
+ client: process.env['CORTEX_CLIENT'] || 'cron',
55
+ };
56
+ }
57
+ return { modelId: 'unknown', modelFamily: 'unknown', client: 'unknown' };
58
+ }
59
+ }
60
+ function inferFamily(modelId) {
61
+ if (modelId.startsWith('claude'))
62
+ return 'anthropic';
63
+ if (modelId.startsWith('gemini'))
64
+ return 'google';
65
+ if (modelId.startsWith('gpt') || modelId.startsWith('o1') || modelId.startsWith('o3'))
66
+ return 'openai';
67
+ if (modelId.includes(':'))
68
+ return 'ollama'; // ollama uses name:tag format
69
+ return 'unknown';
70
+ }
71
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/core/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * CortexStore — storage abstraction for cortex-engine.
3
+ *
4
+ * Implementations: FirestoreCortexStore (cloud), SqliteCortexStore (local).
5
+ * All methods operate on plain JS objects (no Firestore Timestamps, no VectorValue).
6
+ */
7
+ import type { Memory, Observation, Edge, OpsEntry, OpsFilters, Signal, BeliefEntry, SearchResult, QueryFilter, FSRSData } from './types.js';
8
+ export interface CortexStore {
9
+ /** Store a new memory, returns its ID. */
10
+ putMemory(memory: Omit<Memory, 'id'>): Promise<string>;
11
+ /** Get a memory by ID. */
12
+ getMemory(id: string): Promise<Memory | null>;
13
+ /** Update specific fields on a memory. */
14
+ updateMemory(id: string, updates: Partial<Omit<Memory, 'id'>>): Promise<void>;
15
+ /** Find k nearest memories by embedding vector. Returns sorted by similarity desc. */
16
+ findNearest(embedding: number[], limit: number): Promise<SearchResult[]>;
17
+ /** Increment access_count, update last_accessed and FSRS fields. */
18
+ touchMemory(id: string, fsrsUpdates: Partial<FSRSData>): Promise<void>;
19
+ /** Get all memories (for batch operations like dream scoring). Use with caution. */
20
+ getAllMemories(): Promise<Memory[]>;
21
+ /** Store a new observation, returns its ID. */
22
+ putObservation(obs: Omit<Observation, 'id'>): Promise<string>;
23
+ /** Get unprocessed observations (for dream consolidation). */
24
+ getUnprocessedObservations(limit: number): Promise<Observation[]>;
25
+ /** Mark an observation as processed. */
26
+ markObservationProcessed(id: string): Promise<void>;
27
+ /** Store a new edge, returns its ID. */
28
+ putEdge(edge: Omit<Edge, 'id'>): Promise<string>;
29
+ /** Get all edges originating from a memory. */
30
+ getEdgesFrom(memoryId: string): Promise<Edge[]>;
31
+ /** Get all edges (both directions) for a set of memory IDs. */
32
+ getEdgesForMemories(memoryIds: string[]): Promise<Edge[]>;
33
+ /** Append an ops entry, returns its ID. */
34
+ appendOps(entry: Omit<OpsEntry, 'id'>): Promise<string>;
35
+ /** Query ops entries with composable filters. */
36
+ queryOps(filters: OpsFilters): Promise<OpsEntry[]>;
37
+ /** Update an ops entry (e.g., mark as done). */
38
+ updateOps(id: string, updates: Partial<Omit<OpsEntry, 'id'>>): Promise<void>;
39
+ /** Store a signal, returns its ID. */
40
+ putSignal(signal: Omit<Signal, 'id'>): Promise<string>;
41
+ /** Log a belief change. */
42
+ putBelief(entry: Omit<BeliefEntry, 'id'>): Promise<string>;
43
+ /** Get belief history for a concept. */
44
+ getBeliefHistory(conceptId: string): Promise<BeliefEntry[]>;
45
+ /** Store a document in a named collection. Returns its ID. */
46
+ put(collection: string, doc: Record<string, unknown>): Promise<string>;
47
+ /** Get a document from a named collection by ID. */
48
+ get(collection: string, id: string): Promise<Record<string, unknown> | null>;
49
+ /** Update a document in a named collection by ID. Merges updates. */
50
+ update(collection: string, id: string, updates: Record<string, unknown>): Promise<void>;
51
+ /** Query documents from a named collection with filters. */
52
+ query(collection: string, filters: QueryFilter[], options?: {
53
+ limit?: number;
54
+ orderBy?: string;
55
+ orderDir?: 'asc' | 'desc';
56
+ }): Promise<Record<string, unknown>[]>;
57
+ }
58
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/core/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * CortexStore — storage abstraction for cortex-engine.
3
+ *
4
+ * Implementations: FirestoreCortexStore (cloud), SqliteCortexStore (local).
5
+ * All methods operate on plain JS objects (no Firestore Timestamps, no VectorValue).
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/core/store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,148 @@
1
+ /**
2
+ * Core types for cortex-engine.
3
+ *
4
+ * These are storage-agnostic — no Firestore imports, no Timestamp.
5
+ * Stores convert between these and their native types.
6
+ */
7
+ export type MemoryCategory = 'belief' | 'pattern' | 'entity' | 'topic' | 'value' | 'project' | 'insight' | 'observation';
8
+ export type FSRSState = 'new' | 'learning' | 'review' | 'relearning';
9
+ export interface FSRSData {
10
+ stability: number;
11
+ difficulty: number;
12
+ reps: number;
13
+ lapses: number;
14
+ state: FSRSState;
15
+ last_review: Date | null;
16
+ }
17
+ export interface Memory {
18
+ id: string;
19
+ name: string;
20
+ definition: string;
21
+ category: MemoryCategory;
22
+ salience: number;
23
+ confidence: number;
24
+ access_count: number;
25
+ created_at: Date;
26
+ updated_at: Date;
27
+ last_accessed: Date;
28
+ source_files: string[];
29
+ embedding: number[];
30
+ tags: string[];
31
+ fsrs: FSRSData;
32
+ faded?: boolean;
33
+ salience_original?: number;
34
+ provenance?: ModelProvenance;
35
+ }
36
+ export interface MemorySummary {
37
+ id: string;
38
+ name: string;
39
+ definition: string;
40
+ category: MemoryCategory;
41
+ salience: number;
42
+ confidence: number;
43
+ access_count: number;
44
+ updated_at: Date;
45
+ tags: string[];
46
+ fsrs: FSRSData;
47
+ provenance?: ModelProvenance;
48
+ }
49
+ export type EdgeRelation = 'extends' | 'refines' | 'contradicts' | 'tensions-with' | 'questions' | 'supports' | 'exemplifies' | 'caused' | 'related';
50
+ export interface Edge {
51
+ id: string;
52
+ source_id: string;
53
+ target_id: string;
54
+ relation: EdgeRelation;
55
+ weight: number;
56
+ evidence: string;
57
+ created_at: Date;
58
+ }
59
+ export interface Observation {
60
+ id: string;
61
+ content: string;
62
+ source_file: string;
63
+ source_section: string;
64
+ salience: number;
65
+ processed: boolean;
66
+ prediction_error: number | null;
67
+ created_at: Date;
68
+ updated_at: Date;
69
+ embedding: number[] | null;
70
+ keywords: string[];
71
+ provenance?: ModelProvenance;
72
+ }
73
+ export type OpsEntryType = 'log' | 'instruction' | 'handoff' | 'milestone' | 'decision';
74
+ export type OpsStatus = 'active' | 'done' | 'stale';
75
+ export interface OpsEntry {
76
+ id: string;
77
+ content: string;
78
+ type: OpsEntryType;
79
+ status: OpsStatus;
80
+ project: string | null;
81
+ session_ref: string;
82
+ keywords: string[];
83
+ created_at: Date;
84
+ updated_at: Date;
85
+ expires_at: Date;
86
+ provenance?: ModelProvenance;
87
+ }
88
+ export interface OpsFilters {
89
+ type?: OpsEntryType;
90
+ status?: OpsStatus;
91
+ project?: string;
92
+ keyword?: string;
93
+ days?: number;
94
+ limit?: number;
95
+ }
96
+ export type SignalType = 'CONTRADICTION' | 'TENSION' | 'GAP' | 'REDUNDANCY' | 'SURPRISE';
97
+ export interface Signal {
98
+ id: string;
99
+ type: SignalType;
100
+ description: string;
101
+ concept_ids: string[];
102
+ priority: number;
103
+ resolved: boolean;
104
+ created_at: Date;
105
+ resolution_note: string | null;
106
+ }
107
+ export interface BeliefEntry {
108
+ id: string;
109
+ concept_id: string;
110
+ old_definition: string;
111
+ new_definition: string;
112
+ reason: string;
113
+ changed_at: Date;
114
+ }
115
+ export interface SearchResult {
116
+ memory: MemorySummary;
117
+ score: number;
118
+ distance: number;
119
+ }
120
+ export interface ActivationResult extends SearchResult {
121
+ hop_count: number;
122
+ activation_path: string[];
123
+ }
124
+ export type IngestDecision = 'merge' | 'link' | 'novel';
125
+ export interface GateResult {
126
+ decision: IngestDecision;
127
+ nearest_id?: string;
128
+ max_similarity: number;
129
+ }
130
+ export interface ScheduleResult {
131
+ stability: number;
132
+ difficulty: number;
133
+ interval_days: number;
134
+ state: FSRSState;
135
+ }
136
+ export interface ModelProvenance {
137
+ model_id: string;
138
+ model_family: string;
139
+ client: string;
140
+ agent: string;
141
+ }
142
+ export type ConfidenceTier = 'high' | 'medium' | 'low';
143
+ export interface QueryFilter {
144
+ field: string;
145
+ op: '==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'array-contains';
146
+ value: unknown;
147
+ }
148
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Core types for cortex-engine.
3
+ *
4
+ * These are storage-agnostic — no Firestore imports, no Timestamp.
5
+ * Stores convert between these and their native types.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}