synapse-causal-memory 0.0.0-stage → 0.2.3
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 +25 -2
- package/causal-memory.json +5021 -0
- package/dist/causal-benchmark.d.ts +29 -0
- package/dist/causal-config.d.ts +28 -0
- package/dist/causal-migrator.d.ts +11 -0
- package/dist/causal-peer.d.ts +53 -0
- package/dist/causal-query.d.ts +21 -0
- package/dist/causal-server.d.ts +300 -0
- package/dist/causal-store.d.ts +273 -0
- package/dist/cli.d.ts +13 -0
- package/dist/cli.js +2750 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +2065 -0
- package/package.json +47 -4
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type CausalMemoryDatabase } from './causal-store';
|
|
2
|
+
export interface OverloadBenchmarkConfig {
|
|
3
|
+
readonly ruleScale: number;
|
|
4
|
+
readonly relationScale: number;
|
|
5
|
+
readonly concurrency: number;
|
|
6
|
+
readonly totalRequests: number;
|
|
7
|
+
readonly fileInputScale: number;
|
|
8
|
+
readonly crudIterations: number;
|
|
9
|
+
}
|
|
10
|
+
export interface ScenarioMetrics {
|
|
11
|
+
readonly name: string;
|
|
12
|
+
readonly passed: boolean;
|
|
13
|
+
readonly details: Record<string, string | number>;
|
|
14
|
+
}
|
|
15
|
+
export interface OverloadBenchmarkReport {
|
|
16
|
+
readonly timestamp: string;
|
|
17
|
+
readonly config: OverloadBenchmarkConfig;
|
|
18
|
+
readonly allPassed: boolean;
|
|
19
|
+
readonly totalDurationMs: number;
|
|
20
|
+
readonly scenarios: readonly ScenarioMetrics[];
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* 대규모 합성 인과율 데이터베이스 생성기 (10,000 Rules + 20,000 Relations + 5-Hop & Circular Chains)
|
|
24
|
+
*/
|
|
25
|
+
export declare function generateSyntheticDatabase(ruleCount: number, relationCount: number): CausalMemoryDatabase;
|
|
26
|
+
/**
|
|
27
|
+
* 차세대 인과율 메모리(Causal Memory 2.1) 4대 차원 과부하 벤치마크 실행기
|
|
28
|
+
*/
|
|
29
|
+
export declare function executeOverloadBenchmark(customConfig?: Partial<OverloadBenchmarkConfig>, silent?: boolean): Promise<OverloadBenchmarkReport>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 인과율 메모리(Causal Memory) 전역 설정 및 환경 변수 모듈
|
|
3
|
+
* 하드코딩을 배제하고 환경 변수와 OS 표준 경로를 통해 설정값을 관리합니다.
|
|
4
|
+
*/
|
|
5
|
+
export declare const CAUSAL_MEMORY_CONFIG: {
|
|
6
|
+
/** 데이터베이스 스키마 버전 */
|
|
7
|
+
readonly SCHEMA_VERSION: string;
|
|
8
|
+
/** 전역 인과율 메모리 데이터베이스 기본 경로 */
|
|
9
|
+
readonly GLOBAL_DB_PATH: string;
|
|
10
|
+
/** 구형 메모리 백업 경로 */
|
|
11
|
+
readonly LEGACY_BACKUP_PATH: string;
|
|
12
|
+
/** 패키지 내장 폴백 데이터베이스 경로 */
|
|
13
|
+
readonly LOCAL_DB_PATH: string;
|
|
14
|
+
/** 독립 로컬 데몬 서버 기본 호스트 */
|
|
15
|
+
readonly DEFAULT_HOST: string;
|
|
16
|
+
/** 독립 로컬 데몬 서버 기본 포트 */
|
|
17
|
+
readonly DEFAULT_PORT: number;
|
|
18
|
+
/** 원격 Causal Memory 데몬 프록시 URL (예: Tailscale 피어 http://100.82.92.122:4242) */
|
|
19
|
+
readonly REMOTE_URL: string;
|
|
20
|
+
/** 원격 요청 제한 시간 (ms) */
|
|
21
|
+
readonly REMOTE_TIMEOUT_MS: number;
|
|
22
|
+
/** MCP 서버 프로토콜 버전 */
|
|
23
|
+
readonly MCP_PROTOCOL_VERSION: string;
|
|
24
|
+
/** MCP 서버 식별 이름 */
|
|
25
|
+
readonly MCP_SERVER_NAME: "synapse-causal-memory";
|
|
26
|
+
/** 공명 쿼리 시 컨텍스트 최대 노출 줄 수 (토큰 절감 임계치) */
|
|
27
|
+
readonly MAX_CONTEXT_PREVIEW_LINES: number;
|
|
28
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 구형 지식 그래프(memory_backup)를 차세대 인과율 메모리(Causal Memory 2.1)로 무손실 변환합니다.
|
|
3
|
+
* 엔티티뿐만 아니라 모든 인과 간선(Relations)을 100% 보존하며, 도메인 오분류를 방지합니다.
|
|
4
|
+
*/
|
|
5
|
+
export declare function migrateLegacyMemoryGraph(sourceBackupPath?: string, targetGlobalPath?: string, targetLocalPath?: string): {
|
|
6
|
+
readonly ok: boolean;
|
|
7
|
+
readonly totalRules: number;
|
|
8
|
+
readonly totalRelations: number;
|
|
9
|
+
readonly alwaysActiveCount: number;
|
|
10
|
+
readonly domains: readonly string[];
|
|
11
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { CausalQueryOptions, CausalResonanceResult } from './causal-store';
|
|
2
|
+
export interface TailscalePeerNode {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly hostName: string;
|
|
5
|
+
readonly ip: string;
|
|
6
|
+
readonly os: string;
|
|
7
|
+
readonly online: boolean;
|
|
8
|
+
readonly active: boolean;
|
|
9
|
+
readonly isSelf: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface PeerHealthResult {
|
|
12
|
+
readonly host: string;
|
|
13
|
+
readonly port: number;
|
|
14
|
+
readonly url: string;
|
|
15
|
+
readonly reachable: boolean;
|
|
16
|
+
readonly rttMs: number;
|
|
17
|
+
readonly version?: string;
|
|
18
|
+
readonly totalRules?: number;
|
|
19
|
+
readonly totalRelations?: number;
|
|
20
|
+
readonly error?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface PeerSyncResult {
|
|
23
|
+
readonly targetHost: string;
|
|
24
|
+
readonly direction: 'pull' | 'push';
|
|
25
|
+
readonly success: boolean;
|
|
26
|
+
readonly durationMs: number;
|
|
27
|
+
readonly addedRules?: number;
|
|
28
|
+
readonly updatedRules?: number;
|
|
29
|
+
readonly addedRelations?: number;
|
|
30
|
+
readonly totalRules?: number;
|
|
31
|
+
readonly totalRelations?: number;
|
|
32
|
+
readonly error?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Tailscale CLI 상태를 파싱하여 활성 피어 목록을 조회합니다.
|
|
36
|
+
*/
|
|
37
|
+
export declare function getTailscalePeers(): Promise<{
|
|
38
|
+
selfIp?: string;
|
|
39
|
+
selfHost?: string;
|
|
40
|
+
peers: TailscalePeerNode[];
|
|
41
|
+
}>;
|
|
42
|
+
/**
|
|
43
|
+
* 대상 호스트의 Causal Memory Daemon 헬스체크 및 RTT 측정
|
|
44
|
+
*/
|
|
45
|
+
export declare function pingPeer(host: string, port?: number): Promise<PeerHealthResult>;
|
|
46
|
+
/**
|
|
47
|
+
* 원격 Causal Memory Daemon에 공명 쿼리 실행
|
|
48
|
+
*/
|
|
49
|
+
export declare function queryRemotePeer(remoteUrl: string, options: CausalQueryOptions): Promise<CausalResonanceResult>;
|
|
50
|
+
/**
|
|
51
|
+
* 피어 노드 간 인과율 규칙 및 간선 동기화 (Sync)
|
|
52
|
+
*/
|
|
53
|
+
export declare function syncWithPeer(remoteHost: string, port?: number, direction?: 'pull' | 'push', dbPath?: string): Promise<PeerSyncResult>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type CausalResonanceResult } from './causal-store';
|
|
2
|
+
/**
|
|
3
|
+
* Git 작업 트리의 변경 파일 목록 자동 추출
|
|
4
|
+
*/
|
|
5
|
+
export declare function detectModifiedFiles(cwd?: string): Promise<string[]>;
|
|
6
|
+
/**
|
|
7
|
+
* 인과율 공명 쿼리 실행기
|
|
8
|
+
*/
|
|
9
|
+
export declare function runCausalQuery(rawOptions: {
|
|
10
|
+
files?: string[];
|
|
11
|
+
keywords?: string[];
|
|
12
|
+
command?: string;
|
|
13
|
+
domain?: string;
|
|
14
|
+
autoGit?: boolean;
|
|
15
|
+
cwd?: string;
|
|
16
|
+
propagateRelations?: boolean;
|
|
17
|
+
}, storeCustomPath?: string): Promise<CausalResonanceResult>;
|
|
18
|
+
/**
|
|
19
|
+
* AI 에이전트 주입용 초경량 마크다운/텍스트 포맷터
|
|
20
|
+
*/
|
|
21
|
+
export declare function formatResonanceForAgent(result: CausalResonanceResult, compact?: boolean): string;
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
import { CausalMemoryStore } from './causal-store';
|
|
2
|
+
export interface ServerOptions {
|
|
3
|
+
readonly port?: number;
|
|
4
|
+
readonly host?: string;
|
|
5
|
+
readonly dbPath?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface JsonRpcRequest {
|
|
8
|
+
readonly jsonrpc?: string;
|
|
9
|
+
readonly id?: string | number | null;
|
|
10
|
+
readonly method: string;
|
|
11
|
+
readonly params?: Record<string, any>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* MCP 표준 도구 스키마 목록 (신규 인과율 도구 3종 + 구형 memory 호환 도구 9종 = 총 12종)
|
|
15
|
+
*/
|
|
16
|
+
export declare const CAUSAL_MCP_TOOLS: readonly [{
|
|
17
|
+
readonly name: "query_causal_memory";
|
|
18
|
+
readonly description: "작업 컨텍스트(수정된 파일, 키워드, 명령어, 도메인)에 매칭되는 인과율 지식과 불변 규칙만 0ms 초경량으로 공명 쿼리합니다.";
|
|
19
|
+
readonly inputSchema: {
|
|
20
|
+
readonly type: "object";
|
|
21
|
+
readonly properties: {
|
|
22
|
+
readonly files: {
|
|
23
|
+
readonly type: "array";
|
|
24
|
+
readonly items: {
|
|
25
|
+
readonly type: "string";
|
|
26
|
+
};
|
|
27
|
+
readonly description: "감지할 대상 파일 경로 목록 (생략 시 Git 변경 파일 자동 감지)";
|
|
28
|
+
};
|
|
29
|
+
readonly keywords: {
|
|
30
|
+
readonly type: "array";
|
|
31
|
+
readonly items: {
|
|
32
|
+
readonly type: "string";
|
|
33
|
+
};
|
|
34
|
+
readonly description: "검색할 도메인/작업 키워드 목록";
|
|
35
|
+
};
|
|
36
|
+
readonly command: {
|
|
37
|
+
readonly type: "string";
|
|
38
|
+
readonly description: "연동 명령어 (예: check, build, release, sign)";
|
|
39
|
+
};
|
|
40
|
+
readonly domain: {
|
|
41
|
+
readonly type: "string";
|
|
42
|
+
readonly description: "특정 도메인 필터";
|
|
43
|
+
};
|
|
44
|
+
readonly compact: {
|
|
45
|
+
readonly type: "boolean";
|
|
46
|
+
readonly description: "초소형 JSON 포맷 반환 여부";
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
}, {
|
|
51
|
+
readonly name: "assert_causal_rule";
|
|
52
|
+
readonly description: "신규 인과율 규칙(원인 트리거 ➔ 불변 계약 ➔ 실행 지침)을 메모리에 등록하거나 갱신합니다.";
|
|
53
|
+
readonly inputSchema: {
|
|
54
|
+
readonly type: "object";
|
|
55
|
+
readonly required: readonly ["id", "domain", "title", "triggers"];
|
|
56
|
+
readonly properties: {
|
|
57
|
+
readonly id: {
|
|
58
|
+
readonly type: "string";
|
|
59
|
+
};
|
|
60
|
+
readonly domain: {
|
|
61
|
+
readonly type: "string";
|
|
62
|
+
};
|
|
63
|
+
readonly title: {
|
|
64
|
+
readonly type: "string";
|
|
65
|
+
};
|
|
66
|
+
readonly triggers: {
|
|
67
|
+
readonly type: "object";
|
|
68
|
+
};
|
|
69
|
+
readonly invariants: {
|
|
70
|
+
readonly type: "array";
|
|
71
|
+
readonly items: {
|
|
72
|
+
readonly type: "string";
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
readonly actions: {
|
|
76
|
+
readonly type: "array";
|
|
77
|
+
readonly items: {
|
|
78
|
+
readonly type: "string";
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
readonly context: {
|
|
82
|
+
readonly type: "array";
|
|
83
|
+
readonly items: {
|
|
84
|
+
readonly type: "string";
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
}, {
|
|
90
|
+
readonly name: "audit_causal_memory";
|
|
91
|
+
readonly description: "인과율 메모리 데이터베이스의 무결성, 도메인 분포, 토큰 절감 상태를 감사(Audit)합니다.";
|
|
92
|
+
readonly inputSchema: {
|
|
93
|
+
readonly type: "object";
|
|
94
|
+
readonly properties: {};
|
|
95
|
+
};
|
|
96
|
+
}, {
|
|
97
|
+
readonly name: "read_graph";
|
|
98
|
+
readonly description: "Read the active causal resonance knowledge graph (automatically filters out unrelated noise for 90%+ token savings)";
|
|
99
|
+
readonly inputSchema: {
|
|
100
|
+
readonly type: "object";
|
|
101
|
+
readonly properties: {};
|
|
102
|
+
};
|
|
103
|
+
}, {
|
|
104
|
+
readonly name: "search_nodes";
|
|
105
|
+
readonly description: "Search for causal rules and nodes in the knowledge graph based on a query and traverse causal relations";
|
|
106
|
+
readonly inputSchema: {
|
|
107
|
+
readonly type: "object";
|
|
108
|
+
readonly required: readonly ["query"];
|
|
109
|
+
readonly properties: {
|
|
110
|
+
readonly query: {
|
|
111
|
+
readonly type: "string";
|
|
112
|
+
readonly description: "The search query to match against rule titles, domains, triggers, and invariants";
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
}, {
|
|
117
|
+
readonly name: "open_nodes";
|
|
118
|
+
readonly description: "Open specific causal rule nodes in the knowledge graph by their names or IDs";
|
|
119
|
+
readonly inputSchema: {
|
|
120
|
+
readonly type: "object";
|
|
121
|
+
readonly required: readonly ["names"];
|
|
122
|
+
readonly properties: {
|
|
123
|
+
readonly names: {
|
|
124
|
+
readonly type: "array";
|
|
125
|
+
readonly items: {
|
|
126
|
+
readonly type: "string";
|
|
127
|
+
};
|
|
128
|
+
readonly description: "An array of entity names or rule IDs to retrieve";
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
}, {
|
|
133
|
+
readonly name: "create_entities";
|
|
134
|
+
readonly description: "Create multiple new entities (automatically converted into structured Causal Rules)";
|
|
135
|
+
readonly inputSchema: {
|
|
136
|
+
readonly type: "object";
|
|
137
|
+
readonly required: readonly ["entities"];
|
|
138
|
+
readonly properties: {
|
|
139
|
+
readonly entities: {
|
|
140
|
+
readonly type: "array";
|
|
141
|
+
readonly items: {
|
|
142
|
+
readonly type: "object";
|
|
143
|
+
readonly required: readonly ["name", "entityType", "observations"];
|
|
144
|
+
readonly properties: {
|
|
145
|
+
readonly name: {
|
|
146
|
+
readonly type: "string";
|
|
147
|
+
};
|
|
148
|
+
readonly entityType: {
|
|
149
|
+
readonly type: "string";
|
|
150
|
+
};
|
|
151
|
+
readonly observations: {
|
|
152
|
+
readonly type: "array";
|
|
153
|
+
readonly items: {
|
|
154
|
+
readonly type: "string";
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
};
|
|
159
|
+
};
|
|
160
|
+
};
|
|
161
|
+
};
|
|
162
|
+
}, {
|
|
163
|
+
readonly name: "create_relations";
|
|
164
|
+
readonly description: "Create multiple new causal relations between nodes in the knowledge graph";
|
|
165
|
+
readonly inputSchema: {
|
|
166
|
+
readonly type: "object";
|
|
167
|
+
readonly required: readonly ["relations"];
|
|
168
|
+
readonly properties: {
|
|
169
|
+
readonly relations: {
|
|
170
|
+
readonly type: "array";
|
|
171
|
+
readonly items: {
|
|
172
|
+
readonly type: "object";
|
|
173
|
+
readonly required: readonly ["from", "to", "relationType"];
|
|
174
|
+
readonly properties: {
|
|
175
|
+
readonly from: {
|
|
176
|
+
readonly type: "string";
|
|
177
|
+
};
|
|
178
|
+
readonly to: {
|
|
179
|
+
readonly type: "string";
|
|
180
|
+
};
|
|
181
|
+
readonly relationType: {
|
|
182
|
+
readonly type: "string";
|
|
183
|
+
};
|
|
184
|
+
};
|
|
185
|
+
};
|
|
186
|
+
};
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
}, {
|
|
190
|
+
readonly name: "add_observations";
|
|
191
|
+
readonly description: "Add new invariants, actions, or context observations to existing causal rules";
|
|
192
|
+
readonly inputSchema: {
|
|
193
|
+
readonly type: "object";
|
|
194
|
+
readonly required: readonly ["observations"];
|
|
195
|
+
readonly properties: {
|
|
196
|
+
readonly observations: {
|
|
197
|
+
readonly type: "array";
|
|
198
|
+
readonly items: {
|
|
199
|
+
readonly type: "object";
|
|
200
|
+
readonly required: readonly ["entityName", "contents"];
|
|
201
|
+
readonly properties: {
|
|
202
|
+
readonly entityName: {
|
|
203
|
+
readonly type: "string";
|
|
204
|
+
};
|
|
205
|
+
readonly contents: {
|
|
206
|
+
readonly type: "array";
|
|
207
|
+
readonly items: {
|
|
208
|
+
readonly type: "string";
|
|
209
|
+
};
|
|
210
|
+
};
|
|
211
|
+
};
|
|
212
|
+
};
|
|
213
|
+
};
|
|
214
|
+
};
|
|
215
|
+
};
|
|
216
|
+
}, {
|
|
217
|
+
readonly name: "delete_entities";
|
|
218
|
+
readonly description: "Delete multiple entities/rules and their associated causal relations";
|
|
219
|
+
readonly inputSchema: {
|
|
220
|
+
readonly type: "object";
|
|
221
|
+
readonly required: readonly ["entityNames"];
|
|
222
|
+
readonly properties: {
|
|
223
|
+
readonly entityNames: {
|
|
224
|
+
readonly type: "array";
|
|
225
|
+
readonly items: {
|
|
226
|
+
readonly type: "string";
|
|
227
|
+
};
|
|
228
|
+
};
|
|
229
|
+
};
|
|
230
|
+
};
|
|
231
|
+
}, {
|
|
232
|
+
readonly name: "delete_observations";
|
|
233
|
+
readonly description: "Delete specific observations from entities/rules in the causal memory";
|
|
234
|
+
readonly inputSchema: {
|
|
235
|
+
readonly type: "object";
|
|
236
|
+
readonly required: readonly ["deletions"];
|
|
237
|
+
readonly properties: {
|
|
238
|
+
readonly deletions: {
|
|
239
|
+
readonly type: "array";
|
|
240
|
+
readonly items: {
|
|
241
|
+
readonly type: "object";
|
|
242
|
+
readonly required: readonly ["entityName", "observations"];
|
|
243
|
+
readonly properties: {
|
|
244
|
+
readonly entityName: {
|
|
245
|
+
readonly type: "string";
|
|
246
|
+
};
|
|
247
|
+
readonly observations: {
|
|
248
|
+
readonly type: "array";
|
|
249
|
+
readonly items: {
|
|
250
|
+
readonly type: "string";
|
|
251
|
+
};
|
|
252
|
+
};
|
|
253
|
+
};
|
|
254
|
+
};
|
|
255
|
+
};
|
|
256
|
+
};
|
|
257
|
+
};
|
|
258
|
+
}, {
|
|
259
|
+
readonly name: "delete_relations";
|
|
260
|
+
readonly description: "Delete multiple causal relations from the knowledge graph";
|
|
261
|
+
readonly inputSchema: {
|
|
262
|
+
readonly type: "object";
|
|
263
|
+
readonly required: readonly ["relations"];
|
|
264
|
+
readonly properties: {
|
|
265
|
+
readonly relations: {
|
|
266
|
+
readonly type: "array";
|
|
267
|
+
readonly items: {
|
|
268
|
+
readonly type: "object";
|
|
269
|
+
readonly required: readonly ["from", "to", "relationType"];
|
|
270
|
+
readonly properties: {
|
|
271
|
+
readonly from: {
|
|
272
|
+
readonly type: "string";
|
|
273
|
+
};
|
|
274
|
+
readonly to: {
|
|
275
|
+
readonly type: "string";
|
|
276
|
+
};
|
|
277
|
+
readonly relationType: {
|
|
278
|
+
readonly type: "string";
|
|
279
|
+
};
|
|
280
|
+
};
|
|
281
|
+
};
|
|
282
|
+
};
|
|
283
|
+
};
|
|
284
|
+
};
|
|
285
|
+
}];
|
|
286
|
+
/**
|
|
287
|
+
* MCP JSON-RPC 2.0 요청 통합 처리기 (HTTP 데몬 및 Stdio 서버 공용)
|
|
288
|
+
*/
|
|
289
|
+
export declare function handleMcpJsonRpcRequest(rpc: JsonRpcRequest, store: CausalMemoryStore, dbPath?: string): Promise<Record<string, any> | null>;
|
|
290
|
+
/**
|
|
291
|
+
* 인과율 메모리 독립 로컬 서버 (Causal Memory HTTP & MCP Daemon)
|
|
292
|
+
*/
|
|
293
|
+
export declare function startCausalServer(options?: ServerOptions): Bun.Server<undefined>;
|
|
294
|
+
/**
|
|
295
|
+
* MCP 표준 입출력(stdio) 서버 모드
|
|
296
|
+
* Antigravity / Claude Code 등의 MCP 호스트가 프로세스를 직접 스폰하여 통신할 때 동작합니다.
|
|
297
|
+
* 원격 데몬 URL(Tailscale 피어 등) 또는 로컬 데몬(4242 포트)이 지정/실행 중이면 데몬으로 프록시하고,
|
|
298
|
+
* 꺼져 있으면 인메모리 스토어로 즉시 안전하게 응답합니다.
|
|
299
|
+
*/
|
|
300
|
+
export declare function startCausalMcpStdioServer(dbPath?: string, remoteUrl?: string): Promise<void>;
|