@yun-zero/claw-memory 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/.claude/settings.local.json +68 -0
- package/README.md +323 -0
- package/dist/config/llm.d.ts +13 -0
- package/dist/config/llm.d.ts.map +1 -0
- package/dist/config/llm.js +96 -0
- package/dist/config/llm.js.map +1 -0
- package/dist/config/plugin.d.ts +15 -0
- package/dist/config/plugin.d.ts.map +1 -0
- package/dist/config/plugin.js +32 -0
- package/dist/config/plugin.js.map +1 -0
- package/dist/db/entityRepository.d.ts +21 -0
- package/dist/db/entityRepository.d.ts.map +1 -0
- package/dist/db/entityRepository.js +55 -0
- package/dist/db/entityRepository.js.map +1 -0
- package/dist/db/repository.d.ts +22 -0
- package/dist/db/repository.d.ts.map +1 -0
- package/dist/db/repository.js +77 -0
- package/dist/db/repository.js.map +1 -0
- package/dist/db/schema.d.ts +5 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +112 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/db/todoRepository.d.ts +26 -0
- package/dist/db/todoRepository.d.ts.map +1 -0
- package/dist/db/todoRepository.js +54 -0
- package/dist/db/todoRepository.js.map +1 -0
- package/dist/hooks/bootstrap.d.ts +3 -0
- package/dist/hooks/bootstrap.d.ts.map +1 -0
- package/dist/hooks/bootstrap.js +28 -0
- package/dist/hooks/bootstrap.js.map +1 -0
- package/dist/hooks/message.d.ts +18 -0
- package/dist/hooks/message.d.ts.map +1 -0
- package/dist/hooks/message.js +52 -0
- package/dist/hooks/message.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +46 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/tools.d.ts +26 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +360 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/plugin.d.ts +18 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +62 -0
- package/dist/plugin.js.map +1 -0
- package/dist/services/entityGraphService.d.ts +87 -0
- package/dist/services/entityGraphService.d.ts.map +1 -0
- package/dist/services/entityGraphService.js +271 -0
- package/dist/services/entityGraphService.js.map +1 -0
- package/dist/services/memory.d.ts +26 -0
- package/dist/services/memory.d.ts.map +1 -0
- package/dist/services/memory.js +281 -0
- package/dist/services/memory.js.map +1 -0
- package/dist/services/memoryIndex.d.ts +34 -0
- package/dist/services/memoryIndex.d.ts.map +1 -0
- package/dist/services/memoryIndex.js +100 -0
- package/dist/services/memoryIndex.js.map +1 -0
- package/dist/services/metadataExtractor.d.ts +16 -0
- package/dist/services/metadataExtractor.d.ts.map +1 -0
- package/dist/services/metadataExtractor.js +75 -0
- package/dist/services/metadataExtractor.js.map +1 -0
- package/dist/services/retrieval.d.ts +24 -0
- package/dist/services/retrieval.d.ts.map +1 -0
- package/dist/services/retrieval.js +40 -0
- package/dist/services/retrieval.js.map +1 -0
- package/dist/services/scheduler.d.ts +122 -0
- package/dist/services/scheduler.d.ts.map +1 -0
- package/dist/services/scheduler.js +434 -0
- package/dist/services/scheduler.js.map +1 -0
- package/dist/services/summarizer.d.ts +43 -0
- package/dist/services/summarizer.d.ts.map +1 -0
- package/dist/services/summarizer.js +252 -0
- package/dist/services/summarizer.js.map +1 -0
- package/dist/services/tagService.d.ts +64 -0
- package/dist/services/tagService.d.ts.map +1 -0
- package/dist/services/tagService.js +281 -0
- package/dist/services/tagService.js.map +1 -0
- package/dist/tools/memory.d.ts +3 -0
- package/dist/tools/memory.d.ts.map +1 -0
- package/dist/tools/memory.js +114 -0
- package/dist/tools/memory.js.map +1 -0
- package/dist/types.d.ts +128 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/docs/plans/2026-03-02-claw-memory-design.md +445 -0
- package/docs/plans/2026-03-02-incremental-summary-design.md +157 -0
- package/docs/plans/2026-03-02-incremental-summary-implementation.md +468 -0
- package/docs/plans/2026-03-02-memory-index-design.md +163 -0
- package/docs/plans/2026-03-02-memory-index-implementation.md +836 -0
- package/docs/plans/2026-03-02-mvp-implementation.md +1703 -0
- package/docs/plans/2026-03-02-testing-implementation.md +395 -0
- package/docs/plans/2026-03-02-testing-plan.md +93 -0
- package/docs/plans/2026-03-03-claw-memory-openclaw-plugin-design.md +285 -0
- package/docs/plans/2026-03-03-claw-memory-plugin-implementation.md +642 -0
- package/docs/plans/2026-03-03-entity-graph-design.md +121 -0
- package/docs/plans/2026-03-03-entity-graph-implementation.md +687 -0
- package/docs/plans/2026-03-03-llm-generic-config-design.md +43 -0
- package/docs/plans/2026-03-03-llm-generic-config-implementation.md +186 -0
- package/docs/plans/2026-03-03-memory-e2e-stress-test-design.md +110 -0
- package/docs/plans/2026-03-03-memory-e2e-stress-test-implementation.md +464 -0
- package/docs/plans/2026-03-03-minimax-llm-fix.md +156 -0
- package/docs/plans/2026-03-03-scheduler-design.md +165 -0
- package/docs/plans/2026-03-03-scheduler-implementation.md +777 -0
- package/docs/plans/2026-03-03-tags-visualization-design.md +73 -0
- package/docs/plans/2026-03-03-tags-visualization-implementation.md +539 -0
- package/openclaw.plugin.json +11 -0
- package/package.json +41 -0
- package/src/config/llm.ts +129 -0
- package/src/config/plugin.ts +47 -0
- package/src/db/entityRepository.ts +80 -0
- package/src/db/repository.ts +106 -0
- package/src/db/schema.ts +121 -0
- package/src/db/todoRepository.ts +76 -0
- package/src/hooks/bootstrap.ts +36 -0
- package/src/hooks/message.ts +84 -0
- package/src/index.ts +50 -0
- package/src/plugin.ts +85 -0
- package/src/services/entityGraphService.ts +367 -0
- package/src/services/memory.ts +338 -0
- package/src/services/memoryIndex.ts +140 -0
- package/src/services/metadataExtractor.ts +89 -0
- package/src/services/retrieval.ts +71 -0
- package/src/services/scheduler.ts +529 -0
- package/src/services/summarizer.ts +318 -0
- package/src/services/tagService.ts +335 -0
- package/src/tools/memory.ts +137 -0
- package/src/types.ts +139 -0
- package/tsconfig.json +20 -0
- package/vitest.config.ts +16 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import * as fs from 'fs';
|
|
4
|
+
import { homedir } from 'os';
|
|
5
|
+
export function registerMemoryTools(tools, db, dataDir) {
|
|
6
|
+
// 解析 dataDir 中的 ~
|
|
7
|
+
const resolvedDataDir = dataDir.replace(/^~/, homedir());
|
|
8
|
+
// memory_save tool
|
|
9
|
+
tools.register({
|
|
10
|
+
name: 'memory_save',
|
|
11
|
+
description: 'Save conversation to memory with metadata',
|
|
12
|
+
schema: {
|
|
13
|
+
type: 'object',
|
|
14
|
+
properties: {
|
|
15
|
+
content: { type: 'string', description: 'Conversation content' },
|
|
16
|
+
metadata: {
|
|
17
|
+
type: 'object',
|
|
18
|
+
properties: {
|
|
19
|
+
tags: { type: 'array', items: { type: 'string' } },
|
|
20
|
+
keywords: { type: 'array', items: { type: 'string' } },
|
|
21
|
+
importance: { type: 'number', minimum: 0, maximum: 1 }
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
required: ['content']
|
|
26
|
+
},
|
|
27
|
+
handler: async (params) => {
|
|
28
|
+
const { content, metadata = {} } = params;
|
|
29
|
+
const memoryId = uuidv4();
|
|
30
|
+
const memoriesDir = path.join(resolvedDataDir, 'memories');
|
|
31
|
+
if (!fs.existsSync(memoriesDir)) {
|
|
32
|
+
fs.mkdirSync(memoriesDir, { recursive: true });
|
|
33
|
+
}
|
|
34
|
+
const contentPath = path.join(memoriesDir, `${memoryId}.md`);
|
|
35
|
+
fs.writeFileSync(contentPath, content, 'utf-8');
|
|
36
|
+
db.prepare(`
|
|
37
|
+
INSERT INTO memories (id, content_path, summary, importance, created_at)
|
|
38
|
+
VALUES (?, ?, ?, ?, datetime('now'))
|
|
39
|
+
`).run(memoryId, contentPath, metadata.summary || content.substring(0, 200), metadata.importance || 0.5);
|
|
40
|
+
return { success: true, memory_id: memoryId };
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
// memory_search tool
|
|
44
|
+
tools.register({
|
|
45
|
+
name: 'memory_search',
|
|
46
|
+
description: 'Search memories by query',
|
|
47
|
+
schema: {
|
|
48
|
+
type: 'object',
|
|
49
|
+
properties: {
|
|
50
|
+
query: { type: 'string' },
|
|
51
|
+
limit: { type: 'number', default: 10 }
|
|
52
|
+
},
|
|
53
|
+
required: ['query']
|
|
54
|
+
},
|
|
55
|
+
handler: async (params) => {
|
|
56
|
+
const { query, limit = 10 } = params;
|
|
57
|
+
const memories = db.prepare(`
|
|
58
|
+
SELECT id, summary, importance, created_at
|
|
59
|
+
FROM memories
|
|
60
|
+
WHERE summary LIKE ?
|
|
61
|
+
ORDER BY importance DESC
|
|
62
|
+
LIMIT ?
|
|
63
|
+
`).all(`%${query}%`, limit);
|
|
64
|
+
return { memories };
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
// memory_summary tool
|
|
68
|
+
tools.register({
|
|
69
|
+
name: 'memory_summary',
|
|
70
|
+
description: 'Get memory summary for time period',
|
|
71
|
+
schema: {
|
|
72
|
+
type: 'object',
|
|
73
|
+
properties: {
|
|
74
|
+
period: { type: 'string', enum: ['day', 'week', 'month'] },
|
|
75
|
+
date: { type: 'string' }
|
|
76
|
+
},
|
|
77
|
+
required: ['period']
|
|
78
|
+
},
|
|
79
|
+
handler: async (params) => {
|
|
80
|
+
const { period } = params;
|
|
81
|
+
const today = new Date();
|
|
82
|
+
let startDate;
|
|
83
|
+
switch (period) {
|
|
84
|
+
case 'day':
|
|
85
|
+
startDate = today;
|
|
86
|
+
break;
|
|
87
|
+
case 'week':
|
|
88
|
+
startDate = new Date(today);
|
|
89
|
+
startDate.setDate(today.getDate() - today.getDay());
|
|
90
|
+
break;
|
|
91
|
+
case 'month':
|
|
92
|
+
startDate = new Date(today.getFullYear(), today.getMonth(), 1);
|
|
93
|
+
break;
|
|
94
|
+
default:
|
|
95
|
+
startDate = today;
|
|
96
|
+
}
|
|
97
|
+
const startDateStr = startDate.toISOString().split('T')[0];
|
|
98
|
+
const memories = db.prepare(`
|
|
99
|
+
SELECT summary, importance, created_at
|
|
100
|
+
FROM memories
|
|
101
|
+
WHERE date(created_at) >= date(?)
|
|
102
|
+
ORDER BY importance DESC
|
|
103
|
+
LIMIT 20
|
|
104
|
+
`).all(startDateStr);
|
|
105
|
+
const count = Array.isArray(memories) ? memories.length : 0;
|
|
106
|
+
return {
|
|
107
|
+
period,
|
|
108
|
+
count,
|
|
109
|
+
memories: Array.isArray(memories) ? memories.slice(0, 10) : []
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/tools/memory.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claw-Memory Type Definitions
|
|
3
|
+
* Lightweight AI memory system for OpenClaw and Claude Code
|
|
4
|
+
*/
|
|
5
|
+
export interface IntegratedSummary {
|
|
6
|
+
active_areas: string[];
|
|
7
|
+
key_topics: string[];
|
|
8
|
+
recent_summary: string;
|
|
9
|
+
}
|
|
10
|
+
export interface Memory {
|
|
11
|
+
id: string;
|
|
12
|
+
contentPath: string;
|
|
13
|
+
summary: string | null;
|
|
14
|
+
integratedSummary: IntegratedSummary | null;
|
|
15
|
+
createdAt: Date;
|
|
16
|
+
updatedAt: Date;
|
|
17
|
+
tokenCount: number;
|
|
18
|
+
importance: number;
|
|
19
|
+
accessCount: number;
|
|
20
|
+
lastAccessedAt: Date | null;
|
|
21
|
+
isArchived: boolean;
|
|
22
|
+
isDuplicate: boolean;
|
|
23
|
+
duplicateOf: string | null;
|
|
24
|
+
}
|
|
25
|
+
export interface Entity {
|
|
26
|
+
id: string;
|
|
27
|
+
name: string;
|
|
28
|
+
type: 'keyword' | 'tag' | 'subject' | 'person' | 'project';
|
|
29
|
+
parentId: string | null;
|
|
30
|
+
level: number;
|
|
31
|
+
embedding: Buffer | null;
|
|
32
|
+
metadata: Record<string, unknown> | null;
|
|
33
|
+
createdAt: Date;
|
|
34
|
+
}
|
|
35
|
+
export interface MemoryEntity {
|
|
36
|
+
memoryId: string;
|
|
37
|
+
entityId: string;
|
|
38
|
+
relevance: number;
|
|
39
|
+
source: 'auto' | 'manual';
|
|
40
|
+
createdAt: Date;
|
|
41
|
+
}
|
|
42
|
+
export interface EntityRelation {
|
|
43
|
+
id: string;
|
|
44
|
+
sourceId: string;
|
|
45
|
+
targetId: string;
|
|
46
|
+
relationType: 'related' | 'parent' | 'similar' | 'co_occur';
|
|
47
|
+
weight: number;
|
|
48
|
+
evidenceCount: number;
|
|
49
|
+
createdAt: Date;
|
|
50
|
+
}
|
|
51
|
+
export interface TimeBucket {
|
|
52
|
+
date: string;
|
|
53
|
+
memoryCount: number;
|
|
54
|
+
summary: string | null;
|
|
55
|
+
summaryGeneratedAt: Date | null;
|
|
56
|
+
keyTopics: string[] | null;
|
|
57
|
+
createdAt: Date;
|
|
58
|
+
}
|
|
59
|
+
export interface SaveMemoryInput {
|
|
60
|
+
content: string;
|
|
61
|
+
metadata: {
|
|
62
|
+
tags?: string[];
|
|
63
|
+
subjects?: string[];
|
|
64
|
+
keywords?: string[];
|
|
65
|
+
importance?: number;
|
|
66
|
+
summary?: string;
|
|
67
|
+
};
|
|
68
|
+
userId?: string;
|
|
69
|
+
}
|
|
70
|
+
export interface SearchMemoryInput {
|
|
71
|
+
query: string;
|
|
72
|
+
timeRange?: 'today' | 'week' | 'month' | 'year' | 'all';
|
|
73
|
+
tags?: string[];
|
|
74
|
+
limit?: number;
|
|
75
|
+
maxTokens?: number;
|
|
76
|
+
}
|
|
77
|
+
export interface GetContextInput {
|
|
78
|
+
query: string;
|
|
79
|
+
maxTokens?: number;
|
|
80
|
+
}
|
|
81
|
+
export interface GetSummaryInput {
|
|
82
|
+
period: 'day' | 'week' | 'month';
|
|
83
|
+
date?: string;
|
|
84
|
+
}
|
|
85
|
+
export interface WeeklyReport {
|
|
86
|
+
period: {
|
|
87
|
+
start: string;
|
|
88
|
+
end: string;
|
|
89
|
+
};
|
|
90
|
+
basic: {
|
|
91
|
+
totalMemories: number;
|
|
92
|
+
totalTokens: number;
|
|
93
|
+
avgImportance: number;
|
|
94
|
+
};
|
|
95
|
+
tags: {
|
|
96
|
+
topTags: {
|
|
97
|
+
name: string;
|
|
98
|
+
count: number;
|
|
99
|
+
}[];
|
|
100
|
+
tagDistribution: Record<string, number>;
|
|
101
|
+
};
|
|
102
|
+
topics: {
|
|
103
|
+
keywords: {
|
|
104
|
+
word: string;
|
|
105
|
+
count: number;
|
|
106
|
+
}[];
|
|
107
|
+
keyTopics: string[];
|
|
108
|
+
};
|
|
109
|
+
importance: {
|
|
110
|
+
highPriority: Pick<Memory, 'id' | 'summary' | 'importance'>[];
|
|
111
|
+
mediumPriority: Pick<Memory, 'id' | 'summary' | 'importance'>[];
|
|
112
|
+
lowPriority: Pick<Memory, 'id' | 'summary' | 'importance'>[];
|
|
113
|
+
};
|
|
114
|
+
access: {
|
|
115
|
+
mostAccessed: Pick<Memory, 'id' | 'summary' | 'accessCount'>[];
|
|
116
|
+
recentlyCreated: Pick<Memory, 'id' | 'summary' | 'createdAt'>[];
|
|
117
|
+
recentlyAccessed: Pick<Memory, 'id' | 'summary' | 'lastAccessedAt'>[];
|
|
118
|
+
};
|
|
119
|
+
entities: {
|
|
120
|
+
relatedGroups: {
|
|
121
|
+
entity: string;
|
|
122
|
+
related: string[];
|
|
123
|
+
}[];
|
|
124
|
+
coOccurringTags: [string, string][];
|
|
125
|
+
};
|
|
126
|
+
summary: string;
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC5C,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC3D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,kBAAkB,EAAE,IAAI,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;IACxD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAE3B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,KAAK,EAAE;QACL,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IAGF,IAAI,EAAE;QACJ,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC3C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACzC,CAAC;IAGF,MAAM,EAAE;QACN,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC5C,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IAGF,UAAU,EAAE;QACV,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,GAAG,YAAY,CAAC,EAAE,CAAC;QAC9D,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,GAAG,YAAY,CAAC,EAAE,CAAC;QAChE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,GAAG,YAAY,CAAC,EAAE,CAAC;KAC9D,CAAC;IAGF,MAAM,EAAE;QACN,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,GAAG,aAAa,CAAC,EAAE,CAAC;QAC/D,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,GAAG,WAAW,CAAC,EAAE,CAAC;QAChE,gBAAgB,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,SAAS,GAAG,gBAAgB,CAAC,EAAE,CAAC;KACvE,CAAC;IAGF,QAAQ,EAAE;QACR,aAAa,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,EAAE,CAAA;SAAE,EAAE,CAAC;QACvD,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;KACrC,CAAC;IAGF,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|