@cognitive-engine/core 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.
@@ -0,0 +1,94 @@
1
+ export interface PerceptionConfig {
2
+ /** Custom quick-analysis regex patterns (language-specific) */
3
+ quickPatterns?: {
4
+ emotions?: Record<string, RegExp[]>;
5
+ urgency?: Array<{
6
+ pattern: RegExp;
7
+ score: number;
8
+ }>;
9
+ requestTypes?: Record<string, RegExp[]>;
10
+ responseMode?: Record<string, RegExp[]>;
11
+ };
12
+ /** Messages shorter than this skip LLM analysis. Default: 50 */
13
+ simpleMessageThreshold?: number;
14
+ /** Custom LLM prompt for deep analysis */
15
+ deepAnalysisPrompt?: string;
16
+ }
17
+ export interface ReasoningConfig {
18
+ /** Maximum items in working memory. Default: 10 */
19
+ maxWorkingMemory?: number;
20
+ /** Custom inference rules (run after built-in rules) */
21
+ customRules?: import('./types.js').InferenceRule[];
22
+ /** Weights for relevance scoring */
23
+ relevanceWeights?: {
24
+ current?: number;
25
+ recent?: number;
26
+ past?: number;
27
+ };
28
+ }
29
+ export interface MemoryConfig {
30
+ /** Decay coefficient per hour. Default: 0.03 */
31
+ decayLambda?: number;
32
+ /** Scoring weights (must sum to 1). Default: 0.4/0.3/0.3 */
33
+ scoringWeights?: {
34
+ relevance?: number;
35
+ recency?: number;
36
+ importance?: number;
37
+ };
38
+ /** Minimum similarity for search results. Default: 0.7 */
39
+ similarityThreshold?: number;
40
+ /** Episode categories */
41
+ categories?: string[];
42
+ /** Max recent episodes to return. Default: 5 */
43
+ maxRecentEpisodes?: number;
44
+ /** Max relevant episodes from search. Default: 3 */
45
+ maxRelevantEpisodes?: number;
46
+ }
47
+ export interface TemporalConfig {
48
+ /** How far back to look for patterns (days). Default: 30 */
49
+ lookbackDays?: number;
50
+ /** Minimum confidence to keep a pattern. Default: 0.5 */
51
+ minPatternConfidence?: number;
52
+ /** Pattern types to detect */
53
+ patternTypes?: string[];
54
+ /** Prediction types to generate */
55
+ predictionTypes?: string[];
56
+ }
57
+ export interface BanditConfig {
58
+ /** Exploration rate (epsilon). Default: 0.1 */
59
+ explorationRate?: number;
60
+ /** Observation noise variance. Default: 1.0 */
61
+ noiseVariance?: number;
62
+ /** Initial variance for new actions. Default: 1000 */
63
+ initialVariance?: number;
64
+ }
65
+ export interface MindConfig {
66
+ /** Max reflections to include in context. Default: 5 */
67
+ maxReflections?: number;
68
+ /** Max relationships to include. Default: 10 */
69
+ maxRelationships?: number;
70
+ /** Max open loops to include. Default: 3 */
71
+ maxOpenLoops?: number;
72
+ }
73
+ export interface EngineModules {
74
+ perception?: boolean;
75
+ reasoning?: boolean;
76
+ memory?: boolean;
77
+ temporal?: boolean;
78
+ bandit?: boolean;
79
+ mind?: boolean;
80
+ }
81
+ export interface EngineConfig {
82
+ llm: import('./providers.js').LlmProvider;
83
+ embedding: import('./providers.js').EmbeddingProvider;
84
+ store: import('./store.js').Store;
85
+ perception?: PerceptionConfig;
86
+ reasoning?: ReasoningConfig;
87
+ memory?: MemoryConfig;
88
+ temporal?: TemporalConfig;
89
+ bandit?: BanditConfig;
90
+ mind?: MindConfig;
91
+ /** Enable/disable modules. Default: perception, reasoning, memory = true */
92
+ modules?: EngineModules;
93
+ }
94
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js ADDED
@@ -0,0 +1,5 @@
1
+ // ═══════════════════════════════════════════
2
+ // Configuration types for all modules
3
+ // ═══════════════════════════════════════════
4
+ export {};
5
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,sCAAsC;AACtC,8CAA8C"}
@@ -0,0 +1,38 @@
1
+ import type { Percept, Belief, Episode, BehaviorPattern, FuturePrediction, Reflection, OpenLoop } from './types.js';
2
+ export interface CognitiveEventMap {
3
+ 'perception:complete': Percept;
4
+ 'belief:added': Belief;
5
+ 'belief:updated': {
6
+ current: Belief;
7
+ previous: Belief;
8
+ };
9
+ 'episode:created': Episode;
10
+ 'episode:decayed': Episode;
11
+ 'pattern:detected': BehaviorPattern;
12
+ 'prediction:created': FuturePrediction;
13
+ 'prediction:resolved': {
14
+ prediction: FuturePrediction;
15
+ correct: boolean;
16
+ };
17
+ 'bandit:choice': {
18
+ actionId: string;
19
+ category: string;
20
+ wasExploration: boolean;
21
+ };
22
+ 'bandit:reward': {
23
+ actionId: string;
24
+ reward: number;
25
+ };
26
+ 'mind:reflection': Reflection;
27
+ 'mind:openLoop': OpenLoop;
28
+ }
29
+ type EventHandler<T> = (data: T) => void;
30
+ export declare class CognitiveEventEmitter {
31
+ private handlers;
32
+ on<K extends keyof CognitiveEventMap>(event: K, handler: EventHandler<CognitiveEventMap[K]>): void;
33
+ off<K extends keyof CognitiveEventMap>(event: K, handler: EventHandler<CognitiveEventMap[K]>): void;
34
+ emit<K extends keyof CognitiveEventMap>(event: K, data: CognitiveEventMap[K]): void;
35
+ removeAllListeners(event?: keyof CognitiveEventMap): void;
36
+ }
37
+ export {};
38
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,MAAM,EACN,OAAO,EACP,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACT,MAAM,YAAY,CAAA;AAMnB,MAAM,WAAW,iBAAiB;IAChC,qBAAqB,EAAE,OAAO,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;IACtB,gBAAgB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IACvD,iBAAiB,EAAE,OAAO,CAAA;IAC1B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,kBAAkB,EAAE,eAAe,CAAA;IACnC,oBAAoB,EAAE,gBAAgB,CAAA;IACtC,qBAAqB,EAAE;QAAE,UAAU,EAAE,gBAAgB,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAA;IACzE,eAAe,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,CAAA;IAChF,eAAe,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IACrD,iBAAiB,EAAE,UAAU,CAAA;IAC7B,eAAe,EAAE,QAAQ,CAAA;CAC1B;AAED,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;AAExC,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAgD;IAEhE,EAAE,CAAC,CAAC,SAAS,MAAM,iBAAiB,EAClC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAC1C,IAAI;IAOP,GAAG,CAAC,CAAC,SAAS,MAAM,iBAAiB,EACnC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAC1C,IAAI;IAIP,IAAI,CAAC,CAAC,SAAS,MAAM,iBAAiB,EACpC,KAAK,EAAE,CAAC,EACR,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,GACzB,IAAI;IAaP,kBAAkB,CAAC,KAAK,CAAC,EAAE,MAAM,iBAAiB,GAAG,IAAI;CAO1D"}
package/dist/events.js ADDED
@@ -0,0 +1,34 @@
1
+ export class CognitiveEventEmitter {
2
+ handlers = new Map();
3
+ on(event, handler) {
4
+ if (!this.handlers.has(event)) {
5
+ this.handlers.set(event, new Set());
6
+ }
7
+ this.handlers.get(event).add(handler);
8
+ }
9
+ off(event, handler) {
10
+ this.handlers.get(event)?.delete(handler);
11
+ }
12
+ emit(event, data) {
13
+ const set = this.handlers.get(event);
14
+ if (set) {
15
+ for (const handler of set) {
16
+ try {
17
+ handler(data);
18
+ }
19
+ catch {
20
+ // Event handlers should not throw — swallow silently
21
+ }
22
+ }
23
+ }
24
+ }
25
+ removeAllListeners(event) {
26
+ if (event) {
27
+ this.handlers.delete(event);
28
+ }
29
+ else {
30
+ this.handlers.clear();
31
+ }
32
+ }
33
+ }
34
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AA+BA,MAAM,OAAO,qBAAqB;IACxB,QAAQ,GAAG,IAAI,GAAG,EAAsC,CAAA;IAEhE,EAAE,CACA,KAAQ,EACR,OAA2C;QAE3C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;QACrC,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,GAAG,CAAC,OAAgC,CAAC,CAAA;IACjE,CAAC;IAED,GAAG,CACD,KAAQ,EACR,OAA2C;QAE3C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,OAAgC,CAAC,CAAA;IACpE,CAAC;IAED,IAAI,CACF,KAAQ,EACR,IAA0B;QAE1B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACpC,IAAI,GAAG,EAAE,CAAC;YACR,KAAK,MAAM,OAAO,IAAI,GAAG,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,CAAA;gBACf,CAAC;gBAAC,MAAM,CAAC;oBACP,qDAAqD;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,kBAAkB,CAAC,KAA+B;QAChD,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QACvB,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ export type { LlmProvider, LlmMessage, LlmOptions, LlmUsage, LlmResponse, EmbeddingProvider, } from './providers.js';
2
+ export type { Store, StoreFilter, VectorSearchOptions, VectorSearchResult, } from './store.js';
3
+ export { supportsVectorSearch } from './store.js';
4
+ export type { Percept, ResponseMode, ConversationPhase, Entity, Belief, BeliefSource, BeliefCandidate, IntentionType, Intention, CognitiveState, UserGoal, WorkingMemoryItem, ReasoningResult, Episode, EpisodeSearchResult, EpisodeQuery, EpisodicContext, ConsolidationResult, BehaviorPattern, CausalChain, FuturePrediction, TemporalContext, BanditChoice, BanditParams, Reflection, Relationship, OpenLoop, EmotionalTrigger, MindContext, InferenceRule, } from './types.js';
5
+ export type { PerceptionConfig, ReasoningConfig, MemoryConfig, TemporalConfig, BanditConfig, MindConfig, EngineModules, EngineConfig, } from './config.js';
6
+ export type { CognitiveEventMap } from './events.js';
7
+ export { CognitiveEventEmitter } from './events.js';
8
+ export type { Middleware } from './pipeline.js';
9
+ export { Pipeline } from './pipeline.js';
10
+ export { uid } from './uid.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,iBAAiB,GAClB,MAAM,gBAAgB,CAAA;AAGvB,YAAY,EACV,KAAK,EACL,WAAW,EACX,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAGjD,YAAY,EACV,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,MAAM,EACN,MAAM,EACN,YAAY,EACZ,eAAe,EACf,aAAa,EACb,SAAS,EACT,cAAc,EACd,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,aAAa,GACd,MAAM,YAAY,CAAA;AAGnB,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,UAAU,EACV,aAAa,EACb,YAAY,GACb,MAAM,aAAa,CAAA;AAGpB,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAGnD,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ export { supportsVectorSearch } from './store.js';
2
+ export { CognitiveEventEmitter } from './events.js';
3
+ export { Pipeline } from './pipeline.js';
4
+ // Utilities
5
+ export { uid } from './uid.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAkDjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAInD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,YAAY;AACZ,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Middleware function.
3
+ * Each step can read/modify the context and must call next() to continue.
4
+ */
5
+ export type Middleware<TCtx> = (ctx: TCtx, next: () => Promise<void>) => Promise<void>;
6
+ /**
7
+ * Composable pipeline of middleware functions.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const pipeline = new Pipeline<MessageContext>()
12
+ * .use(perceiveMiddleware)
13
+ * .use(reasonMiddleware)
14
+ * .use(adaptMiddleware)
15
+ *
16
+ * const ctx = { userId: '123', message: 'hello' }
17
+ * await pipeline.execute(ctx)
18
+ * // ctx is now enriched by all middleware
19
+ * ```
20
+ */
21
+ export declare class Pipeline<TCtx> {
22
+ private middlewares;
23
+ /** Add a middleware step to the pipeline. */
24
+ use(middleware: Middleware<TCtx>): this;
25
+ /** Execute all middleware in order. Returns the enriched context. */
26
+ execute(ctx: TCtx): Promise<TCtx>;
27
+ }
28
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,MAAM,UAAU,CAAC,IAAI,IAAI,CAC7B,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KACtB,OAAO,CAAC,IAAI,CAAC,CAAA;AAElB;;;;;;;;;;;;;;GAcG;AACH,qBAAa,QAAQ,CAAC,IAAI;IACxB,OAAO,CAAC,WAAW,CAAyB;IAE5C,6CAA6C;IAC7C,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI;IAKvC,qEAAqE;IAC/D,OAAO,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAexC"}
@@ -0,0 +1,41 @@
1
+ // ═══════════════════════════════════════════
2
+ // Pipeline — composable processing steps
3
+ // ═══════════════════════════════════════════
4
+ /**
5
+ * Composable pipeline of middleware functions.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const pipeline = new Pipeline<MessageContext>()
10
+ * .use(perceiveMiddleware)
11
+ * .use(reasonMiddleware)
12
+ * .use(adaptMiddleware)
13
+ *
14
+ * const ctx = { userId: '123', message: 'hello' }
15
+ * await pipeline.execute(ctx)
16
+ * // ctx is now enriched by all middleware
17
+ * ```
18
+ */
19
+ export class Pipeline {
20
+ middlewares = [];
21
+ /** Add a middleware step to the pipeline. */
22
+ use(middleware) {
23
+ this.middlewares.push(middleware);
24
+ return this;
25
+ }
26
+ /** Execute all middleware in order. Returns the enriched context. */
27
+ async execute(ctx) {
28
+ let index = 0;
29
+ const middlewares = this.middlewares;
30
+ const next = async () => {
31
+ if (index < middlewares.length) {
32
+ const mw = middlewares[index];
33
+ index++;
34
+ await mw(ctx, next);
35
+ }
36
+ };
37
+ await next();
38
+ return ctx;
39
+ }
40
+ }
41
+ //# sourceMappingURL=pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,yCAAyC;AACzC,8CAA8C;AAW9C;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,QAAQ;IACX,WAAW,GAAuB,EAAE,CAAA;IAE5C,6CAA6C;IAC7C,GAAG,CAAC,UAA4B;QAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACjC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,OAAO,CAAC,GAAS;QACrB,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;QAEpC,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;YACrC,IAAI,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC/B,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAE,CAAA;gBAC9B,KAAK,EAAE,CAAA;gBACP,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;YACrB,CAAC;QACH,CAAC,CAAA;QAED,MAAM,IAAI,EAAE,CAAA;QACZ,OAAO,GAAG,CAAA;IACZ,CAAC;CACF"}
@@ -0,0 +1,45 @@
1
+ export interface LlmMessage {
2
+ role: 'system' | 'user' | 'assistant';
3
+ content: string;
4
+ }
5
+ export interface LlmOptions {
6
+ /** Temperature (0-2). Default: 0 */
7
+ temperature?: number;
8
+ /** Max tokens to generate. Default: 500 */
9
+ maxTokens?: number;
10
+ /** Override default model */
11
+ model?: string;
12
+ }
13
+ export interface LlmUsage {
14
+ promptTokens: number;
15
+ completionTokens: number;
16
+ totalTokens: number;
17
+ }
18
+ export interface LlmResponse {
19
+ content: string;
20
+ usage: LlmUsage;
21
+ finishReason: 'stop' | 'length' | 'content_filter';
22
+ }
23
+ export interface LlmProvider {
24
+ /**
25
+ * Generate text completion.
26
+ */
27
+ complete(messages: LlmMessage[], options?: LlmOptions): Promise<LlmResponse>;
28
+ /**
29
+ * Generate completion and parse as JSON.
30
+ * Provider should request JSON mode from the model.
31
+ * Throws if response is not valid JSON.
32
+ */
33
+ completeJson<T>(messages: LlmMessage[], options?: LlmOptions): Promise<LlmResponse & {
34
+ parsed: T;
35
+ }>;
36
+ }
37
+ export interface EmbeddingProvider {
38
+ /** Embed a single text. Returns normalized vector. */
39
+ embed(text: string): Promise<number[]>;
40
+ /** Batch embed multiple texts. */
41
+ embedBatch(texts: string[]): Promise<number[][]>;
42
+ /** Embedding dimensions (e.g. 1536 for OpenAI text-embedding-3-small) */
43
+ readonly dimensions: number;
44
+ }
45
+ //# sourceMappingURL=providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAA;IACrC,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,QAAQ,CAAA;IACf,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,gBAAgB,CAAA;CACnD;AAED,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IAE5E;;;;OAIG;IACH,YAAY,CAAC,CAAC,EACZ,QAAQ,EAAE,UAAU,EAAE,EACtB,OAAO,CAAC,EAAE,UAAU,GACnB,OAAO,CAAC,WAAW,GAAG;QAAE,MAAM,EAAE,CAAC,CAAA;KAAE,CAAC,CAAA;CACxC;AAMD,MAAM,WAAW,iBAAiB;IAChC,sDAAsD;IACtD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAEtC,kCAAkC;IAClC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAEhD,yEAAyE;IACzE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B"}
@@ -0,0 +1,5 @@
1
+ // ═══════════════════════════════════════════
2
+ // LLM Provider — any language model
3
+ // ═══════════════════════════════════════════
4
+ export {};
5
+ //# sourceMappingURL=providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,oCAAoC;AACpC,8CAA8C"}
@@ -0,0 +1,40 @@
1
+ export interface StoreFilter {
2
+ where?: Record<string, unknown>;
3
+ orderBy?: Record<string, 'asc' | 'desc'>;
4
+ limit?: number;
5
+ offset?: number;
6
+ }
7
+ export interface VectorSearchOptions {
8
+ /** Number of results to return */
9
+ topK: number;
10
+ /** Minimum similarity threshold (0-1). Default: 0.7 */
11
+ threshold?: number;
12
+ /** Additional filter conditions */
13
+ filter?: Record<string, unknown>;
14
+ }
15
+ export interface VectorSearchResult {
16
+ id: string;
17
+ similarity: number;
18
+ data: Record<string, unknown>;
19
+ }
20
+ export interface Store {
21
+ /** Get a single record by ID */
22
+ get<T>(collection: string, id: string): Promise<T | null>;
23
+ /** Create or overwrite a record */
24
+ set<T>(collection: string, id: string, data: T): Promise<void>;
25
+ /** Delete a record */
26
+ delete(collection: string, id: string): Promise<void>;
27
+ /** Find records matching filter */
28
+ find<T>(collection: string, filter: StoreFilter): Promise<T[]>;
29
+ /** Create or update a record */
30
+ upsert<T>(collection: string, id: string, data: T): Promise<void>;
31
+ /**
32
+ * Vector similarity search.
33
+ * Optional capability — not all stores support this.
34
+ * Use `supportsVectorSearch()` to check.
35
+ */
36
+ vectorSearch?(collection: string, vector: number[], options: VectorSearchOptions): Promise<VectorSearchResult[]>;
37
+ }
38
+ /** Type guard: does this store support vector search? */
39
+ export declare function supportsVectorSearch(store: Store): store is Store & Required<Pick<Store, 'vectorSearch'>>;
40
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC,CAAA;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,KAAK;IACpB,gCAAgC;IAChC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IAEzD,mCAAmC;IACnC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE9D,sBAAsB;IACtB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAErD,mCAAmC;IACnC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAA;IAE9D,gCAAgC;IAChC,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEjE;;;;OAIG;IACH,YAAY,CAAC,CACX,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAA;CACjC;AAED,yDAAyD;AACzD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,GACX,KAAK,IAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAExD"}
package/dist/store.js ADDED
@@ -0,0 +1,8 @@
1
+ // ═══════════════════════════════════════════
2
+ // Store — persistence abstraction
3
+ // ═══════════════════════════════════════════
4
+ /** Type guard: does this store support vector search? */
5
+ export function supportsVectorSearch(store) {
6
+ return typeof store.vectorSearch === 'function';
7
+ }
8
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,kCAAkC;AAClC,8CAA8C;AAoD9C,yDAAyD;AACzD,MAAM,UAAU,oBAAoB,CAClC,KAAY;IAEZ,OAAO,OAAO,KAAK,CAAC,YAAY,KAAK,UAAU,CAAA;AACjD,CAAC"}
@@ -0,0 +1,224 @@
1
+ export interface Percept {
2
+ rawText: string;
3
+ emotionalTone: string;
4
+ urgency: number;
5
+ requestType: string;
6
+ responseMode: ResponseMode;
7
+ entities: Entity[];
8
+ implicitNeeds: string[];
9
+ conversationPhase: ConversationPhase;
10
+ confidence: number;
11
+ analysisMethod: 'quick' | 'deep';
12
+ }
13
+ export type ResponseMode = 'listening' | 'advising' | 'informing';
14
+ export type ConversationPhase = 'opening' | 'exploration' | 'deep_dive' | 'conclusion' | 'follow_up';
15
+ export interface Entity {
16
+ type: string;
17
+ value: string;
18
+ confidence: number;
19
+ }
20
+ export interface Belief {
21
+ id: string;
22
+ subject: string;
23
+ predicate: string;
24
+ object: string;
25
+ confidence: number;
26
+ source: BeliefSource;
27
+ evidence: string[];
28
+ createdAt: Date;
29
+ updatedAt: Date;
30
+ }
31
+ export type BeliefSource = 'explicit' | 'inferred' | 'observed';
32
+ export interface BeliefCandidate {
33
+ subject: string;
34
+ predicate: string;
35
+ object: string;
36
+ confidence: number;
37
+ }
38
+ export type IntentionType = 'inform' | 'clarify' | 'suggest' | 'empathize' | 'challenge' | 'remind' | 'motivate';
39
+ export interface Intention {
40
+ type: IntentionType;
41
+ target: string;
42
+ priority: number;
43
+ reason?: string;
44
+ }
45
+ export interface CognitiveState {
46
+ beliefs: Belief[];
47
+ goals: UserGoal[];
48
+ workingMemory: WorkingMemoryItem[];
49
+ currentIntentions: Intention[];
50
+ emotionalContext: string;
51
+ attentionFocus: string[];
52
+ lastUpdated: Date;
53
+ }
54
+ export interface UserGoal {
55
+ id: string;
56
+ description: string;
57
+ priority: number;
58
+ progress: number;
59
+ deadline?: Date;
60
+ relatedBeliefs: string[];
61
+ }
62
+ export interface WorkingMemoryItem {
63
+ content: string;
64
+ type: 'fact' | 'context' | 'question' | 'hypothesis';
65
+ relevance: number;
66
+ timestamp: Date;
67
+ }
68
+ export interface ReasoningResult {
69
+ intentions: Intention[];
70
+ newBeliefs: Belief[];
71
+ hypotheses: string[];
72
+ questionsToAsk: string[];
73
+ suggestedActions: string[];
74
+ confidence: number;
75
+ }
76
+ export interface Episode {
77
+ id: string;
78
+ userId: string;
79
+ summary: string;
80
+ details: string;
81
+ participants?: string[];
82
+ location?: string;
83
+ occurredAt: Date;
84
+ reportedAt: Date;
85
+ timeContext?: string;
86
+ emotionalValence: number;
87
+ emotionalIntensity: number;
88
+ emotions: string[];
89
+ category: string;
90
+ tags: string[];
91
+ importance: number;
92
+ accessCount: number;
93
+ lastAccessed?: Date;
94
+ decayFactor: number;
95
+ relatedEpisodes?: string[];
96
+ embedding?: number[];
97
+ createdAt: Date;
98
+ }
99
+ export interface EpisodeSearchResult {
100
+ episode: Episode;
101
+ relevanceScore: number;
102
+ recencyScore: number;
103
+ importanceScore: number;
104
+ combinedScore: number;
105
+ }
106
+ export interface EpisodeQuery {
107
+ userId: string;
108
+ query?: string;
109
+ categories?: string[];
110
+ emotions?: string[];
111
+ timeRange?: {
112
+ from?: Date;
113
+ to?: Date;
114
+ };
115
+ minImportance?: number;
116
+ limit?: number;
117
+ includeDecayed?: boolean;
118
+ }
119
+ export interface EpisodicContext {
120
+ recentEpisodes: Episode[];
121
+ relevantEpisodes: Episode[];
122
+ emotionalPattern: string;
123
+ }
124
+ export interface ConsolidationResult {
125
+ decayedCount: number;
126
+ deletedCount: number;
127
+ remainingCount: number;
128
+ }
129
+ export interface BehaviorPattern {
130
+ id: string;
131
+ userId: string;
132
+ patternType: string;
133
+ description: string;
134
+ frequency: 'daily' | 'weekly' | 'biweekly' | 'monthly' | 'irregular';
135
+ occurrences: number;
136
+ confidence: number;
137
+ nextExpected?: Date;
138
+ createdAt: Date;
139
+ }
140
+ export interface CausalChain {
141
+ id: string;
142
+ userId: string;
143
+ events: string[];
144
+ rootCause: string;
145
+ finalEffect: string;
146
+ chainType: string;
147
+ confidence: number;
148
+ description: string;
149
+ }
150
+ export interface FuturePrediction {
151
+ id: string;
152
+ userId: string;
153
+ predictedState: string;
154
+ timeframe: string;
155
+ predictionType: string;
156
+ severity: 'low' | 'medium' | 'high';
157
+ isWarning: boolean;
158
+ recommendation?: string;
159
+ confidence: number;
160
+ isResolved: boolean;
161
+ wasCorrect?: boolean;
162
+ }
163
+ export interface TemporalContext {
164
+ recentTimeline: Episode[];
165
+ activePatterns: BehaviorPattern[];
166
+ activeCausalChains: CausalChain[];
167
+ predictions: FuturePrediction[];
168
+ warnings: FuturePrediction[];
169
+ }
170
+ export interface BanditChoice {
171
+ actionId: string;
172
+ expectedReward: number;
173
+ wasExploration: boolean;
174
+ }
175
+ export interface BanditParams {
176
+ actionId: string;
177
+ mu: number[];
178
+ sigma: number[];
179
+ updatedAt: Date;
180
+ }
181
+ export interface Reflection {
182
+ id: string;
183
+ type: 'observation' | 'question' | 'insight' | 'concern' | 'celebration';
184
+ content: string;
185
+ priority: number;
186
+ expiresAt?: Date;
187
+ }
188
+ export interface Relationship {
189
+ personName: string;
190
+ type: 'family' | 'friend' | 'colleague' | 'romantic' | 'other';
191
+ sentiment: number;
192
+ mentionCount: number;
193
+ context: string;
194
+ }
195
+ export interface OpenLoop {
196
+ id: string;
197
+ question: string;
198
+ importance: number;
199
+ askAfter?: Date;
200
+ expiresAt?: Date;
201
+ isAsked: boolean;
202
+ isClosed: boolean;
203
+ answerSummary?: string;
204
+ }
205
+ export interface EmotionalTrigger {
206
+ trigger: string;
207
+ category: string;
208
+ emotion: string;
209
+ intensity: number;
210
+ occurrenceCount: number;
211
+ }
212
+ export interface MindContext {
213
+ reflections: Reflection[];
214
+ relationships: Relationship[];
215
+ openLoops: OpenLoop[];
216
+ emotionalTriggers: EmotionalTrigger[];
217
+ formattedContext: string;
218
+ }
219
+ export interface InferenceRule {
220
+ name: string;
221
+ condition: (percept: Percept, beliefs: Belief[]) => boolean;
222
+ action: (percept: Percept) => BeliefCandidate;
223
+ }
224
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,5 @@
1
+ // ═══════════════════════════════════════════
2
+ // Perception Types
3
+ // ═══════════════════════════════════════════
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,mBAAmB;AACnB,8CAA8C"}
package/dist/uid.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Generate a unique ID with a prefix.
3
+ * Format: `{prefix}_{timestamp}_{counter}`
4
+ *
5
+ * Not cryptographically secure — use for internal entity IDs only.
6
+ */
7
+ export declare function uid(prefix: string): string;
8
+ //# sourceMappingURL=uid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uid.d.ts","sourceRoot":"","sources":["../src/uid.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1C"}
package/dist/uid.js ADDED
@@ -0,0 +1,11 @@
1
+ let counter = 0;
2
+ /**
3
+ * Generate a unique ID with a prefix.
4
+ * Format: `{prefix}_{timestamp}_{counter}`
5
+ *
6
+ * Not cryptographically secure — use for internal entity IDs only.
7
+ */
8
+ export function uid(prefix) {
9
+ return `${prefix}_${Date.now()}_${++counter}`;
10
+ }
11
+ //# sourceMappingURL=uid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uid.js","sourceRoot":"","sources":["../src/uid.ts"],"names":[],"mappings":"AAAA,IAAI,OAAO,GAAG,CAAC,CAAA;AAEf;;;;;GAKG;AACH,MAAM,UAAU,GAAG,CAAC,MAAc;IAChC,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAC/C,CAAC"}
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "@cognitive-engine/core",
3
+ "version": "0.1.0",
4
+ "description": "Core types, interfaces, and engine orchestrator for cognitive engine",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist"
16
+ ],
17
+ "scripts": {
18
+ "build": "tsc",
19
+ "test": "vitest run",
20
+ "test:watch": "vitest",
21
+ "lint": "eslint src/",
22
+ "clean": "rm -rf dist"
23
+ },
24
+ "dependencies": {
25
+ "@cognitive-engine/math": "*"
26
+ },
27
+ "license": "Apache-2.0",
28
+ "author": "Dmitry Zorin",
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "https://github.com/medonomator/cognitive-engine.git",
32
+ "directory": "packages/core"
33
+ },
34
+ "homepage": "https://github.com/medonomator/cognitive-engine/tree/main/packages/core",
35
+ "publishConfig": {
36
+ "access": "public"
37
+ }
38
+ }