@mrc2204/agent-smart-memo 5.0.2 → 5.1.2
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 +209 -375
- package/bin/asm.mjs +365 -0
- package/bin/opencode-mcp-server.mjs +320 -0
- package/dist/core/contracts/adapter-contracts.d.ts +1 -1
- package/dist/core/contracts/adapter-contracts.d.ts.map +1 -1
- package/dist/core/contracts/change-overlay-contracts.d.ts +69 -0
- package/dist/core/contracts/change-overlay-contracts.d.ts.map +1 -0
- package/dist/core/contracts/change-overlay-contracts.js +2 -0
- package/dist/core/contracts/change-overlay-contracts.js.map +1 -0
- package/dist/core/contracts/feature-pack-contracts.d.ts +37 -0
- package/dist/core/contracts/feature-pack-contracts.d.ts.map +1 -0
- package/dist/core/contracts/feature-pack-contracts.js +8 -0
- package/dist/core/contracts/feature-pack-contracts.js.map +1 -0
- package/dist/core/contracts/project-query-contracts.d.ts +84 -0
- package/dist/core/contracts/project-query-contracts.d.ts.map +1 -0
- package/dist/core/contracts/project-query-contracts.js +2 -0
- package/dist/core/contracts/project-query-contracts.js.map +1 -0
- package/dist/core/graph/code-graph-model.d.ts +9 -0
- package/dist/core/graph/code-graph-model.d.ts.map +1 -0
- package/dist/core/graph/code-graph-model.js +70 -0
- package/dist/core/graph/code-graph-model.js.map +1 -0
- package/dist/core/graph/code-graph-populator.d.ts +20 -0
- package/dist/core/graph/code-graph-populator.d.ts.map +1 -0
- package/dist/core/graph/code-graph-populator.js +760 -0
- package/dist/core/graph/code-graph-populator.js.map +1 -0
- package/dist/core/graph/contracts.d.ts +29 -0
- package/dist/core/graph/contracts.d.ts.map +1 -0
- package/dist/core/graph/contracts.js +47 -0
- package/dist/core/graph/contracts.js.map +1 -0
- package/dist/core/ingest/contracts.d.ts +44 -0
- package/dist/core/ingest/contracts.d.ts.map +1 -0
- package/dist/core/ingest/contracts.js +2 -0
- package/dist/core/ingest/contracts.js.map +1 -0
- package/dist/core/ingest/ids.d.ts +5 -0
- package/dist/core/ingest/ids.d.ts.map +1 -0
- package/dist/core/ingest/ids.js +17 -0
- package/dist/core/ingest/ids.js.map +1 -0
- package/dist/core/ingest/ingest-pipeline.d.ts +4 -0
- package/dist/core/ingest/ingest-pipeline.d.ts.map +1 -0
- package/dist/core/ingest/ingest-pipeline.js +105 -0
- package/dist/core/ingest/ingest-pipeline.js.map +1 -0
- package/dist/core/ingest/semantic-block-extractor.d.ts +9 -0
- package/dist/core/ingest/semantic-block-extractor.d.ts.map +1 -0
- package/dist/core/ingest/semantic-block-extractor.js +171 -0
- package/dist/core/ingest/semantic-block-extractor.js.map +1 -0
- package/dist/core/usecases/default-memory-usecase-port.d.ts +38 -0
- package/dist/core/usecases/default-memory-usecase-port.d.ts.map +1 -1
- package/dist/core/usecases/default-memory-usecase-port.js +1686 -12
- package/dist/core/usecases/default-memory-usecase-port.js.map +1 -1
- package/dist/db/graph-db.d.ts +24 -0
- package/dist/db/graph-db.d.ts.map +1 -1
- package/dist/db/graph-db.js +81 -2
- package/dist/db/graph-db.js.map +1 -1
- package/dist/db/slot-db.d.ts +235 -2
- package/dist/db/slot-db.d.ts.map +1 -1
- package/dist/db/slot-db.js +840 -18
- package/dist/db/slot-db.js.map +1 -1
- package/dist/index.d.ts +7 -247
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -119
- package/dist/index.js.map +1 -1
- package/dist/shared/asm-config.d.ts +82 -0
- package/dist/shared/asm-config.d.ts.map +1 -0
- package/dist/shared/asm-config.js +254 -0
- package/dist/shared/asm-config.js.map +1 -0
- package/dist/shared/slotdb-path.d.ts +4 -3
- package/dist/shared/slotdb-path.d.ts.map +1 -1
- package/dist/shared/slotdb-path.js +15 -6
- package/dist/shared/slotdb-path.js.map +1 -1
- package/dist/tools/graph-tools.d.ts.map +1 -1
- package/dist/tools/graph-tools.js +131 -0
- package/dist/tools/graph-tools.js.map +1 -1
- package/dist/tools/project-tools.d.ts.map +1 -1
- package/dist/tools/project-tools.js +543 -0
- package/dist/tools/project-tools.js.map +1 -1
- package/openclaw.plugin.json +5 -164
- package/package.json +61 -26
- package/scripts/init-openclaw.mjs +727 -0
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA4B7D,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAkHD,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AACvD,eAAO,MAAM,sBAAsB,qCAAqC,CAAC;AACzE,eAAO,MAAM,6BAA6B,kFAAkF,CAAC;AAE7H,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;CAsB3B,CAAC;AAEX,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4EtB,CAAC;AAEX,wBAAgB,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS3C;AAED,wBAAgB,uCAAuC,QAGtD;AAED,QAAA,MAAM,eAAe;kBAGL,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2LhC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -15,6 +15,7 @@ import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
|
15
15
|
import { dirname, join } from "node:path";
|
|
16
16
|
import { fileURLToPath } from "node:url";
|
|
17
17
|
import { resolveSlotDbDir } from "./shared/slotdb-path.js";
|
|
18
|
+
import { getAsmSharedConfig, resolveAsmCoreProjectWorkspaceRoot, resolveAsmCoreSlotDbDir } from "./shared/asm-config.js";
|
|
18
19
|
// Tool modules
|
|
19
20
|
import { registerSlotTools } from "./tools/slot-tools.js";
|
|
20
21
|
import { registerGraphTools } from "./tools/graph-tools.js";
|
|
@@ -27,24 +28,7 @@ import { registerAutoCapture } from "./hooks/auto-capture.js";
|
|
|
27
28
|
import { registerMemoryToolContextInjector } from "./hooks/tool-context-injector.js";
|
|
28
29
|
import { registerTelegramAddProjectCommand } from "./commands/telegram-addproject-command.js";
|
|
29
30
|
const CONFIG_KEY_CANDIDATES = [
|
|
30
|
-
"
|
|
31
|
-
"qdrantHost",
|
|
32
|
-
"qdrantPort",
|
|
33
|
-
"qdrantCollection",
|
|
34
|
-
"llmBaseUrl",
|
|
35
|
-
"llmApiKey",
|
|
36
|
-
"llmModel",
|
|
37
|
-
"embedBaseUrl",
|
|
38
|
-
"embedBackend",
|
|
39
|
-
"embedModel",
|
|
40
|
-
"embedDimensions",
|
|
41
|
-
"slotDbDir",
|
|
42
|
-
"projectWorkspaceRoot",
|
|
43
|
-
"repoCloneRoot",
|
|
44
|
-
"autoCaptureEnabled",
|
|
45
|
-
"autoCaptureMinConfidence",
|
|
46
|
-
"contextWindowMaxTokens",
|
|
47
|
-
"summarizeEveryActions",
|
|
31
|
+
"asmConfigPath",
|
|
48
32
|
];
|
|
49
33
|
function asObject(value) {
|
|
50
34
|
return value && typeof value === "object" && !Array.isArray(value)
|
|
@@ -110,17 +94,17 @@ function resolveLegacyConfig(rawConfig) {
|
|
|
110
94
|
}
|
|
111
95
|
function resolvePluginConfig(api, pluginId) {
|
|
112
96
|
const pluginConfig = asObject(api.pluginConfig);
|
|
113
|
-
if (
|
|
114
|
-
return { config: pluginConfig, source: "pluginConfig" };
|
|
97
|
+
if (typeof pluginConfig?.asmConfigPath === "string" && pluginConfig.asmConfigPath.trim()) {
|
|
98
|
+
return { config: { asmConfigPath: pluginConfig.asmConfigPath.trim() }, source: "pluginConfig" };
|
|
115
99
|
}
|
|
116
100
|
const legacyEntryConfig = asObject(api?.config?.plugins?.entries?.[pluginId]?.config);
|
|
117
|
-
if (
|
|
101
|
+
if (typeof legacyEntryConfig?.asmConfigPath === "string" && legacyEntryConfig.asmConfigPath.trim()) {
|
|
118
102
|
return {
|
|
119
|
-
config: legacyEntryConfig,
|
|
103
|
+
config: { asmConfigPath: legacyEntryConfig.asmConfigPath.trim() },
|
|
120
104
|
source: "api.config.plugins.entries[pluginId].config",
|
|
121
105
|
};
|
|
122
106
|
}
|
|
123
|
-
return
|
|
107
|
+
return { config: {}, source: "default" };
|
|
124
108
|
}
|
|
125
109
|
// ============================================================================
|
|
126
110
|
// Plugin Definition
|
|
@@ -146,78 +130,9 @@ export const AGENT_MEMO_CONFIG_SCHEMA = {
|
|
|
146
130
|
type: "number",
|
|
147
131
|
description: "Max tokens for Current State injection",
|
|
148
132
|
},
|
|
149
|
-
|
|
150
|
-
type: "string",
|
|
151
|
-
description: "Qdrant server host",
|
|
152
|
-
},
|
|
153
|
-
qdrantPort: {
|
|
154
|
-
type: "number",
|
|
155
|
-
description: "Qdrant server port",
|
|
156
|
-
},
|
|
157
|
-
qdrantCollection: {
|
|
158
|
-
type: "string",
|
|
159
|
-
description: "Qdrant collection name (default: mrc_bot)",
|
|
160
|
-
},
|
|
161
|
-
qdrantVectorSize: {
|
|
162
|
-
type: "number",
|
|
163
|
-
description: "Qdrant vector size (default: 1024)",
|
|
164
|
-
},
|
|
165
|
-
llmBaseUrl: {
|
|
166
|
-
type: "string",
|
|
167
|
-
description: "LLM API base URL (OpenAI compatible)",
|
|
168
|
-
},
|
|
169
|
-
llmApiKey: {
|
|
170
|
-
type: "string",
|
|
171
|
-
description: "LLM API key",
|
|
172
|
-
},
|
|
173
|
-
llmModel: {
|
|
174
|
-
type: "string",
|
|
175
|
-
description: "LLM model for auto-capture",
|
|
176
|
-
},
|
|
177
|
-
embedBaseUrl: {
|
|
178
|
-
type: "string",
|
|
179
|
-
description: "Embedding service base URL (default: http://localhost:11434)",
|
|
180
|
-
},
|
|
181
|
-
embedBackend: {
|
|
182
|
-
type: "string",
|
|
183
|
-
enum: ["ollama", "openai", "docker"],
|
|
184
|
-
description: "Embedding backend selector (optional). If omitted, keeps legacy auto behavior.",
|
|
185
|
-
},
|
|
186
|
-
embedModel: {
|
|
187
|
-
type: "string",
|
|
188
|
-
description: "Embedding model for vectorization (default: qwen3-embedding:0.6b)",
|
|
189
|
-
},
|
|
190
|
-
embedDimensions: {
|
|
191
|
-
type: "number",
|
|
192
|
-
description: "Embedding dimensions (default: 1024)",
|
|
193
|
-
},
|
|
194
|
-
slotDbDir: {
|
|
195
|
-
type: "string",
|
|
196
|
-
description: "Absolute path for SlotDB directory. Priority: OPENCLAW_SLOTDB_DIR > config.slotDbDir > ${OPENCLAW_STATE_DIR}/agent-memo",
|
|
197
|
-
},
|
|
198
|
-
projectWorkspaceRoot: {
|
|
199
|
-
type: "string",
|
|
200
|
-
description: "Default workspace root for repo clone/import onboarding resolution (fallback for project.register/project onboarding).",
|
|
201
|
-
},
|
|
202
|
-
repoCloneRoot: {
|
|
133
|
+
asmConfigPath: {
|
|
203
134
|
type: "string",
|
|
204
|
-
description: "
|
|
205
|
-
},
|
|
206
|
-
autoCaptureEnabled: {
|
|
207
|
-
type: "boolean",
|
|
208
|
-
description: "Enable auto-capture feature",
|
|
209
|
-
},
|
|
210
|
-
autoCaptureMinConfidence: {
|
|
211
|
-
type: "number",
|
|
212
|
-
description: "Minimum confidence for auto-capture",
|
|
213
|
-
},
|
|
214
|
-
contextWindowMaxTokens: {
|
|
215
|
-
type: "number",
|
|
216
|
-
description: "Maximum tokens for context window in auto-capture (default: 12000)",
|
|
217
|
-
},
|
|
218
|
-
summarizeEveryActions: {
|
|
219
|
-
type: "number",
|
|
220
|
-
description: "Auto-summarize project_living_state every N actions (default: 6)",
|
|
135
|
+
description: "Path to shared ASM config source-of-truth used by the OpenClaw plugin runtime.",
|
|
221
136
|
},
|
|
222
137
|
},
|
|
223
138
|
};
|
|
@@ -282,10 +197,6 @@ export const AGENT_MEMO_UI_HINTS = {
|
|
|
282
197
|
label: "Project Workspace Root",
|
|
283
198
|
placeholder: "/Users/you/Work/projects",
|
|
284
199
|
},
|
|
285
|
-
repoCloneRoot: {
|
|
286
|
-
label: "Repo Clone Root",
|
|
287
|
-
placeholder: "/Users/you/Work/projects",
|
|
288
|
-
},
|
|
289
200
|
autoCaptureEnabled: {
|
|
290
201
|
label: "Auto Capture Enabled",
|
|
291
202
|
},
|
|
@@ -327,34 +238,36 @@ const agentMemoPlugin = {
|
|
|
327
238
|
// ----------------------------------------------------------------
|
|
328
239
|
const rawConfig = api.config;
|
|
329
240
|
const { config, source } = resolvePluginConfig(api, "agent-smart-memo");
|
|
330
|
-
const slotCategories =
|
|
331
|
-
const
|
|
332
|
-
const
|
|
333
|
-
const
|
|
334
|
-
const
|
|
335
|
-
const
|
|
336
|
-
const
|
|
337
|
-
const
|
|
241
|
+
const slotCategories = DEFAULT_CATEGORIES;
|
|
242
|
+
const asmConfigPath = firstNonEmptyString(config.asmConfigPath);
|
|
243
|
+
const shared = getAsmSharedConfig({ configPath: asmConfigPath, env: process.env, homeDir: process.env.HOME }).config || {};
|
|
244
|
+
const sharedCore = (shared.core || {});
|
|
245
|
+
const qdrantHost = firstNonEmptyString(sharedCore.qdrantHost) || "localhost";
|
|
246
|
+
const qdrantPort = Number(sharedCore.qdrantPort) || 6333;
|
|
247
|
+
const qdrantCollection = firstNonEmptyString(sharedCore.qdrantCollection) || "mrc_bot";
|
|
248
|
+
const qdrantVectorSize = Number(sharedCore.qdrantVectorSize) || 1024;
|
|
249
|
+
const llmBaseUrl = firstNonEmptyString(sharedCore.llmBaseUrl) || "http://localhost:8317/v1";
|
|
250
|
+
const llmApiKey = firstNonEmptyString(sharedCore.llmApiKey) || "proxypal-local";
|
|
251
|
+
const resolvedLlmModel = firstNonEmptyString(sharedCore.llmModel, findNestedStringKey(rawConfig, "llmModel"));
|
|
338
252
|
const llmModel = resolvedLlmModel || "gemini-2.5-flash";
|
|
339
253
|
const llmModelFallbackUsed = !resolvedLlmModel;
|
|
340
|
-
const embedBaseUrl =
|
|
341
|
-
const
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
? config.embedBackend
|
|
254
|
+
const embedBaseUrl = firstNonEmptyString(sharedCore.embedBaseUrl) || "http://localhost:11434";
|
|
255
|
+
const sharedEmbedBackend = firstNonEmptyString(sharedCore.embedBackend);
|
|
256
|
+
const embedBackend = sharedEmbedBackend === "ollama" || sharedEmbedBackend === "openai" || sharedEmbedBackend === "docker"
|
|
257
|
+
? sharedEmbedBackend
|
|
345
258
|
: undefined;
|
|
346
|
-
const embedModel =
|
|
347
|
-
const embedDimensions =
|
|
348
|
-
const autoCaptureEnabled =
|
|
349
|
-
const autoCaptureMinConfidence =
|
|
350
|
-
const contextWindowMaxTokens =
|
|
351
|
-
const summarizeEveryActions =
|
|
352
|
-
const projectWorkspaceRoot =
|
|
259
|
+
const embedModel = firstNonEmptyString(sharedCore.embedModel) || "qwen3-embedding:0.6b";
|
|
260
|
+
const embedDimensions = Number(sharedCore.embedDimensions) || 1024;
|
|
261
|
+
const autoCaptureEnabled = sharedCore.autoCaptureEnabled ?? true;
|
|
262
|
+
const autoCaptureMinConfidence = Number(sharedCore.autoCaptureMinConfidence) || 0.7;
|
|
263
|
+
const contextWindowMaxTokens = Number(sharedCore.contextWindowMaxTokens) || 12000;
|
|
264
|
+
const summarizeEveryActions = Number(sharedCore.summarizeEveryActions) || 6;
|
|
265
|
+
const projectWorkspaceRoot = resolveAsmCoreProjectWorkspaceRoot({ configPath: asmConfigPath, env: process.env, homeDir: process.env.HOME });
|
|
353
266
|
// State directory from env or default
|
|
354
267
|
const stateDir = process.env.OPENCLAW_STATE_DIR || `${process.env.HOME}/.openclaw`;
|
|
355
268
|
const slotDbDir = resolveSlotDbDir({
|
|
356
269
|
stateDir,
|
|
357
|
-
slotDbDir:
|
|
270
|
+
slotDbDir: resolveAsmCoreSlotDbDir({ configPath: asmConfigPath, env: process.env, homeDir: process.env.HOME }),
|
|
358
271
|
env: process.env,
|
|
359
272
|
homeDir: process.env.HOME,
|
|
360
273
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
export interface AsmSharedConfigCore {
|
|
2
|
+
projectWorkspaceRoot?: string;
|
|
3
|
+
qdrantHost?: string;
|
|
4
|
+
qdrantPort?: number;
|
|
5
|
+
qdrantCollection?: string;
|
|
6
|
+
qdrantVectorSize?: number;
|
|
7
|
+
llmBaseUrl?: string;
|
|
8
|
+
llmApiKey?: string;
|
|
9
|
+
llmModel?: string;
|
|
10
|
+
embedBaseUrl?: string;
|
|
11
|
+
embedBackend?: string;
|
|
12
|
+
embedModel?: string;
|
|
13
|
+
embedDimensions?: number;
|
|
14
|
+
autoCaptureEnabled?: boolean;
|
|
15
|
+
autoCaptureMinConfidence?: number;
|
|
16
|
+
contextWindowMaxTokens?: number;
|
|
17
|
+
summarizeEveryActions?: number;
|
|
18
|
+
storage?: {
|
|
19
|
+
slotDbDir?: string;
|
|
20
|
+
[key: string]: unknown;
|
|
21
|
+
};
|
|
22
|
+
[key: string]: unknown;
|
|
23
|
+
}
|
|
24
|
+
export type AsmSharedConfigAdapters = Record<string, Record<string, unknown>>;
|
|
25
|
+
export interface AsmSharedConfig {
|
|
26
|
+
schemaVersion?: number;
|
|
27
|
+
core?: AsmSharedConfigCore;
|
|
28
|
+
adapters?: AsmSharedConfigAdapters;
|
|
29
|
+
[key: string]: unknown;
|
|
30
|
+
}
|
|
31
|
+
export interface ResolveAsmConfigPathInput {
|
|
32
|
+
env?: NodeJS.ProcessEnv;
|
|
33
|
+
homeDir?: string;
|
|
34
|
+
configPath?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface ResolveAsmConfigPathInfo {
|
|
37
|
+
path: string;
|
|
38
|
+
source: "explicit" | "env" | "default";
|
|
39
|
+
exists: boolean;
|
|
40
|
+
}
|
|
41
|
+
export interface LoadAsmSharedConfigInput extends ResolveAsmConfigPathInput {
|
|
42
|
+
reload?: boolean;
|
|
43
|
+
}
|
|
44
|
+
export interface LoadAsmSharedConfigResult {
|
|
45
|
+
path: string;
|
|
46
|
+
config: AsmSharedConfig | null;
|
|
47
|
+
lifecycle: {
|
|
48
|
+
cache: "hit" | "miss" | "bypass";
|
|
49
|
+
loadedAt: string;
|
|
50
|
+
mtimeMs?: number;
|
|
51
|
+
status: "ok" | "missing" | "invalid_json" | "invalid_shape" | "read_error";
|
|
52
|
+
source: "explicit" | "env" | "default";
|
|
53
|
+
warnings: string[];
|
|
54
|
+
error?: string;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export interface AsmSharedConfigDoctorResult {
|
|
58
|
+
path: string;
|
|
59
|
+
source: "explicit" | "env" | "default";
|
|
60
|
+
exists: boolean;
|
|
61
|
+
status: "ok" | "missing" | "invalid_json" | "invalid_shape" | "read_error";
|
|
62
|
+
cache: "hit" | "miss" | "bypass";
|
|
63
|
+
hasCore: boolean;
|
|
64
|
+
adapterNames: string[];
|
|
65
|
+
legacyKeys: {
|
|
66
|
+
slotDbDir: boolean;
|
|
67
|
+
projectWorkspaceRoot: boolean;
|
|
68
|
+
storageSlotDbDir: boolean;
|
|
69
|
+
};
|
|
70
|
+
warnings: string[];
|
|
71
|
+
}
|
|
72
|
+
export declare function resolveAsmConfigPath(input?: ResolveAsmConfigPathInput): string;
|
|
73
|
+
export declare function resolveAsmConfigPathInfo(input?: ResolveAsmConfigPathInput): ResolveAsmConfigPathInfo;
|
|
74
|
+
export declare function invalidateAsmSharedConfigCache(path?: string): void;
|
|
75
|
+
export declare function loadAsmSharedConfig(input?: LoadAsmSharedConfigInput): LoadAsmSharedConfigResult;
|
|
76
|
+
export declare function resolveAsmCoreSlotDbDir(input?: LoadAsmSharedConfigInput): string | undefined;
|
|
77
|
+
export declare function resolveAsmCoreProjectWorkspaceRoot(input?: LoadAsmSharedConfigInput): string | undefined;
|
|
78
|
+
export declare function resolveAsmCoreConfigValue<T = unknown>(key: keyof AsmSharedConfigCore, input?: LoadAsmSharedConfigInput): T | undefined;
|
|
79
|
+
export declare function resolveAsmAdapterLocalConfig(adapterName: string, input?: LoadAsmSharedConfigInput): Record<string, unknown> | undefined;
|
|
80
|
+
export declare function getAsmSharedConfig(input?: LoadAsmSharedConfigInput): LoadAsmSharedConfigResult;
|
|
81
|
+
export declare function doctorAsmSharedConfig(input?: LoadAsmSharedConfigInput): AsmSharedConfigDoctorResult;
|
|
82
|
+
//# sourceMappingURL=asm-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asm-config.d.ts","sourceRoot":"","sources":["../../src/shared/asm-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import { existsSync, readFileSync, statSync } from "node:fs";
|
|
2
|
+
import { join, resolve } from "node:path";
|
|
3
|
+
const DEFAULT_ASM_CONFIG_RELATIVE_PATH = ".config/asm/config.json";
|
|
4
|
+
function firstNonEmptyString(...values) {
|
|
5
|
+
for (const value of values) {
|
|
6
|
+
if (typeof value === "string" && value.trim().length > 0) {
|
|
7
|
+
return value.trim();
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
function isPlainObject(value) {
|
|
13
|
+
return !!value && typeof value === "object" && !Array.isArray(value);
|
|
14
|
+
}
|
|
15
|
+
function expandHome(input, homeDir) {
|
|
16
|
+
if (!input.startsWith("~"))
|
|
17
|
+
return input;
|
|
18
|
+
const home = firstNonEmptyString(homeDir, process.env.HOME);
|
|
19
|
+
if (!home)
|
|
20
|
+
return input;
|
|
21
|
+
if (input === "~")
|
|
22
|
+
return home;
|
|
23
|
+
if (input.startsWith("~/"))
|
|
24
|
+
return join(home, input.slice(2));
|
|
25
|
+
return input;
|
|
26
|
+
}
|
|
27
|
+
function normalizePath(input) {
|
|
28
|
+
const expanded = expandHome(input);
|
|
29
|
+
return resolve(expanded);
|
|
30
|
+
}
|
|
31
|
+
function normalizeAsmSharedConfig(raw) {
|
|
32
|
+
if (!isPlainObject(raw)) {
|
|
33
|
+
return {
|
|
34
|
+
config: null,
|
|
35
|
+
warnings: ["config root must be a JSON object"],
|
|
36
|
+
invalidShape: true,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
const config = {};
|
|
40
|
+
const warnings = [];
|
|
41
|
+
if (raw.schemaVersion != null) {
|
|
42
|
+
if (typeof raw.schemaVersion === "number" && Number.isFinite(raw.schemaVersion)) {
|
|
43
|
+
config.schemaVersion = raw.schemaVersion;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
warnings.push("schemaVersion must be a finite number when provided");
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (raw.core != null) {
|
|
50
|
+
if (isPlainObject(raw.core)) {
|
|
51
|
+
config.core = raw.core;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
warnings.push("core must be an object when provided");
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (raw.adapters != null) {
|
|
58
|
+
if (isPlainObject(raw.adapters)) {
|
|
59
|
+
const normalizedAdapters = {};
|
|
60
|
+
for (const [adapterName, adapterValue] of Object.entries(raw.adapters)) {
|
|
61
|
+
if (!isPlainObject(adapterValue)) {
|
|
62
|
+
warnings.push(`adapters.${adapterName} ignored because value is not an object`);
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
normalizedAdapters[adapterName] = adapterValue;
|
|
66
|
+
}
|
|
67
|
+
config.adapters = normalizedAdapters;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
warnings.push("adapters must be an object when provided");
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// Keep additional keys for forward compatibility.
|
|
74
|
+
for (const [key, value] of Object.entries(raw)) {
|
|
75
|
+
if (key === "schemaVersion" || key === "core" || key === "adapters")
|
|
76
|
+
continue;
|
|
77
|
+
config[key] = value;
|
|
78
|
+
}
|
|
79
|
+
const invalidShape = warnings.some((item) => item.includes("must be") && (item.startsWith("config root") || item.startsWith("core") || item.startsWith("adapters")));
|
|
80
|
+
return { config, warnings, invalidShape };
|
|
81
|
+
}
|
|
82
|
+
function resolveAsmConfigPathInfoInternal(input = {}) {
|
|
83
|
+
const env = input.env || process.env;
|
|
84
|
+
const explicitPath = firstNonEmptyString(input.configPath);
|
|
85
|
+
if (explicitPath) {
|
|
86
|
+
const path = normalizePath(explicitPath);
|
|
87
|
+
return {
|
|
88
|
+
path,
|
|
89
|
+
source: "explicit",
|
|
90
|
+
exists: existsSync(path),
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
const envPath = firstNonEmptyString(env.ASM_CONFIG);
|
|
94
|
+
if (envPath) {
|
|
95
|
+
const path = normalizePath(envPath);
|
|
96
|
+
return {
|
|
97
|
+
path,
|
|
98
|
+
source: "env",
|
|
99
|
+
exists: existsSync(path),
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
const home = firstNonEmptyString(input.homeDir, env.HOME, process.env.HOME, process.cwd()) || process.cwd();
|
|
103
|
+
const path = resolve(home, DEFAULT_ASM_CONFIG_RELATIVE_PATH);
|
|
104
|
+
return {
|
|
105
|
+
path,
|
|
106
|
+
source: "default",
|
|
107
|
+
exists: existsSync(path),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
export function resolveAsmConfigPath(input = {}) {
|
|
111
|
+
return resolveAsmConfigPathInfoInternal(input).path;
|
|
112
|
+
}
|
|
113
|
+
export function resolveAsmConfigPathInfo(input = {}) {
|
|
114
|
+
return resolveAsmConfigPathInfoInternal(input);
|
|
115
|
+
}
|
|
116
|
+
let cache = null;
|
|
117
|
+
function readAsmSharedConfigFromDisk(path) {
|
|
118
|
+
const mtimeMs = statSync(path).mtimeMs;
|
|
119
|
+
const parsed = JSON.parse(readFileSync(path, "utf8"));
|
|
120
|
+
const normalized = normalizeAsmSharedConfig(parsed);
|
|
121
|
+
return {
|
|
122
|
+
mtimeMs,
|
|
123
|
+
config: normalized.config,
|
|
124
|
+
warnings: normalized.warnings,
|
|
125
|
+
status: normalized.invalidShape ? "invalid_shape" : "ok",
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
export function invalidateAsmSharedConfigCache(path) {
|
|
129
|
+
if (!cache)
|
|
130
|
+
return;
|
|
131
|
+
if (!path || cache.path === resolve(path)) {
|
|
132
|
+
cache = null;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
export function loadAsmSharedConfig(input = {}) {
|
|
136
|
+
const pathInfo = resolveAsmConfigPathInfoInternal(input);
|
|
137
|
+
const path = pathInfo.path;
|
|
138
|
+
if (!pathInfo.exists) {
|
|
139
|
+
invalidateAsmSharedConfigCache(path);
|
|
140
|
+
return {
|
|
141
|
+
path,
|
|
142
|
+
config: null,
|
|
143
|
+
lifecycle: {
|
|
144
|
+
cache: input.reload ? "bypass" : "miss",
|
|
145
|
+
loadedAt: new Date().toISOString(),
|
|
146
|
+
status: "missing",
|
|
147
|
+
source: pathInfo.source,
|
|
148
|
+
warnings: ["shared config file not found"],
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
try {
|
|
153
|
+
const mtimeMs = statSync(path).mtimeMs;
|
|
154
|
+
if (!input.reload && cache && cache.path === path && cache.mtimeMs === mtimeMs) {
|
|
155
|
+
return {
|
|
156
|
+
path,
|
|
157
|
+
config: cache.config,
|
|
158
|
+
lifecycle: {
|
|
159
|
+
cache: "hit",
|
|
160
|
+
loadedAt: new Date().toISOString(),
|
|
161
|
+
mtimeMs,
|
|
162
|
+
status: cache.status,
|
|
163
|
+
source: pathInfo.source,
|
|
164
|
+
warnings: [...cache.warnings],
|
|
165
|
+
},
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
const loaded = readAsmSharedConfigFromDisk(path);
|
|
169
|
+
cache = {
|
|
170
|
+
path,
|
|
171
|
+
mtimeMs: loaded.mtimeMs,
|
|
172
|
+
config: loaded.config,
|
|
173
|
+
warnings: [...loaded.warnings],
|
|
174
|
+
status: loaded.status,
|
|
175
|
+
};
|
|
176
|
+
return {
|
|
177
|
+
path,
|
|
178
|
+
config: loaded.config,
|
|
179
|
+
lifecycle: {
|
|
180
|
+
cache: input.reload ? "bypass" : "miss",
|
|
181
|
+
loadedAt: new Date().toISOString(),
|
|
182
|
+
mtimeMs: loaded.mtimeMs,
|
|
183
|
+
status: loaded.status,
|
|
184
|
+
source: pathInfo.source,
|
|
185
|
+
warnings: [...loaded.warnings],
|
|
186
|
+
},
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
191
|
+
const status = message.toLowerCase().includes("json") ? "invalid_json" : "read_error";
|
|
192
|
+
return {
|
|
193
|
+
path,
|
|
194
|
+
config: null,
|
|
195
|
+
lifecycle: {
|
|
196
|
+
cache: input.reload ? "bypass" : "miss",
|
|
197
|
+
loadedAt: new Date().toISOString(),
|
|
198
|
+
status,
|
|
199
|
+
source: pathInfo.source,
|
|
200
|
+
warnings: ["failed to parse/read shared config file"],
|
|
201
|
+
error: message,
|
|
202
|
+
},
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
function resolveLegacySlotDbDir(config) {
|
|
207
|
+
return firstNonEmptyString(config?.core?.storage?.slotDbDir, config?.storage?.slotDbDir, config?.slotDbDir);
|
|
208
|
+
}
|
|
209
|
+
export function resolveAsmCoreSlotDbDir(input = {}) {
|
|
210
|
+
const { config } = loadAsmSharedConfig(input);
|
|
211
|
+
const value = resolveLegacySlotDbDir(config);
|
|
212
|
+
return value ? expandHome(value, input.homeDir || input.env?.HOME) : undefined;
|
|
213
|
+
}
|
|
214
|
+
export function resolveAsmCoreProjectWorkspaceRoot(input = {}) {
|
|
215
|
+
const { config } = loadAsmSharedConfig(input);
|
|
216
|
+
const value = firstNonEmptyString(config?.core?.projectWorkspaceRoot, config?.projectWorkspaceRoot);
|
|
217
|
+
return value ? expandHome(value, input.homeDir || input.env?.HOME) : undefined;
|
|
218
|
+
}
|
|
219
|
+
export function resolveAsmCoreConfigValue(key, input = {}) {
|
|
220
|
+
const { config } = loadAsmSharedConfig(input);
|
|
221
|
+
const core = config?.core;
|
|
222
|
+
return core?.[String(key)];
|
|
223
|
+
}
|
|
224
|
+
export function resolveAsmAdapterLocalConfig(adapterName, input = {}) {
|
|
225
|
+
const normalizedName = firstNonEmptyString(adapterName);
|
|
226
|
+
if (!normalizedName)
|
|
227
|
+
return undefined;
|
|
228
|
+
const { config } = loadAsmSharedConfig(input);
|
|
229
|
+
const adapterConfig = config?.adapters?.[normalizedName];
|
|
230
|
+
return isPlainObject(adapterConfig) ? adapterConfig : undefined;
|
|
231
|
+
}
|
|
232
|
+
export function getAsmSharedConfig(input = {}) {
|
|
233
|
+
return loadAsmSharedConfig(input);
|
|
234
|
+
}
|
|
235
|
+
export function doctorAsmSharedConfig(input = {}) {
|
|
236
|
+
const pathInfo = resolveAsmConfigPathInfo(input);
|
|
237
|
+
const loaded = loadAsmSharedConfig(input);
|
|
238
|
+
return {
|
|
239
|
+
path: loaded.path,
|
|
240
|
+
source: pathInfo.source,
|
|
241
|
+
exists: pathInfo.exists,
|
|
242
|
+
status: loaded.lifecycle.status,
|
|
243
|
+
cache: loaded.lifecycle.cache,
|
|
244
|
+
hasCore: isPlainObject(loaded.config?.core),
|
|
245
|
+
adapterNames: Object.keys(loaded.config?.adapters || {}).sort((a, b) => a.localeCompare(b)),
|
|
246
|
+
legacyKeys: {
|
|
247
|
+
slotDbDir: typeof loaded.config?.slotDbDir === "string",
|
|
248
|
+
projectWorkspaceRoot: typeof loaded.config?.projectWorkspaceRoot === "string",
|
|
249
|
+
storageSlotDbDir: typeof loaded.config?.storage?.slotDbDir === "string",
|
|
250
|
+
},
|
|
251
|
+
warnings: [...loaded.lifecycle.warnings],
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
//# sourceMappingURL=asm-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asm-config.js","sourceRoot":"","sources":["../../src/shared/asm-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiF1C,MAAM,gCAAgC,GAAG,yBAAyB,CAAC;AAEnE,SAAS,mBAAmB,CAAC,GAAG,MAAsB;IACpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,UAAU,CAAC,KAAa,EAAE,OAAgB;IACjD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAEzC,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAExB,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAY;IAC5C,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,CAAC,mCAAmC,CAAC;YAC/C,YAAY,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,GAAG,CAAC,aAAa,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YAChF,MAAM,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAA2B,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,IAAI,GAAG,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;QACzB,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,kBAAkB,GAA4B,EAAE,CAAC;YACvD,KAAK,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;oBACjC,QAAQ,CAAC,IAAI,CAAC,YAAY,WAAW,yCAAyC,CAAC,CAAC;oBAChF,SAAS;gBACX,CAAC;gBACD,kBAAkB,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC;YACjD,CAAC;YACD,MAAM,CAAC,QAAQ,GAAG,kBAAkB,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,GAAG,KAAK,eAAe,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,UAAU;YAAE,SAAS;QAC9E,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAChC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CACjI,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,gCAAgC,CAAC,QAAmC,EAAE;IAC7E,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IAErC,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;QACzC,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC;SACzB,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC;SACzB,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC5G,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;IAC7D,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAmC,EAAE;IACxE,OAAO,gCAAgC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAAmC,EAAE;IAC5E,OAAO,gCAAgC,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC;AAED,IAAI,KAAK,GAME,IAAI,CAAC;AAEhB,SAAS,2BAA2B,CAAC,IAAY;IAM/C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACpD,OAAO;QACL,OAAO;QACP,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI;KACzD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAa;IAC1D,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,KAAK,GAAG,IAAI,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAkC,EAAE;IACtE,MAAM,QAAQ,GAAG,gCAAgC,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAE3B,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrB,8BAA8B,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;gBACvC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAClC,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,QAAQ,EAAE,CAAC,8BAA8B,CAAC;aAC3C;SACF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;QAEvC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;YAC/E,OAAO;gBACL,IAAI;gBACJ,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,SAAS,EAAE;oBACT,KAAK,EAAE,KAAK;oBACZ,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBAClC,OAAO;oBACP,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;iBAC9B;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;QACjD,KAAK,GAAG;YACN,IAAI;YACJ,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC9B,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;QACF,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE;gBACT,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;gBACvC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAClC,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;aAC/B;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;QACtF,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;gBACvC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAClC,MAAM;gBACN,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,QAAQ,EAAE,CAAC,yCAAyC,CAAC;gBACrD,KAAK,EAAE,OAAO;aACf;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,MAA8B;IAC5D,OAAO,mBAAmB,CACxB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAC/B,MAAM,EAAE,OAA+C,EAAE,SAAS,EACnE,MAAM,EAAE,SAAS,CAClB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAkC,EAAE;IAC1E,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC7C,OAAO,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,kCAAkC,CAAC,QAAkC,EAAE;IACrF,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,mBAAmB,CAC/B,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAClC,MAAM,EAAE,oBAAoB,CAC7B,CAAC;IACF,OAAO,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAc,GAA8B,EAAE,QAAkC,EAAE;IACzH,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,EAAE,IAA2C,CAAC;IACjE,OAAO,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAkB,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,WAAmB,EACnB,QAAkC,EAAE;IAEpC,MAAM,cAAc,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACxD,IAAI,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IAEtC,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,CAAC;IACzD,OAAO,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAkC,EAAE;IACrE,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAkC,EAAE;IACxE,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAE1C,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM;QAC/B,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK;QAC7B,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;QAC3C,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC3F,UAAU,EAAE;YACV,SAAS,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,SAAS,KAAK,QAAQ;YACvD,oBAAoB,EAAE,OAAO,MAAM,CAAC,MAAM,EAAE,oBAAoB,KAAK,QAAQ;YAC7E,gBAAgB,EAAE,OAAQ,MAAM,CAAC,MAAM,EAAE,OAA+C,EAAE,SAAS,KAAK,QAAQ;SACjH;QACD,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;KACzC,CAAC;AACJ,CAAC"}
|