clud-bug 0.7.0-rc.5 → 0.7.0-rc.6

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.
@@ -10,5 +10,5 @@ export { renderReviewFile, renderMultiPassMarkdown, reviewFilePath, reviewCommit
10
10
  export { selectReviewEvent, type FormalReviewEvent, type AuthorAssociation, type SelectReviewEventInput, } from './formal-review.js';
11
11
  export { parsePriorReviewFile, diffFindings, findingIdentity, type ParsedFinding, type ParsedReview, } from './diff-findings.js';
12
12
  export { applyCanonicalRuleset, loadCanonicalV1, type CanonicalRuleset, type OctokitLike, type ApplyCanonicalRulesetParams, type ApplyResult, } from './configure-github.js';
13
- export { API_BASE, MAX_SKILLS, SkillsClient, normalizeList, rankAndCap, readReviewMode, readAppliesTo, appliesToPr, partitionByReviewMode, extractPerSkillLine, selectReviewHeader, extractFirstReviewHeaderLine, selectReviewBody, extractStatsHeader, isCriticalReviewHeader, classifyPerSkillOutcome, parseFrontmatter, stripFrontmatter, type SkillDescriptor, type RankableSkill, type AppliesToRule, type SkillWithOptionalContent, type PrComment, type ReviewStatsHeader, type SkillFrontmatter, type SkillSource, type SkillReviewMode, } from './skills.js';
13
+ export { API_BASE, MAX_SKILLS, SkillsClient, normalizeList, rankAndCap, readReviewMode, readAppliesTo, appliesToPr, appliesToAuthor, partitionByReviewMode, extractPerSkillLine, selectReviewHeader, extractFirstReviewHeaderLine, selectReviewBody, extractStatsHeader, isCriticalReviewHeader, classifyPerSkillOutcome, parseFrontmatter, stripFrontmatter, type SkillDescriptor, type RankableSkill, type AppliesToRule, type SkillWithOptionalContent, type PrComment, type ReviewStatsHeader, type SkillFrontmatter, type SkillSource, type SkillReviewMode, type SkillKind, type VoiceScope, } from './skills.js';
14
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
@@ -46,5 +46,5 @@ export { parsePriorReviewFile, diffFindings, findingIdentity, } from './diff-fin
46
46
  // its real Octokit instance. Shipped in v0.7.0-rc.4 for Marketplace prep
47
47
  // (Phase 6 task #227).
48
48
  export { applyCanonicalRuleset, loadCanonicalV1, } from './configure-github.js';
49
- export { API_BASE, MAX_SKILLS, SkillsClient, normalizeList, rankAndCap, readReviewMode, readAppliesTo, appliesToPr, partitionByReviewMode, extractPerSkillLine, selectReviewHeader, extractFirstReviewHeaderLine, selectReviewBody, extractStatsHeader, isCriticalReviewHeader, classifyPerSkillOutcome, parseFrontmatter, stripFrontmatter, } from './skills.js';
49
+ export { API_BASE, MAX_SKILLS, SkillsClient, normalizeList, rankAndCap, readReviewMode, readAppliesTo, appliesToPr, appliesToAuthor, partitionByReviewMode, extractPerSkillLine, selectReviewHeader, extractFirstReviewHeaderLine, selectReviewBody, extractStatsHeader, isCriticalReviewHeader, classifyPerSkillOutcome, parseFrontmatter, stripFrontmatter, } from './skills.js';
50
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,gDAAgD;AAChD,EAAE;AACF,qEAAqE;AACrE,uEAAuE;AACvE,iBAAiB;AAEjB,OAAO,EAAE,YAAY,EAAuD,MAAM,cAAc,CAAC;AACjG,OAAO,EACL,aAAa,EACb,sBAAsB,GAQvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,MAAM,EACN,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,GAGf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,MAAM,EACN,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,QAAQ,GAIT,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAElB,MAAM,YAAY,CAAC;AACpB,+DAA+D;AAC/D,kEAAkE;AAClE,oEAAoE;AACpE,qBAAqB;AACrB,EAAE;AACF,qEAAqE;AACrE,oEAAoE;AACpE,oEAAoE;AACpE,yBAAyB;AACzB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,GAWxB,MAAM,wBAAwB,CAAC;AAChC,+DAA+D;AAC/D,gEAAgE;AAChE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,uBAAuB,GAUxB,MAAM,qBAAqB,CAAC;AAC7B,oEAAoE;AACpE,sEAAsE;AACtE,kEAAkE;AAClE,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,cAAc,IAAI,0BAA0B,GAW7C,MAAM,uBAAuB,CAAC;AAC/B,oEAAoE;AACpE,qEAAqE;AACrE,4DAA4D;AAC5D,iEAAiE;AACjE,mEAAmE;AACnE,qEAAqE;AACrE,oBAAoB;AACpB,OAAO,EACL,iBAAiB,GAIlB,MAAM,oBAAoB,CAAC;AAC5B,0EAA0E;AAC1E,yEAAyE;AACzE,mEAAmE;AACnE,uEAAuE;AACvE,2CAA2C;AAC3C,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,eAAe,GAGhB,MAAM,oBAAoB,CAAC;AAC5B,yEAAyE;AACzE,wEAAwE;AACxE,yEAAyE;AACzE,uBAAuB;AACvB,OAAO,EACL,qBAAqB,EACrB,eAAe,GAKhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,4BAA4B,EAC5B,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,GAUjB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,gDAAgD;AAChD,EAAE;AACF,qEAAqE;AACrE,uEAAuE;AACvE,iBAAiB;AAEjB,OAAO,EAAE,YAAY,EAAuD,MAAM,cAAc,CAAC;AACjG,OAAO,EACL,aAAa,EACb,sBAAsB,GAQvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,MAAM,EACN,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,GAGf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,MAAM,EACN,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,QAAQ,GAIT,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAElB,MAAM,YAAY,CAAC;AACpB,+DAA+D;AAC/D,kEAAkE;AAClE,oEAAoE;AACpE,qBAAqB;AACrB,EAAE;AACF,qEAAqE;AACrE,oEAAoE;AACpE,oEAAoE;AACpE,yBAAyB;AACzB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,GAWxB,MAAM,wBAAwB,CAAC;AAChC,+DAA+D;AAC/D,gEAAgE;AAChE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,uBAAuB,GAUxB,MAAM,qBAAqB,CAAC;AAC7B,oEAAoE;AACpE,sEAAsE;AACtE,kEAAkE;AAClE,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,cAAc,IAAI,0BAA0B,GAW7C,MAAM,uBAAuB,CAAC;AAC/B,oEAAoE;AACpE,qEAAqE;AACrE,4DAA4D;AAC5D,iEAAiE;AACjE,mEAAmE;AACnE,qEAAqE;AACrE,oBAAoB;AACpB,OAAO,EACL,iBAAiB,GAIlB,MAAM,oBAAoB,CAAC;AAC5B,0EAA0E;AAC1E,yEAAyE;AACzE,mEAAmE;AACnE,uEAAuE;AACvE,2CAA2C;AAC3C,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,eAAe,GAGhB,MAAM,oBAAoB,CAAC;AAC5B,yEAAyE;AACzE,wEAAwE;AACxE,yEAAyE;AACzE,uBAAuB;AACvB,OAAO,EACL,qBAAqB,EACrB,eAAe,GAKhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,4BAA4B,EAC5B,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,GAYjB,MAAM,aAAa,CAAC"}
@@ -49,6 +49,7 @@ export interface AppliesToRule {
49
49
  }
50
50
  export declare function readAppliesTo(skillContent: unknown): AppliesToRule | null;
51
51
  export declare function appliesToPr(skillContent: unknown, prPaths: unknown): boolean;
52
+ export declare function appliesToAuthor(skillContent: unknown, prAuthor: unknown): boolean;
52
53
  export interface SkillWithOptionalContent {
53
54
  content?: unknown;
54
55
  [key: string]: unknown;
@@ -85,14 +86,38 @@ export type SkillReviewMode = 'shared' | 'dedicated';
85
86
  * `PromptSkillFrontmatter` is a narrower subset (name + description +
86
87
  * applies_to) so we keep the full shape here.
87
88
  */
89
+ export type SkillKind = 'rule' | 'voice';
90
+ export type VoiceScope = 'personal' | 'team' | 'org' | 'community';
88
91
  export interface SkillFrontmatter {
89
92
  name: string;
90
93
  description: string;
91
94
  source: SkillSource | string;
92
95
  review_mode: SkillReviewMode;
96
+ /**
97
+ * SPEC §1.10.1 v0.5.0+ skill classification. OPTIONAL — absent =
98
+ * `kind: rule` (the v0.4.0 default). Surfaced on the parsed
99
+ * frontmatter (v0.7.0-rc.6+) so consumers can route on the field;
100
+ * v0.7.0-rc.5 and earlier silently dropped it.
101
+ */
102
+ kind?: SkillKind;
103
+ /**
104
+ * SPEC §1.10.1 v0.5.0+ voice scope. REQUIRED when `kind: voice`,
105
+ * absent otherwise. Surfaced on the parsed frontmatter (v0.7.0-rc.6+).
106
+ */
107
+ voice_scope?: VoiceScope;
93
108
  applies_to?: {
94
109
  paths?: string[];
95
110
  extensions?: string[];
111
+ /**
112
+ * SPEC §1.10.1 v0.5.1+ — single GitHub login string (no `@`
113
+ * prefix, no list). When present, the skill MUST only load when
114
+ * `pull_request.user.login === author`. Filters via strict AND
115
+ * with the sibling `paths` + `extensions` filters when all are
116
+ * present. v0.7.0-rc.5 and earlier silently dropped this field
117
+ * (treated skills as if it were absent — load unconditionally);
118
+ * v0.7.0-rc.6+ enforces the filter via `appliesToAuthor`.
119
+ */
120
+ author?: string;
96
121
  };
97
122
  }
98
123
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"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"}
@@ -233,6 +233,62 @@ export function appliesToPr(skillContent, prPaths) {
233
233
  }
234
234
  return false;
235
235
  }
236
+ // v0.7.0-rc.6 (SPEC §1.10.1 v0.5.1+) — does this skill apply to a PR
237
+ // opened by `prAuthor`? Reads `applies_to.author` from the raw SKILL.md
238
+ // frontmatter. Returns:
239
+ // - `true` if `applies_to.author` is absent (no author filter set —
240
+ // skill loads regardless of author; v0.5.0 backward-compat default).
241
+ // - `true` if `applies_to.author === prAuthor` (case-sensitive match
242
+ // against the PR author's GitHub login).
243
+ // - `false` if `applies_to.author` is set to a different login.
244
+ //
245
+ // Designed to mirror `appliesToPr`'s signature (raw skill content +
246
+ // runtime PR context) so consumers can call both filters in a single
247
+ // loader pass. Skills with NO `applies_to` block at all also return
248
+ // `true` (the existing v0.5.0 unconditional-load behavior).
249
+ //
250
+ // Strict-AND composition per SPEC §1.10.1: when a skill sets BOTH
251
+ // `applies_to.author` AND `paths`/`extensions`, callers MUST call BOTH
252
+ // filters and AND the results. This helper only checks the author leg;
253
+ // the caller composes.
254
+ export function appliesToAuthor(skillContent, prAuthor) {
255
+ if (typeof skillContent !== 'string')
256
+ return true;
257
+ const fm = skillContent.match(/^---\n([\s\S]*?)\n---/);
258
+ if (!fm)
259
+ return true;
260
+ const block = fm[1];
261
+ // Look for `applies_to:` block; if absent, no author constraint.
262
+ const head = block.match(/^applies_to:\s*$/m);
263
+ if (!head)
264
+ return true;
265
+ const startIdx = head.index + head[0].length;
266
+ const rest = block.slice(startIdx);
267
+ // The block ends at the next top-level key (line starting with a
268
+ // word char + `:`) OR end-of-block. Mirrors `readAppliesTo`.
269
+ const stop = rest.search(/^\w[\w-]*:/m);
270
+ const scoped = stop === -1 ? rest : rest.slice(0, stop);
271
+ // Match ` author: <value>` — single string scalar; strip optional
272
+ // quotes. `author: [a, b]` form is intentionally NOT supported
273
+ // (SPEC: "single GitHub login string, no list").
274
+ const authorMatch = scoped.match(/^\s{2}author:\s*(.+?)\s*$/m);
275
+ if (!authorMatch)
276
+ return true;
277
+ const declared = authorMatch[1]
278
+ .trim()
279
+ .replace(/^["']|["']$/g, '');
280
+ if (!declared)
281
+ return true; // empty value treated as unset
282
+ if (typeof prAuthor !== 'string' || !prAuthor)
283
+ return false;
284
+ // GitHub logins are case-insensitive (GitHub rejects creating two
285
+ // accounts that differ only in case; `pull_request.user.login` is
286
+ // case-preserved but routing is not case-sensitive). Compare
287
+ // case-insensitively so a skill author writing `Thrillmot` still
288
+ // matches a webhook delivering `thrillmot` (or vice versa).
289
+ // Reviewer-flagged Important on PR #179.
290
+ return declared.toLowerCase() === prAuthor.toLowerCase();
291
+ }
236
292
  // Minimal glob → regex: `**` → `.*`, `*` → `[^/]*`, `?` → `.`,
237
293
  // everything else escaped. Anchored full-string match.
238
294
  function globMatch(glob, path) {
@@ -583,6 +639,21 @@ export function parseFrontmatter(raw) {
583
639
  throw new Error('frontmatter.description is required');
584
640
  const source = String(out['source'] ?? 'manual').trim();
585
641
  const reviewMode = out['review_mode'] === 'dedicated' ? 'dedicated' : 'shared';
642
+ // v0.7.0-rc.6 — surface SPEC §1.10.1 v0.5.0+ kind + voice_scope on
643
+ // the parsed frontmatter. v0.7.0-rc.5 silently dropped these fields
644
+ // (the Wave 4d reviewer-flagged silent-drop). Validation is lenient:
645
+ // unknown values are surfaced as undefined so downstream code sees a
646
+ // clean type rather than a malformed value. SPEC enforcement (e.g.,
647
+ // "voice_scope REQUIRED when kind: voice") is the caller's job.
648
+ const kindRaw = out['kind'];
649
+ const kind = kindRaw === 'voice' ? 'voice' : kindRaw === 'rule' ? 'rule' : undefined;
650
+ const voiceScopeRaw = out['voice_scope'];
651
+ const voiceScope = voiceScopeRaw === 'personal' ||
652
+ voiceScopeRaw === 'team' ||
653
+ voiceScopeRaw === 'org' ||
654
+ voiceScopeRaw === 'community'
655
+ ? voiceScopeRaw
656
+ : undefined;
586
657
  const appliesToRaw = out['applies_to'];
587
658
  let appliesTo;
588
659
  if (appliesToRaw) {
@@ -592,16 +663,35 @@ export function parseFrontmatter(raw) {
592
663
  const extensions = Array.isArray(appliesToRaw.extensions)
593
664
  ? appliesToRaw.extensions.map(String)
594
665
  : undefined;
595
- appliesTo = {
596
- ...(paths !== undefined ? { paths } : {}),
597
- ...(extensions !== undefined ? { extensions } : {}),
598
- };
666
+ // v0.7.0-rc.6 — SPEC §1.10.1 v0.5.1+ author filter. Single string
667
+ // only; reject lists + falsy values to keep the filter contract
668
+ // unambiguous (a future SPEC could broaden to lists if customer
669
+ // demand argues for it).
670
+ const authorRaw = appliesToRaw.author;
671
+ const author = typeof authorRaw === 'string' && authorRaw.trim().length > 0
672
+ ? authorRaw.trim()
673
+ : undefined;
674
+ // Reviewer-flagged Important on PR #179: an empty `applies_to:`
675
+ // block (no sub-keys) was emitting `applies_to: {}` on the
676
+ // returned frontmatter, which leaked into the prompt builder as
677
+ // JSON noise + semantically diverged from readAppliesTo's null
678
+ // return for the same input. Only construct appliesTo when at
679
+ // least one sub-field is present.
680
+ if (paths !== undefined || extensions !== undefined || author !== undefined) {
681
+ appliesTo = {
682
+ ...(paths !== undefined ? { paths } : {}),
683
+ ...(extensions !== undefined ? { extensions } : {}),
684
+ ...(author !== undefined ? { author } : {}),
685
+ };
686
+ }
599
687
  }
600
688
  return {
601
689
  name,
602
690
  description,
603
691
  source,
604
692
  review_mode: reviewMode,
693
+ ...(kind !== undefined ? { kind } : {}),
694
+ ...(voiceScope !== undefined ? { voice_scope: voiceScope } : {}),
605
695
  ...(appliesTo !== undefined ? { applies_to: appliesTo } : {}),
606
696
  };
607
697
  }
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,EAAE;AACF,mEAAmE;AACnE,sEAAsE;AACtE,sEAAsE;AACtE,qCAAqC;AACrC,EAAE;AACF,qEAAqE;AACrE,oEAAoE;AACpE,oEAAoE;AACpE,uEAAuE;AAEvE,MAAM,CAAC,MAAM,QAAQ,GAAG,0BAA0B,CAAC;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;AAmC5B,MAAM,UAAU,aAAa,CAAC,IAA0B;IACtD,qDAAqD;IACrD,MAAM,IAAI,GAAmB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAC9C,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAE,IAAqE,EAAE,MAAM;eACzE,IAA4C,EAAE,OAAO;eACtD,EAAE,CAAC,CAAC;IACb,OAAO,IAAI;SACR,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;QACtC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE;QAClC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE;QACnD,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC;KAClD,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAQD,MAAM,OAAO,YAAY;IACN,KAAK,CAA0B;IAC/B,IAAI,CAAS;IACb,SAAS,CAAS;IAEnC,YAAY,EAAE,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,GAAG,UAAU,KAA0B,EAAE;QAC9F,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,QAAQ,CAAC;QACvE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAY;QACtB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,EAAE;YAClD,OAAO,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE;SACtE,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAe;QAC1B,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC3E,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACjD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,IAAY;QAC3C,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAC5B,WAAW,kBAAkB,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CACpE,CAAuF,CAAC;QACzF,gFAAgF;QAChF,2EAA2E;QAC3E,4BAA4B;QAC5B,IAAI,OAAO,IAAI,EAAE,OAAO,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC;QAC3D,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC;QACrD,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;QACxC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,IAAI,IAAI,uBAAuB,CAAC,CAAC;IACnF,CAAC;CACF;AAQD,gGAAgG;AAChG,MAAM,UAAU,UAAU,CACxB,OAAwB,EACxB,QAAyB,EACzB,QAAyB,EACzB,MAAc,UAAU;IAExB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAoB,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;IACxC,IAAI,SAAS,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAE7C,MAAM,aAAa,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE7E,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,aAAa,EAAE,GAAG,cAAc,CAAC,EAAE,CAAC;QAC1D,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG;YAAE,MAAM;QAC7B,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iEAAiE;AACjE,EAAE;AACF,mDAAmD;AACnD,yEAAyE;AACzE,wEAAwE;AACxE,sEAAsE;AACtE,uEAAuE;AACvE,0EAA0E;AAC1E,yEAAyE;AACzE,yEAAyE;AACzE,yEAAyE;AACzE,qDAAqD;AACrD,0EAA0E;AAC1E,0EAA0E;AAC1E,wDAAwD;AACxD,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AACxE,wEAAwE;AACxE,MAAM,UAAU,cAAc,CAAC,YAAqB;IAClD,IAAI,OAAO,YAAY,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IACtD,2EAA2E;IAC3E,yEAAyE;IACzE,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACvD,IAAI,CAAC,EAAE;QAAE,OAAO,QAAQ,CAAC;IACzB,MAAM,CAAC,GAAI,EAAE,CAAC,CAAC,CAAY,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChE,IAAI,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxB,qEAAqE;IACrE,wEAAwE;IACxE,sEAAsE;IACtE,8DAA8D;IAC9D,MAAM,KAAK,GAAI,CAAC,CAAC,CAAC,CAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACzE,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;AACxD,CAAC;AAOD,uEAAuE;AACvE,EAAE;AACF,UAAU;AACV,gBAAgB;AAChB,aAAa;AACb,sBAAsB;AACtB,8BAA8B;AAC9B,mCAAmC;AACnC,EAAE;AACF,oEAAoE;AACpE,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAC1D,EAAE;AACF,sEAAsE;AACtE,sEAAsE;AACtE,iEAAiE;AACjE,MAAM,UAAU,aAAa,CAAC,YAAqB;IACjD,IAAI,OAAO,YAAY,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAClD,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACvD,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IACrB,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC,CAAW,CAAC;IAC9B,mEAAmE;IACnE,oEAAoE;IACpE,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,iEAAiE;IACjE,mEAAmE;IACnE,mBAAmB;IACnB,sEAAsE;IACtE,oEAAoE;IACpE,MAAM,QAAQ,GAAI,IAAI,CAAC,KAAgB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACzD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC/B,CAAC;AAED,mEAAmE;AACnE,2DAA2D;AAC3D,kDAAkD;AAClD,SAAS,aAAa,CAAC,KAAa,EAAE,GAAW;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,UAAU,GAAG,uBAAuB,EAAE,GAAG,CAAC,CAAC,CAAC;IAClF,IAAI,MAAM,EAAE,CAAC;QACX,OAAQ,MAAM,CAAC,CAAC,CAAY;aACzB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;aAChD,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,UAAU,GAAG,QAAQ,EAAE,GAAG,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAE,IAAI,CAAC,KAAgB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAChD,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CAAE,IAAI,CAAC,CAAC,CAAY,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5D,SAAS;QACX,CAAC;QACD,4DAA4D;QAC5D,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI;YAAE,MAAM;IACzC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,uEAAuE;AACvE,oEAAoE;AACpE,EAAE;AACF,8DAA8D;AAC9D,8CAA8C;AAC9C,0DAA0D;AAC1D,yEAAyE;AACzE,6DAA6D;AAC7D,EAAE;AACF,8DAA8D;AAC9D,kEAAkE;AAClE,sDAAsD;AACtD,MAAM,UAAU,WAAW,CAAC,YAAqB,EAAE,OAAgB;IACjE,MAAM,IAAI,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,CAAC,iCAAiC;IACjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,6BAA6B;IACvE,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS;QACvC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC;QACtC,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+DAA+D;AAC/D,uDAAuD;AACvD,SAAS,SAAS,CAAC,IAAY,EAAE,IAAY;IAC3C,MAAM,OAAO,GAAG,IAAI;SACjB,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC;SACtC,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC;SAClC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;SACvB,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC;SAChC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACvB,OAAO,IAAI,MAAM,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AASD,wEAAwE;AACxE,wEAAwE;AACxE,qEAAqE;AACrE,EAAE;AACF,oEAAoE;AACpE,uEAAuE;AACvE,8CAA8C;AAC9C,MAAM,UAAU,qBAAqB,CACnC,MAAW;IAEX,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,MAAM,SAAS,GAAQ,EAAE,CAAC;IAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/B,CAAC;AAED,8EAA8E;AAC9E,gFAAgF;AAChF,EAAE;AACF,uBAAuB;AACvB,4EAA4E;AAC5E,4EAA4E;AAC5E,qEAAqE;AACrE,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,8DAA8D;AAC9D,EAAE;AACF,+EAA+E;AAC/E,mEAAmE;AACnE,MAAM,UAAU,mBAAmB,CAAC,OAAgB,EAAE,SAAkB;IACtE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACzD,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC7D,4EAA4E;IAC5E,6EAA6E;IAC7E,iCAAiC;IACjC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACjE,yEAAyE;IACzE,kEAAkE;IAClE,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,gBAAgB,OAAO,oBAAoB,EAAE,GAAG,CAAC,CAAC;IACxE,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAY,CAAC,CAAC,CAAC,IAAI,CAAC;AACrC,CAAC;AAWD,0EAA0E;AAC1E,yEAAyE;AACzE,wEAAwE;AACxE,yEAAyE;AACzE,kBAAkB;AAClB,EAAE;AACF,oEAAoE;AACpE,8EAA8E;AAC9E,gDAAgD;AAChD,wEAAwE;AACxE,yEAAyE;AACzE,iDAAiD;AACjD,EAAE;AACF,mFAAmF;AACnF,4EAA4E;AAC5E,0EAA0E;AAC1E,4EAA4E;AAC5E,0EAA0E;AAC1E,qEAAqE;AACrE,yEAAyE;AACzE,iBAAiB;AACjB,EAAE;AACF,qEAAqE;AACrE,uEAAuE;AACvE,oEAAoE;AACpE,qDAAqD;AACrD,MAAM,UAAU,kBAAkB,CAAC,QAAiB,EAAE,QAAiB;IACrE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3D,sEAAsE;IACtE,mEAAmE;IACnE,oEAAoE;IACpE,oEAAoE;IACpE,mEAAmE;IACnE,mEAAmE;IACnE,oEAAoE;IACpE,6DAA6D;IAC7D,MAAM,MAAM,GAAgB,CAAC,GAAI,QAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvE,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,eAAe;IACjC,CAAC,CAAC,CAAC;IACH,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,SAAS;QAC1C,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC;QAC7B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QACpB,IAAI,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS;QAC9D,MAAM,UAAU,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC;IACpC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kEAAkE;AAClE,wEAAwE;AACxE,0EAA0E;AAC1E,MAAM,UAAU,4BAA4B,CAAC,IAAa;IACxD,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACtD,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACzB,CAAC;AAED,uEAAuE;AACvE,qEAAqE;AACrE,sEAAsE;AACtE,mEAAmE;AACnE,mEAAmE;AACnE,8DAA8D;AAC9D,EAAE;AACF,mEAAmE;AACnE,uEAAuE;AACvE,yEAAyE;AACzE,mEAAmE;AACnE,EAAE;AACF,qEAAqE;AACrE,sEAAsE;AACtE,wEAAwE;AACxE,sEAAsE;AACtE,MAAM,UAAU,gBAAgB,CAAC,QAAiB,EAAE,QAAiB;IACnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3D,iEAAiE;IACjE,kEAAkE;IAClE,+DAA+D;IAC/D,iEAAiE;IACjE,MAAM,MAAM,GAAgB,CAAC,GAAI,QAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvE,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,OAAO,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,SAAS;QAC1C,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC;QAC7B,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QACpB,IAAI,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS;QAC9D,IAAI,4BAA4B,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAQD,oEAAoE;AACpE,yEAAyE;AACzE,yEAAyE;AACzE,uEAAuE;AACvE,2EAA2E;AAC3E,4BAA4B;AAC5B,EAAE;AACF,yEAAyE;AACzE,qEAAqE;AACrE,uEAAuE;AACvE,sEAAsE;AACtE,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,EAAE,GAAG,0DAA0D,CAAC;IACtE,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5B,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO;QACL,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC;QACvC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC;QACjC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,uEAAuE;AACvE,mDAAmD;AACnD,EAAE;AACF,sEAAsE;AACtE,uEAAuE;AACvE,wEAAwE;AACxE,wEAAwE;AACxE,4EAA4E;AAC5E,MAAM,UAAU,sBAAsB,CAAC,UAAmB;IACxD,IAAI,OAAO,UAAU,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACjD,OAAO,qCAAqC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChE,CAAC;AAED,2EAA2E;AAC3E,0EAA0E;AAC1E,yEAAyE;AACzE,0EAA0E;AAC1E,oEAAoE;AACpE,kBAAkB;AAClB,EAAE;AACF,YAAY;AACZ,6DAA6D;AAC7D,iFAAiF;AACjF,4DAA4D;AAC5D,uEAAuE;AACvE,4EAA4E;AAC5E,EAAE;AACF,wEAAwE;AACxE,uEAAuE;AACvE,2EAA2E;AAC3E,uEAAuE;AACvE,sEAAsE;AACtE,2EAA2E;AAC3E,2EAA2E;AAC3E,4EAA4E;AAC5E,EAAE;AACF,uEAAuE;AACvE,0EAA0E;AAC1E,6EAA6E;AAC7E,oBAAoB;AACpB,MAAM,UAAU,uBAAuB,CAAC,WAAoB;IAC1D,IAAI,WAAW,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAEjC,+DAA+D;IAC/D,6DAA6D;IAC7D,oEAAoE;IACpE,sEAAsE;IACtE,iEAAiE;IACjE,mEAAmE;IACnE,+DAA+D;IAC/D,qDAAqD;IACrD,IAAI,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAExE,gEAAgE;IAChE,gEAAgE;IAChE,gEAAgE;IAChE,iEAAiE;IAEjE,kEAAkE;IAClE,mEAAmE;IACnE,4DAA4D;IAC5D,qEAAqE;IACrE,iCAAiC;IACjC,IAAI,2CAA2C,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAE7E,mEAAmE;IACnE,kEAAkE;IAClE,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAE7C,0CAA0C;IAC1C,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAEzD,qEAAqE;IACrE,kEAAkE;IAClE,oEAAoE;IACpE,iEAAiE;IACjE,gDAAgD;IAChD,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAE5D,wEAAwE;IACxE,iEAAiE;IACjE,kEAAkE;IAClE,+DAA+D;IAC/D,OAAO,SAAS,CAAC;AACnB,CAAC;AAqCD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,sEAAsE;IACtE,qDAAqD;IACrD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACjE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAElC,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,IAAI,aAAa,GAAkB,IAAI,CAAC;IAExC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,SAAS;QAC3B,iEAAiE;QACjE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAE1C,oEAAoE;QACpE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAwC,CAAC;YACzE,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,KAAK,KAAK,CAAC,CAAC;gBAAE,SAAS;YAC3B,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAClD,MAAM,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACvC,SAAS;QACX,CAAC;QAED,iBAAiB;QACjB,aAAa,GAAG,IAAI,CAAC;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE3C,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACjB,iEAAiE;YACjE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACd,aAAa,GAAG,GAAG,CAAC;YACpB,SAAS;QACX,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,qEAAqE;IACrE,8BAA8B;IAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC3D,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,oDAAoD,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAEzE,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,MAAM,UAAU,GACd,GAAG,CAAC,aAAa,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE9D,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAExB,CAAC;IACd,IAAI,SAAqD,CAAC;IAC1D,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC;YAC7C,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;YAChC,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC;YACvD,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;YACrC,CAAC,CAAC,SAAS,CAAC;QACd,SAAS,GAAG;YACV,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI;QACJ,WAAW;QACX,MAAM;QACN,WAAW,EAAE,UAAU;QACvB,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,+CAA+C;QAC/C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,OAAO,KAAK;aACT,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;aAChD,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IACD,sDAAsD;IACtD,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IAC/D,IAAI,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC;IAC3B,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/core/skills.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const PKG_VERSION = "0.7.0-rc.5";
1
+ export declare const PKG_VERSION = "0.7.0-rc.6";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,4 +1,4 @@
1
1
  // Generated by scripts/gen-version.mjs at build time. Do not edit.
2
2
  // Regenerated automatically on every `npm run build` via "prebuild" hook.
3
- export const PKG_VERSION = '0.7.0-rc.5';
3
+ export const PKG_VERSION = '0.7.0-rc.6';
4
4
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clud-bug",
3
- "version": "0.7.0-rc.5",
3
+ "version": "0.7.0-rc.6",
4
4
  "description": "Skill-driven Claude PR review. Ship a brand-voice skill, get brand reviews. Each finding cites the skill that motivated it. CLI installs the workflow + a baseline kit; add more from skills.sh.",
5
5
  "homepage": "https://cludbug.dev",
6
6
  "bugs": "https://github.com/thrillmade/clud-bug/issues",
package/src/core/index.ts CHANGED
@@ -172,6 +172,7 @@ export {
172
172
  readReviewMode,
173
173
  readAppliesTo,
174
174
  appliesToPr,
175
+ appliesToAuthor,
175
176
  partitionByReviewMode,
176
177
  extractPerSkillLine,
177
178
  selectReviewHeader,
@@ -191,4 +192,6 @@ export {
191
192
  type SkillFrontmatter,
192
193
  type SkillSource,
193
194
  type SkillReviewMode,
195
+ type SkillKind,
196
+ type VoiceScope,
194
197
  } from './skills.js';
@@ -285,6 +285,60 @@ export function appliesToPr(skillContent: unknown, prPaths: unknown): boolean {
285
285
  return false;
286
286
  }
287
287
 
288
+ // v0.7.0-rc.6 (SPEC §1.10.1 v0.5.1+) — does this skill apply to a PR
289
+ // opened by `prAuthor`? Reads `applies_to.author` from the raw SKILL.md
290
+ // frontmatter. Returns:
291
+ // - `true` if `applies_to.author` is absent (no author filter set —
292
+ // skill loads regardless of author; v0.5.0 backward-compat default).
293
+ // - `true` if `applies_to.author === prAuthor` (case-sensitive match
294
+ // against the PR author's GitHub login).
295
+ // - `false` if `applies_to.author` is set to a different login.
296
+ //
297
+ // Designed to mirror `appliesToPr`'s signature (raw skill content +
298
+ // runtime PR context) so consumers can call both filters in a single
299
+ // loader pass. Skills with NO `applies_to` block at all also return
300
+ // `true` (the existing v0.5.0 unconditional-load behavior).
301
+ //
302
+ // Strict-AND composition per SPEC §1.10.1: when a skill sets BOTH
303
+ // `applies_to.author` AND `paths`/`extensions`, callers MUST call BOTH
304
+ // filters and AND the results. This helper only checks the author leg;
305
+ // the caller composes.
306
+ export function appliesToAuthor(
307
+ skillContent: unknown,
308
+ prAuthor: unknown,
309
+ ): boolean {
310
+ if (typeof skillContent !== 'string') return true;
311
+ const fm = skillContent.match(/^---\n([\s\S]*?)\n---/);
312
+ if (!fm) return true;
313
+ const block = fm[1] as string;
314
+ // Look for `applies_to:` block; if absent, no author constraint.
315
+ const head = block.match(/^applies_to:\s*$/m);
316
+ if (!head) return true;
317
+ const startIdx = (head.index as number) + head[0].length;
318
+ const rest = block.slice(startIdx);
319
+ // The block ends at the next top-level key (line starting with a
320
+ // word char + `:`) OR end-of-block. Mirrors `readAppliesTo`.
321
+ const stop = rest.search(/^\w[\w-]*:/m);
322
+ const scoped = stop === -1 ? rest : rest.slice(0, stop);
323
+ // Match ` author: <value>` — single string scalar; strip optional
324
+ // quotes. `author: [a, b]` form is intentionally NOT supported
325
+ // (SPEC: "single GitHub login string, no list").
326
+ const authorMatch = scoped.match(/^\s{2}author:\s*(.+?)\s*$/m);
327
+ if (!authorMatch) return true;
328
+ const declared = (authorMatch[1] as string)
329
+ .trim()
330
+ .replace(/^["']|["']$/g, '');
331
+ if (!declared) return true; // empty value treated as unset
332
+ if (typeof prAuthor !== 'string' || !prAuthor) return false;
333
+ // GitHub logins are case-insensitive (GitHub rejects creating two
334
+ // accounts that differ only in case; `pull_request.user.login` is
335
+ // case-preserved but routing is not case-sensitive). Compare
336
+ // case-insensitively so a skill author writing `Thrillmot` still
337
+ // matches a webhook delivering `thrillmot` (or vice versa).
338
+ // Reviewer-flagged Important on PR #179.
339
+ return declared.toLowerCase() === prAuthor.toLowerCase();
340
+ }
341
+
288
342
  // Minimal glob → regex: `**` → `.*`, `*` → `[^/]*`, `?` → `.`,
289
343
  // everything else escaped. Anchored full-string match.
290
344
  function globMatch(glob: string, path: string): boolean {
@@ -601,14 +655,39 @@ export type SkillReviewMode = 'shared' | 'dedicated';
601
655
  * `PromptSkillFrontmatter` is a narrower subset (name + description +
602
656
  * applies_to) so we keep the full shape here.
603
657
  */
658
+ export type SkillKind = 'rule' | 'voice';
659
+ export type VoiceScope = 'personal' | 'team' | 'org' | 'community';
660
+
604
661
  export interface SkillFrontmatter {
605
662
  name: string;
606
663
  description: string;
607
664
  source: SkillSource | string; // string fallback for forward-compat
608
665
  review_mode: SkillReviewMode;
666
+ /**
667
+ * SPEC §1.10.1 v0.5.0+ skill classification. OPTIONAL — absent =
668
+ * `kind: rule` (the v0.4.0 default). Surfaced on the parsed
669
+ * frontmatter (v0.7.0-rc.6+) so consumers can route on the field;
670
+ * v0.7.0-rc.5 and earlier silently dropped it.
671
+ */
672
+ kind?: SkillKind;
673
+ /**
674
+ * SPEC §1.10.1 v0.5.0+ voice scope. REQUIRED when `kind: voice`,
675
+ * absent otherwise. Surfaced on the parsed frontmatter (v0.7.0-rc.6+).
676
+ */
677
+ voice_scope?: VoiceScope;
609
678
  applies_to?: {
610
679
  paths?: string[];
611
680
  extensions?: string[];
681
+ /**
682
+ * SPEC §1.10.1 v0.5.1+ — single GitHub login string (no `@`
683
+ * prefix, no list). When present, the skill MUST only load when
684
+ * `pull_request.user.login === author`. Filters via strict AND
685
+ * with the sibling `paths` + `extensions` filters when all are
686
+ * present. v0.7.0-rc.5 and earlier silently dropped this field
687
+ * (treated skills as if it were absent — load unconditionally);
688
+ * v0.7.0-rc.6+ enforces the filter via `appliesToAuthor`.
689
+ */
690
+ author?: string;
612
691
  };
613
692
  }
614
693
 
@@ -691,8 +770,26 @@ export function parseFrontmatter(raw: string): SkillFrontmatter {
691
770
  const reviewMode: SkillReviewMode =
692
771
  out['review_mode'] === 'dedicated' ? 'dedicated' : 'shared';
693
772
 
773
+ // v0.7.0-rc.6 — surface SPEC §1.10.1 v0.5.0+ kind + voice_scope on
774
+ // the parsed frontmatter. v0.7.0-rc.5 silently dropped these fields
775
+ // (the Wave 4d reviewer-flagged silent-drop). Validation is lenient:
776
+ // unknown values are surfaced as undefined so downstream code sees a
777
+ // clean type rather than a malformed value. SPEC enforcement (e.g.,
778
+ // "voice_scope REQUIRED when kind: voice") is the caller's job.
779
+ const kindRaw = out['kind'];
780
+ const kind: SkillKind | undefined =
781
+ kindRaw === 'voice' ? 'voice' : kindRaw === 'rule' ? 'rule' : undefined;
782
+ const voiceScopeRaw = out['voice_scope'];
783
+ const voiceScope: VoiceScope | undefined =
784
+ voiceScopeRaw === 'personal' ||
785
+ voiceScopeRaw === 'team' ||
786
+ voiceScopeRaw === 'org' ||
787
+ voiceScopeRaw === 'community'
788
+ ? voiceScopeRaw
789
+ : undefined;
790
+
694
791
  const appliesToRaw = out['applies_to'] as
695
- | { paths?: unknown; extensions?: unknown }
792
+ | { paths?: unknown; extensions?: unknown; author?: unknown }
696
793
  | undefined;
697
794
  let appliesTo: SkillFrontmatter['applies_to'] | undefined;
698
795
  if (appliesToRaw) {
@@ -702,10 +799,28 @@ export function parseFrontmatter(raw: string): SkillFrontmatter {
702
799
  const extensions = Array.isArray(appliesToRaw.extensions)
703
800
  ? appliesToRaw.extensions.map(String)
704
801
  : undefined;
705
- appliesTo = {
706
- ...(paths !== undefined ? { paths } : {}),
707
- ...(extensions !== undefined ? { extensions } : {}),
708
- };
802
+ // v0.7.0-rc.6 — SPEC §1.10.1 v0.5.1+ author filter. Single string
803
+ // only; reject lists + falsy values to keep the filter contract
804
+ // unambiguous (a future SPEC could broaden to lists if customer
805
+ // demand argues for it).
806
+ const authorRaw = appliesToRaw.author;
807
+ const author =
808
+ typeof authorRaw === 'string' && authorRaw.trim().length > 0
809
+ ? authorRaw.trim()
810
+ : undefined;
811
+ // Reviewer-flagged Important on PR #179: an empty `applies_to:`
812
+ // block (no sub-keys) was emitting `applies_to: {}` on the
813
+ // returned frontmatter, which leaked into the prompt builder as
814
+ // JSON noise + semantically diverged from readAppliesTo's null
815
+ // return for the same input. Only construct appliesTo when at
816
+ // least one sub-field is present.
817
+ if (paths !== undefined || extensions !== undefined || author !== undefined) {
818
+ appliesTo = {
819
+ ...(paths !== undefined ? { paths } : {}),
820
+ ...(extensions !== undefined ? { extensions } : {}),
821
+ ...(author !== undefined ? { author } : {}),
822
+ };
823
+ }
709
824
  }
710
825
 
711
826
  return {
@@ -713,6 +828,8 @@ export function parseFrontmatter(raw: string): SkillFrontmatter {
713
828
  description,
714
829
  source,
715
830
  review_mode: reviewMode,
831
+ ...(kind !== undefined ? { kind } : {}),
832
+ ...(voiceScope !== undefined ? { voice_scope: voiceScope } : {}),
716
833
  ...(appliesTo !== undefined ? { applies_to: appliesTo } : {}),
717
834
  };
718
835
  }
@@ -1,3 +1,3 @@
1
1
  // Generated by scripts/gen-version.mjs at build time. Do not edit.
2
2
  // Regenerated automatically on every `npm run build` via "prebuild" hook.
3
- export const PKG_VERSION = '0.7.0-rc.5';
3
+ export const PKG_VERSION = '0.7.0-rc.6';
@@ -366,7 +366,7 @@ jobs:
366
366
  # Strict-mode gate — composite action; see workflow.yml.tmpl for design notes.
367
367
  - name: Strict mode — fail check on critical findings
368
368
  if: success()
369
- uses: thrillmade/clud-bug/.github/actions/strict-mode-gate@v0.7.0-rc.5
369
+ uses: thrillmade/clud-bug/.github/actions/strict-mode-gate@v0.7.0-rc.6
370
370
  with:
371
371
  github-token: ${{ secrets.GITHUB_TOKEN }}
372
372
  # v0.6.22 / 0.0.O: summary now posted by github-actions[bot].
@@ -366,7 +366,7 @@ jobs:
366
366
  # Strict-mode gate — composite action; see workflow.yml.tmpl for design notes.
367
367
  - name: Strict mode — fail check on critical findings
368
368
  if: success()
369
- uses: thrillmade/clud-bug/.github/actions/strict-mode-gate@v0.7.0-rc.5
369
+ uses: thrillmade/clud-bug/.github/actions/strict-mode-gate@v0.7.0-rc.6
370
370
  with:
371
371
  github-token: ${{ secrets.GITHUB_TOKEN }}
372
372
  # v0.6.22 / 0.0.O: summary now posted by github-actions[bot].
@@ -641,7 +641,7 @@ jobs:
641
641
  # Letting the action's own failure fail the check is louder and right.
642
642
  - name: Strict mode — fail check on critical findings
643
643
  if: success()
644
- uses: thrillmade/clud-bug/.github/actions/strict-mode-gate@v0.7.0-rc.5
644
+ uses: thrillmade/clud-bug/.github/actions/strict-mode-gate@v0.7.0-rc.6
645
645
  with:
646
646
  github-token: ${{ secrets.GITHUB_TOKEN }}
647
647
  # v0.6.22 / 0.0.O: the summary is now posted by the workflow