@duckcodeailabs/dql-agent 1.6.33 → 1.7.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.
Files changed (184) hide show
  1. package/dist/agent-run-engine.d.ts +39 -8
  2. package/dist/agent-run-engine.d.ts.map +1 -1
  3. package/dist/agent-run-engine.js +169 -10
  4. package/dist/agent-run-engine.js.map +1 -1
  5. package/dist/agent-run-gates.d.ts.map +1 -1
  6. package/dist/agent-run-gates.js +21 -3
  7. package/dist/agent-run-gates.js.map +1 -1
  8. package/dist/agent-run-planner.d.ts.map +1 -1
  9. package/dist/agent-run-planner.js +14 -3
  10. package/dist/agent-run-planner.js.map +1 -1
  11. package/dist/agentic/answer-contract.d.ts +37 -0
  12. package/dist/agentic/answer-contract.d.ts.map +1 -0
  13. package/dist/agentic/answer-contract.js +47 -0
  14. package/dist/agentic/answer-contract.js.map +1 -0
  15. package/dist/agentic/tool-loop.d.ts +48 -0
  16. package/dist/agentic/tool-loop.d.ts.map +1 -0
  17. package/dist/agentic/tool-loop.js +181 -0
  18. package/dist/agentic/tool-loop.js.map +1 -0
  19. package/dist/agentic/toolset.d.ts +40 -0
  20. package/dist/agentic/toolset.d.ts.map +1 -0
  21. package/dist/agentic/toolset.js +265 -0
  22. package/dist/agentic/toolset.js.map +1 -0
  23. package/dist/answer-loop.d.ts +82 -6
  24. package/dist/answer-loop.d.ts.map +1 -1
  25. package/dist/answer-loop.js +799 -112
  26. package/dist/answer-loop.js.map +1 -1
  27. package/dist/app-builder.d.ts.map +1 -1
  28. package/dist/app-builder.js +18 -10
  29. package/dist/app-builder.js.map +1 -1
  30. package/dist/cascade/budgets.d.ts +20 -2
  31. package/dist/cascade/budgets.d.ts.map +1 -1
  32. package/dist/cascade/budgets.js +83 -45
  33. package/dist/cascade/budgets.js.map +1 -1
  34. package/dist/cascade/route-policy.d.ts +1 -1
  35. package/dist/cascade/route-policy.d.ts.map +1 -1
  36. package/dist/cascade/route-policy.js +6 -0
  37. package/dist/cascade/route-policy.js.map +1 -1
  38. package/dist/domain-context.d.ts +30 -0
  39. package/dist/domain-context.d.ts.map +1 -0
  40. package/dist/domain-context.js +68 -0
  41. package/dist/domain-context.js.map +1 -0
  42. package/dist/embeddings/provider.d.ts +67 -4
  43. package/dist/embeddings/provider.d.ts.map +1 -1
  44. package/dist/embeddings/provider.js +167 -6
  45. package/dist/embeddings/provider.js.map +1 -1
  46. package/dist/hints/correction-eval.d.ts +30 -0
  47. package/dist/hints/correction-eval.d.ts.map +1 -0
  48. package/dist/hints/correction-eval.js +63 -0
  49. package/dist/hints/correction-eval.js.map +1 -0
  50. package/dist/hints/git-store.d.ts +39 -3
  51. package/dist/hints/git-store.d.ts.map +1 -1
  52. package/dist/hints/git-store.js +172 -2
  53. package/dist/hints/git-store.js.map +1 -1
  54. package/dist/hints/staleness.d.ts +30 -0
  55. package/dist/hints/staleness.d.ts.map +1 -0
  56. package/dist/hints/staleness.js +38 -0
  57. package/dist/hints/staleness.js.map +1 -0
  58. package/dist/hints/store.d.ts.map +1 -1
  59. package/dist/hints/store.js +3 -32
  60. package/dist/hints/store.js.map +1 -1
  61. package/dist/hints/types.d.ts +41 -0
  62. package/dist/hints/types.d.ts.map +1 -1
  63. package/dist/hints/types.js +1 -0
  64. package/dist/hints/types.js.map +1 -1
  65. package/dist/index.d.ts +46 -10
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +180 -9
  68. package/dist/index.js.map +1 -1
  69. package/dist/intent-controller.d.ts.map +1 -1
  70. package/dist/intent-controller.js +15 -3
  71. package/dist/intent-controller.js.map +1 -1
  72. package/dist/kg/build.d.ts.map +1 -1
  73. package/dist/kg/build.js +196 -4
  74. package/dist/kg/build.js.map +1 -1
  75. package/dist/kg/sqlite-fts.d.ts +13 -0
  76. package/dist/kg/sqlite-fts.d.ts.map +1 -1
  77. package/dist/kg/sqlite-fts.js +82 -49
  78. package/dist/kg/sqlite-fts.js.map +1 -1
  79. package/dist/kg/types.d.ts +9 -2
  80. package/dist/kg/types.d.ts.map +1 -1
  81. package/dist/memory/fts-query.d.ts +37 -4
  82. package/dist/memory/fts-query.d.ts.map +1 -1
  83. package/dist/memory/fts-query.js +53 -12
  84. package/dist/memory/fts-query.js.map +1 -1
  85. package/dist/metadata/analysis-planner.d.ts.map +1 -1
  86. package/dist/metadata/analysis-planner.js +179 -28
  87. package/dist/metadata/analysis-planner.js.map +1 -1
  88. package/dist/metadata/analytical-policy.d.ts +51 -0
  89. package/dist/metadata/analytical-policy.d.ts.map +1 -0
  90. package/dist/metadata/analytical-policy.js +309 -0
  91. package/dist/metadata/analytical-policy.js.map +1 -0
  92. package/dist/metadata/block-adapt.d.ts +37 -0
  93. package/dist/metadata/block-adapt.d.ts.map +1 -0
  94. package/dist/metadata/block-adapt.js +89 -0
  95. package/dist/metadata/block-adapt.js.map +1 -0
  96. package/dist/metadata/block-fit.js +37 -4
  97. package/dist/metadata/block-fit.js.map +1 -1
  98. package/dist/metadata/catalog.d.ts +85 -1
  99. package/dist/metadata/catalog.d.ts.map +1 -1
  100. package/dist/metadata/catalog.js +674 -92
  101. package/dist/metadata/catalog.js.map +1 -1
  102. package/dist/metadata/dbt-first-safety.d.ts +19 -0
  103. package/dist/metadata/dbt-first-safety.d.ts.map +1 -0
  104. package/dist/metadata/dbt-first-safety.js +17 -0
  105. package/dist/metadata/dbt-first-safety.js.map +1 -0
  106. package/dist/metadata/example-match.d.ts +30 -0
  107. package/dist/metadata/example-match.d.ts.map +1 -0
  108. package/dist/metadata/example-match.js +69 -0
  109. package/dist/metadata/example-match.js.map +1 -0
  110. package/dist/metadata/grain-ledger.d.ts +51 -0
  111. package/dist/metadata/grain-ledger.d.ts.map +1 -0
  112. package/dist/metadata/grain-ledger.js +174 -0
  113. package/dist/metadata/grain-ledger.js.map +1 -0
  114. package/dist/metadata/metric-match.d.ts +21 -1
  115. package/dist/metadata/metric-match.d.ts.map +1 -1
  116. package/dist/metadata/metric-match.js +157 -21
  117. package/dist/metadata/metric-match.js.map +1 -1
  118. package/dist/metadata/sql-context-validation.d.ts.map +1 -1
  119. package/dist/metadata/sql-context-validation.js +42 -2
  120. package/dist/metadata/sql-context-validation.js.map +1 -1
  121. package/dist/metadata/sql-grounding.d.ts +4 -2
  122. package/dist/metadata/sql-grounding.d.ts.map +1 -1
  123. package/dist/metadata/sql-grounding.js +29 -4
  124. package/dist/metadata/sql-grounding.js.map +1 -1
  125. package/dist/metadata/sql-retrieval.d.ts +5 -2
  126. package/dist/metadata/sql-retrieval.d.ts.map +1 -1
  127. package/dist/metadata/sql-retrieval.js +28 -6
  128. package/dist/metadata/sql-retrieval.js.map +1 -1
  129. package/dist/propose/build-from-prompt.d.ts +34 -0
  130. package/dist/propose/build-from-prompt.d.ts.map +1 -1
  131. package/dist/propose/build-from-prompt.js +205 -19
  132. package/dist/propose/build-from-prompt.js.map +1 -1
  133. package/dist/propose/failure-analysis.d.ts +48 -0
  134. package/dist/propose/failure-analysis.d.ts.map +1 -0
  135. package/dist/propose/failure-analysis.js +71 -0
  136. package/dist/propose/failure-analysis.js.map +1 -0
  137. package/dist/propose/join-mining.d.ts +18 -0
  138. package/dist/propose/join-mining.d.ts.map +1 -0
  139. package/dist/propose/join-mining.js +74 -0
  140. package/dist/propose/join-mining.js.map +1 -0
  141. package/dist/providers/claude.d.ts.map +1 -1
  142. package/dist/providers/claude.js +36 -1
  143. package/dist/providers/claude.js.map +1 -1
  144. package/dist/providers/index.d.ts +2 -2
  145. package/dist/providers/index.d.ts.map +1 -1
  146. package/dist/providers/index.js +1 -1
  147. package/dist/providers/index.js.map +1 -1
  148. package/dist/providers/openai.d.ts.map +1 -1
  149. package/dist/providers/openai.js +34 -1
  150. package/dist/providers/openai.js.map +1 -1
  151. package/dist/providers/reasoning-effort.d.ts +27 -0
  152. package/dist/providers/reasoning-effort.d.ts.map +1 -1
  153. package/dist/providers/reasoning-effort.js +32 -0
  154. package/dist/providers/reasoning-effort.js.map +1 -1
  155. package/dist/providers/types.d.ts +2 -1
  156. package/dist/providers/types.d.ts.map +1 -1
  157. package/dist/research-loop.d.ts.map +1 -1
  158. package/dist/research-loop.js +9 -2
  159. package/dist/research-loop.js.map +1 -1
  160. package/dist/semantic-bridge/compose.d.ts.map +1 -1
  161. package/dist/semantic-bridge/compose.js +316 -25
  162. package/dist/semantic-bridge/compose.js.map +1 -1
  163. package/dist/skills/bootstrap.d.ts +57 -0
  164. package/dist/skills/bootstrap.d.ts.map +1 -0
  165. package/dist/skills/bootstrap.js +260 -0
  166. package/dist/skills/bootstrap.js.map +1 -0
  167. package/dist/skills/defaults.d.ts +2 -2
  168. package/dist/skills/defaults.js +2 -2
  169. package/dist/skills/domain-skills.d.ts +24 -0
  170. package/dist/skills/domain-skills.d.ts.map +1 -0
  171. package/dist/skills/domain-skills.js +76 -0
  172. package/dist/skills/domain-skills.js.map +1 -0
  173. package/dist/skills/loader.d.ts +56 -8
  174. package/dist/skills/loader.d.ts.map +1 -1
  175. package/dist/skills/loader.js +257 -41
  176. package/dist/skills/loader.js.map +1 -1
  177. package/dist/synthesize.d.ts.map +1 -1
  178. package/dist/synthesize.js +152 -16
  179. package/dist/synthesize.js.map +1 -1
  180. package/dist/tools/registry.d.ts +1 -1
  181. package/dist/tools/registry.d.ts.map +1 -1
  182. package/dist/tools/registry.js +54 -12
  183. package/dist/tools/registry.js.map +1 -1
  184. package/package.json +4 -4
@@ -15,28 +15,41 @@
15
15
  * No external YAML dep — we ship a tiny parser that handles only flat
16
16
  * key/value, list-of-strings, and one-level objects (good enough for skills).
17
17
  */
18
- import { existsSync, mkdirSync, readFileSync, readdirSync, rmSync, statSync, writeFileSync } from 'node:fs';
19
- import { join, basename } from 'node:path';
18
+ import { existsSync, mkdirSync, readFileSync, readdirSync, renameSync, rmSync, statSync, writeFileSync } from 'node:fs';
19
+ import { join, basename, dirname, relative } from 'node:path';
20
+ import * as yaml from 'js-yaml';
21
+ import { loadDomainPackageRegistry } from '@duckcodeailabs/dql-core';
20
22
  /**
21
- * Walk `<projectRoot>/.dql/skills/**` and return every parsed Skill.
23
+ * Walk the visible, Git-owned `skills/**` tree. The historical
24
+ * `.dql/skills/**` tree remains read-compatible during migration, but a skill
25
+ * with the same id in `skills/` wins so projects can move incrementally.
22
26
  * Misformed files are reported in `errors`; valid Skills still come back.
23
27
  */
24
28
  export function loadSkills(projectRoot) {
25
- const skillsDir = join(projectRoot, '.dql', 'skills');
26
- if (!existsSync(skillsDir))
27
- return { skills: [], errors: [] };
29
+ const domainRoots = loadDomainPackageRegistry(projectRoot).values().map((pkg) => ({ root: join(pkg.root, 'skills'), inferredDomain: pkg.id }));
30
+ const roots = [
31
+ ...domainRoots,
32
+ { root: skillsDir(projectRoot), inferredDomain: undefined },
33
+ { root: legacySkillsDir(projectRoot), inferredDomain: undefined },
34
+ ];
28
35
  const skills = [];
29
36
  const errors = [];
30
- const files = walkMd(skillsDir);
31
- for (const f of files) {
32
- try {
33
- const raw = readFileSync(f, 'utf-8');
34
- const skill = parseSkill(raw, f);
35
- if (skill)
36
- skills.push(skill);
37
- }
38
- catch (err) {
39
- errors.push({ path: f, message: err.message });
37
+ const seen = new Set();
38
+ for (const { root, inferredDomain } of roots) {
39
+ for (const f of walkMd(root)) {
40
+ try {
41
+ const raw = readFileSync(f, 'utf-8');
42
+ const parsed = parseSkill(raw, f);
43
+ const skill = parsed ? qualifySkill(parsed, inferredDomain) : null;
44
+ const identity = skill?.qualifiedId ?? skill?.id;
45
+ if (skill && identity && !seen.has(identity)) {
46
+ seen.add(identity);
47
+ skills.push(skill);
48
+ }
49
+ }
50
+ catch (err) {
51
+ errors.push({ path: f, message: err.message });
52
+ }
40
53
  }
41
54
  }
42
55
  return { skills, errors };
@@ -66,32 +79,80 @@ export function parseSkill(raw, path) {
66
79
  return null;
67
80
  const front = m[1];
68
81
  const body = m[2].trim();
69
- const meta = parseMiniYaml(front);
82
+ const meta = parseSkillFrontmatter(front);
70
83
  const id = pickString(meta.id) ?? basename(path).replace(/\.skill\.md$|\.md$/, '');
71
84
  const user = pickString(meta.user);
72
- const starter = pickString(meta.starter);
85
+ const starter = meta.starter;
73
86
  return {
74
87
  id,
88
+ localId: id,
75
89
  scope: user ? 'personal' : 'project',
76
90
  user,
77
91
  domain: pickString(meta.domain),
92
+ domains: pickStringArray(meta.domains ?? meta.domain),
93
+ modelAreaRefs: pickStringArray(meta.model_areas ?? meta.modelAreaRefs),
94
+ kind: parseSkillKind(pickString(meta.kind)),
95
+ status: parseSkillStatus(pickString(meta.status)),
96
+ owner: pickString(meta.owner),
97
+ triggers: pickStringArray(meta.triggers),
98
+ exclusions: pickStringArray(meta.exclusions),
78
99
  description: pickString(meta.description),
79
100
  preferredMetrics: pickStringArray(meta.preferred_metrics),
80
101
  preferredBlocks: pickStringArray(meta.preferred_blocks),
102
+ preferredDimensions: pickStringArray(meta.preferred_dimensions),
103
+ requiredFilters: pickStringArray(meta.required_filters),
104
+ clarifyWhen: pickStringArray(meta.clarify_when),
105
+ examples: pickStringArray(meta.examples),
106
+ sourceRefs: pickStringArray(meta.source_refs),
81
107
  vocabulary: pickStringMap(meta.vocabulary),
82
108
  body,
83
109
  sourcePath: path,
84
- isStarter: starter === 'true' || starter === 'yes' ? true : undefined,
110
+ isStarter: starter === true || starter === 'true' || starter === 'yes' ? true : undefined,
111
+ };
112
+ }
113
+ function qualifySkill(skill, inferredDomain) {
114
+ const declaredDomains = [...new Set((skill.domains ?? (skill.domain ? [skill.domain] : []))
115
+ .map((value) => value.trim())
116
+ .filter(Boolean))];
117
+ const domains = declaredDomains.length > 0 ? declaredDomains : (inferredDomain ? [inferredDomain] : []);
118
+ const domain = skill.domain?.trim() || (domains.length === 1 ? domains[0] : undefined);
119
+ const ownerScope = domains.length === 1
120
+ ? domains[0]
121
+ : domains.length > 1
122
+ ? `cross_domain_${domains.slice().sort().join('_')}`
123
+ : skill.user
124
+ ? `user_${skill.user.trim().toLowerCase()}`
125
+ : 'global';
126
+ return {
127
+ ...skill,
128
+ localId: skill.localId ?? skill.id,
129
+ qualifiedId: `${ownerScope}::skill::${skill.localId ?? skill.id}`,
130
+ domain,
131
+ domains,
85
132
  };
86
133
  }
87
134
  // ─── Serialization + CRUD (spec 16) ──────────────────────────────────────────
88
- /** Skills directory for a project. */
135
+ /** Visible Git-owned skills directory for new and upgraded OSS projects. */
89
136
  export function skillsDir(projectRoot) {
137
+ return join(projectRoot, 'skills');
138
+ }
139
+ /** Historical local-state location, retained only as a read/migration source. */
140
+ export function legacySkillsDir(projectRoot) {
90
141
  return join(projectRoot, '.dql', 'skills');
91
142
  }
92
143
  /** Resolve the `.skill.md` path a skill should be written to. */
93
- export function skillPath(projectRoot, id) {
94
- return join(skillsDir(projectRoot), `${sanitizeSkillId(id)}.skill.md`);
144
+ export function skillPath(projectRoot, id, domains = []) {
145
+ const firstDomain = domains[0]?.trim();
146
+ if (firstDomain && domains.length === 1) {
147
+ const packageRoot = loadDomainPackageRegistry(projectRoot).get(firstDomain)?.root;
148
+ if (packageRoot)
149
+ return join(packageRoot, 'skills', `${sanitizeSkillId(id)}.skill.md`);
150
+ }
151
+ const folder = firstDomain
152
+ ? firstDomain.split(/[/.]/).map(sanitizeSkillId).filter(Boolean)
153
+ : [];
154
+ const target = domains.length > 1 ? ['_cross-domain'] : folder;
155
+ return join(skillsDir(projectRoot), ...target, `${sanitizeSkillId(id)}.skill.md`);
95
156
  }
96
157
  function sanitizeSkillId(id) {
97
158
  return id
@@ -115,12 +176,18 @@ function quoteIfNeeded(value) {
115
176
  */
116
177
  export function renderSkill(skill) {
117
178
  const lines = ['---', `id: ${quoteIfNeeded(skill.id)}`];
118
- // PERSONAL skills carry a `user:`; PROJECT skills omit it.
119
- if (skill.scope === 'personal' && skill.user) {
120
- lines.push(`user: ${quoteIfNeeded(skill.user)}`);
121
- }
122
179
  if (skill.domain)
123
180
  lines.push(`domain: ${quoteIfNeeded(skill.domain)}`);
181
+ if ((skill.domains?.length ?? 0) > 0)
182
+ lines.push(`domains: [${(skill.domains ?? []).map(quoteIfNeeded).join(', ')}]`);
183
+ if ((skill.modelAreaRefs?.length ?? 0) > 0)
184
+ lines.push(`model_areas: [${(skill.modelAreaRefs ?? []).map(quoteIfNeeded).join(', ')}]`);
185
+ if (skill.kind && skill.kind !== 'custom')
186
+ lines.push(`kind: ${skill.kind}`);
187
+ if (skill.status && skill.status !== 'active')
188
+ lines.push(`status: ${skill.status}`);
189
+ if (skill.owner)
190
+ lines.push(`owner: ${quoteIfNeeded(skill.owner)}`);
124
191
  if (skill.description)
125
192
  lines.push(`description: ${quoteIfNeeded(skill.description)}`);
126
193
  if (skill.preferredMetrics.length > 0) {
@@ -129,6 +196,20 @@ export function renderSkill(skill) {
129
196
  if (skill.preferredBlocks.length > 0) {
130
197
  lines.push(`preferred_blocks: [${skill.preferredBlocks.map(quoteIfNeeded).join(', ')}]`);
131
198
  }
199
+ if ((skill.preferredDimensions?.length ?? 0) > 0)
200
+ lines.push(`preferred_dimensions: [${(skill.preferredDimensions ?? []).map(quoteIfNeeded).join(', ')}]`);
201
+ if ((skill.triggers?.length ?? 0) > 0)
202
+ lines.push(`triggers: [${(skill.triggers ?? []).map(quoteIfNeeded).join(', ')}]`);
203
+ if ((skill.exclusions?.length ?? 0) > 0)
204
+ lines.push(`exclusions: [${(skill.exclusions ?? []).map(quoteIfNeeded).join(', ')}]`);
205
+ if ((skill.requiredFilters?.length ?? 0) > 0)
206
+ lines.push(`required_filters: [${(skill.requiredFilters ?? []).map(quoteIfNeeded).join(', ')}]`);
207
+ if ((skill.clarifyWhen?.length ?? 0) > 0)
208
+ lines.push(`clarify_when: [${(skill.clarifyWhen ?? []).map(quoteIfNeeded).join(', ')}]`);
209
+ if ((skill.examples?.length ?? 0) > 0)
210
+ lines.push(`examples: [${(skill.examples ?? []).map(quoteIfNeeded).join(', ')}]`);
211
+ if ((skill.sourceRefs?.length ?? 0) > 0)
212
+ lines.push(`source_refs: [${(skill.sourceRefs ?? []).map(quoteIfNeeded).join(', ')}]`);
132
213
  const vocabEntries = Object.entries(skill.vocabulary);
133
214
  if (vocabEntries.length > 0) {
134
215
  lines.push('vocabulary:');
@@ -144,28 +225,39 @@ export function renderSkill(skill) {
144
225
  }
145
226
  /** Normalize a partial input into a full Skill (with a resolved sourcePath). */
146
227
  function toSkill(projectRoot, input) {
147
- const scope = input.scope === 'personal' ? 'personal' : 'project';
228
+ // New skills are shared, Git-backed project guidance. Legacy personal skills
229
+ // are retained only for migration and are never written by this path.
230
+ const scope = 'project';
148
231
  return {
149
232
  id: input.id,
150
233
  scope,
151
- user: scope === 'personal' ? (input.user || undefined) : undefined,
234
+ user: undefined,
152
235
  domain: input.domain || undefined,
236
+ domains: input.domains?.length ? input.domains : (input.domain ? [input.domain] : []),
237
+ modelAreaRefs: input.modelAreaRefs ?? [],
238
+ kind: input.kind ?? 'custom',
239
+ status: input.status ?? 'active',
240
+ owner: input.owner,
241
+ triggers: input.triggers ?? [],
242
+ exclusions: input.exclusions ?? [],
153
243
  description: input.description,
154
244
  preferredMetrics: input.preferredMetrics ?? [],
155
245
  preferredBlocks: input.preferredBlocks ?? [],
246
+ preferredDimensions: input.preferredDimensions ?? [],
247
+ requiredFilters: input.requiredFilters ?? [],
248
+ clarifyWhen: input.clarifyWhen ?? [],
249
+ examples: input.examples ?? [],
250
+ sourceRefs: input.sourceRefs ?? [],
156
251
  vocabulary: input.vocabulary ?? {},
157
252
  body: input.body ?? '',
158
- sourcePath: skillPath(projectRoot, input.id),
253
+ sourcePath: skillPath(projectRoot, input.id, input.domains?.length ? input.domains : (input.domain ? [input.domain] : [])),
159
254
  isStarter: input.isStarter,
160
255
  };
161
256
  }
162
- /**
163
- * Write a skill to `.dql/skills/<id>.skill.md` (overwriting if present). Returns
164
- * the persisted Skill as re-read from disk so callers see the canonical form.
165
- */
257
+ /** Write a skill to `skills/<id>.skill.md`, the shared source location. */
166
258
  export function writeSkill(projectRoot, input) {
167
259
  const skill = toSkill(projectRoot, input);
168
- const dir = skillsDir(projectRoot);
260
+ const dir = dirname(skill.sourcePath);
169
261
  if (!existsSync(dir))
170
262
  mkdirSync(dir, { recursive: true });
171
263
  writeFileSync(skill.sourcePath, renderSkill(skill), 'utf-8');
@@ -175,20 +267,63 @@ export function writeSkill(projectRoot, input) {
175
267
  export function upsertSkill(projectRoot, input) {
176
268
  return writeSkill(projectRoot, input);
177
269
  }
178
- /** Delete `.dql/skills/<id>.skill.md`. Returns true when a file was removed. */
270
+ /** Delete a skill from its actual source path. Returns true when a file was removed. */
179
271
  export function deleteSkill(projectRoot, id) {
180
- const path = skillPath(projectRoot, id);
272
+ const existing = loadSkills(projectRoot).skills.find((skill) => skill.id === id);
273
+ const path = existing?.sourcePath ?? skillPath(projectRoot, id);
181
274
  if (!existsSync(path))
182
275
  return false;
183
276
  rmSync(path, { force: true });
184
277
  return true;
185
278
  }
279
+ /**
280
+ * Explicit one-way OSS layout upgrade. Moves legacy skills into the visible
281
+ * source tree without overwriting a skill already migrated by a teammate.
282
+ */
283
+ export function migrateLegacySkills(projectRoot) {
284
+ const legacyRoot = legacySkillsDir(projectRoot);
285
+ const visibleRoot = skillsDir(projectRoot);
286
+ const moved = [];
287
+ const skipped = [];
288
+ for (const source of walkMd(legacyRoot)) {
289
+ const destination = join(visibleRoot, relative(legacyRoot, source));
290
+ if (existsSync(destination)) {
291
+ skipped.push(relative(projectRoot, source));
292
+ continue;
293
+ }
294
+ mkdirSync(dirname(destination), { recursive: true });
295
+ renameSync(source, destination);
296
+ moved.push(relative(projectRoot, destination));
297
+ }
298
+ return { moved, skipped };
299
+ }
186
300
  function pickString(v) {
187
301
  return typeof v === 'string' ? v : undefined;
188
302
  }
189
303
  function pickStringArray(v) {
304
+ if (typeof v === 'string' && v.trim())
305
+ return [v.trim()];
190
306
  return Array.isArray(v) && v.every((x) => typeof x === 'string') ? v : [];
191
307
  }
308
+ function parseSkillKind(value) {
309
+ return ['domain_reference', 'metric_policy', 'glossary', 'analysis_pattern', 'sql_policy', 'custom'].includes(value ?? '')
310
+ ? value
311
+ : 'custom';
312
+ }
313
+ function parseSkillStatus(value) {
314
+ return ['draft', 'active', 'deprecated'].includes(value ?? '') ? value : 'active';
315
+ }
316
+ function parseSkillFrontmatter(text) {
317
+ try {
318
+ const parsed = yaml.load(text);
319
+ return parsed && typeof parsed === 'object' && !Array.isArray(parsed)
320
+ ? parsed
321
+ : {};
322
+ }
323
+ catch {
324
+ return parseMiniYaml(text);
325
+ }
326
+ }
192
327
  function pickStringMap(v) {
193
328
  if (!v || typeof v !== 'object' || Array.isArray(v))
194
329
  return {};
@@ -272,10 +407,13 @@ export function buildSkillsPrompt(skills, userId) {
272
407
  const header = s.description ? `${s.id} — ${s.description}` : s.id;
273
408
  const metrics = s.preferredMetrics.length > 0 ? `\nPreferred metrics: ${s.preferredMetrics.join(', ')}` : '';
274
409
  const blocks = s.preferredBlocks.length > 0 ? `\nPreferred blocks: ${s.preferredBlocks.join(', ')}` : '';
410
+ const dimensions = (s.preferredDimensions?.length ?? 0) > 0 ? `\nPreferred dimensions: ${s.preferredDimensions?.join(', ')}` : '';
411
+ const filters = (s.requiredFilters?.length ?? 0) > 0 ? `\nRequired filters: ${s.requiredFilters?.join(', ')}` : '';
412
+ const clarify = (s.clarifyWhen?.length ?? 0) > 0 ? `\nClarify when: ${s.clarifyWhen?.join('; ')}` : '';
275
413
  const vocab = Object.keys(s.vocabulary).length > 0
276
414
  ? `\nVocabulary: ${Object.entries(s.vocabulary).map(([k, v]) => `"${k}" → ${v}`).join(', ')}`
277
415
  : '';
278
- return `### Skill: ${header}${metrics}${blocks}${vocab}\n\n${s.body}`;
416
+ return `### Skill: ${header}${metrics}${blocks}${dimensions}${filters}${clarify}${vocab}\n\n${s.body}`;
279
417
  });
280
418
  return [
281
419
  '## Active Skills',
@@ -287,7 +425,11 @@ export function buildSkillsPrompt(skills, userId) {
287
425
  ].join('\n');
288
426
  }
289
427
  export function activeSkills(skills, userId) {
290
- return skills.filter((s) => !s.user || s.user === userId);
428
+ void userId;
429
+ // In-memory callers and older fixture data may not carry the persisted
430
+ // `scope` field. Treat that legacy absence as a project skill; explicitly
431
+ // personal skills remain excluded from OSS agent retrieval.
432
+ return skills.filter((s) => (s.scope ?? 'project') === 'project' && (s.status ?? 'active') === 'active');
291
433
  }
292
434
  export function buildSkillBlockHints(skills, userId) {
293
435
  const hints = new Set();
@@ -307,6 +449,36 @@ export function buildSkillBlockHints(skills, userId) {
307
449
  }
308
450
  return Array.from(hints);
309
451
  }
452
+ /** Metric ids a selected skill may prefer, including vocabulary aliases. */
453
+ export function buildSkillMetricHints(skills, userId) {
454
+ const hints = new Set();
455
+ for (const skill of activeSkills(skills, userId)) {
456
+ for (const metric of skill.preferredMetrics)
457
+ if (metric.trim())
458
+ hints.add(metric.trim());
459
+ for (const target of Object.values(skill.vocabulary)) {
460
+ const match = target.trim().match(/^metric:(.+)$/i);
461
+ if (match?.[1]?.trim())
462
+ hints.add(match[1].trim());
463
+ }
464
+ }
465
+ return Array.from(hints);
466
+ }
467
+ /** Add governed metric aliases to retrieval text without changing the user request. */
468
+ export function expandQuestionWithSkillVocabulary(question, skills, userId) {
469
+ const normalized = question.toLowerCase();
470
+ const additions = new Set();
471
+ for (const skill of activeSkills(skills, userId)) {
472
+ for (const [term, target] of Object.entries(skill.vocabulary)) {
473
+ if (!term || !normalized.includes(term.toLowerCase()))
474
+ continue;
475
+ const metric = target.trim().match(/^metric:(.+)$/i)?.[1]?.trim();
476
+ if (metric)
477
+ additions.add(metric);
478
+ }
479
+ }
480
+ return additions.size > 0 ? `${question} ${Array.from(additions).join(' ')}` : question;
481
+ }
310
482
  function normalizeBlockHint(value) {
311
483
  const trimmed = value.trim();
312
484
  if (!trimmed)
@@ -319,13 +491,24 @@ const SKILL_TOKEN_RE = /[\p{L}\p{N}_]+/gu;
319
491
  function skillTokens(text) {
320
492
  return (text.toLowerCase().match(SKILL_TOKEN_RE) ?? []).filter((t) => t.length > 1);
321
493
  }
322
- /** Searchable text for a skill: id, description, vocabulary keys/values, body. */
494
+ /** Area refs may be authored as a local id or a compiled qualified id. */
495
+ function modelAreaKey(value) {
496
+ const trimmed = value.trim().toLowerCase();
497
+ const qualified = trimmed.split('::');
498
+ return qualified.at(-1) ?? trimmed;
499
+ }
500
+ /** Searchable positive text for a skill. Exclusions are policy, not keywords. */
323
501
  function skillSearchText(skill) {
324
502
  return [
325
503
  skill.id,
504
+ skill.domain ?? '',
505
+ ...(skill.domains ?? []),
506
+ ...(skill.modelAreaRefs ?? []),
326
507
  skill.description ?? '',
508
+ ...(skill.triggers ?? []),
327
509
  ...skill.preferredMetrics,
328
510
  ...skill.preferredBlocks,
511
+ ...(skill.preferredDimensions ?? []),
329
512
  ...Object.keys(skill.vocabulary),
330
513
  ...Object.values(skill.vocabulary),
331
514
  skill.body,
@@ -333,6 +516,15 @@ function skillSearchText(skill) {
333
516
  .filter(Boolean)
334
517
  .join(' ');
335
518
  }
519
+ function matchesSkillExclusion(skill, question) {
520
+ const normalizedQuestion = skillTokens(question).join(' ');
521
+ if (!normalizedQuestion)
522
+ return false;
523
+ return (skill.exclusions ?? []).some((exclusion) => {
524
+ const normalizedExclusion = skillTokens(exclusion).join(' ');
525
+ return normalizedExclusion.length > 0 && normalizedQuestion.includes(normalizedExclusion);
526
+ });
527
+ }
336
528
  /**
337
529
  * Rank in-scope skills by topic/vocabulary match to `question` and return the
338
530
  * SELECTED subset the answer-loop / build engine should inject — not all skills.
@@ -344,12 +536,32 @@ export function selectRelevantSkills(skills, question, options = {}) {
344
536
  const inScope = activeSkills(skills, options.userId ?? null);
345
537
  if (inScope.length === 0)
346
538
  return [];
347
- const budget = Math.max(1, options.budget ?? 6);
539
+ // One pinned governance/conventions skill plus at most three topical skills is
540
+ // enough context for an answer. The previous default of six let several large
541
+ // domain prompts compete in enterprise repos and diluted the retrieved evidence.
542
+ const budget = Math.max(1, options.budget ?? 4);
348
543
  const pinnedIds = new Set((options.pinnedIds ?? DEFAULT_PINNED_SKILL_IDS).map((id) => id.toLowerCase()));
349
544
  const queryTokens = new Set(skillTokens(question));
545
+ const domains = new Set((options.domains ?? []).map((domain) => domain.trim().toLowerCase()).filter(Boolean));
546
+ const modelAreaIds = new Set((options.modelAreaIds ?? []).map(modelAreaKey).filter(Boolean));
350
547
  const pinned = [];
351
548
  const rest = [];
352
549
  for (const skill of inScope) {
550
+ const skillDomains = [skill.domain, ...(skill.domains ?? [])].map((domain) => domain?.trim().toLowerCase()).filter((domain) => Boolean(domain));
551
+ // An explicit domain scope is an eligibility boundary, not merely a score
552
+ // boost. Global skills remain eligible; caller-provided domains already
553
+ // include permitted ancestors and certified imports.
554
+ if (domains.size > 0 && skillDomains.length > 0 && !skillDomains.some((domain) => domains.has(domain)))
555
+ continue;
556
+ const skillAreas = (skill.modelAreaRefs ?? []).map(modelAreaKey).filter(Boolean);
557
+ // Area refs further focus a skill within its already-authorized domain.
558
+ // An area never broadens domain eligibility or grants cross-domain access.
559
+ if (modelAreaIds.size > 0 && skillAreas.length > 0 && !skillAreas.some((id) => modelAreaIds.has(id)))
560
+ continue;
561
+ // Exclusions are a negative eligibility boundary. They are evaluated before
562
+ // pinning so a conventions skill cannot silently apply outside its scope.
563
+ if (matchesSkillExclusion(skill, question))
564
+ continue;
353
565
  if (pinnedIds.has(skill.id.toLowerCase())) {
354
566
  pinned.push(skill);
355
567
  continue;
@@ -360,7 +572,11 @@ export function selectRelevantSkills(skills, question, options = {}) {
360
572
  if (queryTokens.has(token))
361
573
  hits += 1;
362
574
  }
363
- rest.push({ skill, score: hits });
575
+ const domainMatch = skillDomains.some((domain) => domains.has(domain));
576
+ const areaMatch = skillAreas.some((id) => modelAreaIds.has(id));
577
+ // Domain is a strong routing signal, but still requires either an inferred
578
+ // domain match or topical text. It never makes a skill a hard policy override.
579
+ rest.push({ skill, score: hits + (domainMatch ? 4 : 0) + (areaMatch ? 3 : 0) });
364
580
  }
365
581
  // Keep only skills with at least one topical hit; ordered by score desc, then
366
582
  // stable by original order. Pinned skills are prepended and never dropped.
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC5G,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AA8B3C;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,WAAmB;IAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC9D,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,MAAM,GAA6C,EAAE,CAAC;IAE5D,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACrC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACjC,IAAI,KAAK;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,MAAM,CAAC,GAAW;IACzB,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YACzC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC9F,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,GAAG,GAAG;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,wBAAwB;AACxB,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,IAAY;IAClD,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAChE,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAElC,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACnF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO;QACL,EAAE;QACF,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QACpC,IAAI;QACJ,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/B,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;QACzC,gBAAgB,EAAE,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC;QACzD,eAAe,EAAE,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACvD,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;QAC1C,IAAI;QACJ,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;KACtE,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,sCAAsC;AACtC,MAAM,UAAU,SAAS,CAAC,WAAmB;IAC3C,OAAO,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,SAAS,CAAC,WAAmB,EAAE,EAAU;IACvD,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,eAAe,CAAC,EAAU;IACjC,OAAO,EAAE;SACN,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC;SAC7B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC;AACxC,CAAC;AAED,gFAAgF;AAChF,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAY;IACtC,MAAM,KAAK,GAAa,CAAC,KAAK,EAAE,OAAO,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAClE,2DAA2D;IAC3D,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7C,KAAK,CAAC,IAAI,CAAC,SAAS,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,KAAK,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvE,IAAI,KAAK,CAAC,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACtF,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,uBAAuB,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,sBAAsB,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACtD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,KAAK,aAAa,CAAC,GAAG,CAAC,KAAK,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACjD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC3D,CAAC;AAeD,gFAAgF;AAChF,SAAS,OAAO,CAAC,WAAmB,EAAE,KAAsB;IAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,KAAK;QACL,IAAI,EAAE,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;QAClE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,SAAS;QACjC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,EAAE;QAC9C,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,EAAE;QAC5C,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE;QAClC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;QACtB,UAAU,EAAE,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;QAC5C,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,WAAmB,EAAE,KAAsB;IACpE,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7D,OAAO,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;AACxF,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,WAAW,CAAC,WAAmB,EAAE,KAAsB;IACrE,OAAO,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AACxC,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,WAAW,CAAC,WAAmB,EAAE,EAAU;IACzD,MAAM,IAAI,GAAG,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,CAAU;IAC5B,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC;AAED,SAAS,eAAe,CAAC,CAAU;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAc,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1F,CAAC;AAED,SAAS,aAAa,CAAC,CAAU;IAC/B,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAC/D,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAA4B,CAAC,EAAE,CAAC;QACpE,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC5C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,IAAI,QAAQ,GAAwD,IAAI,CAAC;IAEzE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAE1D,IAAI,QAAQ,EAAE,CAAC;YACb,sEAAsE;YACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;YACvF,IAAI,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACpD,MAAM,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1C,IAAI,CAAC;oBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3B,SAAS;YACX,CAAC;YACD,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;YACjC,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACxD,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK;iBACb,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBACZ,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;iBACjC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,QAAQ;QAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC;IAC/C,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAe,EAAE,MAAqB;IACtE,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAClC,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,MAAM,OAAO,GAAG,CAAC,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7G,MAAM,MAAM,GAAG,CAAC,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzG,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC;YAChD,CAAC,CAAC,iBAAiB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC7F,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,cAAc,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACxE,CAAC,CAAC,CAAC;IACH,OAAO;QACL,kBAAkB;QAClB,EAAE;QACF,+OAA+O;QAC/O,EAAE;QACF,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QACrB,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAe,EAAE,MAAqB;IACjE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAe,EAAE,MAAqB;IACzE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QACjD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1C,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,UAAU;gBAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAAE,SAAS;YAC9C,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,UAAU;gBAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC7C,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;AAC1D,CAAC;AAiBD,MAAM,wBAAwB,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAErD,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAE1C,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,kFAAkF;AAClF,SAAS,eAAe,CAAC,KAAY;IACnC,OAAO;QACL,KAAK,CAAC,EAAE;QACR,KAAK,CAAC,WAAW,IAAI,EAAE;QACvB,GAAG,KAAK,CAAC,gBAAgB;QACzB,GAAG,KAAK,CAAC,eAAe;QACxB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAChC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;QAClC,KAAK,CAAC,IAAI;KACX;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAe,EACf,QAAgB,EAChB,UAAuC,EAAE;IAEzC,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;IAC7D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACzG,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,MAAM,IAAI,GAA2C,EAAE,CAAC;IACxD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,IAAI,IAAI,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,8EAA8E;IAC9E,2EAA2E;IAC3E,MAAM,MAAM,GAAG,IAAI;SAChB,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;SAC5C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;SAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;SAC1D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE/B,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/skills/loader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"synthesize.d.ts","sourceRoot":"","sources":["../src/synthesize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,OAAO,CAAC;AAE7E,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,GAAG,aAAa,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACnC,oBAAoB,EAAE,CAoCxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IACrC,+EAA+E;IAC/E,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,mEAAmE;AACnE,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEtB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,uEAAuE;IACvE,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,KAAK,GAAG,eAAe,CAAC;CACjC;AAKD,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CAOnE;AA4GD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiBzH"}
1
+ {"version":3,"file":"synthesize.d.ts","sourceRoot":"","sources":["../src/synthesize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,OAAO,CAAC;AAE7E,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,GAAG,aAAa,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACnC,oBAAoB,EAAE,CAoCxB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IACrC,+EAA+E;IAC/E,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,mEAAmE;AACnE,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEtB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,uEAAuE;IACvE,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,KAAK,GAAG,eAAe,CAAC;CACjC;AAKD,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CAOnE;AAqPD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAkBzH"}