@beignet/cli 0.0.47 → 0.0.49

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 (144) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +126 -42
  3. package/dist/analysis/contract-factories.d.ts +17 -0
  4. package/dist/analysis/contract-factories.d.ts.map +1 -0
  5. package/dist/analysis/contract-factories.js +176 -0
  6. package/dist/analysis/contract-factories.js.map +1 -0
  7. package/dist/analysis/layers.d.ts +5 -0
  8. package/dist/analysis/layers.d.ts.map +1 -0
  9. package/dist/analysis/layers.js +172 -0
  10. package/dist/analysis/layers.js.map +1 -0
  11. package/dist/analysis/port-wiring.d.ts +23 -0
  12. package/dist/analysis/port-wiring.d.ts.map +1 -0
  13. package/dist/analysis/port-wiring.js +379 -0
  14. package/dist/analysis/port-wiring.js.map +1 -0
  15. package/dist/analysis/source-index.d.ts +5 -0
  16. package/dist/analysis/source-index.d.ts.map +1 -1
  17. package/dist/analysis/source-index.js +171 -42
  18. package/dist/analysis/source-index.js.map +1 -1
  19. package/dist/analysis/workspace.d.ts +10 -4
  20. package/dist/analysis/workspace.d.ts.map +1 -1
  21. package/dist/analysis/workspace.js +66 -6
  22. package/dist/analysis/workspace.js.map +1 -1
  23. package/dist/app-map.d.ts.map +1 -1
  24. package/dist/app-map.js +311 -92
  25. package/dist/app-map.js.map +1 -1
  26. package/dist/check.d.ts +8 -1
  27. package/dist/check.d.ts.map +1 -1
  28. package/dist/check.js +55 -9
  29. package/dist/check.js.map +1 -1
  30. package/dist/db.d.ts +38 -0
  31. package/dist/db.d.ts.map +1 -1
  32. package/dist/db.js +52 -0
  33. package/dist/db.js.map +1 -1
  34. package/dist/explain.js +4 -4
  35. package/dist/explain.js.map +1 -1
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +73 -6
  38. package/dist/index.js.map +1 -1
  39. package/dist/inspect.d.ts.map +1 -1
  40. package/dist/inspect.js +454 -170
  41. package/dist/inspect.js.map +1 -1
  42. package/dist/lib.d.ts +2 -2
  43. package/dist/lib.d.ts.map +1 -1
  44. package/dist/lib.js +1 -1
  45. package/dist/lib.js.map +1 -1
  46. package/dist/lint.d.ts.map +1 -1
  47. package/dist/lint.js +309 -487
  48. package/dist/lint.js.map +1 -1
  49. package/dist/make/inbox.d.ts.map +1 -1
  50. package/dist/make/inbox.js +12 -5
  51. package/dist/make/inbox.js.map +1 -1
  52. package/dist/make/payments.js +3 -3
  53. package/dist/make/payments.js.map +1 -1
  54. package/dist/make/tenancy.js +1 -1
  55. package/dist/make/tenancy.js.map +1 -1
  56. package/dist/make.d.ts.map +1 -1
  57. package/dist/make.js +144 -8
  58. package/dist/make.js.map +1 -1
  59. package/dist/mcp.d.ts +1 -1
  60. package/dist/mcp.d.ts.map +1 -1
  61. package/dist/mcp.js +56 -19
  62. package/dist/mcp.js.map +1 -1
  63. package/dist/preflight.d.ts +11 -3
  64. package/dist/preflight.d.ts.map +1 -1
  65. package/dist/preflight.js +139 -16
  66. package/dist/preflight.js.map +1 -1
  67. package/dist/provider-add.d.ts.map +1 -1
  68. package/dist/provider-add.js +149 -9
  69. package/dist/provider-add.js.map +1 -1
  70. package/dist/provider-audit.d.ts +13 -0
  71. package/dist/provider-audit.d.ts.map +1 -1
  72. package/dist/provider-audit.js +122 -8
  73. package/dist/provider-audit.js.map +1 -1
  74. package/dist/registry-edits.d.ts +7 -0
  75. package/dist/registry-edits.d.ts.map +1 -1
  76. package/dist/registry-edits.js +237 -53
  77. package/dist/registry-edits.js.map +1 -1
  78. package/dist/templates/agents.d.ts.map +1 -1
  79. package/dist/templates/agents.js +29 -7
  80. package/dist/templates/agents.js.map +1 -1
  81. package/dist/templates/base.d.ts +1 -0
  82. package/dist/templates/base.d.ts.map +1 -1
  83. package/dist/templates/base.js +20 -6
  84. package/dist/templates/base.js.map +1 -1
  85. package/dist/templates/db/index.d.ts +1 -0
  86. package/dist/templates/db/index.d.ts.map +1 -1
  87. package/dist/templates/db/index.js.map +1 -1
  88. package/dist/templates/db/migration-status.d.ts +9 -0
  89. package/dist/templates/db/migration-status.d.ts.map +1 -0
  90. package/dist/templates/db/migration-status.js +117 -0
  91. package/dist/templates/db/migration-status.js.map +1 -0
  92. package/dist/templates/db/mysql.d.ts.map +1 -1
  93. package/dist/templates/db/mysql.js +23 -0
  94. package/dist/templates/db/mysql.js.map +1 -1
  95. package/dist/templates/db/postgres.d.ts.map +1 -1
  96. package/dist/templates/db/postgres.js +21 -0
  97. package/dist/templates/db/postgres.js.map +1 -1
  98. package/dist/templates/db/sqlite.d.ts.map +1 -1
  99. package/dist/templates/db/sqlite.js +53 -0
  100. package/dist/templates/db/sqlite.js.map +1 -1
  101. package/dist/templates/index.d.ts.map +1 -1
  102. package/dist/templates/index.js +5 -0
  103. package/dist/templates/index.js.map +1 -1
  104. package/dist/templates/server.d.ts.map +1 -1
  105. package/dist/templates/server.js +2 -0
  106. package/dist/templates/server.js.map +1 -1
  107. package/dist/templates/shared.d.ts +1 -0
  108. package/dist/templates/shared.d.ts.map +1 -1
  109. package/dist/templates/shared.js +4 -2
  110. package/dist/templates/shared.js.map +1 -1
  111. package/package.json +7 -6
  112. package/skills/app-structure/SKILL.md +56 -11
  113. package/src/analysis/contract-factories.ts +256 -0
  114. package/src/analysis/layers.ts +266 -0
  115. package/src/analysis/port-wiring.ts +506 -0
  116. package/src/analysis/source-index.ts +225 -57
  117. package/src/analysis/workspace.ts +115 -6
  118. package/src/app-map.ts +418 -109
  119. package/src/check.ts +86 -10
  120. package/src/db.ts +97 -0
  121. package/src/explain.ts +4 -4
  122. package/src/index.ts +108 -7
  123. package/src/inspect.ts +659 -216
  124. package/src/lib.ts +9 -1
  125. package/src/lint.ts +393 -643
  126. package/src/make/inbox.ts +12 -5
  127. package/src/make/payments.ts +3 -3
  128. package/src/make/tenancy.ts +1 -1
  129. package/src/make.ts +225 -8
  130. package/src/mcp.ts +73 -21
  131. package/src/preflight.ts +195 -16
  132. package/src/provider-add.ts +193 -9
  133. package/src/provider-audit.ts +210 -18
  134. package/src/registry-edits.ts +313 -63
  135. package/src/templates/agents.ts +29 -7
  136. package/src/templates/base.ts +21 -4
  137. package/src/templates/db/index.ts +1 -0
  138. package/src/templates/db/migration-status.ts +126 -0
  139. package/src/templates/db/mysql.ts +23 -0
  140. package/src/templates/db/postgres.ts +21 -0
  141. package/src/templates/db/sqlite.ts +53 -0
  142. package/src/templates/index.ts +5 -0
  143. package/src/templates/server.ts +2 -0
  144. package/src/templates/shared.ts +4 -2
package/dist/mcp.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
1
+ import { McpServer } from "@modelcontextprotocol/server";
2
2
  /**
3
3
  * Options for building or running the Beignet MCP server.
4
4
  */
package/dist/mcp.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,SAAS,EAEV,MAAM,yCAAyC,CAAC;AAoEjD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA8ZF;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAqmB1E;AA2ED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAU3E"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAoB,MAAM,8BAA8B,CAAC;AAqE3E;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AA8ZF;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CA2pB1E;AA2ED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAU3E"}
package/dist/mcp.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import { open, realpath } from "node:fs/promises";
2
2
  import path from "node:path";
3
- import { McpServer, ResourceTemplate, } from "@modelcontextprotocol/sdk/server/mcp.js";
4
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
5
- import { z } from "zod";
3
+ import { McpServer, ResourceTemplate } from "@modelcontextprotocol/server";
4
+ import { StdioServerTransport } from "@modelcontextprotocol/server/stdio";
5
+ import { z } from "zod/v4";
6
6
  import { mapApp, projectAppMap } from "./app-map.js";
7
7
  import { appMapNodeKinds } from "./app-map-schema.js";
8
8
  import { checkApp } from "./check.js";
9
9
  import { databaseCommandChoices, databaseSchemaDialectChoices, databaseSchemaTableChoices, doctorFixOperationIds, outboxMessageKindChoices, outboxMessageStatusChoices, providerPresetChoices, } from "./choices.js";
10
- import { defaultDatabaseCommandMaxOutputBytes, defaultDatabaseCommandTimeoutMs, runDatabaseCommand, syncDatabaseSchema, } from "./db.js";
10
+ import { defaultDatabaseCommandMaxOutputBytes, defaultDatabaseCommandTimeoutMs, runDatabaseCommand, runDatabaseStatus, syncDatabaseSchema, } from "./db.js";
11
11
  import { explainApp, explainTargetKinds } from "./explain.js";
12
12
  import { applyDoctorFixesWithResult, applyDoctorFixPlan, createDoctorFixInspectionResult, inspectApp, planDoctorFixes, } from "./inspect.js";
13
13
  import { lintApp } from "./lint.js";
@@ -448,12 +448,23 @@ export function buildBeignetMcpServer(options) {
448
448
  annotations: { readOnlyHint: true },
449
449
  }, async (input) => safeToolResult(async () => jsonResult(await explainApp({ cwd, kind: input.kind, target: input.target }))));
450
450
  server.registerTool("check", {
451
- description: "Run the full Beignet app validation loop: Beignet lint, strict doctor, and the app's lint, typecheck, and test scripts. Returns the same versioned JSON as beignet check --json, including every step, bounded failure output, durations, and overall ok status. Does not apply Beignet fixes, but app-owned scripts run with their normal side effects.",
451
+ description: "Run the full Beignet app validation loop: Beignet lint, strict doctor, optional disconnected or connected preflight, and the app's lint, typecheck, and test scripts. Returns the same versioned JSON as beignet check --json, including every step, bounded failure output, durations, and overall ok status. Does not apply Beignet fixes, but app-owned scripts run with their normal side effects.",
452
452
  inputSchema: {
453
453
  preflight: z
454
454
  .boolean()
455
455
  .optional()
456
456
  .describe("Include the environment preflight check before app package scripts. Defaults to false."),
457
+ preflightConnect: z
458
+ .boolean()
459
+ .optional()
460
+ .describe("Include connected preflight with migration status and dependency health checks. Implies preflight and defaults to false."),
461
+ connectTimeoutMs: z
462
+ .number()
463
+ .int()
464
+ .min(1)
465
+ .max(60 * 60 * 1_000)
466
+ .optional()
467
+ .describe("Maximum duration for migration status and each dependency health check in milliseconds. Defaults to 5000."),
457
468
  timeoutMs: z
458
469
  .number()
459
470
  .int()
@@ -468,11 +479,13 @@ export function buildBeignetMcpServer(options) {
468
479
  idempotentHint: false,
469
480
  openWorldHint: true,
470
481
  },
471
- }, async (input, extra) => safeToolResult(async () => jsonResult(await checkApp({
482
+ }, async (input, ctx) => safeToolResult(async () => jsonResult(await checkApp({
472
483
  cwd,
473
484
  preflight: input.preflight ?? false,
485
+ preflightConnect: input.preflightConnect ?? false,
486
+ connectTimeoutMs: input.connectTimeoutMs,
474
487
  scriptTimeoutMs: input.timeoutMs ?? defaultMcpCheckTimeoutMs,
475
- signal: extra.signal,
488
+ signal: ctx.mcpReq.signal,
476
489
  }))));
477
490
  server.registerTool("db", {
478
491
  description: "Run one app-owned database lifecycle command and return exactly the versioned beignet db <command> --json result. Supports generate, migrate, seed, and reset; captures a bounded output tail, stops after the configured timeout, and cancels the complete child process tree with the MCP request. Dry runs validate prerequisites and report the command without executing it.",
@@ -498,15 +511,39 @@ export function buildBeignetMcpServer(options) {
498
511
  idempotentHint: false,
499
512
  openWorldHint: true,
500
513
  },
501
- }, async (input, extra) => safeToolResult(async () => jsonResult(await runDatabaseCommand({
514
+ }, async (input, ctx) => safeToolResult(async () => jsonResult(await runDatabaseCommand({
502
515
  command: input.command,
503
516
  cwd,
504
517
  captureOutput: true,
505
518
  maxOutputBytes: defaultDatabaseCommandMaxOutputBytes,
506
- signal: extra.signal,
519
+ signal: ctx.mcpReq.signal,
507
520
  timeoutMs: input.timeoutMs ?? defaultDatabaseCommandTimeoutMs,
508
521
  dryRun: input.dryRun,
509
522
  }))));
523
+ server.registerTool("db_status", {
524
+ description: "Inspect app-owned database migrations and return exactly the versioned beignet db status --json result. Exit state distinguishes current, pending, and failed inspection without mutating the database. Output is bounded, the complete child process tree is cancelled with the MCP request, and execution stops after the configured timeout.",
525
+ inputSchema: {
526
+ timeoutMs: z
527
+ .number()
528
+ .int()
529
+ .min(1_000)
530
+ .max(60 * 60 * 1_000)
531
+ .optional()
532
+ .describe("Maximum status duration in milliseconds. Defaults to 600000 (10 minutes)."),
533
+ },
534
+ annotations: {
535
+ readOnlyHint: true,
536
+ destructiveHint: false,
537
+ idempotentHint: true,
538
+ openWorldHint: true,
539
+ },
540
+ }, async (input, ctx) => safeToolResult(async () => jsonResult(await runDatabaseStatus({
541
+ cwd,
542
+ captureOutput: true,
543
+ maxOutputBytes: defaultDatabaseCommandMaxOutputBytes,
544
+ signal: ctx.mcpReq.signal,
545
+ timeoutMs: input.timeoutMs ?? defaultDatabaseCommandTimeoutMs,
546
+ }))));
510
547
  server.registerTool("db_schema_sync", {
511
548
  description: "Idempotently sync app-owned Drizzle schema re-exports for Beignet provider tables and return exactly the versioned beignet db schema sync --json result. Supports dry-run planning and never generates or applies SQL migrations.",
512
549
  inputSchema: {
@@ -535,13 +572,13 @@ export function buildBeignetMcpServer(options) {
535
572
  idempotentHint: true,
536
573
  openWorldHint: false,
537
574
  },
538
- }, async (input, extra) => safeToolResult(async () => jsonResult(await syncDatabaseSchema({
575
+ }, async (input, ctx) => safeToolResult(async () => jsonResult(await syncDatabaseSchema({
539
576
  cwd,
540
577
  dialect: input.dialect,
541
578
  tables: input.tables,
542
579
  output: input.output,
543
580
  dryRun: input.dryRun,
544
- signal: extra.signal,
581
+ signal: ctx.mcpReq.signal,
545
582
  }))));
546
583
  server.registerTool("task_run", {
547
584
  description: "Run one registered app-owned operational task in an isolated process and return exactly the versioned beignet task run <name> --json report. The task input is schema-validated, output is bounded, and cancellation or timeout stops the complete process tree.",
@@ -552,7 +589,7 @@ export function buildBeignetMcpServer(options) {
552
589
  idempotentHint: false,
553
590
  openWorldHint: true,
554
591
  },
555
- }, async (input, extra) => safeToolResult(async () => operationalJsonResult(await runIsolatedOperationalCommand({
592
+ }, async (input, ctx) => safeToolResult(async () => operationalJsonResult(await runIsolatedOperationalCommand({
556
593
  cwd,
557
594
  request: {
558
595
  command: "task:run",
@@ -561,7 +598,7 @@ export function buildBeignetMcpServer(options) {
561
598
  tenant: input.tenant,
562
599
  modulePath: input.module,
563
600
  },
564
- signal: extra.signal,
601
+ signal: ctx.mcpReq.signal,
565
602
  timeoutMs: input.timeoutMs ?? defaultOperationalCommandTimeoutMs,
566
603
  }))));
567
604
  server.registerTool("schedule_run", {
@@ -573,7 +610,7 @@ export function buildBeignetMcpServer(options) {
573
610
  idempotentHint: false,
574
611
  openWorldHint: true,
575
612
  },
576
- }, async (input, extra) => safeToolResult(async () => operationalJsonResult(await runIsolatedOperationalCommand({
613
+ }, async (input, ctx) => safeToolResult(async () => operationalJsonResult(await runIsolatedOperationalCommand({
577
614
  cwd,
578
615
  request: {
579
616
  command: "schedule:run",
@@ -586,7 +623,7 @@ export function buildBeignetMcpServer(options) {
586
623
  source: input.source,
587
624
  modulePath: input.module,
588
625
  },
589
- signal: extra.signal,
626
+ signal: ctx.mcpReq.signal,
590
627
  timeoutMs: input.timeoutMs ?? defaultOperationalCommandTimeoutMs,
591
628
  }))));
592
629
  server.registerTool("outbox_inspect", {
@@ -598,7 +635,7 @@ export function buildBeignetMcpServer(options) {
598
635
  idempotentHint: true,
599
636
  openWorldHint: true,
600
637
  },
601
- }, async (input, extra) => safeToolResult(async () => operationalJsonResult(await runIsolatedOperationalCommand({
638
+ }, async (input, ctx) => safeToolResult(async () => operationalJsonResult(await runIsolatedOperationalCommand({
602
639
  cwd,
603
640
  request: input.operation === "list"
604
641
  ? {
@@ -614,7 +651,7 @@ export function buildBeignetMcpServer(options) {
614
651
  id: input.id,
615
652
  modulePath: input.module,
616
653
  },
617
- signal: extra.signal,
654
+ signal: ctx.mcpReq.signal,
618
655
  timeoutMs: input.timeoutMs ?? defaultOperationalCommandTimeoutMs,
619
656
  }))));
620
657
  server.registerTool("outbox_run", {
@@ -626,7 +663,7 @@ export function buildBeignetMcpServer(options) {
626
663
  idempotentHint: false,
627
664
  openWorldHint: true,
628
665
  },
629
- }, async (input, extra) => safeToolResult(async () => {
666
+ }, async (input, ctx) => safeToolResult(async () => {
630
667
  const request = input.operation === "drain"
631
668
  ? {
632
669
  command: "outbox:drain",
@@ -660,7 +697,7 @@ export function buildBeignetMcpServer(options) {
660
697
  return operationalJsonResult(await runIsolatedOperationalCommand({
661
698
  cwd,
662
699
  request,
663
- signal: extra.signal,
700
+ signal: ctx.mcpReq.signal,
664
701
  timeoutMs: input.timeoutMs ?? defaultOperationalCommandTimeoutMs,
665
702
  }));
666
703
  }));
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
@@ -30,8 +30,9 @@ export interface PreflightOptions {
30
30
  */
31
31
  doctor?: boolean;
32
32
  /**
33
- * Boot the app server and run every port's `checkHealth()`. Needs network
34
- * access and real credentials, so it is opt-in.
33
+ * Inspect database migration status, then boot the app server and run every
34
+ * port's `checkHealth()`. Needs network access and real credentials, so it
35
+ * is opt-in.
35
36
  */
36
37
  connect?: boolean;
37
38
  /**
@@ -40,9 +41,12 @@ export interface PreflightOptions {
40
41
  */
41
42
  serverModule?: string;
42
43
  /**
43
- * Per-dependency health check timeout in milliseconds. Defaults to 5000.
44
+ * Per migration-status or dependency health check timeout in milliseconds.
45
+ * Defaults to 5000.
44
46
  */
45
47
  connectTimeoutMs?: number;
48
+ /** Cancel connected migration inspection and health checks on abort. */
49
+ signal?: AbortSignal;
46
50
  }
47
51
  export interface PreflightResult {
48
52
  findings: PreflightFinding[];
@@ -62,6 +66,10 @@ export interface PreflightResult {
62
66
  * Ports whose `checkHealth()` ran during a `connect` pass.
63
67
  */
64
68
  checkedDependencies: string[];
69
+ /**
70
+ * Database migration state observed before dependency checks.
71
+ */
72
+ migrationStatus: "not-checked" | "current" | "pending" | "failed" | "unavailable";
65
73
  }
66
74
  /**
67
75
  * Map doctor diagnostics to preflight findings: only production hardening
@@ -1 +1 @@
1
- {"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,iBAAiB,EAGvB,MAAM,cAAc,CAAC;AAQtB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B;;OAEG;IACH,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B;;OAEG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,SAAS,iBAAiB,EAAE,GACxC,gBAAgB,EAAE,CAUpB;AAOD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBnE;AAgDD;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CA4K1B;AAgJD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CA0C5E"}
1
+ {"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../src/preflight.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,iBAAiB,EAGvB,MAAM,cAAc,CAAC;AAUtB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wEAAwE;IACxE,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B;;OAEG;IACH,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B;;OAEG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B;;OAEG;IACH,eAAe,EACX,aAAa,GACb,SAAS,GACT,SAAS,GACT,QAAQ,GACR,aAAa,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,SAAS,iBAAiB,EAAE,GACxC,gBAAgB,EAAE,CAUpB;AAOD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBnE;AAwFD;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CA0P1B;AAyLD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CA8C5E"}
package/dist/preflight.js CHANGED
@@ -2,8 +2,9 @@ import { readFile } from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import { parseProviderPackageMetadata } from "@beignet/core/providers";
4
4
  import { createJiti } from "jiti";
5
+ import { runDatabaseStatus } from "./db.js";
5
6
  import { inspectApp, productionHardeningDiagnosticCodes, } from "./inspect.js";
6
- import { installedPackageNames, providerDoctorRulesForInstalledPackages, readProviderPackageMetadataSource, } from "./provider-audit.js";
7
+ import { detectedProviderVariantsForRules, formatProviderEnvAlternatives, installedPackageNames, providerDoctorRulesForInstalledPackages, readProviderPackageMetadataSource, } from "./provider-audit.js";
7
8
  /**
8
9
  * Map doctor diagnostics to preflight findings: only production hardening
9
10
  * codes are kept, and their severities are promoted for the deploy gate —
@@ -84,6 +85,33 @@ function applyEnvToProcess(env) {
84
85
  }
85
86
  };
86
87
  }
88
+ function appendProviderEnvFindings(options) {
89
+ for (const key of options.required) {
90
+ options.requiredEnvKeys.add(key);
91
+ const value = options.env[key];
92
+ if (value === undefined || value.trim() === "") {
93
+ options.findings.push({
94
+ severity: "error",
95
+ code: "BEIGNET_PREFLIGHT_ENV_MISSING",
96
+ message: `${key} is required by ${options.owner} but is not set.`,
97
+ });
98
+ }
99
+ }
100
+ for (const key of options.alternatives.flat()) {
101
+ options.requiredEnvKeys.add(key);
102
+ }
103
+ if (options.alternatives.length > 0 &&
104
+ !options.alternatives.some((alternative) => alternative.every((key) => {
105
+ const value = options.env[key];
106
+ return value !== undefined && value.trim() !== "";
107
+ }))) {
108
+ options.findings.push({
109
+ severity: "error",
110
+ code: "BEIGNET_PREFLIGHT_ENV_MISSING",
111
+ message: `${options.owner} requires one complete environment configuration: ${formatProviderEnvAlternatives(options.alternatives)}.`,
112
+ });
113
+ }
114
+ }
87
115
  /**
88
116
  * Validate the deploy environment against installed provider manifests, the
89
117
  * app's `.env.example` placeholders, and the app env schema module.
@@ -126,23 +154,35 @@ export async function runPreflight(options) {
126
154
  envModuleChecked: false,
127
155
  doctorChecked: false,
128
156
  checkedDependencies: [],
157
+ migrationStatus: "not-checked",
129
158
  };
130
159
  }
131
160
  const rules = await providerDoctorRulesForInstalledPackages(options.cwd, packageJson);
132
161
  const checkedProviders = rules.map((rule) => rule.packageName);
133
162
  const requiredEnvKeys = new Set();
163
+ const detectedVariants = await detectedProviderVariantsForRules(options.cwd, rules);
134
164
  for (const rule of rules) {
135
- for (const key of rule.requiredEnv ?? []) {
136
- requiredEnvKeys.add(key);
137
- const value = env[key];
138
- if (value === undefined || value.trim() === "") {
139
- findings.push({
140
- severity: "error",
141
- code: "BEIGNET_PREFLIGHT_ENV_MISSING",
142
- message: `${key} is required by ${rule.packageName} but is not set.`,
165
+ if (rule.variants !== undefined) {
166
+ for (const variant of detectedVariants.get(rule.packageName) ?? []) {
167
+ appendProviderEnvFindings({
168
+ owner: `${rule.packageName} (${variant.displayName})`,
169
+ required: variant.requiredEnv,
170
+ alternatives: variant.requiredEnvAlternatives,
171
+ env,
172
+ requiredEnvKeys,
173
+ findings,
143
174
  });
144
175
  }
176
+ continue;
145
177
  }
178
+ appendProviderEnvFindings({
179
+ owner: rule.packageName,
180
+ required: rule.requiredEnv ?? [],
181
+ alternatives: rule.requiredEnvAlternatives ?? [],
182
+ env,
183
+ requiredEnvKeys,
184
+ findings,
185
+ });
146
186
  }
147
187
  const inngestDev = env.INNGEST_DEV?.trim().toLowerCase();
148
188
  if (env.NODE_ENV === "production" &&
@@ -189,6 +229,7 @@ export async function runPreflight(options) {
189
229
  let envModuleChecked = false;
190
230
  let doctorChecked = false;
191
231
  const checkedDependencies = [];
232
+ let migrationStatus = "not-checked";
192
233
  const restoreProcessEnv = applyEnvToProcess(env);
193
234
  try {
194
235
  const envModule = options.envModule ?? "lib/env.ts";
@@ -224,7 +265,55 @@ export async function runPreflight(options) {
224
265
  doctorChecked = true;
225
266
  }
226
267
  if (options.connect) {
227
- await runDependencyChecks(options, findings, checkedDependencies);
268
+ if (!packageJson.scripts?.["db:status"]) {
269
+ migrationStatus = "unavailable";
270
+ findings.push({
271
+ severity: "note",
272
+ code: "BEIGNET_PREFLIGHT_DATABASE_STATUS_UNAVAILABLE",
273
+ message: 'No app-owned "db:status" script is configured; skipping pending migration detection.',
274
+ });
275
+ }
276
+ else {
277
+ try {
278
+ const connectTimeoutMs = options.connectTimeoutMs ?? 5000;
279
+ const result = await runDatabaseStatus({
280
+ cwd: options.cwd,
281
+ captureOutput: true,
282
+ maxOutputBytes: 8 * 1024,
283
+ signal: options.signal,
284
+ timeoutMs: connectTimeoutMs,
285
+ });
286
+ migrationStatus = result.status;
287
+ if (result.status === "pending") {
288
+ findings.push({
289
+ severity: "error",
290
+ code: "BEIGNET_PREFLIGHT_DATABASE_MIGRATIONS_PENDING",
291
+ message: databaseStatusFindingMessage("Database migrations are pending. Run `beignet db migrate` in the serialized migration job before booting the app.", result.stdout, result.stderr, result.outputTruncated),
292
+ });
293
+ }
294
+ else if (result.status === "failed") {
295
+ findings.push({
296
+ severity: "error",
297
+ code: "BEIGNET_PREFLIGHT_DATABASE_STATUS_FAILED",
298
+ message: databaseStatusFindingMessage(result.timedOut
299
+ ? `Database migration status inspection timed out after ${connectTimeoutMs}ms.`
300
+ : "Database migration status inspection failed.", result.stdout, result.stderr, result.outputTruncated),
301
+ });
302
+ }
303
+ }
304
+ catch (error) {
305
+ options.signal?.throwIfAborted();
306
+ migrationStatus = "failed";
307
+ findings.push({
308
+ severity: "error",
309
+ code: "BEIGNET_PREFLIGHT_DATABASE_STATUS_FAILED",
310
+ message: `Database migration status inspection failed: ${error instanceof Error ? error.message : String(error)}`,
311
+ });
312
+ }
313
+ }
314
+ if (migrationStatus !== "pending" && migrationStatus !== "failed") {
315
+ await runDependencyChecks(options, findings, checkedDependencies);
316
+ }
228
317
  }
229
318
  }
230
319
  finally {
@@ -236,8 +325,19 @@ export async function runPreflight(options) {
236
325
  envModuleChecked,
237
326
  doctorChecked,
238
327
  checkedDependencies,
328
+ migrationStatus,
239
329
  };
240
330
  }
331
+ function databaseStatusFindingMessage(summary, stdout, stderr, outputTruncated) {
332
+ const details = [
333
+ stdout?.trim() ? `stdout:\n${stdout.trim()}` : undefined,
334
+ stderr?.trim() ? `stderr:\n${stderr.trim()}` : undefined,
335
+ ].filter((value) => value !== undefined);
336
+ if (outputTruncated) {
337
+ details.push("Output truncated; showing the retained tail.");
338
+ }
339
+ return [summary, ...details].join("\n");
340
+ }
241
341
  function isHealthCheckable(value) {
242
342
  return (typeof value === "object" &&
243
343
  value !== null &&
@@ -249,19 +349,34 @@ function healthResultOk(result) {
249
349
  const ok = result.ok;
250
350
  return ok === undefined || ok === true;
251
351
  }
252
- async function withTimeout(work, ms, label) {
352
+ async function withTimeout(work, ms, label, signal) {
353
+ signal?.throwIfAborted();
253
354
  let timer;
355
+ let onAbort;
254
356
  try {
255
- return await Promise.race([
357
+ const contenders = [
256
358
  work,
257
359
  new Promise((_, reject) => {
258
360
  timer = setTimeout(() => reject(new Error(`${label} timed out after ${ms}ms`)), ms);
259
361
  }),
260
- ]);
362
+ ];
363
+ if (signal) {
364
+ contenders.push(new Promise((_, reject) => {
365
+ onAbort = () => reject(signal.reason instanceof Error
366
+ ? signal.reason
367
+ : new Error("Connected preflight cancelled."));
368
+ signal.addEventListener("abort", onAbort, { once: true });
369
+ if (signal.aborted)
370
+ onAbort();
371
+ }));
372
+ }
373
+ return await Promise.race(contenders);
261
374
  }
262
375
  finally {
263
376
  if (timer !== undefined)
264
377
  clearTimeout(timer);
378
+ if (onAbort)
379
+ signal?.removeEventListener("abort", onAbort);
265
380
  }
266
381
  }
267
382
  /**
@@ -269,6 +384,7 @@ async function withTimeout(work, ms, label) {
269
384
  * use, then run `checkHealth()` on every port that exposes one.
270
385
  */
271
386
  async function runDependencyChecks(options, findings, checkedDependencies) {
387
+ options.signal?.throwIfAborted();
272
388
  const serverModule = options.serverModule ?? "server/index.ts";
273
389
  const serverModulePath = path.resolve(options.cwd, serverModule);
274
390
  const timeoutMs = options.connectTimeoutMs ?? 5000;
@@ -282,6 +398,7 @@ async function runDependencyChecks(options, findings, checkedDependencies) {
282
398
  }
283
399
  let server;
284
400
  try {
401
+ options.signal?.throwIfAborted();
285
402
  const jiti = createJiti(serverModulePath, {
286
403
  interopDefault: true,
287
404
  moduleCache: false,
@@ -302,6 +419,7 @@ async function runDependencyChecks(options, findings, checkedDependencies) {
302
419
  server = resolved;
303
420
  }
304
421
  catch (error) {
422
+ options.signal?.throwIfAborted();
305
423
  findings.push({
306
424
  severity: "error",
307
425
  code: "BEIGNET_PREFLIGHT_SERVER_BOOT_FAILED",
@@ -311,11 +429,12 @@ async function runDependencyChecks(options, findings, checkedDependencies) {
311
429
  }
312
430
  try {
313
431
  for (const [name, port] of Object.entries(server.ports)) {
432
+ options.signal?.throwIfAborted();
314
433
  if (!isHealthCheckable(port))
315
434
  continue;
316
435
  checkedDependencies.push(name);
317
436
  try {
318
- const result = await withTimeout(port.checkHealth(), timeoutMs, `${name}.checkHealth()`);
437
+ const result = await withTimeout(port.checkHealth(), timeoutMs, `${name}.checkHealth()`, options.signal);
319
438
  if (!healthResultOk(result)) {
320
439
  const message = result.message;
321
440
  findings.push({
@@ -326,6 +445,7 @@ async function runDependencyChecks(options, findings, checkedDependencies) {
326
445
  }
327
446
  }
328
447
  catch (error) {
448
+ options.signal?.throwIfAborted();
329
449
  findings.push({
330
450
  severity: "error",
331
451
  code: "BEIGNET_PREFLIGHT_DEPENDENCY_UNHEALTHY",
@@ -373,11 +493,14 @@ export function formatPreflight(result, cwd) {
373
493
  const dependencySummary = result.checkedDependencies.length
374
494
  ? `, ${result.checkedDependencies.length} dependency health check(s) run`
375
495
  : "";
496
+ const migrationSummary = result.migrationStatus === "not-checked"
497
+ ? "migration status not checked"
498
+ : `migration status ${result.migrationStatus}`;
376
499
  if (errors.length === 0) {
377
- lines.push(`Preflight passed in ${cwd}: ${providerSummary} checked, ${envSummary}, ${doctorSummary}${dependencySummary}.`);
500
+ lines.push(`Preflight passed in ${cwd}: ${providerSummary} checked, ${envSummary}, ${doctorSummary}, ${migrationSummary}${dependencySummary}.`);
378
501
  }
379
502
  else {
380
- lines.push(`Preflight failed in ${cwd}: ${errors.length} error(s) across ${providerSummary}, ${envSummary}, ${doctorSummary}${dependencySummary}.`);
503
+ lines.push(`Preflight failed in ${cwd}: ${errors.length} error(s) across ${providerSummary}, ${envSummary}, ${doctorSummary}, ${migrationSummary}${dependencySummary}.`);
381
504
  }
382
505
  return `${lines.join("\n")}\n`;
383
506
  }