@meltstudio/meltctl 4.150.0 → 4.150.1
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/dist/index.js +94 -33
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var CLI_VERSION;
|
|
|
14
14
|
var init_version = __esm({
|
|
15
15
|
"src/utils/version.ts"() {
|
|
16
16
|
"use strict";
|
|
17
|
-
CLI_VERSION = "4.150.
|
|
17
|
+
CLI_VERSION = "4.150.1";
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
20
|
|
|
@@ -1028,10 +1028,6 @@ function createPmResource(config) {
|
|
|
1028
1028
|
const res = await apiFetch(config, `/pm/project-audit-flags?status=${status}`);
|
|
1029
1029
|
return unwrap("list all audit flags", res);
|
|
1030
1030
|
},
|
|
1031
|
-
async dismissAuditFlag(id, reason) {
|
|
1032
|
-
const res = await apiFetch(config, `/pm/project-audit-flags/${id}/dismiss`, { method: "POST", body: JSON.stringify({ reason }) });
|
|
1033
|
-
return unwrap("dismiss audit flag", res);
|
|
1034
|
-
},
|
|
1035
1031
|
async getAuditCatalog() {
|
|
1036
1032
|
const res = await apiFetch(config, `/pm/project-audit-catalog`);
|
|
1037
1033
|
return unwrap("get audit catalog", res);
|
|
@@ -1391,6 +1387,15 @@ var ISSUE_RULES = [
|
|
|
1391
1387
|
howToFix: "Open the Roadmap tab and attach the phase's planned features, or close the phase if it's done",
|
|
1392
1388
|
scope: "project"
|
|
1393
1389
|
},
|
|
1390
|
+
{
|
|
1391
|
+
id: "roadmap.no-features-with-active-phase",
|
|
1392
|
+
dimension: "roadmap",
|
|
1393
|
+
severity: "high",
|
|
1394
|
+
label: "Active phase but no features",
|
|
1395
|
+
category: "sprint",
|
|
1396
|
+
howToFix: "Run a backlog-seeding session and add features to the active phase before the team starts",
|
|
1397
|
+
scope: "project"
|
|
1398
|
+
},
|
|
1394
1399
|
// Delivery — Board
|
|
1395
1400
|
{
|
|
1396
1401
|
id: "board.no-mapping",
|
|
@@ -1401,6 +1406,15 @@ var ISSUE_RULES = [
|
|
|
1401
1406
|
howToFix: "Open Project Settings and connect a Linear team or Jira project in the mappings card",
|
|
1402
1407
|
scope: "project"
|
|
1403
1408
|
},
|
|
1409
|
+
{
|
|
1410
|
+
id: "tracker.no-oauth",
|
|
1411
|
+
dimension: "board",
|
|
1412
|
+
severity: "high",
|
|
1413
|
+
label: "Tracker needs OAuth connect",
|
|
1414
|
+
category: "gaps",
|
|
1415
|
+
howToFix: "Open Project Settings \u2192 Tracker connections and click Connect for the missing provider; that switches the project off Melt's shared key onto its own OAuth grant",
|
|
1416
|
+
scope: "project"
|
|
1417
|
+
},
|
|
1404
1418
|
{
|
|
1405
1419
|
id: "board.empty",
|
|
1406
1420
|
dimension: "board",
|
|
@@ -1437,6 +1451,33 @@ var ISSUE_RULES = [
|
|
|
1437
1451
|
howToFix: "Open the project page and click 'Run board audit' to refresh the score",
|
|
1438
1452
|
scope: "project"
|
|
1439
1453
|
},
|
|
1454
|
+
{
|
|
1455
|
+
id: "board.in-progress-stale",
|
|
1456
|
+
dimension: "board",
|
|
1457
|
+
severity: "medium",
|
|
1458
|
+
label: "Stale in-progress tickets",
|
|
1459
|
+
category: "sprint",
|
|
1460
|
+
howToFix: "Open the project board, ask the assignees what's blocking, and either move the ticket forward or back to the backlog",
|
|
1461
|
+
scope: "project"
|
|
1462
|
+
},
|
|
1463
|
+
{
|
|
1464
|
+
id: "board.pm-silent-critical",
|
|
1465
|
+
dimension: "board",
|
|
1466
|
+
severity: "critical",
|
|
1467
|
+
label: "PM silent in active cycle",
|
|
1468
|
+
category: "sprint",
|
|
1469
|
+
howToFix: "Comment on the active-cycle tickets to acknowledge progress, ask questions, or flag concerns",
|
|
1470
|
+
scope: "project"
|
|
1471
|
+
},
|
|
1472
|
+
{
|
|
1473
|
+
id: "board.pm-silent-medium",
|
|
1474
|
+
dimension: "board",
|
|
1475
|
+
severity: "medium",
|
|
1476
|
+
label: "PM commenting on under 60% of active-cycle tickets",
|
|
1477
|
+
category: "sprint",
|
|
1478
|
+
howToFix: "Comment on the active-cycle tickets to acknowledge progress, ask questions, or flag concerns",
|
|
1479
|
+
scope: "project"
|
|
1480
|
+
},
|
|
1440
1481
|
// Delivery — Risks
|
|
1441
1482
|
{
|
|
1442
1483
|
id: "risks.stale-red-zone",
|
|
@@ -3825,10 +3866,6 @@ function createPmResource2(config) {
|
|
|
3825
3866
|
const res = await apiFetch2(config, `/pm/project-audit-flags?status=${status}`);
|
|
3826
3867
|
return unwrap2("list all audit flags", res);
|
|
3827
3868
|
},
|
|
3828
|
-
async dismissAuditFlag(id, reason) {
|
|
3829
|
-
const res = await apiFetch2(config, `/pm/project-audit-flags/${id}/dismiss`, { method: "POST", body: JSON.stringify({ reason }) });
|
|
3830
|
-
return unwrap2("dismiss audit flag", res);
|
|
3831
|
-
},
|
|
3832
3869
|
async getAuditCatalog() {
|
|
3833
3870
|
const res = await apiFetch2(config, `/pm/project-audit-catalog`);
|
|
3834
3871
|
return unwrap2("get audit catalog", res);
|
|
@@ -4175,6 +4212,15 @@ var ISSUE_RULES2 = [
|
|
|
4175
4212
|
howToFix: "Open the Roadmap tab and attach the phase's planned features, or close the phase if it's done",
|
|
4176
4213
|
scope: "project"
|
|
4177
4214
|
},
|
|
4215
|
+
{
|
|
4216
|
+
id: "roadmap.no-features-with-active-phase",
|
|
4217
|
+
dimension: "roadmap",
|
|
4218
|
+
severity: "high",
|
|
4219
|
+
label: "Active phase but no features",
|
|
4220
|
+
category: "sprint",
|
|
4221
|
+
howToFix: "Run a backlog-seeding session and add features to the active phase before the team starts",
|
|
4222
|
+
scope: "project"
|
|
4223
|
+
},
|
|
4178
4224
|
// Delivery — Board
|
|
4179
4225
|
{
|
|
4180
4226
|
id: "board.no-mapping",
|
|
@@ -4185,6 +4231,15 @@ var ISSUE_RULES2 = [
|
|
|
4185
4231
|
howToFix: "Open Project Settings and connect a Linear team or Jira project in the mappings card",
|
|
4186
4232
|
scope: "project"
|
|
4187
4233
|
},
|
|
4234
|
+
{
|
|
4235
|
+
id: "tracker.no-oauth",
|
|
4236
|
+
dimension: "board",
|
|
4237
|
+
severity: "high",
|
|
4238
|
+
label: "Tracker needs OAuth connect",
|
|
4239
|
+
category: "gaps",
|
|
4240
|
+
howToFix: "Open Project Settings \u2192 Tracker connections and click Connect for the missing provider; that switches the project off Melt's shared key onto its own OAuth grant",
|
|
4241
|
+
scope: "project"
|
|
4242
|
+
},
|
|
4188
4243
|
{
|
|
4189
4244
|
id: "board.empty",
|
|
4190
4245
|
dimension: "board",
|
|
@@ -4221,6 +4276,33 @@ var ISSUE_RULES2 = [
|
|
|
4221
4276
|
howToFix: "Open the project page and click 'Run board audit' to refresh the score",
|
|
4222
4277
|
scope: "project"
|
|
4223
4278
|
},
|
|
4279
|
+
{
|
|
4280
|
+
id: "board.in-progress-stale",
|
|
4281
|
+
dimension: "board",
|
|
4282
|
+
severity: "medium",
|
|
4283
|
+
label: "Stale in-progress tickets",
|
|
4284
|
+
category: "sprint",
|
|
4285
|
+
howToFix: "Open the project board, ask the assignees what's blocking, and either move the ticket forward or back to the backlog",
|
|
4286
|
+
scope: "project"
|
|
4287
|
+
},
|
|
4288
|
+
{
|
|
4289
|
+
id: "board.pm-silent-critical",
|
|
4290
|
+
dimension: "board",
|
|
4291
|
+
severity: "critical",
|
|
4292
|
+
label: "PM silent in active cycle",
|
|
4293
|
+
category: "sprint",
|
|
4294
|
+
howToFix: "Comment on the active-cycle tickets to acknowledge progress, ask questions, or flag concerns",
|
|
4295
|
+
scope: "project"
|
|
4296
|
+
},
|
|
4297
|
+
{
|
|
4298
|
+
id: "board.pm-silent-medium",
|
|
4299
|
+
dimension: "board",
|
|
4300
|
+
severity: "medium",
|
|
4301
|
+
label: "PM commenting on under 60% of active-cycle tickets",
|
|
4302
|
+
category: "sprint",
|
|
4303
|
+
howToFix: "Comment on the active-cycle tickets to acknowledge progress, ask questions, or flag concerns",
|
|
4304
|
+
scope: "project"
|
|
4305
|
+
},
|
|
4224
4306
|
// Delivery — Risks
|
|
4225
4307
|
{
|
|
4226
4308
|
id: "risks.stale-red-zone",
|
|
@@ -4635,13 +4717,10 @@ function registerFeatureTools(server, getClient2) {
|
|
|
4635
4717
|
withClientArgs(getClient2, updateFeature)
|
|
4636
4718
|
);
|
|
4637
4719
|
}
|
|
4638
|
-
var FLAG_STATUS_VALUES = ["open", "resolved", "
|
|
4720
|
+
var FLAG_STATUS_VALUES = ["open", "resolved", "all"];
|
|
4639
4721
|
async function listAuditFlags(client, input3) {
|
|
4640
4722
|
return safe(() => client.pm.listAuditFlags(input3.projectId, input3.status ?? "open"));
|
|
4641
4723
|
}
|
|
4642
|
-
async function dismissAuditFlag(client, input3) {
|
|
4643
|
-
return safe(() => client.pm.dismissAuditFlag(input3.flagId, input3.reason));
|
|
4644
|
-
}
|
|
4645
4724
|
async function getAuditCatalog(client) {
|
|
4646
4725
|
return safe(() => client.pm.getAuditCatalog());
|
|
4647
4726
|
}
|
|
@@ -4652,20 +4731,16 @@ var listAuditFlagsInputSchema = z5.object({
|
|
|
4652
4731
|
projectId: z5.number().int().positive(),
|
|
4653
4732
|
status: z5.enum(FLAG_STATUS_VALUES).optional()
|
|
4654
4733
|
});
|
|
4655
|
-
var dismissAuditFlagInputSchema = z5.object({
|
|
4656
|
-
flagId: z5.string().uuid(),
|
|
4657
|
-
reason: z5.string().min(1)
|
|
4658
|
-
});
|
|
4659
4734
|
function registerAuditTools(server, getClient2) {
|
|
4660
4735
|
server.registerTool(
|
|
4661
4736
|
"list_audit_flags",
|
|
4662
4737
|
{
|
|
4663
4738
|
title: "List project audit flags",
|
|
4664
|
-
description: "Lists audit flags the nightly cron has raised for a project. Each entry pairs the flag (id, severity, evidence, entity it points at, first/last seen, occurrence count
|
|
4739
|
+
description: "Lists audit flags the nightly cron has raised for a project. Each entry pairs the flag (id, severity, evidence, entity it points at, first/last seen, occurrence count) with its catalog entry (human-readable title + description + rule type). Default status='open'; pass 'all' to include resolved flags for context.",
|
|
4665
4740
|
inputSchema: {
|
|
4666
4741
|
projectId: z5.number().int().positive(),
|
|
4667
4742
|
status: z5.enum(FLAG_STATUS_VALUES).optional().describe(
|
|
4668
|
-
"Default 'open'. 'resolved' = fixed (flag no longer tripping on latest run). '
|
|
4743
|
+
"Default 'open'. 'resolved' = fixed (flag no longer tripping on latest run). 'all' = every flag ever raised on this project."
|
|
4669
4744
|
)
|
|
4670
4745
|
}
|
|
4671
4746
|
},
|
|
@@ -4680,20 +4755,6 @@ function registerAuditTools(server, getClient2) {
|
|
|
4680
4755
|
},
|
|
4681
4756
|
withClient(getClient2, getAuditCatalog)
|
|
4682
4757
|
);
|
|
4683
|
-
server.registerTool(
|
|
4684
|
-
"dismiss_audit_flag",
|
|
4685
|
-
{
|
|
4686
|
-
title: "Dismiss audit flag",
|
|
4687
|
-
description: "Marks an audit flag as intentionally dismissed with a reason. Use when the PM has reviewed the flag and decided it's a false positive, out of scope, or an accepted trade-off. The reason is stored on the flag + visible in the audit trail; dismissals show up again the next time the flag re-fires unless the underlying rule is retired. This is a write \u2014 confirm with the PM before calling.",
|
|
4688
|
-
inputSchema: {
|
|
4689
|
-
flagId: z5.string().uuid(),
|
|
4690
|
-
reason: z5.string().min(1).describe(
|
|
4691
|
-
"Why this flag is being dismissed. Stored verbatim and shown in the audit trail."
|
|
4692
|
-
)
|
|
4693
|
-
}
|
|
4694
|
-
},
|
|
4695
|
-
withClientArgs(getClient2, dismissAuditFlag)
|
|
4696
|
-
);
|
|
4697
4758
|
server.registerTool(
|
|
4698
4759
|
"run_project_audit",
|
|
4699
4760
|
{
|
package/package.json
CHANGED