@codedrifters/configulator 0.0.256 → 0.0.257

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.mjs CHANGED
@@ -14608,6 +14608,70 @@ function renderFocusSection(focus) {
14608
14608
  return lines.join("\n");
14609
14609
  }
14610
14610
 
14611
+ // src/agent/bundles/meeting-types.ts
14612
+ var DEFAULT_AGENDA_TEMPLATE_ROOT = "<meetingsRoot>/_agenda-templates";
14613
+ function renderMeetingTypesSection(meetings) {
14614
+ if (!meetings) {
14615
+ return "";
14616
+ }
14617
+ const types = meetings.meetingTypes ?? [];
14618
+ const areas = meetings.meetingAreas ?? [];
14619
+ if (types.length === 0 && areas.length === 0) {
14620
+ return "";
14621
+ }
14622
+ const sections = [];
14623
+ if (types.length > 0) {
14624
+ sections.push(renderMeetingTypes(types, meetings.agendaTemplateRoot));
14625
+ }
14626
+ if (areas.length > 0) {
14627
+ sections.push(renderMeetingAreas(areas));
14628
+ }
14629
+ return sections.join("\n\n");
14630
+ }
14631
+ function renderMeetingTypes(types, agendaTemplateRoot) {
14632
+ const resolvedRoot = agendaTemplateRoot ?? DEFAULT_AGENDA_TEMPLATE_ROOT;
14633
+ const lines = [
14634
+ "## Recognized meeting types",
14635
+ "",
14636
+ "This project declares a meeting-type taxonomy through",
14637
+ "`AgentConfigOptions.meetings.meetingTypes`. When classifying a",
14638
+ "meeting transcript, pick the `id` from this list that best fits the",
14639
+ "meeting; do **not** invent new type identifiers. Agenda-template",
14640
+ `paths below are resolved relative to \`${resolvedRoot}\`.`,
14641
+ "",
14642
+ "| ID | Label | Scope | Cadence | Default duration | Agenda template |",
14643
+ "|----|-------|-------|---------|------------------|-----------------|"
14644
+ ];
14645
+ for (const type of types) {
14646
+ const cadence = type.cadence ? `\`${type.cadence}\`` : "\u2014";
14647
+ const duration = type.defaultDurationMinutes !== void 0 ? `${type.defaultDurationMinutes} min` : "\u2014";
14648
+ const template = type.agendaTemplatePath ? `\`${type.agendaTemplatePath}\`` : "\u2014";
14649
+ lines.push(
14650
+ `| \`${type.id}\` | ${type.label} | \`${type.scope}\` | ${cadence} | ${duration} | ${template} |`
14651
+ );
14652
+ }
14653
+ return lines.join("\n");
14654
+ }
14655
+ function renderMeetingAreas(areas) {
14656
+ const lines = [
14657
+ "## Area \u2192 doc-root mapping",
14658
+ "",
14659
+ "This project declares a meeting-area routing map through",
14660
+ "`AgentConfigOptions.meetings.meetingAreas`. When a meeting note's",
14661
+ "frontmatter carries an `area:` value matching an `id` below, route",
14662
+ "phase-4 direct edits into the corresponding sub-tree of the docs",
14663
+ "root (`AgentPathsConfig.docsRoot`). Meetings whose `area` does not",
14664
+ "match any declared entry fall back to the default meetings root.",
14665
+ "",
14666
+ "| Area ID | Label | Doc-root sub-folder |",
14667
+ "|---------|-------|---------------------|"
14668
+ ];
14669
+ for (const area of areas) {
14670
+ lines.push(`| \`${area.id}\` | ${area.label} | \`${area.docRoot}\` |`);
14671
+ }
14672
+ return lines.join("\n");
14673
+ }
14674
+
14611
14675
  // src/agent/bundles/priority-rules.ts
14612
14676
  function renderPriorityRulesSection(rules) {
14613
14677
  if (rules.length === 0) {
@@ -15592,6 +15656,22 @@ ${section}`
15592
15656
 
15593
15657
  ---
15594
15658
 
15659
+ ${section}`
15660
+ });
15661
+ }
15662
+ }
15663
+ }
15664
+ if (this.options.meetings) {
15665
+ const meetingRule = ruleMap.get("meeting-processing-workflow");
15666
+ if (meetingRule) {
15667
+ const section = renderMeetingTypesSection(this.options.meetings);
15668
+ if (section.length > 0) {
15669
+ ruleMap.set("meeting-processing-workflow", {
15670
+ ...meetingRule,
15671
+ content: `${meetingRule.content}
15672
+
15673
+ ---
15674
+
15595
15675
  ${section}`
15596
15676
  });
15597
15677
  }
@@ -18421,6 +18501,7 @@ export {
18421
18501
  prReviewBundle,
18422
18502
  projenBundle,
18423
18503
  renderFocusSection,
18504
+ renderMeetingTypesSection,
18424
18505
  renderPriorityRulesSection,
18425
18506
  requirementsAnalystBundle,
18426
18507
  requirementsReviewerBundle,