@typed-sql/cli 2.0.0 → 2.1.0-rc.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # @typed-sql/cli
2
2
 
3
+ ## 2.1.0-rc.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Publish the coherent 2.1.0-rc.1 release-candidate train.
8
+
9
+ ## 2.1.0-rc.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 65b662f: Add structured opt-in debug events and confirmed support-bundle generation with privacy-safe default redaction.
14
+ - 4a12de5: Reject unsupported TypeScript compiler and preview patches before project work begins. Add
15
+ `typed-sql doctor` with human and JSON reports for Node.js, TypeScript, grammar, schema, redacted
16
+ server evidence, language-server/bridge metadata, and editor protocol compatibility.
17
+ - 1c64475: Add deterministic versioned dialect capability states backed by normalized server versions,
18
+ settings, extensions, and compile options. Query manifests now invalidate on capability changes and
19
+ record evidence for capabilities each query uses, while the CLI exposes a human-readable capability
20
+ report. The boolean capability map remains available as an additive migration bridge.
21
+
22
+ ### Patch Changes
23
+
24
+ - Updated dependencies [58bd4d1]
25
+ - Updated dependencies [58aa9ef]
26
+ - Updated dependencies [f902a97]
27
+ - Updated dependencies [65b662f]
28
+ - Updated dependencies [e433feb]
29
+ - Updated dependencies [0efc90c]
30
+ - Updated dependencies [ff0e3bb]
31
+ - Updated dependencies [6f5b977]
32
+ - Updated dependencies [1c64475]
33
+ - Updated dependencies [1c64475]
34
+ - Updated dependencies [1c64475]
35
+ - Updated dependencies [5d5d849]
36
+ - Updated dependencies [4a12de5]
37
+ - Updated dependencies [1c64475]
38
+ - @typed-sql/core@2.1.0-rc.0
39
+ - @typed-sql/compiler@2.1.0-rc.0
40
+ - @typed-sql/config@2.1.0-rc.0
41
+ - @typed-sql/schema@2.1.0-rc.0
42
+
3
43
  ## 2.0.0
4
44
 
5
45
  ### Major Changes
package/README.md CHANGED
@@ -14,6 +14,7 @@ Install a grammar and its application-owned driver, then create `typed-sql.confi
14
14
 
15
15
  ```sh
16
16
  pnpm exec typed-sql generate
17
+ pnpm exec typed-sql doctor
17
18
  pnpm exec typed-sql check --file src/query.ts --project tsconfig.json
18
19
  pnpm exec typed-sql drift
19
20
  pnpm exec typed-sql manifest
@@ -26,6 +27,11 @@ pnpm exec typed-sql compat --before before.schema.json --after after.schema.json
26
27
  Use `--config path/to/typed-sql.config.ts` to bypass config discovery. Run
27
28
  `pnpm exec typed-sql --help` for command options.
28
29
 
30
+ `typed-sql doctor` checks the exact Node.js and TypeScript boundary, grammar and schema identities,
31
+ redacted server evidence, installed language-server/bridge metadata, and editor protocol window.
32
+ Use `--json` for automation and `--protocol <version>` to check a specific client. The report emits
33
+ hashes and setting names, never setting values, schema expressions, source text, or absolute paths.
34
+
29
35
  The CLI contains no PostgreSQL, MySQL, `pg`, or `mysql2` dependency. It loads the installed grammar
30
36
  and schema provider through the application config. Read
31
37
  [Configuration](https://github.com/Lojhan/typed-sql/blob/main/docs/getting-started/configuration.md) and
@@ -1,11 +1,24 @@
1
1
  #!/usr/bin/env node
2
+ import { createHash } from "node:crypto";
2
3
  import { mkdir, readFile, writeFile } from "node:fs/promises";
4
+ import { createRequire } from "node:module";
3
5
  import { dirname, join, parse, resolve } from "node:path";
4
6
  import { fileURLToPath } from "node:url";
5
- import { analyzeSchemaCompatibility, assertQueryVerificationProofCurrent, buildQueryManifest, captureQueryPlans, checkFile, collectQueryVerificationCandidates, listProjectSourceFiles, parseQueryManifest, parseQueryPlanArtifact, parseQueryVerificationProof, reviewQueryPlans, serializeQueryManifest, serializeQueryPlanArtifact, serializeQueryPlanReviewReport, serializeQueryVerificationProof, serializeSchemaCompatibilityReport, verifyQueryManifest, } from "@typed-sql/compiler";
7
+ import { analyzeSchemaCompatibility, assertQueryVerificationProofCurrent, buildQueryManifest, captureQueryPlans, checkFile, collectQueryVerificationCandidates, listProjectSourceFiles, parseQueryManifest, parseQueryPlanArtifact, parseQueryVerificationProof, reviewQueryPlans, serializeQueryManifest, serializeQueryPlanArtifact, serializeQueryPlanReviewReport, serializeQueryVerificationProof, serializeSchemaCompatibilityReport, TYPESCRIPT_COMPILER_SUPPORT_POLICY, typeScriptCompilerVersionSupport, verifyQueryManifest, } from "@typed-sql/compiler";
6
8
  import { fromConfig, loadConfig } from "@typed-sql/config";
7
- import { checkSchemaDrift, generateSchemaPackage, loadGeneratedSchemaSnapshot, parseSchemaSnapshot, } from "@typed-sql/schema";
8
- const commands = new Set(["check", "compat", "explain", "generate", "drift", "manifest", "verify"]);
9
+ import { createDebugEvent, createSupportBundle, resolveDialectCapabilityStates, serializeSupportBundle, } from "@typed-sql/core";
10
+ import { calculateSchemaHash, calculateTypePolicyHash, checkSchemaDrift, generateSchemaPackage, loadGeneratedSchemaSnapshot, parseSchemaSnapshot, } from "@typed-sql/schema";
11
+ const commands = new Set([
12
+ "capabilities",
13
+ "check",
14
+ "compat",
15
+ "doctor",
16
+ "explain",
17
+ "generate",
18
+ "drift",
19
+ "manifest",
20
+ "verify",
21
+ ]);
9
22
  async function packageVersion() {
10
23
  let directory = dirname(fileURLToPath(import.meta.url));
11
24
  const root = parse(directory).root;
@@ -30,8 +43,10 @@ Usage:
30
43
  typed-sql <command> [options]
31
44
 
32
45
  Commands:
46
+ capabilities Report versioned grammar support from the generated snapshot
33
47
  check Infer SQL result types and verify them with TypeScript 7
34
48
  compat Analyze rolling-deployment compatibility from two snapshots and manifests
49
+ doctor Report runtime, compiler, grammar, schema, server, and editor compatibility
35
50
  explain Capture and review structured database query plans
36
51
  generate Introspect or load a schema snapshot and generate the typed contract
37
52
  drift Compare the generated contract with the live database catalog
@@ -43,8 +58,12 @@ Global options:
43
58
  -v, --version Show the installed CLI version
44
59
 
45
60
  Examples:
61
+ typed-sql capabilities --config typed-sql.config.ts
46
62
  typed-sql check --config typed-sql.config.ts --file src/query.ts --project tsconfig.json
47
63
  typed-sql compat --before schema.before.json --after schema.after.json --before-manifest old.json --after-manifest new.json
64
+ typed-sql doctor --config typed-sql.config.ts --json
65
+ typed-sql doctor --config typed-sql.config.ts --support-bundle-preview
66
+ typed-sql doctor --config typed-sql.config.ts --support-bundle support.json --confirm-support-bundle
48
67
  typed-sql explain --manifest .typed-sql/queries.json --out .typed-sql/plans.json
49
68
  typed-sql explain --compare .typed-sql/plans.json
50
69
  typed-sql generate --config typed-sql.config.ts --out generated/db
@@ -60,8 +79,11 @@ function parseArguments(args) {
60
79
  const argument = args[index];
61
80
  if (!argument.startsWith("--"))
62
81
  throw new Error(`Unexpected argument ${argument}`);
63
- if (argument === "--live") {
64
- options.live = "true";
82
+ if (argument === "--live" ||
83
+ argument === "--json" ||
84
+ argument === "--support-bundle-preview" ||
85
+ argument === "--confirm-support-bundle") {
86
+ options[argument.slice(2)] = "true";
65
87
  continue;
66
88
  }
67
89
  const equals = argument.indexOf("=");
@@ -86,6 +108,65 @@ function required(options, name) {
86
108
  async function readSnapshot(path, validate) {
87
109
  return validate(JSON.parse(await readFile(path, "utf8")));
88
110
  }
111
+ async function packageMetadata(directory, name) {
112
+ const require = createRequire(join(directory, "package.json"));
113
+ let file;
114
+ try {
115
+ file = require.resolve(`${name}/package.json`);
116
+ }
117
+ catch (error) {
118
+ if (!(error instanceof Error && "code" in error && error.code === "ERR_PACKAGE_PATH_NOT_EXPORTED")) {
119
+ if (error instanceof Error && "code" in error && error.code === "MODULE_NOT_FOUND")
120
+ return undefined;
121
+ throw error;
122
+ }
123
+ let entry;
124
+ try {
125
+ entry = require.resolve(name);
126
+ }
127
+ catch (entryError) {
128
+ if (entryError instanceof Error && "code" in entryError && entryError.code === "MODULE_NOT_FOUND") {
129
+ return undefined;
130
+ }
131
+ throw entryError;
132
+ }
133
+ let current = dirname(entry);
134
+ const root = parse(current).root;
135
+ while (true) {
136
+ const candidate = join(current, "package.json");
137
+ try {
138
+ const manifest = JSON.parse(await readFile(candidate, "utf8"));
139
+ if (manifest.name === name) {
140
+ file = candidate;
141
+ break;
142
+ }
143
+ }
144
+ catch (readError) {
145
+ if (!(readError instanceof Error && "code" in readError && readError.code === "ENOENT"))
146
+ throw readError;
147
+ }
148
+ if (current === root)
149
+ return undefined;
150
+ current = dirname(current);
151
+ }
152
+ }
153
+ const value = JSON.parse(await readFile(file, "utf8"));
154
+ return {
155
+ ...(typeof value.version === "string" ? { version: value.version } : {}),
156
+ ...(typeof value.typedSql === "object" && value.typedSql !== null
157
+ ? { typedSql: value.typedSql }
158
+ : {}),
159
+ };
160
+ }
161
+ function nodeVersionSupport(value) {
162
+ const match = /^v?(\d+)\.(\d+)\.(\d+)/u.exec(value);
163
+ if (match === null)
164
+ return "unknown";
165
+ const major = Number(match[1]);
166
+ const minor = Number(match[2]);
167
+ return major > 22 || (major === 22 && minor >= 11) ? "supported" : "unsupported";
168
+ }
169
+ const fingerprint = (value) => `sha256:${createHash("sha256").update(JSON.stringify(value)).digest("hex")}`;
89
170
  async function readPreviousManifest(path) {
90
171
  try {
91
172
  return parseQueryManifest(JSON.parse(await readFile(path, "utf8")));
@@ -159,6 +240,170 @@ async function main() {
159
240
  const dialect = config.dialect;
160
241
  const policy = config.typePolicy ?? dialect.defaultTypePolicy;
161
242
  const schemaFile = fromConfig(loaded.directory, parsed.options.schema ?? config.schema.file);
243
+ if (parsed.command === "doctor") {
244
+ if (parsed.options.json !== undefined && parsed.options.json !== "true") {
245
+ throw new Error("--json does not accept a value");
246
+ }
247
+ const requestedProtocol = parsed.options.protocol === undefined ? undefined : Number(parsed.options.protocol);
248
+ if (requestedProtocol !== undefined && (!Number.isSafeInteger(requestedProtocol) || requestedProtocol < 1)) {
249
+ throw new Error("--protocol must be a positive integer");
250
+ }
251
+ const schema = await readSnapshot(schemaFile, (value) => dialect.validateSnapshot(value));
252
+ const states = resolveDialectCapabilityStates(dialect, schema, policy);
253
+ const [typescript, languageServer, bridge] = await Promise.all([
254
+ packageMetadata(loaded.directory, "typescript"),
255
+ packageMetadata(loaded.directory, "@typed-sql/language-server"),
256
+ packageMetadata(loaded.directory, "@typed-sql/ts-bridge"),
257
+ ]);
258
+ const typescriptVersion = typescript?.version;
259
+ const typescriptSupport = typescriptVersion === undefined ? "unknown" : typeScriptCompilerVersionSupport(typescriptVersion);
260
+ const acceptedProtocols = Array.isArray(languageServer?.typedSql?.acceptedProtocolVersions)
261
+ ? languageServer.typedSql.acceptedProtocolVersions.filter((value) => Number.isSafeInteger(value) && value > 0)
262
+ : [];
263
+ const legacyProtocol = languageServer?.typedSql?.legacyUnversionedProtocolVersion;
264
+ const clientProtocol = requestedProtocol ??
265
+ (typeof legacyProtocol === "number" && Number.isSafeInteger(legacyProtocol) ? legacyProtocol : undefined);
266
+ const protocolCompatibility = languageServer === undefined
267
+ ? "not-installed"
268
+ : clientProtocol !== undefined && acceptedProtocols.includes(clientProtocol)
269
+ ? "compatible"
270
+ : "unsupported";
271
+ const errors = [];
272
+ const warnings = [];
273
+ const nodeSupport = nodeVersionSupport(process.version);
274
+ if (nodeSupport !== "supported")
275
+ errors.push(`Node.js ${process.version} is outside the supported runtime range.`);
276
+ if (typescriptSupport !== "supported") {
277
+ errors.push(`TypeScript ${typescriptVersion ?? "not installed"} does not match ${TYPESCRIPT_COMPILER_SUPPORT_POLICY.exactVersion}.`);
278
+ }
279
+ if (languageServer === undefined)
280
+ warnings.push("@typed-sql/language-server is not installed; editor analysis is optional.");
281
+ else {
282
+ if (bridge === undefined)
283
+ errors.push("@typed-sql/language-server is installed without @typed-sql/ts-bridge.");
284
+ if (protocolCompatibility !== "compatible") {
285
+ errors.push(`Editor protocol ${clientProtocol ?? "unversioned"} is outside the installed server window.`);
286
+ }
287
+ const serverPreview = languageServer.typedSql?.typescriptPreviewVersion;
288
+ const bridgePreview = bridge?.typedSql?.typescriptPreviewVersion;
289
+ if (typeof serverPreview !== "string" || typeof bridgePreview !== "string" || serverPreview !== bridgePreview) {
290
+ errors.push("Language-server and bridge TypeScript preview metadata do not match.");
291
+ }
292
+ }
293
+ const capabilityLevels = { exact: 0, conservative: 0, unsupported: 0 };
294
+ for (const state of Object.values(states))
295
+ capabilityLevels[state.level] += 1;
296
+ const report = {
297
+ formatVersion: 1,
298
+ status: errors.length === 0 ? "ok" : "error",
299
+ runtime: { node: { version: process.version, support: nodeSupport } },
300
+ typescript: {
301
+ version: typescriptVersion ?? null,
302
+ expected: TYPESCRIPT_COMPILER_SUPPORT_POLICY.exactVersion,
303
+ support: typescriptSupport,
304
+ },
305
+ grammar: {
306
+ id: dialect.id,
307
+ version: dialect.grammarVersion,
308
+ capabilityFingerprint: fingerprint(states),
309
+ capabilityLevels,
310
+ },
311
+ schema: {
312
+ formatVersion: schema.formatVersion,
313
+ dialect: schema.dialect,
314
+ dialectVersion: schema.dialectVersion ?? null,
315
+ hash: calculateSchemaHash(schema),
316
+ typePolicyHash: calculateTypePolicyHash(policy),
317
+ },
318
+ server: schema.server === undefined
319
+ ? null
320
+ : {
321
+ product: schema.server.product,
322
+ version: schema.server.version,
323
+ versionKey: schema.server.versionKey,
324
+ featureCount: schema.server.features.length,
325
+ settingKeys: Object.keys(schema.server.settings).sort(),
326
+ },
327
+ editor: {
328
+ languageServer: {
329
+ installed: languageServer !== undefined,
330
+ version: languageServer?.version ?? null,
331
+ releaseTrack: languageServer?.typedSql?.releaseTrack ?? null,
332
+ },
333
+ bridge: {
334
+ installed: bridge !== undefined,
335
+ version: bridge?.version ?? null,
336
+ backend: bridge?.typedSql?.typescriptBackend ?? null,
337
+ typescriptPreviewVersion: bridge?.typedSql?.typescriptPreviewVersion ?? null,
338
+ },
339
+ protocol: {
340
+ client: requestedProtocol === undefined ? "legacy-unversioned" : requestedProtocol,
341
+ normalizedClientVersion: clientProtocol ?? null,
342
+ acceptedVersions: acceptedProtocols,
343
+ compatibility: protocolCompatibility,
344
+ },
345
+ },
346
+ errors,
347
+ warnings,
348
+ };
349
+ const supportBundlePath = parsed.options["support-bundle"];
350
+ const previewSupportBundle = parsed.options["support-bundle-preview"] === "true";
351
+ const confirmSupportBundle = parsed.options["confirm-support-bundle"] === "true";
352
+ if (confirmSupportBundle && supportBundlePath === undefined)
353
+ throw new Error("--confirm-support-bundle requires --support-bundle <path>");
354
+ if (supportBundlePath !== undefined && !confirmSupportBundle)
355
+ throw new Error("Preview the inventory, then pass --confirm-support-bundle to write the support bundle");
356
+ if (previewSupportBundle || supportBundlePath !== undefined) {
357
+ const bundle = createSupportBundle([
358
+ createDebugEvent({
359
+ phase: "doctor",
360
+ event: "compatibility",
361
+ ...(report.status === "error" ? { failure: { code: "TSQL_DOCTOR", classification: "compatibility" } } : {}),
362
+ context: report,
363
+ }),
364
+ ], { version, node: { version: process.version } });
365
+ process.stderr.write(`Support bundle inventory:\n${JSON.stringify(bundle.inventory, null, 2)}\n`);
366
+ if (supportBundlePath !== undefined) {
367
+ const path = resolve(supportBundlePath);
368
+ await mkdir(dirname(path), { recursive: true });
369
+ await writeFile(path, serializeSupportBundle(bundle));
370
+ process.stderr.write(`Wrote redacted support bundle to ${path}\n`);
371
+ }
372
+ }
373
+ if (parsed.options.json === "true")
374
+ process.stdout.write(`${JSON.stringify(report, null, 2)}\n`);
375
+ else {
376
+ process.stdout.write([
377
+ `typed-sql doctor: ${report.status}`,
378
+ `Node.js: ${report.runtime.node.version} (${report.runtime.node.support})`,
379
+ `TypeScript: ${report.typescript.version ?? "not installed"} (${report.typescript.support}; expected ${report.typescript.expected})`,
380
+ `Grammar: ${report.grammar.id} ${report.grammar.version}`,
381
+ `Schema: format ${report.schema.formatVersion} ${report.schema.hash}`,
382
+ `Server: ${report.server === null ? "no evidence" : `${report.server.product} ${report.server.version}`}`,
383
+ `Language server: ${report.editor.languageServer.installed ? `${report.editor.languageServer.version} (${report.editor.protocol.compatibility})` : "not installed (optional)"}`,
384
+ ...errors.map((message) => `error: ${message}`),
385
+ ...warnings.map((message) => `warning: ${message}`),
386
+ "",
387
+ ].join("\n"));
388
+ }
389
+ if (errors.length > 0)
390
+ process.exitCode = 1;
391
+ return;
392
+ }
393
+ if (parsed.command === "capabilities") {
394
+ const schema = await readSnapshot(schemaFile, (value) => dialect.validateSnapshot(value));
395
+ const states = resolveDialectCapabilityStates(dialect, schema, policy);
396
+ process.stdout.write([
397
+ `Capabilities for ${dialect.id} grammar ${dialect.grammarVersion}`,
398
+ ...Object.entries(states).flatMap(([capability, state]) => [
399
+ `${capability}: ${state.level}${state.diagnostic === undefined ? "" : ` (${state.diagnostic})`}`,
400
+ ` ${state.reason}`,
401
+ ...state.evidence.map(({ kind, key, value }) => ` ${kind}: ${key}=${value}`),
402
+ ]),
403
+ "",
404
+ ].join("\n"));
405
+ return;
406
+ }
162
407
  if (parsed.command === "compat") {
163
408
  const beforeFile = fromConfig(loaded.directory, required(parsed.options, "before"));
164
409
  const afterFile = fromConfig(loaded.directory, required(parsed.options, "after"));
@@ -378,7 +623,8 @@ async function main() {
378
623
  const current = await config.schema.provider.introspect();
379
624
  const drift = checkSchemaDrift(generated, current, policy);
380
625
  if (drift.drifted) {
381
- process.stderr.write(`error TSQ301: Schema drift detected (schemaChanged=${drift.schemaChanged}, typePolicyChanged=${drift.typePolicyChanged})\n`);
626
+ const changes = drift.changes.map(({ kind, key }) => `${kind}:${key}`).join(",");
627
+ process.stderr.write(`error TSQ301: Schema drift detected (schemaChanged=${drift.schemaChanged}, typePolicyChanged=${drift.typePolicyChanged}, changes=${changes})\n`);
382
628
  process.exitCode = 1;
383
629
  }
384
630
  else
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../src/cli.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typed-sql/cli",
3
- "version": "2.0.0",
3
+ "version": "2.1.0-rc.1",
4
4
  "description": "Config-driven typed-sql generation, checking, verification, and migration compatibility CLI.",
5
5
  "license": "MIT",
6
6
  "author": "Lojhan",
@@ -35,10 +35,10 @@
35
35
  "typed-sql": "./dist/packages/cli/src/cli.js"
36
36
  },
37
37
  "dependencies": {
38
- "@typed-sql/config": "2.0.0",
39
- "@typed-sql/schema": "2.0.0",
40
- "@typed-sql/core": "2.0.0",
41
- "@typed-sql/compiler": "2.0.0"
38
+ "@typed-sql/compiler": "2.1.0-rc.1",
39
+ "@typed-sql/core": "2.1.0-rc.1",
40
+ "@typed-sql/schema": "2.1.0-rc.1",
41
+ "@typed-sql/config": "2.1.0-rc.1"
42
42
  },
43
43
  "scripts": {
44
44
  "test": "poku test --reporter=compact --enforce",