@granoflow/mcp-server 0.1.3 → 0.1.5

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/README.md CHANGED
@@ -48,6 +48,14 @@ For a user-facing setup walkthrough, see
48
48
  For maintainers, see
49
49
  [Granoflow MCP Release Checklist](docs/release-checklist.md).
50
50
 
51
+ ## Release Branch Policy
52
+
53
+ - `develop` is the active integration branch. It may contain unverified or
54
+ unreleased changes.
55
+ - `main` is the npm release branch. Publish `@granoflow/mcp-server` latest only
56
+ from `main`.
57
+ - Merge or fast-forward `develop` into `main` only after release preflight passes.
58
+
51
59
  For local development:
52
60
 
53
61
  ```bash
@@ -66,8 +74,7 @@ npx -y @granoflow/mcp-server --help
66
74
  Before publishing a release, verify the package contents:
67
75
 
68
76
  ```bash
69
- npm run check
70
- npm pack --dry-run
77
+ npm run release:preflight
71
78
  ```
72
79
 
73
80
  ## Tools
@@ -92,12 +99,18 @@ Initial tools:
92
99
  - `granoflow_task_update`
93
100
  - `granoflow_task_update_structured`
94
101
  - `granoflow_task_complete`
102
+ - `granoflow_task_finish`
103
+ - `granoflow_task_resolve`
95
104
  - `granoflow_project_list`
105
+ - `granoflow_project_resolve`
96
106
  - `granoflow_project_create`
97
107
  - `granoflow_project_update`
108
+ - `granoflow_project_delete`
98
109
  - `granoflow_milestone_list`
110
+ - `granoflow_milestone_resolve`
99
111
  - `granoflow_milestone_create`
100
112
  - `granoflow_milestone_update`
113
+ - `granoflow_milestone_delete`
101
114
  - `granoflow_review_day_show`
102
115
  - `granoflow_api_request`
103
116
 
@@ -107,6 +120,8 @@ running app exposes newer fields before this package has first-class schemas.
107
120
 
108
121
  Write tools default to dry-run behavior. Ask the tool to write only after you
109
122
  have reviewed the preview or the user has explicitly requested a write.
123
+ Delete tools also require the current resource title before writing, and refuse
124
+ linked tasks unless the caller explicitly accepts that impact.
110
125
 
111
126
  ## Setup Diagnostics
112
127
 
@@ -114,8 +129,9 @@ Use the setup tools when an agent or MCP client needs to connect to a local
114
129
  Granoflow app without hand-editing every setting first:
115
130
 
116
131
  - `granoflow_setup_status` reports config path, env/config precedence, token
117
- presence, Local HTTP API health, version metadata, and local Granoflow process
118
- evidence without printing secrets.
132
+ presence, MCP server version, Local HTTP API health, version metadata,
133
+ capability summary, and local Granoflow process evidence without printing
134
+ secrets.
119
135
  - `granoflow_setup_detect_local_api` probes a small bounded localhost port list
120
136
  only.
121
137
  - `granoflow_setup_write_config` previews or writes non-secret config. It
@@ -1,2 +1,2 @@
1
1
  export declare const SERVER_NAME = "granoflow-mcp-server";
2
- export declare const SERVER_VERSION = "0.1.3";
2
+ export declare const SERVER_VERSION = "0.1.5";
package/dist/metadata.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export const SERVER_NAME = "granoflow-mcp-server";
2
- export const SERVER_VERSION = "0.1.3";
2
+ export const SERVER_VERSION = "0.1.5";
3
3
  //# sourceMappingURL=metadata.js.map
package/dist/setup.d.ts CHANGED
@@ -29,6 +29,10 @@ export declare function getSetupStatus(options?: SetupOptions): Promise<{
29
29
  present: boolean;
30
30
  source: "env" | "none";
31
31
  };
32
+ mcp: {
33
+ serverName: string;
34
+ serverVersion: string;
35
+ };
32
36
  health: {
33
37
  appProcess: Record<string, unknown>;
34
38
  ok: boolean;
@@ -48,6 +52,7 @@ export declare function getSetupStatus(options?: SetupOptions): Promise<{
48
52
  };
49
53
  };
50
54
  version: import("./api.js").ApiResult;
55
+ capabilities: Record<string, unknown>;
51
56
  warnings: Record<string, unknown>[];
52
57
  nextActions: string[];
53
58
  appProcess?: undefined;
@@ -61,8 +66,13 @@ export declare function getSetupStatus(options?: SetupOptions): Promise<{
61
66
  present: boolean;
62
67
  source: "env" | "none";
63
68
  };
69
+ mcp: {
70
+ serverName: string;
71
+ serverVersion: string;
72
+ };
64
73
  health: import("./api.js").ApiResult;
65
74
  version: import("./api.js").ApiResult;
75
+ capabilities: Record<string, unknown>;
66
76
  appProcess: Record<string, unknown>;
67
77
  warnings: Record<string, unknown>[];
68
78
  nextActions: string[];
package/dist/setup.js CHANGED
@@ -3,6 +3,7 @@ import { mkdir, writeFile } from "node:fs/promises";
3
3
  import { dirname } from "node:path";
4
4
  import { requestGranoflowApi } from "./api.js";
5
5
  import { configFileExists, getMcpConfigPath, readMcpConfig, resolveMcpRuntime, writeMcpConfig, } from "./config.js";
6
+ import { SERVER_NAME, SERVER_VERSION } from "./metadata.js";
6
7
  const DEFAULT_PORTS = [56789, 47631, 38080];
7
8
  const MAX_PORT_CANDIDATES = 20;
8
9
  const PROBE_PATHS = ["/health", "/api/capabilities", "/v1/health"];
@@ -115,12 +116,44 @@ async function checkGranoflowProcess(runCommandImpl) {
115
116
  };
116
117
  }
117
118
  }
119
+ function summarizeCapabilities(value) {
120
+ const data = isObject(value) ? value.data : null;
121
+ const payload = isObject(data) && isObject(data.data) ? data.data : data;
122
+ if (!isObject(payload)) {
123
+ return {
124
+ available: false,
125
+ };
126
+ }
127
+ const tools = Array.isArray(payload.tools) ? payload.tools : [];
128
+ const aiAgent = isObject(payload.aiAgent) ? payload.aiAgent : {};
129
+ const aiAgentTools = Array.isArray(aiAgent.tools) ? aiAgent.tools : [];
130
+ const capabilities = Array.isArray(payload.capabilities) ? payload.capabilities : [];
131
+ const resources = isObject(payload.resources) ? Object.keys(payload.resources) : [];
132
+ return {
133
+ available: true,
134
+ apiVersion: payload.apiVersion,
135
+ appVersion: payload.appVersion,
136
+ resourceCount: resources.length,
137
+ resources,
138
+ toolCount: tools.length + aiAgentTools.length,
139
+ capabilityCount: capabilities.length,
140
+ tools: [...tools, ...aiAgentTools].slice(0, 20),
141
+ truncated: tools.length + aiAgentTools.length > 20,
142
+ };
143
+ }
144
+ function mcpRuntimeSummary() {
145
+ return {
146
+ serverName: SERVER_NAME,
147
+ serverVersion: SERVER_VERSION,
148
+ };
149
+ }
118
150
  export async function getSetupStatus(options = {}) {
119
151
  const env = options.env ?? process.env;
120
152
  const runCommandImpl = options.runCommand ?? runCommand;
121
153
  const runtime = await resolveMcpRuntime(env);
122
154
  const health = await requestGranoflowApi({ path: "/v1/health" }, env);
123
155
  const version = await requestGranoflowApi({ path: "/v1/version" }, env);
156
+ const capabilities = await requestGranoflowApi({ path: "/v1/capabilities" }, env);
124
157
  const warnings = [];
125
158
  const appProcess = isLocalApiBaseUrl(runtime.apiBaseUrl)
126
159
  ? await checkGranoflowProcess(runCommandImpl)
@@ -162,11 +195,13 @@ export async function getSetupStatus(options = {}) {
162
195
  present: runtime.hasApiToken,
163
196
  source: runtime.apiTokenSource,
164
197
  },
198
+ mcp: mcpRuntimeSummary(),
165
199
  health: {
166
200
  ...health,
167
201
  appProcess,
168
202
  },
169
203
  version,
204
+ capabilities: summarizeCapabilities(capabilities),
170
205
  warnings,
171
206
  nextActions: warnings.some((warning) => warning.code === "granoflow_app_not_running")
172
207
  ? [
@@ -189,8 +224,10 @@ export async function getSetupStatus(options = {}) {
189
224
  present: runtime.hasApiToken,
190
225
  source: runtime.apiTokenSource,
191
226
  },
227
+ mcp: mcpRuntimeSummary(),
192
228
  health,
193
229
  version,
230
+ capabilities: summarizeCapabilities(capabilities),
194
231
  appProcess,
195
232
  warnings,
196
233
  nextActions: health.ok
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
package/dist/tools.js CHANGED
@@ -5,6 +5,7 @@ const jsonInputSchema = z
5
5
  .record(z.string(), z.unknown())
6
6
  .describe("JSON object sent to the Granoflow Local HTTP API.");
7
7
  const resourceStatusSchema = z.string().min(1).optional();
8
+ const resolveMatchModeSchema = z.enum(["exact", "contains"]).default("exact");
8
9
  function compactRecord(record) {
9
10
  return Object.fromEntries(Object.entries(record).filter(([, value]) => value !== undefined));
10
11
  }
@@ -19,6 +20,259 @@ function jsonTextResult(value) {
19
20
  async function apiTool(options) {
20
21
  return jsonTextResult(await requestGranoflowApi(options));
21
22
  }
23
+ function isObject(value) {
24
+ return typeof value === "object" && value !== null && !Array.isArray(value);
25
+ }
26
+ function unwrapApiData(value) {
27
+ if (!isObject(value)) {
28
+ return value;
29
+ }
30
+ const outerData = value.data;
31
+ if (isObject(outerData) && "items" in outerData) {
32
+ return outerData;
33
+ }
34
+ if (isObject(outerData) && isObject(outerData.data) && "items" in outerData.data) {
35
+ return outerData.data;
36
+ }
37
+ return outerData ?? value;
38
+ }
39
+ function extractItems(value) {
40
+ const data = unwrapApiData(value);
41
+ if (isObject(data) && Array.isArray(data.items)) {
42
+ return data.items.filter(isObject);
43
+ }
44
+ return [];
45
+ }
46
+ function compactResource(record) {
47
+ return compactRecord({
48
+ id: record.id,
49
+ title: record.title,
50
+ status: record.status,
51
+ projectId: record.projectId,
52
+ milestoneId: record.milestoneId,
53
+ dueAt: record.dueAt,
54
+ startedAt: record.startedAt,
55
+ endedAt: record.endedAt,
56
+ description: record.description,
57
+ taskReview: record.taskReview,
58
+ });
59
+ }
60
+ function titleMatches(title, query, matchMode) {
61
+ if (typeof title !== "string") {
62
+ return false;
63
+ }
64
+ const normalizedTitle = title.trim().toLowerCase();
65
+ const normalizedQuery = query.trim().toLowerCase();
66
+ return matchMode === "exact"
67
+ ? normalizedTitle === normalizedQuery
68
+ : normalizedTitle.includes(normalizedQuery);
69
+ }
70
+ function listPathFor(kind) {
71
+ return `/v1/${kind}s`;
72
+ }
73
+ async function resolveResource(kind, input) {
74
+ const matchMode = input.matchMode ?? "exact";
75
+ const result = await requestGranoflowApi({ path: listPathFor(kind) });
76
+ if (!result.ok) {
77
+ return result;
78
+ }
79
+ const matches = extractItems(result).filter((item) => {
80
+ if (!titleMatches(item.title, input.query, matchMode)) {
81
+ return false;
82
+ }
83
+ if (input.projectId && item.projectId !== input.projectId) {
84
+ return false;
85
+ }
86
+ if (input.milestoneId && item.milestoneId !== input.milestoneId) {
87
+ return false;
88
+ }
89
+ if (!input.includeDone && item.status === "done") {
90
+ return false;
91
+ }
92
+ return true;
93
+ });
94
+ return {
95
+ ok: true,
96
+ code: "resolved",
97
+ data: {
98
+ entityType: kind,
99
+ query: input.query,
100
+ matchMode,
101
+ count: matches.length,
102
+ ambiguous: matches.length > 1,
103
+ matches: matches.map(compactResource),
104
+ },
105
+ runtime: result.runtime,
106
+ };
107
+ }
108
+ async function safeDeleteResource(kind, input) {
109
+ const listResult = await requestGranoflowApi({ path: listPathFor(kind) });
110
+ if (!listResult.ok) {
111
+ return listResult;
112
+ }
113
+ const resource = extractItems(listResult).find((item) => item.id === input.id);
114
+ if (!resource) {
115
+ return {
116
+ ok: false,
117
+ code: `${kind}_not_found`,
118
+ error: { message: `Granoflow ${kind} was not found.` },
119
+ runtime: listResult.runtime,
120
+ };
121
+ }
122
+ const tasksResult = await requestGranoflowApi({ path: "/v1/tasks" });
123
+ const linkedTasks = tasksResult.ok && kind === "project"
124
+ ? extractItems(tasksResult).filter((task) => task.projectId === input.id)
125
+ : tasksResult.ok
126
+ ? extractItems(tasksResult).filter((task) => task.milestoneId === input.id)
127
+ : [];
128
+ const impact = {
129
+ resource: compactResource(resource),
130
+ linkedTaskCount: linkedTasks.length,
131
+ linkedTasks: linkedTasks.map(compactResource),
132
+ };
133
+ if (input.dryRun !== false) {
134
+ return {
135
+ ok: true,
136
+ code: "dry_run",
137
+ data: {
138
+ method: "DELETE",
139
+ path: `/v1/${kind}s/${input.id}`,
140
+ impact,
141
+ previewMode: "local_request_only",
142
+ nextActions: [
143
+ "Review the impact preview.",
144
+ "Call again with dryRun=false, confirmTitle matching the current title, and allowLinkedTasks=true only if linked tasks may be affected.",
145
+ ],
146
+ },
147
+ runtime: listResult.runtime,
148
+ };
149
+ }
150
+ if (typeof resource.title === "string" && input.confirmTitle !== resource.title) {
151
+ return {
152
+ ok: false,
153
+ code: "confirmation_required",
154
+ data: {
155
+ expectedConfirmTitle: resource.title,
156
+ impact,
157
+ },
158
+ error: { message: "confirmTitle must match the current resource title before deletion." },
159
+ runtime: listResult.runtime,
160
+ };
161
+ }
162
+ if (linkedTasks.length > 0 && input.allowLinkedTasks !== true) {
163
+ return {
164
+ ok: false,
165
+ code: "linked_tasks_present",
166
+ data: impact,
167
+ error: {
168
+ message: "This resource has linked tasks. Re-run with allowLinkedTasks=true only after reviewing the impact.",
169
+ },
170
+ runtime: listResult.runtime,
171
+ };
172
+ }
173
+ const deleteResult = await requestGranoflowApi({
174
+ method: "DELETE",
175
+ path: `/v1/${kind}s/${input.id}`,
176
+ });
177
+ if (!deleteResult.ok) {
178
+ return deleteResult;
179
+ }
180
+ const readback = await requestGranoflowApi({ path: listPathFor(kind) });
181
+ const stillPresent = readback.ok
182
+ ? extractItems(readback).some((item) => item.id === input.id)
183
+ : null;
184
+ return {
185
+ ok: stillPresent === false,
186
+ code: stillPresent === false ? "deleted" : "delete_unverified",
187
+ data: {
188
+ deleted: stillPresent === false,
189
+ impact,
190
+ deleteResult,
191
+ readback: readback.ok ? { stillPresent } : readback,
192
+ },
193
+ runtime: deleteResult.runtime,
194
+ };
195
+ }
196
+ async function finishTask(input) {
197
+ const updateBody = compactRecord({
198
+ taskReview: input.taskReview,
199
+ endedAt: input.endedAt,
200
+ });
201
+ const steps = [
202
+ ...(Object.keys(updateBody).length > 0
203
+ ? [{ method: "PATCH", path: `/v1/tasks/${input.taskId}`, body: updateBody }]
204
+ : []),
205
+ {
206
+ method: "POST",
207
+ path: `/v1/tasks/${input.taskId}/complete`,
208
+ body: compactRecord({ endedAt: input.endedAt }),
209
+ },
210
+ { method: "GET", path: "/v1/tasks", verify: "status=done and endedAt present when available" },
211
+ ];
212
+ if (input.dryRun !== false) {
213
+ const preview = await requestGranoflowApi({
214
+ method: "POST",
215
+ path: `/v1/tasks/${input.taskId}/complete`,
216
+ body: compactRecord({ taskReview: input.taskReview, endedAt: input.endedAt }),
217
+ dryRun: true,
218
+ });
219
+ return {
220
+ ...preview,
221
+ data: {
222
+ steps,
223
+ previewMode: "local_request_sequence_only",
224
+ },
225
+ };
226
+ }
227
+ if (input.confirmComplete !== true) {
228
+ const runtime = await requestGranoflowApi({ path: "/v1/health", dryRun: true });
229
+ return {
230
+ ok: false,
231
+ code: "confirmation_required",
232
+ data: {
233
+ steps,
234
+ requiredInput: { confirmComplete: true },
235
+ },
236
+ error: { message: "Set confirmComplete=true to finish a Granoflow task." },
237
+ runtime: runtime.runtime,
238
+ };
239
+ }
240
+ const applied = [];
241
+ if (Object.keys(updateBody).length > 0) {
242
+ const updateResult = await requestGranoflowApi({
243
+ method: "PATCH",
244
+ path: `/v1/tasks/${input.taskId}`,
245
+ body: updateBody,
246
+ });
247
+ applied.push({ step: "update_task", result: updateResult });
248
+ if (!updateResult.ok) {
249
+ return updateResult;
250
+ }
251
+ }
252
+ const completeResult = await requestGranoflowApi({
253
+ method: "POST",
254
+ path: `/v1/tasks/${input.taskId}/complete`,
255
+ body: compactRecord({ endedAt: input.endedAt }),
256
+ });
257
+ applied.push({ step: "complete_task", result: completeResult });
258
+ if (!completeResult.ok) {
259
+ return completeResult;
260
+ }
261
+ const readback = await requestGranoflowApi({ path: "/v1/tasks" });
262
+ const task = extractItems(readback).find((item) => item.id === input.taskId);
263
+ const verified = task?.status === "done";
264
+ return {
265
+ ok: verified,
266
+ code: verified ? "task_finished" : "finish_unverified",
267
+ data: {
268
+ task: task ? compactResource(task) : null,
269
+ verified,
270
+ applied,
271
+ readback: readback.ok ? { found: Boolean(task) } : readback,
272
+ },
273
+ runtime: completeResult.runtime,
274
+ };
275
+ }
22
276
  export function registerGranoflowTools(server) {
23
277
  server.tool("granoflow_setup_status", "Inspect Granoflow MCP config and Local HTTP API health without printing secrets.", {}, async () => jsonTextResult(await getSetupStatus()));
24
278
  server.tool("granoflow_setup_detect_local_api", "Probe a bounded localhost port list for a running Granoflow Local HTTP API.", {
@@ -161,7 +415,45 @@ export function registerGranoflowTools(server) {
161
415
  body: input,
162
416
  dryRun: dryRun !== false,
163
417
  }));
418
+ server.tool("granoflow_task_finish", "Write a task review, complete a Granoflow task, and read back status=done verification.", {
419
+ taskId: z.string().min(1).describe("Granoflow task id."),
420
+ taskReview: z.string().optional(),
421
+ endedAt: z.string().optional(),
422
+ confirmComplete: z.boolean().default(false).describe("Must be true when dryRun=false."),
423
+ dryRun: z
424
+ .boolean()
425
+ .default(true)
426
+ .describe("When true, previews the update/complete/readback sequence."),
427
+ }, async ({ taskId, taskReview, endedAt, confirmComplete, dryRun }) => jsonTextResult(await finishTask({
428
+ taskId: String(taskId),
429
+ taskReview: typeof taskReview === "string" ? taskReview : undefined,
430
+ endedAt: typeof endedAt === "string" ? endedAt : undefined,
431
+ confirmComplete: confirmComplete === true,
432
+ dryRun: dryRun !== false,
433
+ })));
434
+ server.tool("granoflow_task_resolve", "Resolve Granoflow task candidates by title without creating or updating data.", {
435
+ query: z.string().min(1),
436
+ matchMode: resolveMatchModeSchema,
437
+ projectId: z.string().min(1).optional(),
438
+ milestoneId: z.string().min(1).optional(),
439
+ includeDone: z.boolean().default(false),
440
+ }, async ({ query, matchMode, projectId, milestoneId, includeDone }) => jsonTextResult(await resolveResource("task", {
441
+ query: String(query),
442
+ matchMode: matchMode,
443
+ projectId: typeof projectId === "string" ? projectId : undefined,
444
+ milestoneId: typeof milestoneId === "string" ? milestoneId : undefined,
445
+ includeDone: includeDone === true,
446
+ })));
164
447
  server.tool("granoflow_project_list", "List Granoflow projects.", {}, async () => apiTool({ path: "/v1/projects" }));
448
+ server.tool("granoflow_project_resolve", "Resolve Granoflow project candidates by title without creating or updating data.", {
449
+ query: z.string().min(1),
450
+ matchMode: resolveMatchModeSchema,
451
+ includeDone: z.boolean().default(false),
452
+ }, async ({ query, matchMode, includeDone }) => jsonTextResult(await resolveResource("project", {
453
+ query: String(query),
454
+ matchMode: matchMode,
455
+ includeDone: includeDone === true,
456
+ })));
165
457
  server.tool("granoflow_project_create", "Create a Granoflow project with common structured fields. Defaults to dry-run.", {
166
458
  title: z.string().min(1),
167
459
  description: z.string().optional(),
@@ -203,7 +495,29 @@ export function registerGranoflowTools(server) {
203
495
  }),
204
496
  dryRun: dryRun !== false,
205
497
  }));
498
+ server.tool("granoflow_project_delete", "Safely delete a Granoflow project. Defaults to dry-run and requires confirmTitle for writes.", {
499
+ projectId: z.string().min(1).describe("Granoflow project id."),
500
+ confirmTitle: z.string().min(1).optional(),
501
+ allowLinkedTasks: z.boolean().default(false),
502
+ dryRun: z.boolean().default(true),
503
+ }, async ({ projectId, confirmTitle, allowLinkedTasks, dryRun }) => jsonTextResult(await safeDeleteResource("project", {
504
+ id: String(projectId),
505
+ confirmTitle: typeof confirmTitle === "string" ? confirmTitle : undefined,
506
+ allowLinkedTasks: allowLinkedTasks === true,
507
+ dryRun: dryRun !== false,
508
+ })));
206
509
  server.tool("granoflow_milestone_list", "List Granoflow milestones.", {}, async () => apiTool({ path: "/v1/milestones" }));
510
+ server.tool("granoflow_milestone_resolve", "Resolve Granoflow milestone candidates by title without creating or updating data.", {
511
+ query: z.string().min(1),
512
+ matchMode: resolveMatchModeSchema,
513
+ projectId: z.string().min(1).optional(),
514
+ includeDone: z.boolean().default(false),
515
+ }, async ({ query, matchMode, projectId, includeDone }) => jsonTextResult(await resolveResource("milestone", {
516
+ query: String(query),
517
+ matchMode: matchMode,
518
+ projectId: typeof projectId === "string" ? projectId : undefined,
519
+ includeDone: includeDone === true,
520
+ })));
207
521
  server.tool("granoflow_milestone_create", "Create a Granoflow milestone with common structured fields. Defaults to dry-run.", {
208
522
  projectId: z.string().min(1).describe("Granoflow project id."),
209
523
  title: z.string().min(1),
@@ -226,6 +540,17 @@ export function registerGranoflowTools(server) {
226
540
  }),
227
541
  dryRun: dryRun !== false,
228
542
  }));
543
+ server.tool("granoflow_milestone_delete", "Safely delete a Granoflow milestone. Defaults to dry-run and requires confirmTitle for writes.", {
544
+ milestoneId: z.string().min(1).describe("Granoflow milestone id."),
545
+ confirmTitle: z.string().min(1).optional(),
546
+ allowLinkedTasks: z.boolean().default(false),
547
+ dryRun: z.boolean().default(true),
548
+ }, async ({ milestoneId, confirmTitle, allowLinkedTasks, dryRun }) => jsonTextResult(await safeDeleteResource("milestone", {
549
+ id: String(milestoneId),
550
+ confirmTitle: typeof confirmTitle === "string" ? confirmTitle : undefined,
551
+ allowLinkedTasks: allowLinkedTasks === true,
552
+ dryRun: dryRun !== false,
553
+ })));
229
554
  server.tool("granoflow_milestone_update", "Update a Granoflow milestone with common structured fields. Defaults to dry-run.", {
230
555
  milestoneId: z.string().min(1).describe("Granoflow milestone id."),
231
556
  projectId: z.string().min(1).optional(),
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,17 @@
2
2
 
3
3
  Use this checklist before publishing a new `@granoflow/mcp-server` version.
4
4
 
5
+ ## 0. Release Branch Policy
6
+
7
+ Publish npm `latest` only from `main`.
8
+
9
+ - `develop` is for active integration and may be unstable.
10
+ - `main` is the release branch users should associate with npm `latest`.
11
+ - Before publishing, merge or fast-forward the intended `develop` commit into
12
+ `main`, then run this checklist on `main`.
13
+ - Do not run `npm publish --access public` from `develop` unless the user
14
+ explicitly overrides this policy for an emergency release.
15
+
5
16
  ## 1. Source State
6
17
 
7
18
  - Confirm the worktree is clean or only contains intended release changes:
@@ -10,11 +21,17 @@ Use this checklist before publishing a new `@granoflow/mcp-server` version.
10
21
  git status --short --branch
11
22
  ```
12
23
 
24
+ - Confirm the current branch is `main` before publish:
25
+
26
+ ```bash
27
+ git branch --show-current
28
+ ```
29
+
13
30
  - Confirm the package version, runtime metadata, and tests agree:
14
31
 
15
32
  ```bash
16
33
  node -p "require('./package.json').version"
17
- npm run check
34
+ npm run release:preflight
18
35
  node dist/index.js --version
19
36
  ```
20
37
 
@@ -23,10 +40,10 @@ Use this checklist before publishing a new `@granoflow/mcp-server` version.
23
40
  Run the project gate:
24
41
 
25
42
  ```bash
26
- npm run check
43
+ npm run release:preflight
27
44
  ```
28
45
 
29
- The gate must pass:
46
+ The preflight includes `npm run check`, so these gates must pass:
30
47
 
31
48
  - Prettier
32
49
  - ESLint
@@ -38,7 +55,7 @@ The gate must pass:
38
55
  Inspect the packed files:
39
56
 
40
57
  ```bash
41
- npm pack --json
58
+ npm run release:preflight
42
59
  ```
43
60
 
44
61
  Verify:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@granoflow/mcp-server",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "MCP server for Granoflow: exposes the Local HTTP API as tools for AI agents, IDEs, and automation.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -33,6 +33,7 @@
33
33
  "format:write": "prettier --write .",
34
34
  "test": "vitest run",
35
35
  "check": "npm run format && npm run lint && npm run build && npm run test",
36
+ "release:preflight": "node scripts/release-preflight.mjs",
36
37
  "prepublishOnly": "npm run check"
37
38
  },
38
39
  "engines": {