@meltstudio/meltctl 5.9.0 → 5.10.0
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 +84 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -7450,7 +7450,7 @@ var CLI_VERSION;
|
|
|
7450
7450
|
var init_version = __esm({
|
|
7451
7451
|
"src/utils/version.ts"() {
|
|
7452
7452
|
"use strict";
|
|
7453
|
-
CLI_VERSION = "5.
|
|
7453
|
+
CLI_VERSION = "5.10.0";
|
|
7454
7454
|
}
|
|
7455
7455
|
});
|
|
7456
7456
|
|
|
@@ -27935,6 +27935,32 @@ function createProfileAuditsResource(config2) {
|
|
|
27935
27935
|
};
|
|
27936
27936
|
}
|
|
27937
27937
|
|
|
27938
|
+
// ../sdk/dist/resources/support-effort.js
|
|
27939
|
+
function createSupportEffortResource(config2) {
|
|
27940
|
+
return {
|
|
27941
|
+
/**
|
|
27942
|
+
* Get the by-project + by-architect rollups, the week/month trend, and the
|
|
27943
|
+
* actionable missing-time worklist. `period` selects the trend granularity
|
|
27944
|
+
* (default 'week').
|
|
27945
|
+
*/
|
|
27946
|
+
async get(opts = {}) {
|
|
27947
|
+
const params = new URLSearchParams();
|
|
27948
|
+
if (opts.period)
|
|
27949
|
+
params.set("period", opts.period);
|
|
27950
|
+
const query = params.toString();
|
|
27951
|
+
const path10 = query ? `/support-effort?${query}` : "/support-effort";
|
|
27952
|
+
const { data, status } = await apiFetch(config2, path10);
|
|
27953
|
+
if (status === 403)
|
|
27954
|
+
throw new Error("Access denied. Only Team Managers can view support effort.");
|
|
27955
|
+
if (status !== 200) {
|
|
27956
|
+
const msg = data && typeof data === "object" && "error" in data ? data.error : void 0;
|
|
27957
|
+
throw new Error(msg ?? `Failed to fetch support effort (${status})`);
|
|
27958
|
+
}
|
|
27959
|
+
return data;
|
|
27960
|
+
}
|
|
27961
|
+
};
|
|
27962
|
+
}
|
|
27963
|
+
|
|
27938
27964
|
// ../sdk/dist/client.js
|
|
27939
27965
|
var DEFAULT_TIMEOUT_MS = 1e4;
|
|
27940
27966
|
var RETRYABLE_STATUS = /* @__PURE__ */ new Set([502, 503, 504]);
|
|
@@ -28006,7 +28032,8 @@ function createMeltClient(config2) {
|
|
|
28006
28032
|
me: createMeResource(config2),
|
|
28007
28033
|
developers: createDevelopersResource(config2),
|
|
28008
28034
|
endpointChecks: createEndpointChecksResource(config2),
|
|
28009
|
-
profileAudits: createProfileAuditsResource(config2)
|
|
28035
|
+
profileAudits: createProfileAuditsResource(config2),
|
|
28036
|
+
supportEffort: createSupportEffortResource(config2)
|
|
28010
28037
|
};
|
|
28011
28038
|
}
|
|
28012
28039
|
|
|
@@ -54496,6 +54523,30 @@ function createProfileAuditsResource2(config2) {
|
|
|
54496
54523
|
}
|
|
54497
54524
|
};
|
|
54498
54525
|
}
|
|
54526
|
+
function createSupportEffortResource2(config2) {
|
|
54527
|
+
return {
|
|
54528
|
+
/**
|
|
54529
|
+
* Get the by-project + by-architect rollups, the week/month trend, and the
|
|
54530
|
+
* actionable missing-time worklist. `period` selects the trend granularity
|
|
54531
|
+
* (default 'week').
|
|
54532
|
+
*/
|
|
54533
|
+
async get(opts = {}) {
|
|
54534
|
+
const params = new URLSearchParams();
|
|
54535
|
+
if (opts.period)
|
|
54536
|
+
params.set("period", opts.period);
|
|
54537
|
+
const query = params.toString();
|
|
54538
|
+
const path22 = query ? `/support-effort?${query}` : "/support-effort";
|
|
54539
|
+
const { data, status } = await apiFetch2(config2, path22);
|
|
54540
|
+
if (status === 403)
|
|
54541
|
+
throw new Error("Access denied. Only Team Managers can view support effort.");
|
|
54542
|
+
if (status !== 200) {
|
|
54543
|
+
const msg = data && typeof data === "object" && "error" in data ? data.error : void 0;
|
|
54544
|
+
throw new Error(msg ?? `Failed to fetch support effort (${status})`);
|
|
54545
|
+
}
|
|
54546
|
+
return data;
|
|
54547
|
+
}
|
|
54548
|
+
};
|
|
54549
|
+
}
|
|
54499
54550
|
var DEFAULT_TIMEOUT_MS2 = 1e4;
|
|
54500
54551
|
var RETRYABLE_STATUS2 = /* @__PURE__ */ new Set([502, 503, 504]);
|
|
54501
54552
|
function delay2(ms) {
|
|
@@ -54566,7 +54617,8 @@ function createMeltClient2(config2) {
|
|
|
54566
54617
|
me: createMeResource2(config2),
|
|
54567
54618
|
developers: createDevelopersResource2(config2),
|
|
54568
54619
|
endpointChecks: createEndpointChecksResource2(config2),
|
|
54569
|
-
profileAudits: createProfileAuditsResource2(config2)
|
|
54620
|
+
profileAudits: createProfileAuditsResource2(config2),
|
|
54621
|
+
supportEffort: createSupportEffortResource2(config2)
|
|
54570
54622
|
};
|
|
54571
54623
|
}
|
|
54572
54624
|
var auditFindingSchema2 = external_exports.object({
|
|
@@ -55833,6 +55885,34 @@ function registerEndpointCheckTools(server, getClient2) {
|
|
|
55833
55885
|
withClientArgs(getClient2, submitEndpointCheck)
|
|
55834
55886
|
);
|
|
55835
55887
|
}
|
|
55888
|
+
async function getSupportEffort(client, input) {
|
|
55889
|
+
return safe(async () => {
|
|
55890
|
+
const data = await client.supportEffort.get({ period: input.period });
|
|
55891
|
+
const totalMissingTime = data.missingTimeTickets.length;
|
|
55892
|
+
return {
|
|
55893
|
+
asOf: data.asOf,
|
|
55894
|
+
byProject: data.byProject,
|
|
55895
|
+
byArchitect: data.byArchitect,
|
|
55896
|
+
trend: data.trend,
|
|
55897
|
+
// Surface the count prominently; the full actionable list is available via
|
|
55898
|
+
// the read API / dashboard page (Slice 2) rather than flooding the tool.
|
|
55899
|
+
missingTimeCount: totalMissingTime
|
|
55900
|
+
};
|
|
55901
|
+
});
|
|
55902
|
+
}
|
|
55903
|
+
function registerSupportEffortTools(server, getClient2) {
|
|
55904
|
+
server.registerTool(
|
|
55905
|
+
"get_support_effort",
|
|
55906
|
+
{
|
|
55907
|
+
title: "Get tech-support effort",
|
|
55908
|
+
description: "Tech-support / DevOps effort rollup for the 'Tech Support Ops' Linear team (key DEV). Returns logged hours (parsed from each ticket's self-reported 'Time Spent' label \u2014 the architect's active effort, NOT cycle time) and ticket counts rolled up two ways: `byProject` (which client/product the support load lands on) and `byArchitect` (who is carrying it). Each rollup entry has ticketCount, totalLoggedMinutes, avgLoggedMinutes, and missingTimeCount. Also returns `missingTimeCount`: the number of Done tickets with no time label (a data-quality gap that makes the hours less trustworthy \u2014 the dashboard page surfaces the actionable list). `period` selects the trend granularity (week|month, default week). Manager-gated. Use for 'how much support work did <project> need?', 'who's carrying the support load?', and 'is our support time logged completely?'.",
|
|
55909
|
+
inputSchema: {
|
|
55910
|
+
period: external_exports.enum(["week", "month"]).optional().describe("Trend bucket granularity. Default week.")
|
|
55911
|
+
}
|
|
55912
|
+
},
|
|
55913
|
+
withClientArgs(getClient2, getSupportEffort)
|
|
55914
|
+
);
|
|
55915
|
+
}
|
|
55836
55916
|
var VERSION = "0.0.0";
|
|
55837
55917
|
function createMcpServer(clientOrProvider) {
|
|
55838
55918
|
const getClient2 = typeof clientOrProvider === "function" ? clientOrProvider : () => Promise.resolve(clientOrProvider);
|
|
@@ -55851,6 +55931,7 @@ function createMcpServer(clientOrProvider) {
|
|
|
55851
55931
|
registerFindingsTools(server, getClient2);
|
|
55852
55932
|
registerDailyPlanTools(server, getClient2);
|
|
55853
55933
|
registerEndpointCheckTools(server, getClient2);
|
|
55934
|
+
registerSupportEffortTools(server, getClient2);
|
|
55854
55935
|
return server;
|
|
55855
55936
|
}
|
|
55856
55937
|
async function startServer() {
|
package/package.json
CHANGED