@playcraft/common 0.0.33 → 0.0.35
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/dist/agent/context-usage.d.ts +41 -0
- package/dist/agent/context-usage.d.ts.map +1 -0
- package/dist/agent/context-usage.js +68 -0
- package/dist/agent/context-usage.js.map +1 -0
- package/dist/agent/index.d.ts +1 -0
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +1 -0
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/model-context-window.d.ts.map +1 -1
- package/dist/agent/model-context-window.js +2 -0
- package/dist/agent/model-context-window.js.map +1 -1
- package/dist/agent-tools/types.d.ts +75 -0
- package/dist/agent-tools/types.d.ts.map +1 -1
- package/dist/image-studio/alpha-strategy.d.ts +75 -0
- package/dist/image-studio/alpha-strategy.d.ts.map +1 -0
- package/dist/image-studio/alpha-strategy.js +184 -0
- package/dist/image-studio/alpha-strategy.js.map +1 -0
- package/dist/image-studio/index.d.ts +3 -0
- package/dist/image-studio/index.d.ts.map +1 -0
- package/dist/image-studio/index.js +3 -0
- package/dist/image-studio/index.js.map +1 -0
- package/dist/image-studio/keyframe-sheet.d.ts +16 -0
- package/dist/image-studio/keyframe-sheet.d.ts.map +1 -0
- package/dist/image-studio/keyframe-sheet.js +45 -0
- package/dist/image-studio/keyframe-sheet.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/prefab/constants.d.ts +8 -0
- package/dist/prefab/constants.d.ts.map +1 -1
- package/dist/prefab/constants.js +10 -0
- package/dist/prefab/constants.js.map +1 -1
- package/dist/prefab/image-padding-color.d.ts +17 -0
- package/dist/prefab/image-padding-color.d.ts.map +1 -0
- package/dist/prefab/image-padding-color.js +49 -0
- package/dist/prefab/image-padding-color.js.map +1 -0
- package/dist/prefab/index.d.ts +2 -0
- package/dist/prefab/index.d.ts.map +1 -1
- package/dist/prefab/index.js +2 -0
- package/dist/prefab/index.js.map +1 -1
- package/dist/prefab/mime-type-list.d.ts +37 -0
- package/dist/prefab/mime-type-list.d.ts.map +1 -0
- package/dist/prefab/mime-type-list.js +135 -0
- package/dist/prefab/mime-type-list.js.map +1 -0
- package/dist/prefab/types.d.ts +36 -1
- package/dist/prefab/types.d.ts.map +1 -1
- package/dist/recommend/atom-graph/basic-atom-graph.d.ts.map +1 -1
- package/dist/recommend/atom-graph/basic-atom-graph.js +771 -266
- package/dist/recommend/atom-graph/basic-atom-graph.js.map +1 -1
- package/dist/recommend/atom-graph/basic-atom-skill-graph.d.ts +11 -0
- package/dist/recommend/atom-graph/basic-atom-skill-graph.d.ts.map +1 -1
- package/dist/recommend/atom-graph/basic-atom-skill-graph.js +74 -9
- package/dist/recommend/atom-graph/basic-atom-skill-graph.js.map +1 -1
- package/dist/recommend/atom-graph/graph-generator.d.ts +63 -0
- package/dist/recommend/atom-graph/graph-generator.d.ts.map +1 -0
- package/dist/recommend/atom-graph/graph-generator.js +284 -0
- package/dist/recommend/atom-graph/graph-generator.js.map +1 -0
- package/dist/recommend/atom-graph/index.js +3 -0
- package/dist/recommend/atom-graph/index.js.map +1 -1
- package/dist/recommend/atom-graph/types.d.ts +39 -9
- package/dist/recommend/atom-graph/types.d.ts.map +1 -1
- package/dist/recommend/atom-graph/validate.js +2 -2
- package/dist/recommend/atom-graph/validate.js.map +1 -1
- package/dist/storage/cos-url.d.ts +18 -0
- package/dist/storage/cos-url.d.ts.map +1 -0
- package/dist/storage/cos-url.js +24 -0
- package/dist/storage/cos-url.js.map +1 -0
- package/dist/storage/cos.d.ts.map +1 -1
- package/dist/storage/cos.js +8 -13
- package/dist/storage/cos.js.map +1 -1
- package/dist/storage/index.d.ts +1 -0
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +1 -0
- package/dist/storage/index.js.map +1 -1
- package/package.json +16 -2
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
const fsPromises = fs.promises;
|
|
4
|
+
/**
|
|
5
|
+
* 扫描 skills 目录,读取所有 manifest.json
|
|
6
|
+
*/
|
|
7
|
+
export async function loadAllManifests(skillsDir) {
|
|
8
|
+
const manifests = [];
|
|
9
|
+
const entries = await fsPromises.readdir(skillsDir, { withFileTypes: true });
|
|
10
|
+
for (const entry of entries) {
|
|
11
|
+
if (!entry.isDirectory())
|
|
12
|
+
continue;
|
|
13
|
+
const manifestPath = path.join(skillsDir, entry.name, 'manifest.json');
|
|
14
|
+
try {
|
|
15
|
+
await fsPromises.access(manifestPath, fs.constants.F_OK);
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
continue; // 文件不存在,跳过
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
const content = await fsPromises.readFile(manifestPath, 'utf-8');
|
|
22
|
+
const manifest = JSON.parse(content);
|
|
23
|
+
manifests.push(manifest);
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
console.warn(`[WARN] 无法解析 ${manifestPath}:`, error.message);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return manifests;
|
|
30
|
+
}
|
|
31
|
+
/** Category 排序权重(决定生成的图文件中节点顺序) */
|
|
32
|
+
const CATEGORY_ORDER = {
|
|
33
|
+
engine: 0,
|
|
34
|
+
asset: 1,
|
|
35
|
+
gameplay: 2,
|
|
36
|
+
visual: 3,
|
|
37
|
+
ui: 4,
|
|
38
|
+
misc: 5,
|
|
39
|
+
};
|
|
40
|
+
/** 旧 category 值 → 新 6 值映射(渐进迁移兼容) */
|
|
41
|
+
function normalizeCategory(cat) {
|
|
42
|
+
const m = {
|
|
43
|
+
engine: 'engine',
|
|
44
|
+
build: 'engine',
|
|
45
|
+
gameplay: 'gameplay',
|
|
46
|
+
layout: 'gameplay',
|
|
47
|
+
scene: 'gameplay',
|
|
48
|
+
state: 'gameplay',
|
|
49
|
+
visual: 'visual',
|
|
50
|
+
animation: 'visual',
|
|
51
|
+
vfx: 'visual',
|
|
52
|
+
rendering: 'visual',
|
|
53
|
+
ui: 'ui',
|
|
54
|
+
asset: 'asset',
|
|
55
|
+
audio: 'asset',
|
|
56
|
+
config: 'asset',
|
|
57
|
+
// 默认归 misc
|
|
58
|
+
component: 'misc',
|
|
59
|
+
tool: 'misc',
|
|
60
|
+
util: 'misc',
|
|
61
|
+
validator: 'misc',
|
|
62
|
+
packaging: 'misc',
|
|
63
|
+
infrastructure: 'misc',
|
|
64
|
+
logic: 'misc',
|
|
65
|
+
};
|
|
66
|
+
return m[cat] ?? 'misc';
|
|
67
|
+
}
|
|
68
|
+
const BUNDLE_SUFFIXES = ['.aiimage', '.aiaudio', '.aiconfig', '.aigameplay', '.aicomponent', '.aivalidator'];
|
|
69
|
+
/** 去掉 atomId 后面的 bundleType 后缀,如 phaser.aicomponent → phaser */
|
|
70
|
+
function stripBundleSuffix(atomId) {
|
|
71
|
+
for (const suffix of BUNDLE_SUFFIXES) {
|
|
72
|
+
if (atomId.endsWith(suffix)) {
|
|
73
|
+
return atomId.slice(0, -suffix.length);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return atomId;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* 从 manifest 列表生成 AtomGraph
|
|
80
|
+
*/
|
|
81
|
+
export function buildGraphFromManifests(manifests) {
|
|
82
|
+
const nodes = [];
|
|
83
|
+
const edges = [];
|
|
84
|
+
// 1. 生成所有节点,并建立 bindingRoles 索引
|
|
85
|
+
const bindingRolesIndex = new Map(); // role -> atomIds[]
|
|
86
|
+
for (const manifest of manifests) {
|
|
87
|
+
const id = stripBundleSuffix(manifest.atomId);
|
|
88
|
+
const node = {
|
|
89
|
+
id,
|
|
90
|
+
category: normalizeCategory(manifest.category),
|
|
91
|
+
mode: manifest.mode ?? 'fixed',
|
|
92
|
+
label: manifest.label,
|
|
93
|
+
bindingRoles: manifest.bindingRoles,
|
|
94
|
+
tags: manifest.tags,
|
|
95
|
+
};
|
|
96
|
+
nodes.push(node);
|
|
97
|
+
// 建立 bindingRoles 索引
|
|
98
|
+
if (manifest.bindingRoles) {
|
|
99
|
+
for (const role of manifest.bindingRoles) {
|
|
100
|
+
if (!bindingRolesIndex.has(role)) {
|
|
101
|
+
bindingRolesIndex.set(role, []);
|
|
102
|
+
}
|
|
103
|
+
bindingRolesIndex.get(role).push(id);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
// 2. 按照 category 分类排序节点
|
|
108
|
+
nodes.sort((a, b) => {
|
|
109
|
+
const orderA = CATEGORY_ORDER[a.category] ?? 99;
|
|
110
|
+
const orderB = CATEGORY_ORDER[b.category] ?? 99;
|
|
111
|
+
if (orderA !== orderB) {
|
|
112
|
+
return orderA - orderB;
|
|
113
|
+
}
|
|
114
|
+
// 同类别内按 id 字母排序
|
|
115
|
+
return a.id.localeCompare(b.id);
|
|
116
|
+
});
|
|
117
|
+
// 3. 生成边(从 imports 字段提取依赖关系)
|
|
118
|
+
for (const manifest of manifests) {
|
|
119
|
+
if (!manifest.imports)
|
|
120
|
+
continue;
|
|
121
|
+
const fromId = stripBundleSuffix(manifest.atomId);
|
|
122
|
+
for (const imp of manifest.imports) {
|
|
123
|
+
// 处理硬依赖(pinAtomId)
|
|
124
|
+
if (imp.pinAtomId) {
|
|
125
|
+
const edgeKind = imp.edgeKind || 'requires';
|
|
126
|
+
const edge = {
|
|
127
|
+
from: fromId,
|
|
128
|
+
to: stripBundleSuffix(imp.pinAtomId),
|
|
129
|
+
kind: edgeKind,
|
|
130
|
+
label: imp.description || imp.slot,
|
|
131
|
+
};
|
|
132
|
+
edges.push(edge);
|
|
133
|
+
}
|
|
134
|
+
// 处理软槽位(matchBindingRoles):根据 bindingRoles 匹配生成边
|
|
135
|
+
if (!imp.pinAtomId && imp.matchBindingRoles && imp.matchBindingRoles.length > 0) {
|
|
136
|
+
const edgeKind = imp.edgeKind || 'compatibleWith';
|
|
137
|
+
// 收集所有匹配的角色对应的 atomIds
|
|
138
|
+
const matchedAtomIds = new Set();
|
|
139
|
+
for (const role of imp.matchBindingRoles) {
|
|
140
|
+
const atomIds = bindingRolesIndex.get(role) || [];
|
|
141
|
+
for (const atomId of atomIds) {
|
|
142
|
+
matchedAtomIds.add(atomId);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
// 为每个匹配的 atom 生成边
|
|
146
|
+
for (const toAtomId of matchedAtomIds) {
|
|
147
|
+
// 排除自己
|
|
148
|
+
if (toAtomId === fromId)
|
|
149
|
+
continue;
|
|
150
|
+
const edge = {
|
|
151
|
+
from: fromId,
|
|
152
|
+
to: toAtomId,
|
|
153
|
+
kind: edgeKind,
|
|
154
|
+
label: imp.description || imp.slot,
|
|
155
|
+
};
|
|
156
|
+
edges.push(edge);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
// 4. 按照 from 节点在 nodes 数组中的顺序排序 edges
|
|
162
|
+
const nodeIndexMap = new Map();
|
|
163
|
+
for (let i = 0; i < nodes.length; i++) {
|
|
164
|
+
nodeIndexMap.set(nodes[i].id, i);
|
|
165
|
+
}
|
|
166
|
+
edges.sort((a, b) => {
|
|
167
|
+
// 先按 from 节点在 nodes 中的位置排序
|
|
168
|
+
const idxA = nodeIndexMap.get(a.from) ?? 9999;
|
|
169
|
+
const idxB = nodeIndexMap.get(b.from) ?? 9999;
|
|
170
|
+
if (idxA !== idxB) {
|
|
171
|
+
return idxA - idxB;
|
|
172
|
+
}
|
|
173
|
+
// from 相同时按 to 节点在 nodes 中的位置排序
|
|
174
|
+
const toIdxA = nodeIndexMap.get(a.to) ?? 9999;
|
|
175
|
+
const toIdxB = nodeIndexMap.get(b.to) ?? 9999;
|
|
176
|
+
return toIdxA - toIdxB;
|
|
177
|
+
});
|
|
178
|
+
return {
|
|
179
|
+
id: 'basic-atom-graph',
|
|
180
|
+
version: 1,
|
|
181
|
+
status: 'prototype',
|
|
182
|
+
description: 'Auto-generated Atom Graph from skills/skills manifests',
|
|
183
|
+
nodes,
|
|
184
|
+
edges,
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* 将 AtomGraph 转换为 TypeScript 代码
|
|
189
|
+
*/
|
|
190
|
+
export function graphToTypeScript(graph) {
|
|
191
|
+
const lines = [];
|
|
192
|
+
lines.push(`import type { AtomEdge, AtomGraph, AtomNode } from './types.js';`);
|
|
193
|
+
lines.push('');
|
|
194
|
+
// node 辅助函数
|
|
195
|
+
lines.push(`const node = (`);
|
|
196
|
+
lines.push(` id: string,`);
|
|
197
|
+
lines.push(` category: AtomNode['category'],`);
|
|
198
|
+
lines.push(` mode: AtomNode['mode'],`);
|
|
199
|
+
lines.push(` zh: string,`);
|
|
200
|
+
lines.push(` en: string,`);
|
|
201
|
+
lines.push(` bindingRoles: AtomNode['bindingRoles'] = [],`);
|
|
202
|
+
lines.push(` tags: string[] = [],`);
|
|
203
|
+
lines.push(`): AtomNode => ({`);
|
|
204
|
+
lines.push(` id,`);
|
|
205
|
+
lines.push(` category,`);
|
|
206
|
+
lines.push(` mode,`);
|
|
207
|
+
lines.push(` label: { zh, en },`);
|
|
208
|
+
lines.push(` bindingRoles,`);
|
|
209
|
+
lines.push(` tags,`);
|
|
210
|
+
lines.push(`});`);
|
|
211
|
+
lines.push('');
|
|
212
|
+
// edge 辅助函数
|
|
213
|
+
lines.push(`const edge = (from: string, to: string, kind: AtomEdge['kind'], label?: string, weight?: number): AtomEdge => ({`);
|
|
214
|
+
lines.push(` from,`);
|
|
215
|
+
lines.push(` to,`);
|
|
216
|
+
lines.push(` kind,`);
|
|
217
|
+
lines.push(` label,`);
|
|
218
|
+
lines.push(` weight,`);
|
|
219
|
+
lines.push(`});`);
|
|
220
|
+
lines.push('');
|
|
221
|
+
// 图对象
|
|
222
|
+
lines.push(`export const basicAtomGraph: AtomGraph = {`);
|
|
223
|
+
lines.push(` id: '${graph.id}',`);
|
|
224
|
+
lines.push(` version: ${graph.version},`);
|
|
225
|
+
lines.push(` status: '${graph.status}',`);
|
|
226
|
+
lines.push(` description: '${graph.description}',`);
|
|
227
|
+
lines.push(` nodes: [`);
|
|
228
|
+
for (const n of graph.nodes) {
|
|
229
|
+
const bindingRoles = n.bindingRoles && n.bindingRoles.length > 0
|
|
230
|
+
? JSON.stringify(n.bindingRoles)
|
|
231
|
+
: '[]';
|
|
232
|
+
const tags = n.tags && n.tags.length > 0 ? JSON.stringify(n.tags) : '[]';
|
|
233
|
+
lines.push(` node('${n.id}', '${n.category}', '${n.mode}', '${esc(n.label.zh)}', '${esc(n.label.en)}', ${bindingRoles}, ${tags}),`);
|
|
234
|
+
}
|
|
235
|
+
lines.push(` ],`);
|
|
236
|
+
lines.push(` edges: [`);
|
|
237
|
+
for (const e of graph.edges) {
|
|
238
|
+
const labelPart = e.label ? `, '${esc(e.label)}'` : '';
|
|
239
|
+
const weightPart = e.weight !== undefined ? `, ${e.weight}` : '';
|
|
240
|
+
lines.push(` edge('${e.from}', '${e.to}', '${e.kind}'${labelPart}${weightPart}),`);
|
|
241
|
+
}
|
|
242
|
+
lines.push(` ],`);
|
|
243
|
+
lines.push(`};`);
|
|
244
|
+
lines.push('');
|
|
245
|
+
return lines.join('\n');
|
|
246
|
+
}
|
|
247
|
+
function esc(s) {
|
|
248
|
+
return s.replace(/'/g, "\\'");
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* 主函数:生成 atom-graph 文件
|
|
252
|
+
*/
|
|
253
|
+
export async function generateAtomGraph(options) {
|
|
254
|
+
const { skillsDir, outputPath, graphId = 'basic-atom-graph', graphVersion = 1, overwrite = true, } = options;
|
|
255
|
+
// 检查输出文件是否已存在
|
|
256
|
+
if (!overwrite) {
|
|
257
|
+
try {
|
|
258
|
+
await fsPromises.access(outputPath, fs.constants.F_OK);
|
|
259
|
+
throw new Error(`输出文件已存在: ${outputPath}`);
|
|
260
|
+
}
|
|
261
|
+
catch (err) {
|
|
262
|
+
// 文件不存在,继续
|
|
263
|
+
if (err.code !== 'ENOENT')
|
|
264
|
+
throw err;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
console.log(`[INFO] 扫描技能目录: ${skillsDir}`);
|
|
268
|
+
const manifests = await loadAllManifests(skillsDir);
|
|
269
|
+
console.log(`[INFO] 找到 ${manifests.length} 个技能清单`);
|
|
270
|
+
// 直接从 manifest 构建图
|
|
271
|
+
const graph = buildGraphFromManifests(manifests);
|
|
272
|
+
graph.id = graphId;
|
|
273
|
+
graph.version = graphVersion;
|
|
274
|
+
console.log(`[INFO] 生成图: ${graph.nodes.length} 个节点, ${graph.edges.length} 条边`);
|
|
275
|
+
// 转换为 TypeScript 代码
|
|
276
|
+
const code = graphToTypeScript(graph);
|
|
277
|
+
// 确保输出目录存在
|
|
278
|
+
const outputDir = path.dirname(outputPath);
|
|
279
|
+
await fsPromises.mkdir(outputDir, { recursive: true });
|
|
280
|
+
// 写入文件
|
|
281
|
+
await fsPromises.writeFile(outputPath, code, 'utf-8');
|
|
282
|
+
console.log(`[INFO] 已生成文件: ${outputPath}`);
|
|
283
|
+
}
|
|
284
|
+
//# sourceMappingURL=graph-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-generator.js","sourceRoot":"","sources":["../../../src/recommend/atom-graph/graph-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,4 +3,7 @@ export * from './basic-atom-graph.js';
|
|
|
3
3
|
export * from './basic-atom-skill-graph.js';
|
|
4
4
|
export * from './remix-examples.js';
|
|
5
5
|
export * from './validate.js';
|
|
6
|
+
// NOTE: graph-generator.js is NOT re-exported here because it depends on Node.js
|
|
7
|
+
// built-in modules (fs, path) which are unavailable in browser/client bundles.
|
|
8
|
+
// Import it directly: import { ... } from '@playcraft/common/recommend/atom-graph/graph-generator.js'
|
|
6
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/recommend/atom-graph/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/recommend/atom-graph/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,iFAAiF;AACjF,+EAA+E;AAC/E,sGAAsG"}
|
|
@@ -1,7 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* AtomKind:描述 Atom 在其 category 内部的架构角色。
|
|
3
|
+
* 与 category 正交:category 描述"在哪一层",kind 描述"扮演什么角色"。
|
|
4
|
+
* 不同 category 有不同的 kind 取值范围。
|
|
5
|
+
*
|
|
6
|
+
* gameplay: rule / core-rule / system / entity / data / scene
|
|
7
|
+
* engine: framework / layout / state-manager / data-format / util
|
|
8
|
+
* visual: renderer / animator / vfx / environment
|
|
9
|
+
* ui: hud / overlay / panel / transition / guide
|
|
10
|
+
* asset: texture-set / audio-pack / config-pack / atlas / spritesheet
|
|
11
|
+
* misc: validator / generator / quality-gate
|
|
12
|
+
*/
|
|
13
|
+
export type AtomKind = 'rule' | 'core-rule' | 'system' | 'entity' | 'data' | 'scene' | 'framework' | 'layout' | 'state-manager' | 'data-format' | 'util' | 'renderer' | 'animator' | 'vfx' | 'environment' | 'hud' | 'overlay' | 'panel' | 'transition' | 'guide' | 'texture-set' | 'audio-pack' | 'config-pack' | 'atlas' | 'spritesheet' | 'validator' | 'generator' | 'quality-gate';
|
|
14
|
+
export type AtomCategory = 'engine' | 'asset' | 'gameplay' | 'visual' | 'ui' | 'misc';
|
|
2
15
|
export type AtomMode = 'fixed' | 'parametric' | 'generative';
|
|
3
|
-
export type AtomEdgeKind = 'requires' | 'compatibleWith' | 'semanticallyRelatedTo' | 'alternativeTo';
|
|
4
|
-
export type AtomBindingRole =
|
|
16
|
+
export type AtomEdgeKind = 'requires' | 'compatibleWith' | 'semanticallyRelatedTo' | 'alternativeTo' | 'fusesWith';
|
|
17
|
+
export type AtomBindingRole = string;
|
|
5
18
|
export type AtomNode = {
|
|
6
19
|
id: string;
|
|
7
20
|
category: AtomCategory;
|
|
@@ -68,9 +81,10 @@ export type AtomGraphValidationResult = {
|
|
|
68
81
|
* - aiimage / aiaudio / aiconfig / aigameplay:资源/配置/玩法,同原有用法
|
|
69
82
|
* - aicomponent:通用代码 skill(引擎/布局/场景/UI/状态/构建/工具等)
|
|
70
83
|
* - aivalidator:校验/测试/质量门禁 skill(测试脚本 + 校验报告)
|
|
84
|
+
* - component: 直接提取出来的通用代码 skill
|
|
71
85
|
* - prefab:已废除,不要再使用,现有 prefab skill 已拆解为多个具体 skill
|
|
72
86
|
*/
|
|
73
|
-
export type AtomBundleType = 'aiimage' | 'aiaudio' | 'aiconfig' | 'aigameplay' | 'aicomponent' | 'aivalidator';
|
|
87
|
+
export type AtomBundleType = 'aiimage' | 'aiaudio' | 'aiconfig' | 'aigameplay' | 'aicomponent' | 'aivalidator' | 'component';
|
|
74
88
|
/**
|
|
75
89
|
* Recipe:怎么来的——生成过程的完整记录,支持复用和 fork。
|
|
76
90
|
* Agent 读取历史决策,修改后重新生成时写回。
|
|
@@ -248,6 +262,8 @@ export type AtomSkillManifest = {
|
|
|
248
262
|
atomId: string;
|
|
249
263
|
/** 封包后缀类型 */
|
|
250
264
|
bundleType: AtomBundleType;
|
|
265
|
+
/** Atom 在其 category 内部的架构角色(如 gameplay 的 core-rule、visual 的 renderer) */
|
|
266
|
+
kind: AtomKind;
|
|
251
267
|
/** Atom 分类 */
|
|
252
268
|
category: AtomCategory;
|
|
253
269
|
/** 操作模式 */
|
|
@@ -259,6 +275,8 @@ export type AtomSkillManifest = {
|
|
|
259
275
|
};
|
|
260
276
|
/** 索引和过滤标签(至少 1 个) */
|
|
261
277
|
tags: string[];
|
|
278
|
+
/** 关键词:用于搜索召回的补充词条(同义词、缩写、领域术语等),不展示给用户 */
|
|
279
|
+
keywords?: string[];
|
|
262
280
|
/** 语义角色标签:标识该 skill 是哪一类节点,用于候选召回和同类替代簇识别 */
|
|
263
281
|
bindingRoles?: AtomBindingRole[];
|
|
264
282
|
/** Recipe(生成方式模板)——aiimage / aiaudio / aiconfig / aigameplay 使用 */
|
|
@@ -323,10 +341,22 @@ export type AtomSkillManifest = {
|
|
|
323
341
|
/** 产出格式 */
|
|
324
342
|
outputFormat: 'report' | 'pass-fail' | 'test-suite';
|
|
325
343
|
};
|
|
326
|
-
/**
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
344
|
+
/**
|
|
345
|
+
* 关联文件列表:每项描述 skill 内一个文件的路径和用途。
|
|
346
|
+
* - path(必填):相对 skill 目录的路径(目录以 / 结尾)
|
|
347
|
+
* - description(必填):这个文件是什么——格式、规格、内容摘要。不写使用方式,那是 SKILL.md 的职责。
|
|
348
|
+
* - sourceKind(选填):资源来源类型,用于抽取阶段的溯源分析
|
|
349
|
+
* - raw:有物理文件,必须存在于模块目录中
|
|
350
|
+
* - derived:无独立文件,结构由其他数据衍生(如 textureatlas、sprite、material)
|
|
351
|
+
* - external:不在模块内,仅为共享基础设施的引用声明
|
|
352
|
+
* - key(选填):资源在运行时的纹理/加载键名(仅 asset/visual 类模块常用)
|
|
353
|
+
* `inspect` 指令读取此字段输出资源清单。
|
|
354
|
+
*/
|
|
355
|
+
files?: Array<{
|
|
356
|
+
path: string;
|
|
357
|
+
description: string;
|
|
358
|
+
sourceKind?: 'raw' | 'derived' | 'external';
|
|
359
|
+
key?: string;
|
|
360
|
+
}>;
|
|
331
361
|
};
|
|
332
362
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/recommend/atom-graph/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/recommend/atom-graph/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -118,8 +118,8 @@ export function validateAtomGraph(graph) {
|
|
|
118
118
|
}
|
|
119
119
|
// Gameplay nodes must have a requires path to an engine OR scaffold (component) node.
|
|
120
120
|
// In slot-level graphs, the root is an engine node (phaser/threejs/playcanvas).
|
|
121
|
-
// In skill-level graphs, the root is a prefab/scaffold node (e.g. match3_casual.prefab), category `
|
|
122
|
-
const runtimeNodeIds = new Set(graph.nodes.filter((node) => node.category === 'engine' || node.category === '
|
|
121
|
+
// In skill-level graphs, the root is a prefab/scaffold node (e.g. match3_casual.prefab), category `ui`.
|
|
122
|
+
const runtimeNodeIds = new Set(graph.nodes.filter((node) => node.category === 'engine' || node.category === 'ui').map((node) => node.id));
|
|
123
123
|
for (const gameplayNode of graph.nodes.filter((node) => node.category === 'gameplay')) {
|
|
124
124
|
const ancestors = findAtomAncestors(graph, gameplayNode.id);
|
|
125
125
|
if (!ancestors.some((ancestorId) => runtimeNodeIds.has(ancestorId))) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/recommend/atom-graph/validate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/recommend/atom-graph/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type BuildCosPublicUrlOptions = {
|
|
2
|
+
/** Object key in COS bucket, e.g. `feedbacks/abc.png` */
|
|
3
|
+
key: string;
|
|
4
|
+
/** Optional filename for inline Content-Disposition */
|
|
5
|
+
filename?: string;
|
|
6
|
+
/** CDN / public domain override (preferred when set) */
|
|
7
|
+
cdnDomain?: string;
|
|
8
|
+
/** COS bucket — used when cdnDomain is empty */
|
|
9
|
+
bucket?: string;
|
|
10
|
+
/** COS region — used when cdnDomain is empty */
|
|
11
|
+
region?: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Build a public COS/CDN URL for a stored object key.
|
|
15
|
+
* Shared by CosStorage, backend services, worker, and frontend URL helpers.
|
|
16
|
+
*/
|
|
17
|
+
export declare function buildCosPublicUrl(options: BuildCosPublicUrlOptions): string;
|
|
18
|
+
//# sourceMappingURL=cos-url.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cos-url.d.ts","sourceRoot":"","sources":["../../src/storage/cos-url.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,wBAAwB,GAAG;IACrC,yDAAyD;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,MAAM,CAiB3E"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build a public COS/CDN URL for a stored object key.
|
|
3
|
+
* Shared by CosStorage, backend services, worker, and frontend URL helpers.
|
|
4
|
+
*/
|
|
5
|
+
export function buildCosPublicUrl(options) {
|
|
6
|
+
const { key, filename, cdnDomain, bucket, region } = options;
|
|
7
|
+
let base;
|
|
8
|
+
const trimmed = cdnDomain?.trim().replace(/\/+$/, '');
|
|
9
|
+
if (trimmed) {
|
|
10
|
+
base = /^https?:\/\//i.test(trimmed) ? trimmed : `https://${trimmed}`;
|
|
11
|
+
}
|
|
12
|
+
else if (bucket && region) {
|
|
13
|
+
base = `https://${bucket}.cos.${region}.myqcloud.com`;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
throw new Error('buildCosPublicUrl: require cdnDomain or bucket+region');
|
|
17
|
+
}
|
|
18
|
+
const encoded = key.split('/').map(encodeURIComponent).join('/');
|
|
19
|
+
if (filename) {
|
|
20
|
+
return `${base}/${encoded}?response-content-disposition=inline;filename=${encodeURIComponent(filename)}`;
|
|
21
|
+
}
|
|
22
|
+
return `${base}/${encoded}`;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=cos-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cos-url.js","sourceRoot":"","sources":["../../src/storage/cos-url.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAiC;IACjE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC7D,IAAI,IAAY,CAAC;IACjB,MAAM,OAAO,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtD,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE,CAAC;IACxE,CAAC;SAAM,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QAC5B,IAAI,GAAG,WAAW,MAAM,QAAQ,MAAM,eAAe,CAAC;IACxD,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,GAAG,IAAI,IAAI,OAAO,iDAAiD,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC3G,CAAC;IACD,OAAO,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cos.d.ts","sourceRoot":"","sources":["../../src/storage/cos.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cos.d.ts","sourceRoot":"","sources":["../../src/storage/cos.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAItD;;GAEG;AACH,qBAAa,UAAW,YAAW,eAAe;IAChD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,MAAM,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;IAUK,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAetF,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAczC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAcrC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAc3C,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;CAS/C"}
|
package/dist/storage/cos.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createRequire } from 'module';
|
|
2
|
+
import { buildCosPublicUrl } from './cos-url.js';
|
|
2
3
|
const require = createRequire(import.meta.url);
|
|
3
4
|
/**
|
|
4
5
|
* 腾讯云 COS 存储实现
|
|
@@ -76,19 +77,13 @@ export class CosStorage {
|
|
|
76
77
|
}
|
|
77
78
|
}
|
|
78
79
|
getUrl(key, filename) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
const encoded = key.split('/').map(encodeURIComponent).join('/');
|
|
88
|
-
if (filename) {
|
|
89
|
-
return `${base}/${encoded}?response-content-disposition=inline;filename=${encodeURIComponent(filename)}`;
|
|
90
|
-
}
|
|
91
|
-
return `${base}/${encoded}`;
|
|
80
|
+
return buildCosPublicUrl({
|
|
81
|
+
key,
|
|
82
|
+
filename,
|
|
83
|
+
cdnDomain: this.cdnDomain,
|
|
84
|
+
bucket: this.bucket,
|
|
85
|
+
region: this.region,
|
|
86
|
+
});
|
|
92
87
|
}
|
|
93
88
|
}
|
|
94
89
|
//# sourceMappingURL=cos.js.map
|
package/dist/storage/cos.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cos.js","sourceRoot":"","sources":["../../src/storage/cos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"cos.js","sourceRoot":"","sources":["../../src/storage/cos.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,6BAA6B,CAAC;AAI5C,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIrE;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe,CAapE;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,eAAe,CAkC5C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAEnC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAI5C,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAIrE;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe,CAapE;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,eAAe,CAkC5C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAEnC"}
|
package/dist/storage/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,6BAA6B,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,IAAI,eAAe,GAA2B,IAAI,CAAC;AAEnD;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAqB;IACjD,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,IAAI,UAAU,CAAC;YACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,WAAW;IACX,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC;QAEjD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,cAAc,CAAC;YAExD,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAC;YAChH,CAAC;YAED,eAAe,GAAG,aAAa,CAAC;gBAC9B,IAAI,EAAE,KAAK;gBACX,QAAQ;gBACR,SAAS;gBACT,MAAM;gBACN,MAAM;aACP,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,eAAe,CAAC;YACpE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,YAAY,CAAC;YAE7D,eAAe,GAAG,aAAa,CAAC;gBAC9B,IAAI,EAAE,OAAO;gBACb,SAAS;gBACT,OAAO;aACR,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,eAAe,GAAG,IAAI,CAAC;AACzB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,IAAI,eAAe,GAA2B,IAAI,CAAC;AAEnD;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAqB;IACjD,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,IAAI,UAAU,CAAC;YACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,WAAW;IACX,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC;QAEjD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,cAAc,CAAC;YAExD,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAC;YAChH,CAAC;YAED,eAAe,GAAG,aAAa,CAAC;gBAC9B,IAAI,EAAE,KAAK;gBACX,QAAQ;gBACR,SAAS;gBACT,MAAM;gBACN,MAAM;aACP,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,eAAe,CAAC;YACpE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,YAAY,CAAC;YAE7D,eAAe,GAAG,aAAa,CAAC;gBAC9B,IAAI,EAAE,OAAO;gBACb,SAAS;gBACT,OAAO;aACR,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,eAAe,GAAG,IAAI,CAAC;AACzB,CAAC"}
|