@whenlabs/when 0.7.1 → 0.7.3

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.
Files changed (2) hide show
  1. package/dist/mcp.js +16 -16
  2. package/package.json +4 -4
package/dist/mcp.js CHANGED
@@ -104,8 +104,8 @@ server.tool(
104
104
  "Scan for documentation drift \u2014 detect when docs say one thing and code says another",
105
105
  {
106
106
  path: z.string().optional().describe("Project directory to scan (defaults to cwd)"),
107
- deep: z.boolean().optional().describe("Enable AI-powered deep analysis"),
108
- git: z.boolean().optional().describe("Enable git history staleness checks"),
107
+ deep: z.coerce.boolean().optional().describe("Enable AI-powered deep analysis"),
108
+ git: z.coerce.boolean().optional().describe("Enable git history staleness checks"),
109
109
  format: z.enum(["terminal", "json", "markdown", "sarif"]).optional().describe("Output format")
110
110
  },
111
111
  async ({ path, deep, git, format }) => {
@@ -171,7 +171,7 @@ server.tool(
171
171
  "Generate .env.schema from an existing .env file \u2014 bootstrap type-safe env validation",
172
172
  {
173
173
  path: z.string().optional().describe("Project directory (defaults to cwd)"),
174
- force: z.boolean().optional().describe("Overwrite existing schema")
174
+ force: z.coerce.boolean().optional().describe("Overwrite existing schema")
175
175
  },
176
176
  async ({ path, force }) => {
177
177
  const args = ["init"];
@@ -284,8 +284,8 @@ server.tool(
284
284
  "berth_kill",
285
285
  "Kill processes on a specific port \u2014 free up a port for your dev server",
286
286
  {
287
- port: z.number().optional().describe("Port number to free"),
288
- dev: z.boolean().optional().describe("Kill all dev processes (node, python, ruby, etc.)")
287
+ port: z.coerce.number().optional().describe("Port number to free"),
288
+ dev: z.coerce.boolean().optional().describe("Kill all dev processes (node, python, ruby, etc.)")
289
289
  },
290
290
  async ({ port, dev }) => {
291
291
  const args = ["kill"];
@@ -352,7 +352,7 @@ server.tool(
352
352
  "Auto-resolve all port conflicts and prepare a project to start cleanly",
353
353
  {
354
354
  project: z.string().describe("Registered project name"),
355
- dryRun: z.boolean().optional().describe("Show what would be done without making changes")
355
+ dryRun: z.coerce.boolean().optional().describe("Show what would be done without making changes")
356
356
  },
357
357
  async ({ project, dryRun }) => {
358
358
  const args = ["start", project];
@@ -378,7 +378,7 @@ server.tool(
378
378
  {
379
379
  path: z.string().optional().describe("Project directory (defaults to cwd)"),
380
380
  targets: z.string().optional().describe("Comma-separated targets: claude,cursor,copilot,agents,all"),
381
- force: z.boolean().optional().describe("Overwrite existing files without prompting")
381
+ force: z.coerce.boolean().optional().describe("Overwrite existing files without prompting")
382
382
  },
383
383
  async ({ path, targets, force }) => {
384
384
  const args = ["init"];
@@ -396,7 +396,7 @@ server.tool(
396
396
  "Regenerate AI context files from .aware.json \u2014 update CLAUDE.md, .cursorrules, etc.",
397
397
  {
398
398
  path: z.string().optional().describe("Project directory (defaults to cwd)"),
399
- dryRun: z.boolean().optional().describe("Show what would change without writing files")
399
+ dryRun: z.coerce.boolean().optional().describe("Show what would change without writing files")
400
400
  },
401
401
  async ({ path, dryRun }) => {
402
402
  const args = ["sync"];
@@ -458,7 +458,7 @@ server.tool(
458
458
  "Scan dependency licenses \u2014 summarize all licenses in the project",
459
459
  {
460
460
  path: z.string().optional().describe("Project directory (defaults to cwd)"),
461
- production: z.boolean().optional().describe("Skip devDependencies"),
461
+ production: z.coerce.boolean().optional().describe("Skip devDependencies"),
462
462
  format: z.enum(["terminal", "json"]).optional().describe("Output format")
463
463
  },
464
464
  async ({ path, production, format }) => {
@@ -477,7 +477,7 @@ server.tool(
477
477
  "Validate dependency licenses against policy \u2014 flag violations before release",
478
478
  {
479
479
  path: z.string().optional().describe("Project directory (defaults to cwd)"),
480
- production: z.boolean().optional().describe("Skip devDependencies")
480
+ production: z.coerce.boolean().optional().describe("Skip devDependencies")
481
481
  },
482
482
  async ({ path, production }) => {
483
483
  const args = ["check"];
@@ -510,8 +510,8 @@ server.tool(
510
510
  {
511
511
  path: z.string().optional().describe("Project directory (defaults to cwd)"),
512
512
  filter: z.string().optional().describe('Show only subtrees containing this license (e.g. "GPL")'),
513
- depth: z.number().optional().describe("Max tree depth"),
514
- production: z.boolean().optional().describe("Skip devDependencies")
513
+ depth: z.coerce.number().optional().describe("Max tree depth"),
514
+ production: z.coerce.boolean().optional().describe("Skip devDependencies")
515
515
  },
516
516
  async ({ path, filter, depth, production }) => {
517
517
  const args = ["tree"];
@@ -529,8 +529,8 @@ server.tool(
529
529
  "Suggest alternative packages for license policy violations \u2014 find compliant replacements",
530
530
  {
531
531
  path: z.string().optional().describe("Project directory (defaults to cwd)"),
532
- production: z.boolean().optional().describe("Skip devDependencies"),
533
- limit: z.number().optional().describe("Max alternatives per package")
532
+ production: z.coerce.boolean().optional().describe("Skip devDependencies"),
533
+ limit: z.coerce.number().optional().describe("Max alternatives per package")
534
534
  },
535
535
  async ({ path, production, limit }) => {
536
536
  const args = ["fix"];
@@ -549,7 +549,7 @@ server.tool(
549
549
  path: z.string().optional().describe("Project directory (defaults to cwd)"),
550
550
  format: z.enum(["json", "csv", "markdown"]).optional().describe("Export format (default: json)"),
551
551
  output: z.string().optional().describe("Output file path"),
552
- production: z.boolean().optional().describe("Skip devDependencies")
552
+ production: z.coerce.boolean().optional().describe("Skip devDependencies")
553
553
  },
554
554
  async ({ path, format, output, production }) => {
555
555
  const args = ["export"];
@@ -568,7 +568,7 @@ server.tool(
568
568
  {
569
569
  path: z.string().optional().describe("Project directory (defaults to cwd)"),
570
570
  output: z.string().optional().describe("Output file (default: THIRD_PARTY_LICENSES.md)"),
571
- production: z.boolean().optional().describe("Skip devDependencies")
571
+ production: z.coerce.boolean().optional().describe("Skip devDependencies")
572
572
  },
573
573
  async ({ path, output, production }) => {
574
574
  const args = ["attribution"];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whenlabs/when",
3
- "version": "0.7.1",
3
+ "version": "0.7.3",
4
4
  "description": "The WhenLabs developer toolkit — 6 tools, one install",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -29,12 +29,12 @@
29
29
  },
30
30
  "dependencies": {
31
31
  "@modelcontextprotocol/sdk": "^1.29.0",
32
- "@whenlabs/aware": "^0.1.0",
32
+ "@whenlabs/aware": "^0.1.2",
33
33
  "@whenlabs/berth": "^0.1.0",
34
- "@whenlabs/envalid": "^0.1.0",
34
+ "@whenlabs/envalid": "^0.1.2",
35
35
  "@whenlabs/stale": "^0.1.0",
36
36
  "@whenlabs/velocity-mcp": "^0.1.0",
37
- "@whenlabs/vow": "^0.1.0",
37
+ "@whenlabs/vow": "^0.1.3",
38
38
  "commander": "^12.0.0",
39
39
  "zod": "^4.3.6"
40
40
  },