@meltstudio/meltctl 4.176.0 → 4.177.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 +97 -1
- 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.
|
|
17
|
+
CLI_VERSION = "4.177.0";
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
20
|
|
|
@@ -1130,6 +1130,29 @@ function createPmResource(config) {
|
|
|
1130
1130
|
const res = await apiFetch(config, `/pm/project-settings/${projectId}`, { method: "PATCH", body: JSON.stringify(input3) });
|
|
1131
1131
|
return unwrap("update project settings", res);
|
|
1132
1132
|
},
|
|
1133
|
+
/**
|
|
1134
|
+
* The calling PM's daily plan (#484). `date` defaults to today (server,
|
|
1135
|
+
* Colombia time). Returns null when no plan exists for that day. Auth-only:
|
|
1136
|
+
* a PM only ever reads their own plan.
|
|
1137
|
+
*/
|
|
1138
|
+
async getDailyPlan(date) {
|
|
1139
|
+
const qs = date ? `?date=${encodeURIComponent(date)}` : "";
|
|
1140
|
+
const res = await apiFetch(config, `/pm/daily-plan${qs}`);
|
|
1141
|
+
const data = unwrap("get daily plan", res);
|
|
1142
|
+
return "id" in data ? data : null;
|
|
1143
|
+
},
|
|
1144
|
+
/**
|
|
1145
|
+
* Upsert the calling PM's daily plan for `planDate` (defaults to today).
|
|
1146
|
+
* plan-my-day writes the morning agenda; close-my-day writes it back with
|
|
1147
|
+
* each item's reconciled status. Idempotent on (pmEmail, planDate).
|
|
1148
|
+
*/
|
|
1149
|
+
async submitDailyPlan(input3) {
|
|
1150
|
+
const res = await apiFetch(config, `/pm/daily-plan`, {
|
|
1151
|
+
method: "POST",
|
|
1152
|
+
body: JSON.stringify(input3)
|
|
1153
|
+
});
|
|
1154
|
+
return unwrap("submit daily plan", res);
|
|
1155
|
+
},
|
|
1133
1156
|
/**
|
|
1134
1157
|
* Read-only project context for the audit skill + other dev-callable
|
|
1135
1158
|
* tools (#464). Auth-only (no manager check) so devs can call it from
|
|
@@ -3336,6 +3359,7 @@ import { z as z7 } from "zod";
|
|
|
3336
3359
|
import { z as z8 } from "zod";
|
|
3337
3360
|
import { z as z9 } from "zod";
|
|
3338
3361
|
import { z as z10 } from "zod";
|
|
3362
|
+
import { z as z11 } from "zod";
|
|
3339
3363
|
function createAuditsResource2(config) {
|
|
3340
3364
|
return {
|
|
3341
3365
|
async submit(input3) {
|
|
@@ -4166,6 +4190,29 @@ function createPmResource2(config) {
|
|
|
4166
4190
|
const res = await apiFetch2(config, `/pm/project-settings/${projectId}`, { method: "PATCH", body: JSON.stringify(input3) });
|
|
4167
4191
|
return unwrap2("update project settings", res);
|
|
4168
4192
|
},
|
|
4193
|
+
/**
|
|
4194
|
+
* The calling PM's daily plan (#484). `date` defaults to today (server,
|
|
4195
|
+
* Colombia time). Returns null when no plan exists for that day. Auth-only:
|
|
4196
|
+
* a PM only ever reads their own plan.
|
|
4197
|
+
*/
|
|
4198
|
+
async getDailyPlan(date) {
|
|
4199
|
+
const qs = date ? `?date=${encodeURIComponent(date)}` : "";
|
|
4200
|
+
const res = await apiFetch2(config, `/pm/daily-plan${qs}`);
|
|
4201
|
+
const data = unwrap2("get daily plan", res);
|
|
4202
|
+
return "id" in data ? data : null;
|
|
4203
|
+
},
|
|
4204
|
+
/**
|
|
4205
|
+
* Upsert the calling PM's daily plan for `planDate` (defaults to today).
|
|
4206
|
+
* plan-my-day writes the morning agenda; close-my-day writes it back with
|
|
4207
|
+
* each item's reconciled status. Idempotent on (pmEmail, planDate).
|
|
4208
|
+
*/
|
|
4209
|
+
async submitDailyPlan(input3) {
|
|
4210
|
+
const res = await apiFetch2(config, `/pm/daily-plan`, {
|
|
4211
|
+
method: "POST",
|
|
4212
|
+
body: JSON.stringify(input3)
|
|
4213
|
+
});
|
|
4214
|
+
return unwrap2("submit daily plan", res);
|
|
4215
|
+
},
|
|
4169
4216
|
/**
|
|
4170
4217
|
* Read-only project context for the audit skill + other dev-callable
|
|
4171
4218
|
* tools (#464). Auth-only (no manager check) so devs can call it from
|
|
@@ -5520,6 +5567,54 @@ function registerFindingsTools(server, getClient2) {
|
|
|
5520
5567
|
withClientArgs(getClient2, listFindings)
|
|
5521
5568
|
);
|
|
5522
5569
|
}
|
|
5570
|
+
var planItemShape = {
|
|
5571
|
+
label: z11.string().min(1).describe("The thing to do, in plain terms."),
|
|
5572
|
+
projectId: z11.number().int().positive().optional(),
|
|
5573
|
+
projectName: z11.string().optional(),
|
|
5574
|
+
suggestedSkill: z11.string().optional().describe("The skill to run for this item, or 'dashboard' for a project-page action."),
|
|
5575
|
+
meeting: z11.string().optional().describe("The meeting this item preps for, if any."),
|
|
5576
|
+
status: z11.enum(["pending", "done", "blocked", "carried"]),
|
|
5577
|
+
note: z11.string().optional()
|
|
5578
|
+
};
|
|
5579
|
+
var planItemSchema = z11.object(planItemShape);
|
|
5580
|
+
async function getDailyPlan(client, input3 = {}) {
|
|
5581
|
+
return safe(() => client.pm.getDailyPlan(input3.date));
|
|
5582
|
+
}
|
|
5583
|
+
async function submitDailyPlan(client, input3) {
|
|
5584
|
+
return safe(() => client.pm.submitDailyPlan(input3));
|
|
5585
|
+
}
|
|
5586
|
+
var getDailyPlanInputSchema = z11.object({
|
|
5587
|
+
date: z11.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional()
|
|
5588
|
+
});
|
|
5589
|
+
var submitDailyPlanInputSchema = z11.object({
|
|
5590
|
+
planDate: z11.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
|
|
5591
|
+
agenda: z11.array(planItemSchema)
|
|
5592
|
+
});
|
|
5593
|
+
function registerDailyPlanTools(server, getClient2) {
|
|
5594
|
+
server.registerTool(
|
|
5595
|
+
"get_daily_plan",
|
|
5596
|
+
{
|
|
5597
|
+
title: "Get the PM's daily plan",
|
|
5598
|
+
description: "Returns the calling PM's daily plan for a day (defaults to today, Colombia time), or null if none exists. Each agenda item has a label, optional project/meeting/suggestedSkill, a status (pending/done/blocked/carried), and an optional note. Use this in melt-pm-close-my-day to read back the morning's plan and reconcile it. Self-scoped \u2014 a PM only ever reads their own plan.",
|
|
5599
|
+
inputSchema: {
|
|
5600
|
+
date: z11.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional().describe("YYYY-MM-DD. Omit for today.")
|
|
5601
|
+
}
|
|
5602
|
+
},
|
|
5603
|
+
withClientArgs(getClient2, getDailyPlan)
|
|
5604
|
+
);
|
|
5605
|
+
server.registerTool(
|
|
5606
|
+
"submit_daily_plan",
|
|
5607
|
+
{
|
|
5608
|
+
title: "Submit/update the PM's daily plan",
|
|
5609
|
+
description: "Upserts the calling PM's daily plan for a day (defaults to today). melt-pm-plan-my-day calls this once it has built the morning agenda (items with status='pending'); melt-pm-close-my-day calls it again with the same items flipped to done/blocked/carried. Idempotent per (PM, day) \u2014 calling again replaces the day's agenda. Self-scoped.",
|
|
5610
|
+
inputSchema: {
|
|
5611
|
+
planDate: z11.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional().describe("YYYY-MM-DD. Omit for today."),
|
|
5612
|
+
agenda: z11.array(planItemSchema)
|
|
5613
|
+
}
|
|
5614
|
+
},
|
|
5615
|
+
withClientArgs(getClient2, submitDailyPlan)
|
|
5616
|
+
);
|
|
5617
|
+
}
|
|
5523
5618
|
var VERSION = "0.0.0";
|
|
5524
5619
|
function createMcpServer(clientOrProvider) {
|
|
5525
5620
|
const getClient2 = typeof clientOrProvider === "function" ? clientOrProvider : () => Promise.resolve(clientOrProvider);
|
|
@@ -5536,6 +5631,7 @@ function createMcpServer(clientOrProvider) {
|
|
|
5536
5631
|
registerProjectHealthTools(server, getClient2);
|
|
5537
5632
|
registerPortfolioStatusTools(server, getClient2);
|
|
5538
5633
|
registerFindingsTools(server, getClient2);
|
|
5634
|
+
registerDailyPlanTools(server, getClient2);
|
|
5539
5635
|
return server;
|
|
5540
5636
|
}
|
|
5541
5637
|
async function startServer() {
|
package/package.json
CHANGED