@beignet/cli 0.0.41 → 0.0.43

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 (100) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +96 -25
  3. package/dist/analysis/source-index.d.ts +1 -1
  4. package/dist/analysis/source-index.d.ts.map +1 -1
  5. package/dist/analysis/source-index.js +4 -2
  6. package/dist/analysis/source-index.js.map +1 -1
  7. package/dist/analysis/workspace.d.ts +3 -2
  8. package/dist/analysis/workspace.d.ts.map +1 -1
  9. package/dist/analysis/workspace.js +51 -39
  10. package/dist/analysis/workspace.js.map +1 -1
  11. package/dist/app-map.d.ts.map +1 -1
  12. package/dist/app-map.js +65 -4
  13. package/dist/app-map.js.map +1 -1
  14. package/dist/choices.d.ts +18 -0
  15. package/dist/choices.d.ts.map +1 -1
  16. package/dist/choices.js +35 -0
  17. package/dist/choices.js.map +1 -1
  18. package/dist/db.d.ts +18 -7
  19. package/dist/db.d.ts.map +1 -1
  20. package/dist/db.js +20 -7
  21. package/dist/db.js.map +1 -1
  22. package/dist/doctor-fixes.d.ts +64 -0
  23. package/dist/doctor-fixes.d.ts.map +1 -0
  24. package/dist/doctor-fixes.js +142 -0
  25. package/dist/doctor-fixes.js.map +1 -0
  26. package/dist/explain.d.ts +3 -1
  27. package/dist/explain.d.ts.map +1 -1
  28. package/dist/explain.js +136 -42
  29. package/dist/explain.js.map +1 -1
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +92 -25
  32. package/dist/index.js.map +1 -1
  33. package/dist/inspect.d.ts +38 -9
  34. package/dist/inspect.d.ts.map +1 -1
  35. package/dist/inspect.js +385 -251
  36. package/dist/inspect.js.map +1 -1
  37. package/dist/lib.d.ts +6 -2
  38. package/dist/lib.d.ts.map +1 -1
  39. package/dist/lib.js +3 -2
  40. package/dist/lib.js.map +1 -1
  41. package/dist/make/inbox.js +4 -4
  42. package/dist/make/payments.js +6 -6
  43. package/dist/make/shared.js +3 -3
  44. package/dist/make/shared.js.map +1 -1
  45. package/dist/make/tenancy.d.ts.map +1 -1
  46. package/dist/make/tenancy.js +12 -14
  47. package/dist/make/tenancy.js.map +1 -1
  48. package/dist/make.d.ts.map +1 -1
  49. package/dist/make.js +33 -23
  50. package/dist/make.js.map +1 -1
  51. package/dist/mcp.d.ts.map +1 -1
  52. package/dist/mcp.js +121 -13
  53. package/dist/mcp.js.map +1 -1
  54. package/dist/registry-edits.d.ts +7 -1
  55. package/dist/registry-edits.d.ts.map +1 -1
  56. package/dist/registry-edits.js +61 -43
  57. package/dist/registry-edits.js.map +1 -1
  58. package/dist/templates/agents.d.ts.map +1 -1
  59. package/dist/templates/agents.js +34 -11
  60. package/dist/templates/agents.js.map +1 -1
  61. package/dist/templates/base.d.ts.map +1 -1
  62. package/dist/templates/base.js +5 -5
  63. package/dist/templates/base.js.map +1 -1
  64. package/dist/templates/db/mysql.js +3 -3
  65. package/dist/templates/db/postgres.js +3 -3
  66. package/dist/templates/db/sqlite.js +3 -3
  67. package/dist/templates/server.js +4 -4
  68. package/dist/templates/server.js.map +1 -1
  69. package/dist/templates/shared.d.ts +2 -1
  70. package/dist/templates/shared.d.ts.map +1 -1
  71. package/dist/templates/shared.js +7 -4
  72. package/dist/templates/shared.js.map +1 -1
  73. package/dist/templates/todos.js +2 -2
  74. package/package.json +3 -2
  75. package/skills/app-structure/SKILL.md +43 -10
  76. package/src/analysis/source-index.ts +12 -3
  77. package/src/analysis/workspace.ts +94 -52
  78. package/src/app-map.ts +82 -4
  79. package/src/choices.ts +57 -0
  80. package/src/db.ts +45 -15
  81. package/src/doctor-fixes.ts +252 -0
  82. package/src/explain.ts +151 -43
  83. package/src/index.ts +130 -35
  84. package/src/inspect.ts +537 -295
  85. package/src/lib.ts +28 -1
  86. package/src/make/inbox.ts +4 -4
  87. package/src/make/payments.ts +6 -6
  88. package/src/make/shared.ts +3 -3
  89. package/src/make/tenancy.ts +12 -14
  90. package/src/make.ts +36 -24
  91. package/src/mcp.ts +187 -13
  92. package/src/registry-edits.ts +81 -39
  93. package/src/templates/agents.ts +34 -11
  94. package/src/templates/base.ts +5 -4
  95. package/src/templates/db/mysql.ts +3 -3
  96. package/src/templates/db/postgres.ts +3 -3
  97. package/src/templates/db/sqlite.ts +3 -3
  98. package/src/templates/server.ts +4 -4
  99. package/src/templates/shared.ts +14 -6
  100. package/src/templates/todos.ts +2 -2
package/dist/app-map.js CHANGED
@@ -114,6 +114,12 @@ export async function mapApp(options = {}) {
114
114
  addEdge(exactEdge("authorizes", id, abilityId(ability), contract.file));
115
115
  }
116
116
  }
117
+ await addUnresolvedContractDeclarations({
118
+ workspace,
119
+ sourceIndex,
120
+ contractIds,
121
+ unresolved,
122
+ });
117
123
  const routeIds = new Map();
118
124
  for (const route of inspection.routes) {
119
125
  const contractId = contractIds.get(symbolKey(route.file, route.exportName));
@@ -398,6 +404,7 @@ export async function mapApp(options = {}) {
398
404
  addEdge,
399
405
  });
400
406
  await addTables({ workspace, sourceIndex, addNode });
407
+ await addUnresolvedLocalImports({ workspace, unresolved });
401
408
  await addFeatureDependencies({
402
409
  workspace,
403
410
  featuresPath,
@@ -579,8 +586,8 @@ async function addRouteGroups(args) {
579
586
  const groupName = literalText(propertyAssignment(options, "name")?.initializer);
580
587
  const id = `route-group:${file}#${exportName}`;
581
588
  const missing = args.diagnostics.some((diagnostic) => diagnostic.code === "BEIGNET_ROUTE_GROUP_UNREGISTERED" &&
582
- diagnostic.message.includes(file) &&
583
- diagnostic.message.includes(exportName));
589
+ diagnostic.subject?.file === file &&
590
+ diagnostic.subject.exportName === exportName);
584
591
  args.addNode({
585
592
  id,
586
593
  kind: "route-group",
@@ -777,6 +784,8 @@ async function addFeatureDependencies(args) {
777
784
  if (!from || !args.featureNames.has(from))
778
785
  continue;
779
786
  for (const reference of await localImportReferences(args.workspace, file)) {
787
+ if (!reference.resolvedFile)
788
+ continue;
780
789
  const to = featureForFile(reference.resolvedFile, args.featuresPath);
781
790
  if (!to || to === from || !args.featureNames.has(to))
782
791
  continue;
@@ -818,6 +827,58 @@ async function addFeatureDependencies(args) {
818
827
  });
819
828
  }
820
829
  }
830
+ async function addUnresolvedLocalImports(args) {
831
+ for (const file of args.workspace.files.filter(isTypeScriptSource)) {
832
+ for (const reference of await localImportReferences(args.workspace, file)) {
833
+ if (reference.resolvedFile)
834
+ continue;
835
+ args.unresolved.push({
836
+ code: "local_import_unresolved",
837
+ message: `Could not resolve local module ${JSON.stringify(reference.importPath)} imported by ${file}.`,
838
+ source: {
839
+ file,
840
+ line: reference.line,
841
+ column: reference.column,
842
+ },
843
+ });
844
+ }
845
+ }
846
+ }
847
+ async function addUnresolvedContractDeclarations(args) {
848
+ for (const file of appMapContractSourceFiles(args.workspace)) {
849
+ const sourceFile = await args.workspace.readSourceFile(file);
850
+ for (const { exportName, declaration } of exportedVariableDeclarations(sourceFile)) {
851
+ if (args.contractIds.has(symbolKey(file, exportName)))
852
+ continue;
853
+ const call = declaration.initializer
854
+ ? findCall(declaration.initializer, new Set(["defineContract"]))
855
+ : undefined;
856
+ if (!call)
857
+ continue;
858
+ args.unresolved.push({
859
+ code: "contract_declaration_unresolved",
860
+ message: `Could not resolve the HTTP method and path for contract ${exportName}.`,
861
+ source: await args.sourceIndex.sourceLocation(file, declaration, exportName),
862
+ });
863
+ }
864
+ }
865
+ }
866
+ function appMapContractSourceFiles(workspace) {
867
+ const contractsPath = directoryPath(workspace.config.paths.contracts);
868
+ const featureOwned = contractsPath === directoryPath(workspace.config.paths.features);
869
+ return workspace.files.filter((file) => {
870
+ if (!file.endsWith(".ts") || file.endsWith(".test.ts"))
871
+ return false;
872
+ if (featureOwned) {
873
+ const prefix = `${contractsPath}/`;
874
+ if (!file.startsWith(prefix))
875
+ return false;
876
+ const parts = file.slice(prefix.length).split("/");
877
+ return parts.length === 2 && parts[1] === "contracts.ts";
878
+ }
879
+ return (file === `${contractsPath}.ts` || file.startsWith(`${contractsPath}/`));
880
+ });
881
+ }
821
882
  async function registryRecord(args) {
822
883
  const initializer = args.declaration.initializer;
823
884
  if (!initializer)
@@ -984,8 +1045,8 @@ function definitionStatus(kind, file, exportName, diagnostics) {
984
1045
  if (!relevant)
985
1046
  return "declared";
986
1047
  return diagnostics.some((diagnostic) => relevant.includes(diagnostic.code) &&
987
- diagnostic.message.includes(file) &&
988
- diagnostic.message.includes(exportName))
1048
+ diagnostic.subject?.file === file &&
1049
+ diagnostic.subject.exportName === exportName)
989
1050
  ? "missing"
990
1051
  : "registered";
991
1052
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app-map.js","sourceRoot":"","sources":["../src/app-map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-map.js","sourceRoot":"","sources":["../src/app-map.ts"],"names":[],"mappings":"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"}
package/dist/choices.d.ts CHANGED
@@ -12,6 +12,12 @@ export type PackageManager = "bun" | "npm" | "pnpm" | "yarn";
12
12
  * Application templates supported by the app template generator.
13
13
  */
14
14
  export type TemplateName = "next";
15
+ /**
16
+ * Stable repair operations supported by doctor fix planning.
17
+ */
18
+ export declare const doctorFixOperationIds: readonly ["package.repair-generated-support", "routes.register-missing", "schedules.register-missing", "tasks.register-missing", "workflows.register-missing", "outbox.register-missing", "listeners.register-missing", "openapi.register-missing"];
19
+ /** Stable identifier for one selectable doctor repair operation. */
20
+ export type DoctorFixOperationId = (typeof doctorFixOperationIds)[number];
15
21
  /**
16
22
  * Optional providers rendered directly by the starter template.
17
23
  *
@@ -23,6 +29,18 @@ export type StarterProviderName = "jobs-inngest" | "mail-resend" | "rate-limit-u
23
29
  * Databases supported by the starter's Drizzle persistence layer.
24
30
  */
25
31
  export type DatabaseName = "sqlite" | "postgres" | "mysql";
32
+ /** Database lifecycle command supported by Beignet. */
33
+ export type DatabaseCommand = "generate" | "migrate" | "seed" | "reset";
34
+ /** Database lifecycle commands shared by the CLI, library, and MCP tool. */
35
+ export declare const databaseCommandChoices: readonly ["generate", "migrate", "seed", "reset"];
36
+ /** Drizzle dialect supported by provider-table schema sync. */
37
+ export type DatabaseSchemaDialect = "sqlite" | "postgres" | "mysql";
38
+ /** Drizzle dialects supported by provider-table schema sync. */
39
+ export declare const databaseSchemaDialectChoices: readonly ["sqlite", "postgres", "mysql"];
40
+ /** Beignet provider table supported by database schema sync. */
41
+ export type DatabaseSchemaTable = "audit" | "idempotency" | "outbox";
42
+ /** Beignet provider tables supported by database schema sync. */
43
+ export declare const databaseSchemaTableChoices: readonly ["audit", "idempotency", "outbox"];
26
44
  /**
27
45
  * Provider setup presets supported by `beignet provider add`.
28
46
  */
@@ -1 +1 @@
1
- {"version":3,"file":"choices.d.ts","sourceRoot":"","sources":["../src/choices.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAC7D;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAClC;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAC3B,cAAc,GACd,aAAa,GACb,oBAAoB,CAAC;AACzB;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAC3D;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,mBAAmB,GACnB,aAAa,GACb,cAAc,GACd,aAAa,GACb,WAAW,GACX,iBAAiB,GACjB,oBAAoB,GACpB,wBAAwB,GACxB,oBAAoB,GACpB,aAAa,GACb,iBAAiB,GACjB,aAAa,GACb,YAAY,GACZ,qBAAqB,CAAC;AAE1B;;GAEG;AACH,eAAO,MAAM,eAAe,mBAEgB,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,qBAAqB,yCAKY,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,sBAAsB,gEAIgB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,eAAe,0CAIgB,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,qBAAqB,0QAegB,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,qBAAqB,0QAAwB,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,GAAG;IAC3E,gBAAgB,EAAE,mBAAmB,EAAE,CAAC;IACxC,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC/B,CAaA;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS,CAWpB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,MAAM,GACd,MAAM,CAWR;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,KAAK,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,sBAAsB,0BAGY,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,uBAAuB,wHAY1B,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,wBAAwB,yBAA0B,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"choices.d.ts","sourceRoot":"","sources":["../src/choices.ts"],"names":[],"mappings":"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"}
package/dist/choices.js CHANGED
@@ -4,6 +4,41 @@
4
4
  * here lets the bin define flag enums and next steps without loading
5
5
  * templates or generators at startup.
6
6
  */
7
+ function defineExhaustiveChoices() {
8
+ return (choices) => choices;
9
+ }
10
+ /**
11
+ * Stable repair operations supported by doctor fix planning.
12
+ */
13
+ export const doctorFixOperationIds = [
14
+ "package.repair-generated-support",
15
+ "routes.register-missing",
16
+ "schedules.register-missing",
17
+ "tasks.register-missing",
18
+ "workflows.register-missing",
19
+ "outbox.register-missing",
20
+ "listeners.register-missing",
21
+ "openapi.register-missing",
22
+ ];
23
+ /** Database lifecycle commands shared by the CLI, library, and MCP tool. */
24
+ export const databaseCommandChoices = defineExhaustiveChoices()([
25
+ "generate",
26
+ "migrate",
27
+ "seed",
28
+ "reset",
29
+ ]);
30
+ /** Drizzle dialects supported by provider-table schema sync. */
31
+ export const databaseSchemaDialectChoices = defineExhaustiveChoices()([
32
+ "sqlite",
33
+ "postgres",
34
+ "mysql",
35
+ ]);
36
+ /** Beignet provider tables supported by database schema sync. */
37
+ export const databaseSchemaTableChoices = defineExhaustiveChoices()([
38
+ "audit",
39
+ "idempotency",
40
+ "outbox",
41
+ ]);
7
42
  /**
8
43
  * Supported scaffold template choices.
9
44
  */
@@ -1 +1 @@
1
- {"version":3,"file":"choices.js","sourceRoot":"","sources":["../src/choices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"choices.js","sourceRoot":"","sources":["../src/choices.ts"],"names":[],"mappings":"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"}
package/dist/db.d.ts CHANGED
@@ -1,7 +1,9 @@
1
- /**
2
- * Database lifecycle operations supported by the Beignet CLI.
3
- */
4
- export type DatabaseCommand = "generate" | "migrate" | "seed" | "reset";
1
+ import { type DatabaseCommand, type DatabaseSchemaDialect, type DatabaseSchemaTable } from "./choices.js";
2
+ export type { DatabaseCommand, DatabaseSchemaDialect, DatabaseSchemaTable, } from "./choices.js";
3
+ /** Default output retained per stream by structured database command callers. */
4
+ export declare const defaultDatabaseCommandMaxOutputBytes: number;
5
+ /** Default timeout used by request-controlled database command callers. */
6
+ export declare const defaultDatabaseCommandTimeoutMs: number;
5
7
  /**
6
8
  * Options for running a database lifecycle command.
7
9
  */
@@ -9,6 +11,12 @@ export type RunDatabaseCommandOptions = {
9
11
  command: DatabaseCommand;
10
12
  cwd?: string;
11
13
  captureOutput?: boolean;
14
+ /** Keep only the last N bytes from each output stream. */
15
+ maxOutputBytes?: number;
16
+ /** Cancel the app-owned database script when the owning request aborts. */
17
+ signal?: AbortSignal;
18
+ /** Stop the app-owned database script after this many milliseconds. */
19
+ timeoutMs?: number;
12
20
  dryRun?: boolean;
13
21
  };
14
22
  /**
@@ -23,6 +31,8 @@ export type RunDatabaseCommandResult = {
23
31
  args: string[];
24
32
  stdout?: string;
25
33
  stderr?: string;
34
+ outputTruncated?: boolean;
35
+ timedOut?: boolean;
26
36
  dryRun: boolean;
27
37
  exitCode: number;
28
38
  };
@@ -54,15 +64,17 @@ type ProcessTerminationPlan = {
54
64
  command: string;
55
65
  args: string[];
56
66
  };
57
- export type DatabaseSchemaDialect = "sqlite" | "postgres" | "mysql";
58
- export type DatabaseSchemaTable = "audit" | "idempotency" | "outbox";
67
+ /** Options for syncing app-owned Beignet provider-table schema re-exports. */
59
68
  export type SyncDatabaseSchemaOptions = {
60
69
  cwd?: string;
61
70
  dialect?: DatabaseSchemaDialect;
62
71
  tables?: readonly DatabaseSchemaTable[];
63
72
  output?: string;
64
73
  dryRun?: boolean;
74
+ /** Cancel before applying pending schema-file writes. */
75
+ signal?: AbortSignal;
65
76
  };
77
+ /** Versioned report returned by `syncDatabaseSchema`. */
66
78
  export type SyncDatabaseSchemaResult = {
67
79
  schemaVersion: 1;
68
80
  command: "schema:sync";
@@ -96,5 +108,4 @@ export declare function detectPackageManager(cwd: string): Promise<string>;
96
108
  export declare function spawnCommand(command: string, args: readonly string[], cwd: string, options: SpawnCommandOptions): Promise<SpawnCommandResult>;
97
109
  export declare function commandOwnsProcessGroup(platform: NodeJS.Platform, options: Pick<SpawnCommandOptions, "signal" | "timeoutMs">): boolean;
98
110
  export declare function commandTerminationPlan(platform: NodeJS.Platform, pid: number | undefined, signal: NodeJS.Signals, ownsProcessGroup: boolean): ProcessTerminationPlan;
99
- export {};
100
111
  //# sourceMappingURL=db.d.ts.map
package/dist/db.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EAEzB,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,iFAAiF;AACjF,eAAO,MAAM,oCAAoC,QAAY,CAAC;AAC9D,2EAA2E;AAC3E,eAAO,MAAM,+BAA+B,QAAkB,CAAC;AAE/D;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,eAAe,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,aAAa,EAAE,CAAC,CAAC;IACjB,OAAO,EAAE,eAAe,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,EAAE,OAAO,CAAC;IACvB,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,sBAAsB,GACvB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEtE,8EAA8E;AAC9E,MAAM,MAAM,yBAAyB,GAAG;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,MAAM,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yDAAyD;IACzD,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,yDAAyD;AACzD,MAAM,MAAM,wBAAwB,GAAG;IACrC,aAAa,EAAE,CAAC,CAAC;IACjB,OAAO,EAAE,aAAa,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,qBAAqB,CAAC;IAC/B,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAaF;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,wBAAwB,CAAC,CAoDnC;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,wBAAwB,CAAC,CAsDnC;AAoSD,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOvE;AAWD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAoG7B;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,WAAW,CAAC,GACzD,OAAO,CAKT;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,MAAM,EAAE,MAAM,CAAC,OAAO,EACtB,gBAAgB,EAAE,OAAO,GACxB,sBAAsB,CAYxB"}
package/dist/db.js CHANGED
@@ -1,17 +1,17 @@
1
1
  import { spawn } from "node:child_process";
2
2
  import { access, mkdir, readFile, writeFile } from "node:fs/promises";
3
3
  import path from "node:path";
4
+ import { databaseSchemaTableChoices, } from "./choices.js";
5
+ /** Default output retained per stream by structured database command callers. */
6
+ export const defaultDatabaseCommandMaxOutputBytes = 64 * 1024;
7
+ /** Default timeout used by request-controlled database command callers. */
8
+ export const defaultDatabaseCommandTimeoutMs = 10 * 60 * 1_000;
4
9
  const databaseScripts = {
5
10
  generate: "db:generate",
6
11
  migrate: "db:migrate",
7
12
  seed: "db:seed",
8
13
  reset: "db:reset",
9
14
  };
10
- const allDatabaseSchemaTables = [
11
- "audit",
12
- "idempotency",
13
- "outbox",
14
- ];
15
15
  /**
16
16
  * Run an app-owned database lifecycle script.
17
17
  *
@@ -20,6 +20,7 @@ const allDatabaseSchemaTables = [
20
20
  * database URLs, and destructive reset behavior explicit in app code.
21
21
  */
22
22
  export async function runDatabaseCommand(options) {
23
+ options.signal?.throwIfAborted();
23
24
  const cwd = path.resolve(options.cwd ?? process.cwd());
24
25
  const script = databaseScripts[options.command];
25
26
  const packageJson = await readPackageJson(cwd);
@@ -28,6 +29,7 @@ export async function runDatabaseCommand(options) {
28
29
  throw new Error(missingDatabaseScriptMessage(options.command, script));
29
30
  }
30
31
  await assertDatabaseCommandPreflight(cwd, options.command, scriptCommand);
32
+ options.signal?.throwIfAborted();
31
33
  const runner = await detectPackageManager(cwd);
32
34
  const args = ["run", script];
33
35
  if (options.dryRun) {
@@ -44,6 +46,9 @@ export async function runDatabaseCommand(options) {
44
46
  }
45
47
  const commandResult = await spawnCommand(runner, args, cwd, {
46
48
  captureOutput: Boolean(options.captureOutput),
49
+ maxOutputBytes: options.maxOutputBytes,
50
+ signal: options.signal,
51
+ timeoutMs: options.timeoutMs,
47
52
  });
48
53
  return {
49
54
  schemaVersion: 1,
@@ -57,6 +62,8 @@ export async function runDatabaseCommand(options) {
57
62
  ...(options.captureOutput
58
63
  ? { stdout: commandResult.stdout, stderr: commandResult.stderr }
59
64
  : {}),
65
+ ...(commandResult.outputTruncated ? { outputTruncated: true } : {}),
66
+ ...(commandResult.timedOut ? { timedOut: true } : {}),
60
67
  };
61
68
  }
62
69
  /**
@@ -67,9 +74,10 @@ export async function runDatabaseCommand(options) {
67
74
  * `beignet db migrate`.
68
75
  */
69
76
  export async function syncDatabaseSchema(options = {}) {
77
+ options.signal?.throwIfAborted();
70
78
  const cwd = path.resolve(options.cwd ?? process.cwd());
71
79
  const dialect = await resolveDatabaseSchemaDialect(cwd, options.dialect);
72
- const tables = uniqueSchemaTables(options.tables ?? allDatabaseSchemaTables);
80
+ const tables = uniqueSchemaTables(options.tables ?? databaseSchemaTableChoices);
73
81
  const output = normalizeAppRelativePath(cwd, options.output ?? "infra/db/schema/beignet.ts", "schema output");
74
82
  const indexFile = normalizeAppRelativePath(cwd, path.join(path.dirname(output), "index.ts"), "schema index");
75
83
  if (output === indexFile) {
@@ -88,6 +96,7 @@ export async function syncDatabaseSchema(options = {}) {
88
96
  skippedFiles: [],
89
97
  dryRun: Boolean(options.dryRun),
90
98
  };
99
+ options.signal?.throwIfAborted();
91
100
  const schemaStatus = await writeProjectFile(cwd, output, renderDatabaseSchema(dialect, tables), result.dryRun);
92
101
  recordFileStatus(result, output, schemaStatus);
93
102
  const indexStatus = await updateSchemaIndex(cwd, indexFile, output, result.dryRun);
@@ -219,7 +228,7 @@ const schemaTableDefinitions = {
219
228
  outbox: { exportName: "outboxMessages", tableName: "outbox_messages" },
220
229
  };
221
230
  function uniqueSchemaTables(tables) {
222
- const unique = allDatabaseSchemaTables.filter((table) => tables.includes(table));
231
+ const unique = databaseSchemaTableChoices.filter((table) => tables.includes(table));
223
232
  if (unique.length === 0) {
224
233
  throw new Error("At least one schema table must be selected.");
225
234
  }
@@ -374,6 +383,9 @@ export function spawnCommand(command, args, cwd, options) {
374
383
  child.on("close", (code) => {
375
384
  if (settled)
376
385
  return;
386
+ if (timedOut && ownsProcessGroup && forceKillTimeout) {
387
+ terminateChild(child, "SIGKILL", ownsProcessGroup);
388
+ }
377
389
  settled = true;
378
390
  cleanup();
379
391
  resolve({
@@ -402,6 +414,7 @@ export function spawnCommand(command, args, cwd, options) {
402
414
  timedOut = true;
403
415
  terminateChild(child, "SIGTERM", ownsProcessGroup);
404
416
  forceKillTimeout = setTimeout(() => {
417
+ forceKillTimeout = undefined;
405
418
  if (!settled)
406
419
  terminateChild(child, "SIGKILL", ownsProcessGroup);
407
420
  }, 1_000);