@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/docs/label-taxonomy.md +138 -0
- package/lib/index.d.mts +69 -41
- package/lib/index.d.ts +69 -41
- package/lib/index.js +81 -11
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +81 -11
- package/lib/index.mjs.map +1 -1
- package/package.json +1 -1
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
|
|
5248
|
-
|
|
5249
|
-
|
|
5250
|
-
|
|
5251
|
-
|
|
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
|
-
|
|
5556
|
-
|
|
5557
|
-
|
|
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);
|