@codedrifters/configulator 0.0.191 → 0.0.192

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
@@ -1392,7 +1392,29 @@ var meetingAnalysisBundle = {
1392
1392
  }
1393
1393
  ],
1394
1394
  skills: [processMeetingSkill],
1395
- subAgents: [meetingAnalystSubAgent]
1395
+ subAgents: [meetingAnalystSubAgent],
1396
+ labels: [
1397
+ {
1398
+ name: "meeting:extract",
1399
+ color: "C5DEF5",
1400
+ description: "Phase 1: raw extraction from a meeting transcript"
1401
+ },
1402
+ {
1403
+ name: "meeting:notes",
1404
+ color: "BFDADC",
1405
+ description: "Phase 2: curated notes derived from an extraction"
1406
+ },
1407
+ {
1408
+ name: "meeting:draft",
1409
+ color: "D4C5F9",
1410
+ description: "Phase 3: draft follow-up issues proposed from notes"
1411
+ },
1412
+ {
1413
+ name: "meeting:link",
1414
+ color: "FEF2C0",
1415
+ description: "Phase 4: linking/reconciling drafted issues with existing work"
1416
+ }
1417
+ ]
1396
1418
  };
1397
1419
 
1398
1420
  // src/agent/bundles/orchestrator.ts
@@ -3972,6 +3994,39 @@ var AgentConfig = class _AgentConfig extends Component8 {
3972
3994
  super(project);
3973
3995
  this.options = options;
3974
3996
  }
3997
+ /**
3998
+ * Returns the bundles that are active for this project: auto-detected
3999
+ * bundles (when `autoDetectBundles !== false`) plus force-included
4000
+ * bundles, minus explicitly excluded bundles. Deduplicated by name.
4001
+ *
4002
+ * Exposed so sibling components (e.g. the sync-labels workflow) can
4003
+ * consume bundle-contributed configuration.
4004
+ */
4005
+ get activeBundles() {
4006
+ const bundleMap = /* @__PURE__ */ new Map();
4007
+ if (this.options.autoDetectBundles !== false) {
4008
+ for (const bundle of BUILT_IN_BUNDLES) {
4009
+ if (this.options.excludeBundles?.includes(bundle.name)) {
4010
+ continue;
4011
+ }
4012
+ if (bundle.name === "base" && this.options.includeBaseRules === false) {
4013
+ continue;
4014
+ }
4015
+ if (bundle.appliesWhen(this.project)) {
4016
+ bundleMap.set(bundle.name, bundle);
4017
+ }
4018
+ }
4019
+ }
4020
+ if (this.options.includeBundles) {
4021
+ for (const bundleName of this.options.includeBundles) {
4022
+ const bundle = BUILT_IN_BUNDLES.find((b) => b.name === bundleName);
4023
+ if (bundle) {
4024
+ bundleMap.set(bundle.name, bundle);
4025
+ }
4026
+ }
4027
+ }
4028
+ return [...bundleMap.values()];
4029
+ }
3975
4030
  preSynthesize() {
3976
4031
  super.preSynthesize();
3977
4032
  const platforms = this.resolvePlatforms();
@@ -5244,12 +5299,25 @@ var LABELS_CONFIG_PATH = ".github/labels.yml";
5244
5299
  function addSyncLabelsWorkflow(project, options) {
5245
5300
  const workflowName = options.workflowName ?? DEFAULT_WORKFLOW_NAME2;
5246
5301
  const deleteOtherLabels = options.deleteOtherLabels ?? true;
5247
- const allLabels = [
5248
- ...DEFAULT_STATUS_LABELS,
5249
- ...DEFAULT_PRIORITY_LABELS,
5250
- ...DEFAULT_TYPE_LABELS,
5251
- ...options.labels ?? []
5252
- ];
5302
+ const labelMap = /* @__PURE__ */ new Map();
5303
+ for (const label of DEFAULT_STATUS_LABELS) {
5304
+ labelMap.set(label.name, label);
5305
+ }
5306
+ for (const label of DEFAULT_PRIORITY_LABELS) {
5307
+ labelMap.set(label.name, label);
5308
+ }
5309
+ for (const label of DEFAULT_TYPE_LABELS) {
5310
+ labelMap.set(label.name, label);
5311
+ }
5312
+ for (const bundle of options.bundles ?? []) {
5313
+ for (const label of bundle.labels ?? []) {
5314
+ labelMap.set(label.name, label);
5315
+ }
5316
+ }
5317
+ for (const label of options.labels ?? []) {
5318
+ labelMap.set(label.name, label);
5319
+ }
5320
+ const allLabels = [...labelMap.values()];
5253
5321
  new LabelsFile(project, allLabels);
5254
5322
  const workflow = project.github?.addWorkflow(workflowName);
5255
5323
  if (!workflow) {
@@ -5552,10 +5620,12 @@ var MonorepoProject = class extends TypeScriptAppProject {
5552
5620
  );
5553
5621
  }
5554
5622
  if (options.syncLabels !== false) {
5555
- addSyncLabelsWorkflow(
5556
- this,
5557
- typeof options.syncLabels === "object" ? options.syncLabels : {}
5558
- );
5623
+ const syncLabelsOptions = typeof options.syncLabels === "object" ? options.syncLabels : {};
5624
+ const agentConfig = AgentConfig.of(this);
5625
+ addSyncLabelsWorkflow(this, {
5626
+ ...syncLabelsOptions,
5627
+ bundles: syncLabelsOptions.bundles ?? agentConfig?.activeBundles
5628
+ });
5559
5629
  }
5560
5630
  if (this.buildWorkflow) {
5561
5631
  addBuildCompleteJob(this.buildWorkflow);