cognitive-core 0.0.2 → 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.
- package/README.md +302 -116
- package/SKILL.md +193 -0
- package/dist/agents/index.d.ts +3 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +5 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/mock-provider.d.ts +23 -0
- package/dist/agents/mock-provider.d.ts.map +1 -0
- package/dist/agents/mock-provider.js +71 -0
- package/dist/agents/mock-provider.js.map +1 -0
- package/dist/agents/types.d.ts +98 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +44 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/atlas.d.ts +196 -0
- package/dist/atlas.d.ts.map +1 -0
- package/dist/atlas.js +373 -0
- package/dist/atlas.js.map +1 -0
- package/dist/bin/cognitive-core.d.ts +18 -0
- package/dist/bin/cognitive-core.d.ts.map +1 -0
- package/dist/bin/cognitive-core.js +419 -0
- package/dist/bin/cognitive-core.js.map +1 -0
- package/dist/embeddings/bm25.d.ts +104 -0
- package/dist/embeddings/bm25.d.ts.map +1 -0
- package/dist/embeddings/bm25.js +264 -0
- package/dist/embeddings/bm25.js.map +1 -0
- package/dist/embeddings/index.d.ts +12 -0
- package/dist/embeddings/index.d.ts.map +1 -0
- package/dist/embeddings/index.js +16 -0
- package/dist/embeddings/index.js.map +1 -0
- package/dist/embeddings/manager.d.ts +112 -0
- package/dist/embeddings/manager.d.ts.map +1 -0
- package/dist/embeddings/manager.js +215 -0
- package/dist/embeddings/manager.js.map +1 -0
- package/dist/embeddings/provider.d.ts +101 -0
- package/dist/embeddings/provider.d.ts.map +1 -0
- package/dist/embeddings/provider.js +232 -0
- package/dist/embeddings/provider.js.map +1 -0
- package/dist/embeddings/vector-store.d.ts +101 -0
- package/dist/embeddings/vector-store.d.ts.map +1 -0
- package/dist/embeddings/vector-store.js +256 -0
- package/dist/embeddings/vector-store.js.map +1 -0
- package/dist/factory.d.ts +193 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/factory.js +109 -0
- package/dist/factory.js.map +1 -0
- package/dist/index.d.ts +30 -453
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +84 -509
- package/dist/index.js.map +1 -0
- package/dist/learning/analyzer.d.ts +110 -0
- package/dist/learning/analyzer.d.ts.map +1 -0
- package/dist/learning/analyzer.js +213 -0
- package/dist/learning/analyzer.js.map +1 -0
- package/dist/learning/effectiveness.d.ts +158 -0
- package/dist/learning/effectiveness.d.ts.map +1 -0
- package/dist/learning/effectiveness.js +251 -0
- package/dist/learning/effectiveness.js.map +1 -0
- package/dist/learning/index.d.ts +8 -0
- package/dist/learning/index.d.ts.map +1 -0
- package/dist/learning/index.js +11 -0
- package/dist/learning/index.js.map +1 -0
- package/dist/learning/llm-extractor.d.ts +88 -0
- package/dist/learning/llm-extractor.d.ts.map +1 -0
- package/dist/learning/llm-extractor.js +372 -0
- package/dist/learning/llm-extractor.js.map +1 -0
- package/dist/learning/meta-learner.d.ts +80 -0
- package/dist/learning/meta-learner.d.ts.map +1 -0
- package/dist/learning/meta-learner.js +355 -0
- package/dist/learning/meta-learner.js.map +1 -0
- package/dist/learning/pipeline.d.ts +65 -0
- package/dist/learning/pipeline.d.ts.map +1 -0
- package/dist/learning/pipeline.js +170 -0
- package/dist/learning/pipeline.js.map +1 -0
- package/dist/learning/playbook-extractor.d.ts +113 -0
- package/dist/learning/playbook-extractor.d.ts.map +1 -0
- package/dist/learning/playbook-extractor.js +523 -0
- package/dist/learning/playbook-extractor.js.map +1 -0
- package/dist/learning/usage-inference.d.ts +82 -0
- package/dist/learning/usage-inference.d.ts.map +1 -0
- package/dist/learning/usage-inference.js +261 -0
- package/dist/learning/usage-inference.js.map +1 -0
- package/dist/mcp/index.d.ts +6 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +6 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/playbook-server.d.ts +120 -0
- package/dist/mcp/playbook-server.d.ts.map +1 -0
- package/dist/mcp/playbook-server.js +427 -0
- package/dist/mcp/playbook-server.js.map +1 -0
- package/dist/memory/curated-loader.d.ts +62 -0
- package/dist/memory/curated-loader.d.ts.map +1 -0
- package/dist/memory/curated-loader.js +106 -0
- package/dist/memory/curated-loader.js.map +1 -0
- package/dist/memory/experience.d.ts +122 -0
- package/dist/memory/experience.d.ts.map +1 -0
- package/dist/memory/experience.js +392 -0
- package/dist/memory/experience.js.map +1 -0
- package/dist/memory/index.d.ts +6 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +9 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/meta.d.ts +90 -0
- package/dist/memory/meta.d.ts.map +1 -0
- package/dist/memory/meta.js +362 -0
- package/dist/memory/meta.js.map +1 -0
- package/dist/memory/playbook.d.ts +133 -0
- package/dist/memory/playbook.d.ts.map +1 -0
- package/dist/memory/playbook.js +357 -0
- package/dist/memory/playbook.js.map +1 -0
- package/dist/memory/system.d.ts +167 -0
- package/dist/memory/system.d.ts.map +1 -0
- package/dist/memory/system.js +383 -0
- package/dist/memory/system.js.map +1 -0
- package/dist/runtime/backends/acp.d.ts +67 -0
- package/dist/runtime/backends/acp.d.ts.map +1 -0
- package/dist/runtime/backends/acp.js +290 -0
- package/dist/runtime/backends/acp.js.map +1 -0
- package/dist/runtime/backends/index.d.ts +5 -0
- package/dist/runtime/backends/index.d.ts.map +1 -0
- package/dist/runtime/backends/index.js +6 -0
- package/dist/runtime/backends/index.js.map +1 -0
- package/dist/runtime/backends/mock.d.ts +67 -0
- package/dist/runtime/backends/mock.d.ts.map +1 -0
- package/dist/runtime/backends/mock.js +153 -0
- package/dist/runtime/backends/mock.js.map +1 -0
- package/dist/runtime/backends/subprocess.d.ts +56 -0
- package/dist/runtime/backends/subprocess.d.ts.map +1 -0
- package/dist/runtime/backends/subprocess.js +260 -0
- package/dist/runtime/backends/subprocess.js.map +1 -0
- package/dist/runtime/flows/learning.d.ts +73 -0
- package/dist/runtime/flows/learning.d.ts.map +1 -0
- package/dist/runtime/flows/learning.js +116 -0
- package/dist/runtime/flows/learning.js.map +1 -0
- package/dist/runtime/flows/validation.d.ts +122 -0
- package/dist/runtime/flows/validation.d.ts.map +1 -0
- package/dist/runtime/flows/validation.js +223 -0
- package/dist/runtime/flows/validation.js.map +1 -0
- package/dist/runtime/index.d.ts +6 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +8 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/manager.d.ts +116 -0
- package/dist/runtime/manager.d.ts.map +1 -0
- package/dist/runtime/manager.js +416 -0
- package/dist/runtime/manager.js.map +1 -0
- package/dist/runtime/types.d.ts +138 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +2 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/search/evaluator.d.ts +102 -0
- package/dist/search/evaluator.d.ts.map +1 -0
- package/dist/search/evaluator.js +352 -0
- package/dist/search/evaluator.js.map +1 -0
- package/dist/search/index.d.ts +7 -0
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +11 -0
- package/dist/search/index.js.map +1 -0
- package/dist/search/refinement-loop.d.ts +73 -0
- package/dist/search/refinement-loop.d.ts.map +1 -0
- package/dist/search/refinement-loop.js +245 -0
- package/dist/search/refinement-loop.js.map +1 -0
- package/dist/search/refinement-types.d.ts +154 -0
- package/dist/search/refinement-types.d.ts.map +1 -0
- package/dist/search/refinement-types.js +99 -0
- package/dist/search/refinement-types.js.map +1 -0
- package/dist/search/router.d.ts +61 -0
- package/dist/search/router.d.ts.map +1 -0
- package/dist/search/router.js +197 -0
- package/dist/search/router.js.map +1 -0
- package/dist/search/solver.d.ts +75 -0
- package/dist/search/solver.d.ts.map +1 -0
- package/dist/search/solver.js +216 -0
- package/dist/search/solver.js.map +1 -0
- package/dist/search/verification-runner.d.ts +125 -0
- package/dist/search/verification-runner.d.ts.map +1 -0
- package/dist/search/verification-runner.js +440 -0
- package/dist/search/verification-runner.js.map +1 -0
- package/dist/surfacing/index.d.ts +2 -0
- package/dist/surfacing/index.d.ts.map +1 -0
- package/dist/surfacing/index.js +2 -0
- package/dist/surfacing/index.js.map +1 -0
- package/dist/surfacing/skill-library.d.ts +158 -0
- package/dist/surfacing/skill-library.d.ts.map +1 -0
- package/dist/surfacing/skill-library.js +429 -0
- package/dist/surfacing/skill-library.js.map +1 -0
- package/dist/types/config.d.ts +1113 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +274 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +14 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/memory.d.ts +339 -0
- package/dist/types/memory.d.ts.map +1 -0
- package/dist/types/memory.js +207 -0
- package/dist/types/memory.js.map +1 -0
- package/dist/types/meta.d.ts +146 -0
- package/dist/types/meta.d.ts.map +1 -0
- package/dist/types/meta.js +51 -0
- package/dist/types/meta.js.map +1 -0
- package/dist/types/outcome.d.ts +42 -0
- package/dist/types/outcome.d.ts.map +1 -0
- package/dist/types/outcome.js +50 -0
- package/dist/types/outcome.js.map +1 -0
- package/dist/types/playbook.d.ts +119 -0
- package/dist/types/playbook.d.ts.map +1 -0
- package/dist/types/playbook.js +71 -0
- package/dist/types/playbook.js.map +1 -0
- package/dist/types/step.d.ts +44 -0
- package/dist/types/step.d.ts.map +1 -0
- package/dist/types/step.js +32 -0
- package/dist/types/step.js.map +1 -0
- package/dist/types/task.d.ts +91 -0
- package/dist/types/task.d.ts.map +1 -0
- package/dist/types/task.js +39 -0
- package/dist/types/task.js.map +1 -0
- package/dist/types/trajectory.d.ts +221 -0
- package/dist/types/trajectory.d.ts.map +1 -0
- package/dist/types/trajectory.js +60 -0
- package/dist/types/trajectory.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/similarity.d.ts +31 -0
- package/dist/utils/similarity.d.ts.map +1 -0
- package/dist/utils/similarity.js +107 -0
- package/dist/utils/similarity.js.map +1 -0
- package/dist/utils/storage.d.ts +106 -0
- package/dist/utils/storage.d.ts.map +1 -0
- package/dist/utils/storage.js +203 -0
- package/dist/utils/storage.js.map +1 -0
- package/dist/utils/validation.d.ts +129 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +171 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +50 -34
- package/scripts/migrate-to-playbooks.ts +307 -0
- package/src/agents/index.ts +14 -0
- package/src/agents/mock-provider.ts +93 -0
- package/src/agents/types.ts +137 -0
- package/src/atlas.ts +560 -0
- package/src/bin/cognitive-core.ts +470 -0
- package/src/embeddings/bm25.ts +337 -0
- package/src/embeddings/index.ts +39 -0
- package/src/embeddings/manager.ts +288 -0
- package/src/embeddings/provider.ts +311 -0
- package/src/embeddings/vector-store.ts +353 -0
- package/src/factory.ts +263 -0
- package/src/index.ts +246 -0
- package/src/learning/analyzer.ts +335 -0
- package/src/learning/effectiveness.ts +428 -0
- package/src/learning/index.ts +58 -0
- package/src/learning/llm-extractor.ts +542 -0
- package/src/learning/meta-learner.ts +516 -0
- package/src/learning/pipeline.ts +244 -0
- package/src/learning/playbook-extractor.ts +702 -0
- package/src/learning/usage-inference.ts +372 -0
- package/src/mcp/index.ts +12 -0
- package/src/mcp/playbook-server.ts +565 -0
- package/src/memory/curated-loader.ts +160 -0
- package/src/memory/experience.ts +515 -0
- package/src/memory/index.ts +27 -0
- package/src/memory/meta.ts +506 -0
- package/src/memory/playbook.ts +493 -0
- package/src/memory/system.ts +551 -0
- package/src/runtime/backends/acp.ts +378 -0
- package/src/runtime/backends/index.ts +24 -0
- package/src/runtime/backends/mock.ts +218 -0
- package/src/runtime/backends/subprocess.ts +356 -0
- package/src/runtime/flows/learning.ts +183 -0
- package/src/runtime/flows/validation.ts +381 -0
- package/src/runtime/index.ts +53 -0
- package/src/runtime/manager.ts +541 -0
- package/src/runtime/types.ts +157 -0
- package/src/search/evaluator.ts +474 -0
- package/src/search/index.ts +59 -0
- package/src/search/refinement-loop.ts +363 -0
- package/src/search/refinement-types.ts +159 -0
- package/src/search/router.ts +261 -0
- package/src/search/solver.ts +303 -0
- package/src/search/verification-runner.ts +570 -0
- package/src/surfacing/index.ts +6 -0
- package/src/surfacing/skill-library.ts +594 -0
- package/src/types/config.ts +333 -0
- package/src/types/index.ts +130 -0
- package/src/types/memory.ts +270 -0
- package/src/types/meta.ts +218 -0
- package/src/types/outcome.ts +66 -0
- package/src/types/playbook.ts +196 -0
- package/src/types/step.ts +40 -0
- package/src/types/task.ts +52 -0
- package/src/types/trajectory.ts +80 -0
- package/src/utils/index.ts +38 -0
- package/src/utils/similarity.ts +139 -0
- package/src/utils/storage.ts +249 -0
- package/src/utils/validation.ts +286 -0
- package/tests/embeddings/bm25.test.ts +130 -0
- package/tests/embeddings/manager.test.ts +205 -0
- package/tests/integration/atlas.test.ts +266 -0
- package/tests/integration/e2e.test.ts +929 -0
- package/tests/learning/analyzer.test.ts +426 -0
- package/tests/learning/effectiveness.test.ts +542 -0
- package/tests/learning/pipeline.test.ts +176 -0
- package/tests/learning/playbook-extractor-provenance.test.ts +114 -0
- package/tests/learning/usage-inference.test.ts +254 -0
- package/tests/mcp/playbook-server.test.ts +252 -0
- package/tests/memory/experience.test.ts +198 -0
- package/tests/memory/playbook.test.ts +338 -0
- package/tests/memory/provenance.test.ts +639 -0
- package/tests/memory/system.test.ts +325 -0
- package/tests/runtime/agent-manager.test.ts +512 -0
- package/tests/runtime/mock-backend.test.ts +248 -0
- package/tests/search/refinement-loop.test.ts +468 -0
- package/tests/search/refinement.test.ts +267 -0
- package/tests/search/router.test.ts +427 -0
- package/tests/surfacing/skill-library.test.ts +292 -0
- package/tests/types/outcome.test.ts +147 -0
- package/tests/types/step.test.ts +133 -0
- package/tests/types/task.test.ts +158 -0
- package/tests/types/trajectory.test.ts +253 -0
- package/tests/utils/similarity.test.ts +188 -0
- package/tests/utils/validation.test.ts +252 -0
- package/tsconfig.json +25 -0
- package/vitest.config.ts +22 -0
- package/dist/index.d.mts +0 -466
- package/dist/index.mjs +0 -478
package/src/factory.ts
ADDED
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory Interface for External Integration
|
|
3
|
+
*
|
|
4
|
+
* Provides a unified factory interface for creating cognitive-core components.
|
|
5
|
+
* This is primarily used by skill-tree and other external consumers who need
|
|
6
|
+
* to inject cognitive-core functionality without direct imports.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { createCognitiveCoreFactory } from 'cognitive-core';
|
|
11
|
+
*
|
|
12
|
+
* const factory = createCognitiveCoreFactory();
|
|
13
|
+
*
|
|
14
|
+
* const memory = factory.createMemorySystem('./.memory');
|
|
15
|
+
* await memory.init();
|
|
16
|
+
*
|
|
17
|
+
* const pipeline = factory.createLearningPipeline(memory, {
|
|
18
|
+
* minTrajectories: 5,
|
|
19
|
+
* });
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
import type { Task, Trajectory, Step, Outcome, LearningConfig } from './types/index.js';
|
|
24
|
+
import { createTask, createTrajectory, createStep, successOutcome, failureOutcome } from './types/index.js';
|
|
25
|
+
import type { MemorySystem } from './memory/system.js';
|
|
26
|
+
import { createMemorySystem } from './memory/system.js';
|
|
27
|
+
import type { ProcessResult, BatchResult } from './learning/pipeline.js';
|
|
28
|
+
import { createLearningPipeline } from './learning/pipeline.js';
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Parameters for creating a Task
|
|
32
|
+
*/
|
|
33
|
+
export interface TaskParams {
|
|
34
|
+
id?: string;
|
|
35
|
+
domain: string;
|
|
36
|
+
description: string;
|
|
37
|
+
context?: Record<string, unknown>;
|
|
38
|
+
metadata?: Record<string, unknown>;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Parameters for creating a Trajectory
|
|
43
|
+
*/
|
|
44
|
+
export interface TrajectoryParams {
|
|
45
|
+
id?: string;
|
|
46
|
+
task: Task;
|
|
47
|
+
steps: Step[];
|
|
48
|
+
outcome: Outcome;
|
|
49
|
+
agentId: string;
|
|
50
|
+
metadata?: Record<string, unknown>;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Parameters for creating a Step
|
|
55
|
+
*/
|
|
56
|
+
export interface StepParams {
|
|
57
|
+
thought?: string;
|
|
58
|
+
action: string;
|
|
59
|
+
observation: string;
|
|
60
|
+
metadata?: Record<string, unknown>;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Parameters for creating an Outcome
|
|
65
|
+
*/
|
|
66
|
+
export interface OutcomeParams {
|
|
67
|
+
success: boolean;
|
|
68
|
+
solution?: unknown;
|
|
69
|
+
errorInfo?: string;
|
|
70
|
+
partialScore?: number;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Learning pipeline configuration
|
|
75
|
+
*/
|
|
76
|
+
export interface LearningPipelineConfig {
|
|
77
|
+
creditStrategy?: 'simple' | 'contribution';
|
|
78
|
+
minTrajectories?: number;
|
|
79
|
+
deduplicationThreshold?: number;
|
|
80
|
+
minSuccessRate?: number;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Interface for the LearningPipeline that external consumers need
|
|
85
|
+
*/
|
|
86
|
+
export interface ILearningPipeline {
|
|
87
|
+
processTrajectory(trajectory: Trajectory): Promise<ProcessResult>;
|
|
88
|
+
shouldRunBatch(): boolean;
|
|
89
|
+
runBatchLearning(): Promise<BatchResult>;
|
|
90
|
+
getAccumulatedCount(): number;
|
|
91
|
+
clearAccumulated(): void;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Interface for the MemorySystem that external consumers need
|
|
96
|
+
*/
|
|
97
|
+
export interface IMemorySystem {
|
|
98
|
+
init(): Promise<void>;
|
|
99
|
+
close(): Promise<void>;
|
|
100
|
+
playbooks: {
|
|
101
|
+
getAll(): Promise<import('./types/playbook.js').Playbook[]>;
|
|
102
|
+
get(id: string): Promise<import('./types/playbook.js').Playbook | undefined>;
|
|
103
|
+
add(playbook: import('./types/playbook.js').Playbook): Promise<void>;
|
|
104
|
+
recordSuccess(id: string, trajectoryId: string): Promise<void>;
|
|
105
|
+
recordFailure(id: string, trajectoryId: string, context: string, failureMode: string): Promise<void>;
|
|
106
|
+
};
|
|
107
|
+
storeTrajectory(trajectory: Trajectory): Promise<import('./types/memory.js').Experience>;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Factory interface for creating cognitive-core components
|
|
112
|
+
*
|
|
113
|
+
* This interface allows external consumers (like skill-tree) to create
|
|
114
|
+
* cognitive-core components without directly importing the implementation.
|
|
115
|
+
* This enables dependency injection and cleaner integration.
|
|
116
|
+
*/
|
|
117
|
+
export interface CognitiveCoreFactory {
|
|
118
|
+
/**
|
|
119
|
+
* Create a memory system for storing experiences and playbooks
|
|
120
|
+
*/
|
|
121
|
+
createMemorySystem(storagePath: string): IMemorySystem;
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Create a learning pipeline for processing trajectories
|
|
125
|
+
*/
|
|
126
|
+
createLearningPipeline(
|
|
127
|
+
memory: IMemorySystem,
|
|
128
|
+
config?: LearningPipelineConfig
|
|
129
|
+
): ILearningPipeline;
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Create a trajectory from parameters
|
|
133
|
+
*/
|
|
134
|
+
createTrajectory(params: TrajectoryParams): Trajectory;
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Create a task from parameters
|
|
138
|
+
*/
|
|
139
|
+
createTask(params: TaskParams): Task;
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Create a step from parameters
|
|
143
|
+
*/
|
|
144
|
+
createStep(params: StepParams): Step;
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Create a success outcome
|
|
148
|
+
*/
|
|
149
|
+
createSuccessOutcome(solution: unknown): Outcome;
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Create a failure outcome
|
|
153
|
+
*/
|
|
154
|
+
createFailureOutcome(errorInfo: string): Outcome;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Implementation of the CognitiveCoreFactory
|
|
159
|
+
*/
|
|
160
|
+
class CognitiveCoreFactoryImpl implements CognitiveCoreFactory {
|
|
161
|
+
createMemorySystem(storagePath: string): IMemorySystem {
|
|
162
|
+
return createMemorySystem(storagePath) as IMemorySystem;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
createLearningPipeline(
|
|
166
|
+
memory: IMemorySystem,
|
|
167
|
+
config?: LearningPipelineConfig
|
|
168
|
+
): ILearningPipeline {
|
|
169
|
+
return createLearningPipeline(
|
|
170
|
+
memory as MemorySystem,
|
|
171
|
+
config as Partial<LearningConfig>
|
|
172
|
+
) as ILearningPipeline;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
createTrajectory(params: TrajectoryParams): Trajectory {
|
|
176
|
+
return createTrajectory(params);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
createTask(params: TaskParams): Task {
|
|
180
|
+
return createTask(params);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
createStep(params: StepParams): Step {
|
|
184
|
+
return createStep(params);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
createSuccessOutcome(solution: unknown): Outcome {
|
|
188
|
+
return successOutcome(solution);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
createFailureOutcome(errorInfo: string): Outcome {
|
|
192
|
+
return failureOutcome(errorInfo);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Create a factory instance for cognitive-core components
|
|
198
|
+
*
|
|
199
|
+
* @returns A factory that can create memory systems, learning pipelines,
|
|
200
|
+
* trajectories, tasks, steps, and outcomes.
|
|
201
|
+
*
|
|
202
|
+
* @example
|
|
203
|
+
* ```typescript
|
|
204
|
+
* const factory = createCognitiveCoreFactory();
|
|
205
|
+
*
|
|
206
|
+
* // Create memory system
|
|
207
|
+
* const memory = factory.createMemorySystem('./.atlas');
|
|
208
|
+
* await memory.init();
|
|
209
|
+
*
|
|
210
|
+
* // Create learning pipeline
|
|
211
|
+
* const pipeline = factory.createLearningPipeline(memory, {
|
|
212
|
+
* minTrajectories: 10,
|
|
213
|
+
* deduplicationThreshold: 0.85,
|
|
214
|
+
* });
|
|
215
|
+
*
|
|
216
|
+
* // Create and process trajectory
|
|
217
|
+
* const task = factory.createTask({
|
|
218
|
+
* domain: 'code',
|
|
219
|
+
* description: 'Fix the bug',
|
|
220
|
+
* });
|
|
221
|
+
*
|
|
222
|
+
* const trajectory = factory.createTrajectory({
|
|
223
|
+
* task,
|
|
224
|
+
* steps: [
|
|
225
|
+
* factory.createStep({
|
|
226
|
+
* action: 'read file',
|
|
227
|
+
* observation: 'found bug',
|
|
228
|
+
* }),
|
|
229
|
+
* ],
|
|
230
|
+
* outcome: factory.createSuccessOutcome('Fixed'),
|
|
231
|
+
* agentId: 'my-agent',
|
|
232
|
+
* });
|
|
233
|
+
*
|
|
234
|
+
* await pipeline.processTrajectory(trajectory);
|
|
235
|
+
* ```
|
|
236
|
+
*/
|
|
237
|
+
export function createCognitiveCoreFactory(): CognitiveCoreFactory {
|
|
238
|
+
return new CognitiveCoreFactoryImpl();
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* Get the default factory instance
|
|
243
|
+
*
|
|
244
|
+
* This is a convenience for consumers who just need the factory functions
|
|
245
|
+
* without managing a factory instance.
|
|
246
|
+
*/
|
|
247
|
+
export const cognitiveCoreFactory = createCognitiveCoreFactory();
|
|
248
|
+
|
|
249
|
+
/**
|
|
250
|
+
* Individual factory functions (for direct imports)
|
|
251
|
+
*
|
|
252
|
+
* These are re-exports of the underlying creation functions for consumers
|
|
253
|
+
* who prefer direct imports over the factory pattern.
|
|
254
|
+
*/
|
|
255
|
+
export {
|
|
256
|
+
createMemorySystem,
|
|
257
|
+
createLearningPipeline,
|
|
258
|
+
createTask,
|
|
259
|
+
createTrajectory,
|
|
260
|
+
createStep,
|
|
261
|
+
successOutcome,
|
|
262
|
+
failureOutcome,
|
|
263
|
+
};
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Atlas - Adaptive Trajectory Learning and Abstraction System
|
|
3
|
+
*
|
|
4
|
+
* A TypeScript-native cognitive core for building agents that learn
|
|
5
|
+
* from experience. Extracts playbooks from problem-solving trajectories
|
|
6
|
+
* to guide future task solving.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { createAtlas, createTask } from 'cognitive-core';
|
|
11
|
+
*
|
|
12
|
+
* const atlas = createAtlas();
|
|
13
|
+
* await atlas.init();
|
|
14
|
+
*
|
|
15
|
+
* // Set your LLM provider
|
|
16
|
+
* atlas.setProvider(myProvider);
|
|
17
|
+
*
|
|
18
|
+
* // Solve a task
|
|
19
|
+
* const task = createTask({
|
|
20
|
+
* domain: 'code',
|
|
21
|
+
* description: 'Write a function that...',
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* const result = await atlas.solve(task);
|
|
25
|
+
* console.log(result.trajectory.outcome);
|
|
26
|
+
*
|
|
27
|
+
* // Close when done
|
|
28
|
+
* await atlas.close();
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
// Main Atlas class
|
|
33
|
+
export {
|
|
34
|
+
Atlas,
|
|
35
|
+
createAtlas,
|
|
36
|
+
createAtlasWithProvider,
|
|
37
|
+
createAtlasWithAgents,
|
|
38
|
+
type AtlasStats,
|
|
39
|
+
type SolveResult,
|
|
40
|
+
} from './atlas.js';
|
|
41
|
+
|
|
42
|
+
// Types
|
|
43
|
+
export * from './types/index.js';
|
|
44
|
+
|
|
45
|
+
// Memory system
|
|
46
|
+
export {
|
|
47
|
+
MemorySystem,
|
|
48
|
+
createMemorySystem,
|
|
49
|
+
ExperienceMemory,
|
|
50
|
+
type MemoryQueryResult,
|
|
51
|
+
type MemoryQueryResultV2,
|
|
52
|
+
// Playbook-based memory
|
|
53
|
+
PlaybookLibrary,
|
|
54
|
+
createPlaybookLibrary,
|
|
55
|
+
type PlaybookMatch,
|
|
56
|
+
// Meta-learning memory
|
|
57
|
+
MetaMemory,
|
|
58
|
+
createMetaMemory,
|
|
59
|
+
} from './memory/index.js';
|
|
60
|
+
|
|
61
|
+
// Learning engine
|
|
62
|
+
export {
|
|
63
|
+
LearningPipeline,
|
|
64
|
+
createLearningPipeline,
|
|
65
|
+
TrajectoryAnalyzer,
|
|
66
|
+
createAnalyzer,
|
|
67
|
+
type ProcessResult,
|
|
68
|
+
type BatchResult,
|
|
69
|
+
type AnalysisResult,
|
|
70
|
+
// Playbook-based learning
|
|
71
|
+
PlaybookExtractor,
|
|
72
|
+
createPlaybookExtractor,
|
|
73
|
+
type ExtractedPlaybooks,
|
|
74
|
+
type PlaybookUpdate,
|
|
75
|
+
type PlaybookExtractorConfig,
|
|
76
|
+
// Meta-learning
|
|
77
|
+
MetaLearner,
|
|
78
|
+
createMetaLearner,
|
|
79
|
+
type MetaLearnerConfig,
|
|
80
|
+
// Usage inference
|
|
81
|
+
PlaybookUsageInference,
|
|
82
|
+
createUsageInference,
|
|
83
|
+
type PlaybookUsageResult,
|
|
84
|
+
type UsageInferenceConfig,
|
|
85
|
+
// LLM-based extraction
|
|
86
|
+
LLMPlaybookExtractor,
|
|
87
|
+
createLLMExtractor,
|
|
88
|
+
type LLMExtractorConfig,
|
|
89
|
+
type LLMExtractionResult,
|
|
90
|
+
} from './learning/index.js';
|
|
91
|
+
|
|
92
|
+
// Search/solving
|
|
93
|
+
export {
|
|
94
|
+
TaskRouter,
|
|
95
|
+
createRouter,
|
|
96
|
+
DirectSolver,
|
|
97
|
+
createSolver,
|
|
98
|
+
type RoutingDecision,
|
|
99
|
+
type SolverResult,
|
|
100
|
+
// Refinement
|
|
101
|
+
SolutionEvaluator,
|
|
102
|
+
createSolutionEvaluator,
|
|
103
|
+
RefinementLoop,
|
|
104
|
+
createRefinementLoop,
|
|
105
|
+
createEvaluationResult,
|
|
106
|
+
scoreToQuality,
|
|
107
|
+
isQualityAcceptable,
|
|
108
|
+
type EvaluationResult,
|
|
109
|
+
type EvaluationIssue,
|
|
110
|
+
type EvaluationMethod,
|
|
111
|
+
type QualityLevel,
|
|
112
|
+
type FailureContext,
|
|
113
|
+
type RefinementResult,
|
|
114
|
+
type EvaluatorConfig,
|
|
115
|
+
type VerificationFunction,
|
|
116
|
+
type VerificationResult,
|
|
117
|
+
type RefinementLoopConfig,
|
|
118
|
+
// Verification runner
|
|
119
|
+
VerificationRunner,
|
|
120
|
+
createVerificationRunner,
|
|
121
|
+
TestRunners,
|
|
122
|
+
type CommandVerificationConfig,
|
|
123
|
+
type CommandResult,
|
|
124
|
+
type VerificationIssue,
|
|
125
|
+
} from './search/index.js';
|
|
126
|
+
|
|
127
|
+
// Agents
|
|
128
|
+
export {
|
|
129
|
+
Agent,
|
|
130
|
+
MockLLMProvider,
|
|
131
|
+
createMockProvider,
|
|
132
|
+
type LLMProvider,
|
|
133
|
+
type Message,
|
|
134
|
+
type CompletionOptions,
|
|
135
|
+
type AgentConfig,
|
|
136
|
+
} from './agents/index.js';
|
|
137
|
+
|
|
138
|
+
// Utilities
|
|
139
|
+
export {
|
|
140
|
+
cosineSimilarity,
|
|
141
|
+
textSimilarity,
|
|
142
|
+
findTopK,
|
|
143
|
+
JsonStore,
|
|
144
|
+
saveJson,
|
|
145
|
+
loadJson,
|
|
146
|
+
} from './utils/index.js';
|
|
147
|
+
|
|
148
|
+
// Embeddings - Vector search and similarity
|
|
149
|
+
export {
|
|
150
|
+
// Provider interface and implementations
|
|
151
|
+
type EmbeddingProvider,
|
|
152
|
+
type EmbeddingProviderConfig,
|
|
153
|
+
OpenAIEmbeddingProvider,
|
|
154
|
+
VoyageEmbeddingProvider,
|
|
155
|
+
LocalEmbeddingProvider,
|
|
156
|
+
createEmbeddingProvider,
|
|
157
|
+
// BM25 text search fallback
|
|
158
|
+
BM25Index,
|
|
159
|
+
createBM25Index,
|
|
160
|
+
type MemoryItemType,
|
|
161
|
+
// Vector store
|
|
162
|
+
SqliteVectorStore,
|
|
163
|
+
createVectorStore,
|
|
164
|
+
type VectorSearchResult,
|
|
165
|
+
// Embedding manager
|
|
166
|
+
EmbeddingManager,
|
|
167
|
+
createEmbeddingManager,
|
|
168
|
+
type EmbeddingManagerOptions,
|
|
169
|
+
type SearchResult,
|
|
170
|
+
} from './embeddings/index.js';
|
|
171
|
+
|
|
172
|
+
// Runtime - Agent management and flows
|
|
173
|
+
export {
|
|
174
|
+
// Manager
|
|
175
|
+
AgentManager,
|
|
176
|
+
createAgentManager,
|
|
177
|
+
DefaultKnowledgeInjector,
|
|
178
|
+
DefaultTrajectoryExtractor,
|
|
179
|
+
// Backends
|
|
180
|
+
SubprocessBackend,
|
|
181
|
+
createSubprocessBackend,
|
|
182
|
+
claudeCodeConfig,
|
|
183
|
+
MockBackend,
|
|
184
|
+
createMockBackend,
|
|
185
|
+
ACPBackend,
|
|
186
|
+
createACPBackend,
|
|
187
|
+
claudeCodeACPConfig,
|
|
188
|
+
claudeCodeDirectConfig,
|
|
189
|
+
// Flows
|
|
190
|
+
LearningFlow,
|
|
191
|
+
createLearningFlow,
|
|
192
|
+
ValidationFlow,
|
|
193
|
+
createValidationFlow,
|
|
194
|
+
// Types
|
|
195
|
+
type AgentMessage,
|
|
196
|
+
type ToolCall,
|
|
197
|
+
type AgentState,
|
|
198
|
+
type AgentSession,
|
|
199
|
+
type AgentSpawnConfig,
|
|
200
|
+
type AgentResult,
|
|
201
|
+
type AgentBackend,
|
|
202
|
+
type KnowledgeInjector,
|
|
203
|
+
type TrajectoryExtractor,
|
|
204
|
+
type AgentObserverCallbacks,
|
|
205
|
+
type SubprocessAgentConfig,
|
|
206
|
+
type MockAgentBehavior,
|
|
207
|
+
type ACPAgentConfig,
|
|
208
|
+
type LearningFlowConfig,
|
|
209
|
+
type LearningFlowResult,
|
|
210
|
+
type ValidationFlowConfig,
|
|
211
|
+
type ValidationFlowResult,
|
|
212
|
+
type ValidationMetrics,
|
|
213
|
+
} from './runtime/index.js';
|
|
214
|
+
|
|
215
|
+
// Surfacing - Skill library for agent consumption
|
|
216
|
+
export {
|
|
217
|
+
SkillLibrary,
|
|
218
|
+
createSkillLibrary,
|
|
219
|
+
type AgentSkills,
|
|
220
|
+
type TierRefreshResult,
|
|
221
|
+
} from './surfacing/index.js';
|
|
222
|
+
|
|
223
|
+
// MCP Server - On-demand playbook access
|
|
224
|
+
// @deprecated Use the CLI (bin/cognitive-core) + SKILL.md approach instead
|
|
225
|
+
export {
|
|
226
|
+
PlaybookMCPServer,
|
|
227
|
+
createPlaybookMCPServer,
|
|
228
|
+
type MCPTool,
|
|
229
|
+
type MCPToolCall,
|
|
230
|
+
type MCPToolResult,
|
|
231
|
+
type PlaybookSearchResult,
|
|
232
|
+
} from './mcp/index.js';
|
|
233
|
+
|
|
234
|
+
// Factory - Unified interface for external integration (e.g., skill-tree)
|
|
235
|
+
export {
|
|
236
|
+
createCognitiveCoreFactory,
|
|
237
|
+
cognitiveCoreFactory,
|
|
238
|
+
type CognitiveCoreFactory,
|
|
239
|
+
type ILearningPipeline,
|
|
240
|
+
type IMemorySystem,
|
|
241
|
+
type TaskParams,
|
|
242
|
+
type TrajectoryParams,
|
|
243
|
+
type StepParams,
|
|
244
|
+
type OutcomeParams,
|
|
245
|
+
type LearningPipelineConfig,
|
|
246
|
+
} from './factory.js';
|