gnosys 5.6.0 → 5.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +15 -2
  2. package/dist/cli.js +879 -464
  3. package/dist/cli.js.map +1 -1
  4. package/dist/index.js +96 -4
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/audit.d.ts +13 -0
  7. package/dist/lib/audit.d.ts.map +1 -1
  8. package/dist/lib/audit.js +42 -0
  9. package/dist/lib/audit.js.map +1 -1
  10. package/dist/lib/chat/llmTurn.d.ts +20 -2
  11. package/dist/lib/chat/llmTurn.d.ts.map +1 -1
  12. package/dist/lib/chat/llmTurn.js +58 -16
  13. package/dist/lib/chat/llmTurn.js.map +1 -1
  14. package/dist/lib/chat/render.d.ts.map +1 -1
  15. package/dist/lib/chat/render.js +18 -0
  16. package/dist/lib/chat/render.js.map +1 -1
  17. package/dist/lib/chat/toolFence.d.ts +54 -0
  18. package/dist/lib/chat/toolFence.d.ts.map +1 -0
  19. package/dist/lib/chat/toolFence.js +90 -0
  20. package/dist/lib/chat/toolFence.js.map +1 -0
  21. package/dist/lib/chat/tools.d.ts +48 -0
  22. package/dist/lib/chat/tools.d.ts.map +1 -0
  23. package/dist/lib/chat/tools.js +338 -0
  24. package/dist/lib/chat/tools.js.map +1 -0
  25. package/dist/lib/db.d.ts +58 -0
  26. package/dist/lib/db.d.ts.map +1 -1
  27. package/dist/lib/db.js +154 -38
  28. package/dist/lib/db.js.map +1 -1
  29. package/dist/lib/heartbeat.d.ts +31 -0
  30. package/dist/lib/heartbeat.d.ts.map +1 -0
  31. package/dist/lib/heartbeat.js +91 -0
  32. package/dist/lib/heartbeat.js.map +1 -0
  33. package/dist/lib/idFormat.d.ts +41 -0
  34. package/dist/lib/idFormat.d.ts.map +1 -0
  35. package/dist/lib/idFormat.js +66 -0
  36. package/dist/lib/idFormat.js.map +1 -0
  37. package/dist/lib/progress.d.ts +54 -0
  38. package/dist/lib/progress.d.ts.map +1 -0
  39. package/dist/lib/progress.js +92 -0
  40. package/dist/lib/progress.js.map +1 -0
  41. package/dist/lib/remote.d.ts +37 -1
  42. package/dist/lib/remote.d.ts.map +1 -1
  43. package/dist/lib/remote.js +163 -28
  44. package/dist/lib/remote.js.map +1 -1
  45. package/dist/lib/remoteWizard.d.ts.map +1 -1
  46. package/dist/lib/remoteWizard.js +13 -17
  47. package/dist/lib/remoteWizard.js.map +1 -1
  48. package/dist/lib/setup/sections/ides.d.ts +20 -0
  49. package/dist/lib/setup/sections/ides.d.ts.map +1 -0
  50. package/dist/lib/setup/sections/ides.js +124 -0
  51. package/dist/lib/setup/sections/ides.js.map +1 -0
  52. package/dist/lib/setup/sections/preferences.d.ts +30 -0
  53. package/dist/lib/setup/sections/preferences.d.ts.map +1 -0
  54. package/dist/lib/setup/sections/preferences.js +128 -0
  55. package/dist/lib/setup/sections/preferences.js.map +1 -0
  56. package/dist/lib/setup/sections/routing.d.ts +21 -0
  57. package/dist/lib/setup/sections/routing.d.ts.map +1 -0
  58. package/dist/lib/setup/sections/routing.js +160 -0
  59. package/dist/lib/setup/sections/routing.js.map +1 -0
  60. package/dist/lib/setup/summary.d.ts +42 -0
  61. package/dist/lib/setup/summary.d.ts.map +1 -0
  62. package/dist/lib/setup/summary.js +206 -0
  63. package/dist/lib/setup/summary.js.map +1 -0
  64. package/dist/lib/timeline.d.ts +7 -0
  65. package/dist/lib/timeline.d.ts.map +1 -1
  66. package/dist/lib/timeline.js +19 -5
  67. package/dist/lib/timeline.js.map +1 -1
  68. package/dist/lib/upgrade.d.ts +38 -0
  69. package/dist/lib/upgrade.d.ts.map +1 -0
  70. package/dist/lib/upgrade.js +61 -0
  71. package/dist/lib/upgrade.js.map +1 -0
  72. package/package.json +1 -1
@@ -0,0 +1,338 @@
1
+ /**
2
+ * Chat-side tool catalog.
3
+ *
4
+ * The LLM in `gnosys chat` can call gnosys functions directly via a fenced
5
+ * protocol (gnosys-tool). Each tool is a small read-only query into the
6
+ * central DB; the result is injected back into the conversation as a system
7
+ * turn before the LLM's next response.
8
+ *
9
+ * Why a fenced protocol instead of native tool_use APIs:
10
+ * - Provider-agnostic: works with Anthropic, OpenAI, Groq, Ollama, LM Studio,
11
+ * and anything that streams plain text. Same approach as gnosys-choose.
12
+ * - Same in-process function calls the MCP server uses internally — no MCP
13
+ * roundtrip, no schema duplication.
14
+ * - The model can chain tool calls naturally (call list_projects, then
15
+ * briefing on a name) because each tool result is a normal turn.
16
+ *
17
+ * Format the model emits:
18
+ *
19
+ * ```gnosys-tool
20
+ * tool: list_projects
21
+ * ```
22
+ *
23
+ * ```gnosys-tool
24
+ * tool: search
25
+ * query: ULID encoding
26
+ * limit: 5
27
+ * ```
28
+ *
29
+ * ```gnosys-tool
30
+ * tool: read
31
+ * id: deci-037
32
+ * ```
33
+ *
34
+ * The fence syntax is parsed by toolFence.ts.
35
+ */
36
+ import { GnosysDB } from "../db.js";
37
+ import { federatedSearch } from "../federated.js";
38
+ const TOOLS = [
39
+ {
40
+ name: "list_projects",
41
+ description: "List every registered project across the central DB",
42
+ params: {},
43
+ run: async () => {
44
+ const db = GnosysDB.openCentral();
45
+ try {
46
+ const projects = db.getAllProjects();
47
+ if (projects.length === 0)
48
+ return "No projects registered.";
49
+ const lines = ["Projects:"];
50
+ for (const p of projects) {
51
+ const memCount = db.getMemoriesByProject(p.id).length;
52
+ lines.push(`- ${p.name} (id: \`${p.id}\`, ${memCount} active memories) — ${p.working_directory}`);
53
+ }
54
+ return lines.join("\n");
55
+ }
56
+ finally {
57
+ db.close();
58
+ }
59
+ },
60
+ },
61
+ {
62
+ name: "search",
63
+ description: "Search memories by free text. Federated across project/user/global with tier boosting.",
64
+ params: {
65
+ query: "the search string (required)",
66
+ limit: "max results (default 10)",
67
+ project_id: "optional — filter to a project ID",
68
+ },
69
+ run: async (args) => {
70
+ if (!args.query)
71
+ return "Error: `query` is required for the search tool.";
72
+ const db = GnosysDB.openCentral();
73
+ try {
74
+ const results = federatedSearch(db, args.query, {
75
+ limit: args.limit ? parseInt(args.limit, 10) : 10,
76
+ projectId: args.project_id ?? null,
77
+ });
78
+ if (results.length === 0)
79
+ return `No matches for "${args.query}".`;
80
+ const lines = [`Results for "${args.query}" (${results.length}):`];
81
+ for (const r of results) {
82
+ const score = r.score.toFixed(2);
83
+ lines.push(`- [${r.id}] ${r.title} (${r.scope}, score=${score})`);
84
+ lines.push(` ${r.snippet.slice(0, 140)}${r.snippet.length > 140 ? "..." : ""}`);
85
+ }
86
+ return lines.join("\n");
87
+ }
88
+ finally {
89
+ db.close();
90
+ }
91
+ },
92
+ },
93
+ {
94
+ name: "read",
95
+ description: "Read a specific memory by ID. Use after `search` to fetch full content.",
96
+ params: {
97
+ id: "the memory ID (required)",
98
+ },
99
+ run: async (args) => {
100
+ if (!args.id)
101
+ return "Error: `id` is required for the read tool.";
102
+ const db = GnosysDB.openCentral();
103
+ try {
104
+ const mem = db.getMemory(args.id);
105
+ if (!mem)
106
+ return `Memory not found: \`${args.id}\``;
107
+ const tags = (() => {
108
+ try {
109
+ const t = JSON.parse(mem.tags || "[]");
110
+ return Array.isArray(t) ? t.join(", ") : "—";
111
+ }
112
+ catch {
113
+ return "—";
114
+ }
115
+ })();
116
+ return [
117
+ `# ${mem.title}`,
118
+ `id: ${mem.id} · category: ${mem.category} · scope: ${mem.scope} · confidence: ${mem.confidence}`,
119
+ `tags: ${tags}`,
120
+ "",
121
+ mem.content,
122
+ ].join("\n");
123
+ }
124
+ finally {
125
+ db.close();
126
+ }
127
+ },
128
+ },
129
+ {
130
+ name: "briefing",
131
+ description: "Generate a project briefing — categories, recent activity, top tags. Pass project_id OR project_name (current project if neither given).",
132
+ params: {
133
+ project_id: "the project ID (optional)",
134
+ project_name: "the project name (optional, looked up if id not given)",
135
+ },
136
+ run: async (args) => {
137
+ const db = GnosysDB.openCentral();
138
+ try {
139
+ const { generateBriefing, detectCurrentProject } = await import("../federated.js");
140
+ let pid = args.project_id ?? null;
141
+ if (!pid && args.project_name) {
142
+ const all = db.getAllProjects();
143
+ const found = all.find((p) => p.name === args.project_name);
144
+ if (found)
145
+ pid = found.id;
146
+ }
147
+ if (!pid)
148
+ pid = await detectCurrentProject(db, undefined);
149
+ if (!pid)
150
+ return "No project specified or detected.";
151
+ const briefing = generateBriefing(db, pid);
152
+ if (!briefing)
153
+ return `Project not found: ${pid}`;
154
+ return briefing.summary;
155
+ }
156
+ finally {
157
+ db.close();
158
+ }
159
+ },
160
+ },
161
+ {
162
+ name: "stats",
163
+ description: "Memory counts by project (active, archived, reinforcements). The 'how many memories?' tool.",
164
+ params: {},
165
+ run: async () => {
166
+ const db = GnosysDB.openCentral();
167
+ try {
168
+ const projects = db.getAllProjects();
169
+ const all = db.getAllMemories();
170
+ const lines = ["Project statistics:"];
171
+ let totalActive = 0;
172
+ for (const p of projects) {
173
+ const ms = all.filter((m) => m.project_id === p.id);
174
+ const active = ms.filter((m) => m.tier === "active" && m.status === "active").length;
175
+ const archived = ms.filter((m) => m.tier === "archive").length;
176
+ totalActive += active;
177
+ lines.push(`- ${p.name}: ${active} active, ${archived} archived`);
178
+ }
179
+ const userScope = all.filter((m) => !m.project_id && m.scope === "user").length;
180
+ const globalScope = all.filter((m) => !m.project_id && m.scope === "global").length;
181
+ if (userScope > 0)
182
+ lines.push(`- (user-scope): ${userScope}`);
183
+ if (globalScope > 0)
184
+ lines.push(`- (global): ${globalScope}`);
185
+ lines.push(`Total active: ${totalActive + userScope + globalScope}`);
186
+ return lines.join("\n");
187
+ }
188
+ finally {
189
+ db.close();
190
+ }
191
+ },
192
+ },
193
+ {
194
+ name: "tags",
195
+ description: "List all tags used across memories with their occurrence counts.",
196
+ params: {
197
+ limit: "max tags to return (default 30)",
198
+ },
199
+ run: async (args) => {
200
+ const db = GnosysDB.openCentral();
201
+ try {
202
+ const all = db.getActiveMemories();
203
+ const counts = new Map();
204
+ for (const m of all) {
205
+ try {
206
+ const tags = JSON.parse(m.tags || "[]");
207
+ if (Array.isArray(tags)) {
208
+ for (const t of tags)
209
+ counts.set(t, (counts.get(t) ?? 0) + 1);
210
+ }
211
+ }
212
+ catch { /* skip malformed */ }
213
+ }
214
+ const limit = args.limit ? parseInt(args.limit, 10) : 30;
215
+ const sorted = [...counts.entries()].sort((a, b) => b[1] - a[1]).slice(0, limit);
216
+ if (sorted.length === 0)
217
+ return "No tags found.";
218
+ return ["Tags (most common):", ...sorted.map(([t, n]) => `- ${t}: ${n}`)].join("\n");
219
+ }
220
+ finally {
221
+ db.close();
222
+ }
223
+ },
224
+ },
225
+ {
226
+ name: "audit",
227
+ description: "Recent operations from the audit log (writes, reads, dream cycles). Useful for 'what did you do recently?'",
228
+ params: {
229
+ days: "look back N days (default 7)",
230
+ operation: "filter by operation (write, read, recall, dream_complete, etc.)",
231
+ limit: "max entries (default 20)",
232
+ },
233
+ run: async (args) => {
234
+ const db = GnosysDB.openCentral();
235
+ try {
236
+ const days = args.days ? parseInt(args.days, 10) : 7;
237
+ const cutoff = new Date();
238
+ cutoff.setDate(cutoff.getDate() - days);
239
+ const limit = args.limit ? parseInt(args.limit, 10) : 20;
240
+ const entries = db.queryAuditLog({
241
+ sinceIso: cutoff.toISOString(),
242
+ operation: args.operation,
243
+ limit,
244
+ });
245
+ if (entries.length === 0)
246
+ return `No audit entries in the last ${days} day(s).`;
247
+ const lines = [`Recent ${entries.length} audit entr${entries.length === 1 ? "y" : "ies"} (last ${days} days):`];
248
+ for (const e of entries) {
249
+ const memRef = e.memory_id ? ` → ${e.memory_id}` : "";
250
+ const dur = e.duration_ms ? ` (${e.duration_ms}ms)` : "";
251
+ lines.push(`- ${e.timestamp.slice(0, 19)} ${e.operation}${memRef}${dur}`);
252
+ }
253
+ return lines.join("\n");
254
+ }
255
+ finally {
256
+ db.close();
257
+ }
258
+ },
259
+ },
260
+ {
261
+ name: "recent_memories",
262
+ description: "Memories created or modified recently. Useful for 'what's the latest in project X?'",
263
+ params: {
264
+ project_name: "filter to a project name (optional)",
265
+ project_id: "filter to a project ID (optional)",
266
+ days: "look back N days (default 7)",
267
+ limit: "max results (default 20)",
268
+ },
269
+ run: async (args) => {
270
+ const db = GnosysDB.openCentral();
271
+ try {
272
+ const days = args.days ? parseInt(args.days, 10) : 7;
273
+ const limit = args.limit ? parseInt(args.limit, 10) : 20;
274
+ const cutoff = new Date();
275
+ cutoff.setDate(cutoff.getDate() - days);
276
+ const cutoffStr = cutoff.toISOString().slice(0, 10);
277
+ let pid = args.project_id ?? null;
278
+ if (!pid && args.project_name) {
279
+ const found = db.getAllProjects().find((p) => p.name === args.project_name);
280
+ if (found)
281
+ pid = found.id;
282
+ }
283
+ const all = pid
284
+ ? db.getMemoriesByProject(pid)
285
+ : db.getActiveMemories();
286
+ const recent = all
287
+ .filter((m) => (m.modified || m.created) >= cutoffStr)
288
+ .sort((a, b) => (b.modified || b.created).localeCompare(a.modified || a.created))
289
+ .slice(0, limit);
290
+ if (recent.length === 0) {
291
+ return `No memories modified in the last ${days} day(s)${pid ? " for that project" : ""}.`;
292
+ }
293
+ const lines = [`Recent ${recent.length} memor${recent.length === 1 ? "y" : "ies"} (last ${days} days):`];
294
+ for (const m of recent) {
295
+ lines.push(`- [${m.id}] ${m.title} (${m.modified || m.created})`);
296
+ }
297
+ return lines.join("\n");
298
+ }
299
+ finally {
300
+ db.close();
301
+ }
302
+ },
303
+ },
304
+ ];
305
+ // ─── Public API ────────────────────────────────────────────────────────────
306
+ const TOOL_INDEX = new Map(TOOLS.map((t) => [t.name, t]));
307
+ export function findTool(name) {
308
+ return TOOL_INDEX.get(name);
309
+ }
310
+ export function listTools() {
311
+ return [...TOOLS];
312
+ }
313
+ /** System prompt addendum that teaches the LLM the tool-fence syntax. */
314
+ export function buildToolsSystemPrompt() {
315
+ const lines = [
316
+ "",
317
+ "You can call gnosys functions to look up live data the user is asking about. Emit a fenced block:",
318
+ "",
319
+ "```gnosys-tool",
320
+ "tool: <name>",
321
+ "<param>: <value>",
322
+ "```",
323
+ "",
324
+ "After the fence, STOP. The runtime will execute the tool and inject the result before your next message. Then continue your reply naturally, citing the tool result.",
325
+ "",
326
+ "Available tools:",
327
+ ];
328
+ for (const t of TOOLS) {
329
+ const params = Object.keys(t.params).length > 0
330
+ ? ` (params: ${Object.entries(t.params).map(([k, d]) => `${k} — ${d}`).join("; ")})`
331
+ : "";
332
+ lines.push(`- ${t.name}: ${t.description}${params}`);
333
+ }
334
+ lines.push("");
335
+ lines.push("Don't make up data — call a tool when the user asks anything specific about projects, memories, recent activity, tags, or stats.");
336
+ return lines.join("\n");
337
+ }
338
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/lib/chat/tools.ts"],"names":[],"mappings":"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"}
package/dist/lib/db.d.ts CHANGED
@@ -145,6 +145,23 @@ export declare class GnosysDB {
145
145
  * file handles after a WAL checkpoint or remount.
146
146
  */
147
147
  reopen(): void;
148
+ /**
149
+ * Execute a DB operation with automatic recovery from stale-handle errors.
150
+ *
151
+ * SQLITE_CORRUPT ("database disk image is malformed") can happen when a
152
+ * long-lived handle (e.g. an MCP server process) sees stale pages after
153
+ * concurrent writes from another process (`gnosys setup`, sync layer, etc.)
154
+ * truncated the WAL or rolled the schema. The DB file itself is fine —
155
+ * just our cached page view is out of date.
156
+ *
157
+ * Strategy: catch the error, close + reopen the handle, retry once. If it
158
+ * still fails after reopen, rethrow — that's a real corruption case.
159
+ *
160
+ * Used internally by write methods that the MCP server calls long-term.
161
+ * Read methods are also wrapped because reads against stale pages can
162
+ * surface the same error.
163
+ */
164
+ private withRecovery;
148
165
  /**
149
166
  * Restore from a backup file. Closes current DB, copies backup over, re-opens.
150
167
  */
@@ -167,6 +184,25 @@ export declare class GnosysDB {
167
184
  getMemory(id: string): DbMemory | null;
168
185
  getActiveMemories(): DbMemory[];
169
186
  getAllMemories(): DbMemory[];
187
+ /**
188
+ * Cheap variant: just id + modified, in one shot. Used by remote sync status
189
+ * to compute pending push/pull counts without paying for full row hydration
190
+ * over SMB. Returns rows changed strictly after `sinceIso`.
191
+ */
192
+ getIdsModifiedSince(sinceIso: string): Array<{
193
+ id: string;
194
+ modified: string;
195
+ }>;
196
+ /**
197
+ * Configure a one-shot SQLite busy_timeout (in milliseconds) on this
198
+ * connection. Default at open time is 10s; for short-deadline operations
199
+ * like `gnosys status --remote` we drop it to ~3s so a held write lock on
200
+ * the NAS fails fast with SQLITE_BUSY instead of hanging the CLI.
201
+ *
202
+ * The caller should restore the prior value with `setBusyTimeout(10000)`
203
+ * once the deadline-bounded operation is done.
204
+ */
205
+ setBusyTimeout(ms: number): void;
170
206
  getMemoriesByTier(tier: string): DbMemory[];
171
207
  getMemoriesByCategory(category: string): DbMemory[];
172
208
  getRelationshipsForMemoryIds(ids: string[]): DbRelationship[];
@@ -225,6 +261,7 @@ export declare class GnosysDB {
225
261
  title: string;
226
262
  relevance: string;
227
263
  rank: number;
264
+ project_id: string | null;
228
265
  }>;
229
266
  insertRelationship(rel: DbRelationship): void;
230
267
  getRelationshipsFrom(id: string): DbRelationship[];
@@ -234,6 +271,27 @@ export declare class GnosysDB {
234
271
  getAllSummaries(): DbSummary[];
235
272
  logAudit(entry: Omit<DbAuditEntry, "id">): void;
236
273
  getAuditLog(memoryId: string, limit?: number): DbAuditEntry[];
274
+ /**
275
+ * Get audit entries newer than a given timestamp. Used by remote sync to
276
+ * push/pull audit_log incrementally. Returns oldest-first so order is
277
+ * preserved across machines.
278
+ */
279
+ getAuditEntriesAfter(sinceIso: string, limit?: number): DbAuditEntry[];
280
+ /**
281
+ * Get the most recent audit timestamp seen in this DB. Used as a high-water
282
+ * mark for sync: "push entries newer than the most recent timestamp the
283
+ * remote has already seen". Returns null when the table is empty.
284
+ */
285
+ getLatestAuditTimestamp(): string | null;
286
+ /**
287
+ * Query audit entries with optional filters. Returns newest first.
288
+ * Used by `gnosys audit` and `gnosys doctor` reports.
289
+ */
290
+ queryAuditLog(opts?: {
291
+ sinceIso?: string;
292
+ operation?: string;
293
+ limit?: number;
294
+ }): DbAuditEntry[];
237
295
  updateEmbedding(id: string, embedding: Buffer): void;
238
296
  getEmbedding(id: string): Buffer | null;
239
297
  getAllEmbeddings(): Array<{
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/lib/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/lib/db.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAmBH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,kDAAkD;AAClD,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAgLD,iBAAS,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAOlC;AAID,qBAAa,QAAQ;IAEnB,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAE3B;;;;OAIG;IACH,MAAM,CAAC,aAAa,IAAI,MAAM;IAI9B,8EAA8E;IAC9E,MAAM,CAAC,eAAe,IAAI,MAAM;IAIhC;;OAEG;IACH,MAAM,CAAC,gBAAgB,IAAI,MAAM;IAIjC;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,WAAW,IAAI,QAAQ;IAoD9B;;;OAGG;IACH,MAAM,CAAC,SAAS,IAAI,QAAQ;gBAMhB,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;IAgCjF;;;OAGG;IACG,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUjD;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAY/C;;;OAGG;IACH,MAAM,CAAC,8BAA8B,IAAI,MAAM;IAmB/C;;;OAGG;IACH,MAAM,IAAI,IAAI;IAoBd;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,YAAY;IAwBpB;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ;IAgBhE,OAAO,CAAC,WAAW;IAkBnB;;;OAGG;IACH,OAAO,CAAC,aAAa;IA+DrB,WAAW,IAAI,OAAO;IAItB,SAAS,IAAI,MAAM;IAInB,YAAY,IAAI,MAAM;IAMtB,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,GAAG,aAAa,GAAG,aAAa,GAAG,kBAAkB,CAAC,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI;IAyBrO,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAMtC,iBAAiB,IAAI,QAAQ,EAAE;IAM/B,cAAc,IAAI,QAAQ,EAAE;IAI5B;;;;OAIG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAQ9E;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKhC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE;IAI3C,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE;IAInD,4BAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE;IAU7D,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE;IAQ3D,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI;IA0D1D,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IA6B9B,cAAc,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAMrE,aAAa,IAAI,MAAM,EAAE;IAOzB;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,UAAQ,GAAG,QAAQ,EAAE;IAO5E;;OAEG;IACH,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,QAAQ,EAAE;IAQlD,aAAa,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI;IAcvC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAMxC,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAMpD,cAAc,IAAI,SAAS,EAAE;IAM7B,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI;IAc5D,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI/B;;;OAGG;IACH,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAOpE;;;;;;;;;;;;;;OAcG;IAEH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAOvD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAyBjH,WAAW,CACT,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAW,GACjB,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAqCnG,kBAAkB,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI;IAO7C,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,EAAE;IAIlD,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,EAAE;IAMhD,aAAa,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI;IAWvC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAI7D,eAAe,IAAI,SAAS,EAAE;IAM9B,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,IAAI;IAS/C,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,YAAY,EAAE;IAQjE;;;;OAIG;IACH,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE;IAStE;;;;OAIG;IACH,uBAAuB,IAAI,MAAM,GAAG,IAAI;IASxC;;;OAGG;IACH,aAAa,CAAC,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,YAAY,EAAE;IAsBnG,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAIpD,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKvC,gBAAgB,IAAI,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAI5D,iBAAiB,IAAI,MAAM;IAQ3B,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAM9B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAUnC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAqBzC;;;;OAIG;IACH,iBAAiB,IAAI,MAAM,GAAG,IAAI;IAIlC,4CAA4C;IAC5C,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI1C,sDAAsD;IACtD,mBAAmB,IAAI,IAAI;IAQ3B;;;;OAIG;IACH,2BAA2B,IAAI,MAAM;IAKrC,0CAA0C;IAC1C,iCAAiC,IAAI,MAAM;IAM3C,uEAAuE;IACvE,6BAA6B,IAAI,IAAI;IAIrC;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,GAAE,MAAW,EAAE,IAAI,GAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,KAAK,CAAC;QACtG,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC,CAAC;IAkCF,kFAAkF;IAClF,yBAAyB,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,IAAI;IAgB3F,sDAAsD;IACtD,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,IAAI;IAMnF,cAAc,IAAI,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAMhG,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIzC,mBAAmB,CAAC,OAAO,GAAE,MAAW,GAAG,MAAM;IAQjD,kDAAkD;IAClD,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IActI,sBAAsB,IAAI,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAM3L,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMvC,KAAK,IAAI,IAAI;IAMb,UAAU,IAAI,OAAO;IAMrB,gBAAgB,IAAI,MAAM;CAI3B;AAID,OAAO,EAAE,KAAK,EAAE,CAAC"}