@supatype/cli 0.1.11 → 0.1.12
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/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-test.log +135 -135
- package/.turbo/turbo-typecheck.log +1 -1
- package/dist/cli-version-embedded.js +1 -1
- package/dist/db-preflight.d.ts +23 -0
- package/dist/db-preflight.d.ts.map +1 -1
- package/dist/db-preflight.js +66 -1
- package/dist/db-preflight.js.map +1 -1
- package/package.json +1 -1
- package/src/cli-version-embedded.ts +1 -1
- package/src/db-preflight.ts +89 -1
- package/tests/db-preflight.test.ts +80 -0
- package/tsconfig.tsbuildinfo +1 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @supatype/cli@0.1.
|
|
2
|
+
> @supatype/cli@0.1.12 build /home/runner/work/supatype/supatype/packages/cli
|
|
3
3
|
> tsc --project tsconfig.json && node --input-type=module -e "import{cpSync,mkdirSync}from'node:fs';const a='dist/assets';mkdirSync(a,{recursive:true});cpSync('assets/supatype-logo-wordmark.ascii.txt',a+'/supatype-logo-wordmark.ascii.txt')"
|
|
4
4
|
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
|
|
2
|
-
> @supatype/cli@0.1.
|
|
2
|
+
> @supatype/cli@0.1.12 test /home/runner/work/supatype/supatype/packages/cli
|
|
3
3
|
> vitest run
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
[1m[46m RUN [49m[22m [36mv4.0.18 [39m[90m/home/runner/work/supatype/supatype/packages/cli[39m
|
|
7
7
|
|
|
8
|
-
[32m✓[39m tests/
|
|
9
|
-
[32m✓[39m tests/
|
|
10
|
-
[32m✓[39m tests/runtime-contract.test.ts [2m([22m[2m49 tests[22m[2m)[22m[32m
|
|
11
|
-
[32m✓[39m tests/model-hooks.test.ts [2m([22m[2m19 tests[22m[2m)[22m[32m
|
|
8
|
+
[32m✓[39m tests/access-composition.test.ts [2m([22m[2m26 tests[22m[2m)[22m[32m 157[2mms[22m[39m
|
|
9
|
+
[32m✓[39m tests/type-extractor.test.ts [2m([22m[2m43 tests[22m[2m)[22m[33m 304[2mms[22m[39m
|
|
10
|
+
[32m✓[39m tests/runtime-contract.test.ts [2m([22m[2m49 tests[22m[2m)[22m[32m 178[2mms[22m[39m
|
|
11
|
+
[32m✓[39m tests/model-hooks.test.ts [2m([22m[2m19 tests[22m[2m)[22m[32m 165[2mms[22m[39m
|
|
12
12
|
[90mstdout[2m | tests/init.test.ts[2m > [22m[2mscaffold()[2m > [22m[2mcreates all expected files
|
|
13
13
|
[22m[39m created package.json
|
|
14
14
|
created supatype.config.ts
|
|
@@ -295,11 +295,11 @@
|
|
|
295
295
|
created public/.gitkeep
|
|
296
296
|
created .gitignore
|
|
297
297
|
|
|
298
|
-
[32m✓[39m tests/init.test.ts [2m([22m[2m26 tests[22m[2m)[22m[32m
|
|
299
|
-
[32m✓[39m tests/
|
|
300
|
-
[32m✓[39m tests/
|
|
298
|
+
[32m✓[39m tests/init.test.ts [2m([22m[2m26 tests[22m[2m)[22m[32m 155[2mms[22m[39m
|
|
299
|
+
[32m✓[39m tests/external-database-compose.test.ts [2m([22m[2m17 tests[22m[2m)[22m[32m 14[2mms[22m[39m
|
|
300
|
+
[32m✓[39m tests/field-masking-tier.test.ts [2m([22m[2m16 tests[22m[2m)[22m[32m 16[2mms[22m[39m
|
|
301
301
|
|
|
302
|
-
[32m✓[39m tests/dev-ui.test.ts [2m([22m[2m21 tests[22m[2m)[22m[32m
|
|
302
|
+
[32m✓[39m tests/dev-ui.test.ts [2m([22m[2m21 tests[22m[2m)[22m[32m 131[2mms[22m[39m
|
|
303
303
|
|
|
304
304
|
[supatype] Shutting down…
|
|
305
305
|
[90mstdout[2m | tests/docker-runtime.test.ts[2m > [22m[2mrequireDockerDaemon[2m > [22m[2mexits when the daemon is unavailable
|
|
@@ -310,47 +310,48 @@
|
|
|
310
310
|
|
|
311
311
|
docker: daemon down
|
|
312
312
|
|
|
313
|
-
[32m✓[39m tests/docker-runtime.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m
|
|
314
|
-
[32m✓[39m tests/hooks-generator.test.ts [2m([22m[2m5 tests[22m[2m)[22m[33m
|
|
315
|
-
[33m[2m✓[22m[39m typechecks under strict mode, together with a handler that uses it [33m
|
|
316
|
-
[33m[2m✓[22m[39m rejects a handler for a table that declares no hook [33m
|
|
317
|
-
[32m✓[39m tests/config.test.ts [2m([22m[2m19 tests[22m[2m)[22m[33m
|
|
318
|
-
[33m[2m✓[22m[39m loads a valid supatype.config.ts (plain export default, no package imports) [33m
|
|
319
|
-
[33m[2m✓[22m[39m normalizes shorthand schema string to { path, pg_schema } [33m
|
|
320
|
-
[33m[2m✓[22m[39m loads a supatype.config.js (plain ESM) [33m
|
|
321
|
-
[33m[2m✓[22m[39m loads config without a versions section (latest by default) [33m
|
|
322
|
-
[33m[2m✓[22m[39m prefers supatype.config.ts over supatype.config.js when both exist [33m
|
|
323
|
-
[33m[2m✓[22m[39m supports optional output field in config [33m
|
|
324
|
-
[33m[2m✓[22m[39m merges supatype.local.config.ts over base [33m
|
|
325
|
-
[33m[2m✓[22m[39m loads defineConfig import before @supatype/cli is installed (init scaffold) [33m
|
|
326
|
-
[32m✓[39m tests/
|
|
327
|
-
|
|
328
|
-
[33m[2m✓[22m[39m tsc
|
|
329
|
-
|
|
330
|
-
[32m✓[39m tests/
|
|
331
|
-
|
|
332
|
-
[33m[2m✓[22m[39m
|
|
333
|
-
[33m[2m✓[22m[39m
|
|
334
|
-
|
|
335
|
-
[32m✓[39m tests/
|
|
313
|
+
[32m✓[39m tests/docker-runtime.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m 31[2mms[22m[39m
|
|
314
|
+
[32m✓[39m tests/hooks-generator.test.ts [2m([22m[2m5 tests[22m[2m)[22m[33m 6103[2mms[22m[39m
|
|
315
|
+
[33m[2m✓[22m[39m typechecks under strict mode, together with a handler that uses it [33m 3057[2mms[22m[39m
|
|
316
|
+
[33m[2m✓[22m[39m rejects a handler for a table that declares no hook [33m 3005[2mms[22m[39m
|
|
317
|
+
[32m✓[39m tests/config.test.ts [2m([22m[2m19 tests[22m[2m)[22m[33m 8949[2mms[22m[39m
|
|
318
|
+
[33m[2m✓[22m[39m loads a valid supatype.config.ts (plain export default, no package imports) [33m 762[2mms[22m[39m
|
|
319
|
+
[33m[2m✓[22m[39m normalizes shorthand schema string to { path, pg_schema } [33m 876[2mms[22m[39m
|
|
320
|
+
[33m[2m✓[22m[39m loads a supatype.config.js (plain ESM) [33m 841[2mms[22m[39m
|
|
321
|
+
[33m[2m✓[22m[39m loads config without a versions section (latest by default) [33m 938[2mms[22m[39m
|
|
322
|
+
[33m[2m✓[22m[39m prefers supatype.config.ts over supatype.config.js when both exist [33m 935[2mms[22m[39m
|
|
323
|
+
[33m[2m✓[22m[39m supports optional output field in config [33m 932[2mms[22m[39m
|
|
324
|
+
[33m[2m✓[22m[39m merges supatype.local.config.ts over base [33m 1930[2mms[22m[39m
|
|
325
|
+
[33m[2m✓[22m[39m loads defineConfig import before @supatype/cli is installed (init scaffold) [33m 1719[2mms[22m[39m
|
|
326
|
+
[32m✓[39m tests/db-preflight.test.ts [2m([22m[2m14 tests[22m[2m)[22m[32m 15[2mms[22m[39m
|
|
327
|
+
[32m✓[39m tests/functions-deno-types.test.ts [2m([22m[2m7 tests[22m[2m)[22m[33m 4144[2mms[22m[39m
|
|
328
|
+
[33m[2m✓[22m[39m tsc fails with Cannot find name Deno without ambient types [33m 2908[2mms[22m[39m
|
|
329
|
+
[33m[2m✓[22m[39m tsc passes for Deno.env after ensureFunctionsDenoTypes [33m 1215[2mms[22m[39m
|
|
330
|
+
[32m✓[39m tests/external-database-config.test.ts [2m([22m[2m14 tests[22m[2m)[22m[32m 13[2mms[22m[39m
|
|
331
|
+
[32m✓[39m tests/cache-clean.test.ts [2m([22m[2m8 tests[22m[2m)[22m[33m 2514[2mms[22m[39m
|
|
332
|
+
[33m[2m✓[22m[39m keeps pinned versions and removes the rest [33m 832[2mms[22m[39m
|
|
333
|
+
[33m[2m✓[22m[39m --force removes pinned versions [33m 820[2mms[22m[39m
|
|
334
|
+
[33m[2m✓[22m[39m explicit version removes even when pinned (with warning) [33m 829[2mms[22m[39m
|
|
335
|
+
[32m✓[39m tests/command-chrome-coverage.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 20[2mms[22m[39m
|
|
336
|
+
[32m✓[39m tests/hook-upload.test.ts [2m([22m[2m8 tests[22m[2m)[22m[32m 14[2mms[22m[39m
|
|
336
337
|
[32m✓[39m tests/env-file.test.ts [2m([22m[2m9 tests[22m[2m)[22m[32m 16[2mms[22m[39m
|
|
337
338
|
[90mstdout[2m | tests/link.test.ts[2m > [22m[2mlink model[2m > [22m[2mmigrates cloud.json into link.json
|
|
338
339
|
[22m[39m created package.json
|
|
339
340
|
created supatype.config.ts
|
|
340
341
|
created schema/index.ts
|
|
341
342
|
created .env
|
|
342
|
-
[90mstderr[2m | tests/link.test.ts[2m > [22m[2mlink model[2m > [22m[2mmigrates cloud.json into link.json
|
|
343
|
-
[22m[39m[supatype] Migrated .supatype/cloud.json → .supatype/link.json (legacy files kept; remove manually when ready).
|
|
344
343
|
created seed.ts
|
|
345
344
|
created seeds/.gitkeep
|
|
346
345
|
created public/.gitkeep
|
|
347
346
|
created .gitignore
|
|
347
|
+
[90mstderr[2m | tests/link.test.ts[2m > [22m[2mlink model[2m > [22m[2mmigrates cloud.json into link.json
|
|
348
348
|
|
|
349
|
+
[22m[39m[supatype] Migrated .supatype/cloud.json → .supatype/link.json (legacy files kept; remove manually when ready).
|
|
349
350
|
|
|
350
|
-
[32m✓[39m tests/link.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m
|
|
351
|
-
[33m[2m✓[22m[39m resolveTarget returns cloud mode with /api/v1 prefix [33m
|
|
352
|
-
[33m[2m✓[22m[39m resolveTarget returns self-host mode with /platform/v1 prefix [33m
|
|
353
|
-
[33m[2m✓[22m[39m targetSchemaRollback posts to /platform/v1 when linked [33m
|
|
351
|
+
[32m✓[39m tests/link.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 3151[2mms[22m[39m
|
|
352
|
+
[33m[2m✓[22m[39m resolveTarget returns cloud mode with /api/v1 prefix [33m 1039[2mms[22m[39m
|
|
353
|
+
[33m[2m✓[22m[39m resolveTarget returns self-host mode with /platform/v1 prefix [33m 1059[2mms[22m[39m
|
|
354
|
+
[33m[2m✓[22m[39m targetSchemaRollback posts to /platform/v1 when linked [33m 1043[2mms[22m[39m
|
|
354
355
|
[90mstdout[2m | tests/admin-ensure.test.ts[2m > [22m[2minit admin seed in .env[2m > [22m[2mwrites SUPATYPE_ADMIN_* when scaffold options include credentials
|
|
355
356
|
[22m[39m created package.json
|
|
356
357
|
created supatype.config.ts
|
|
@@ -361,8 +362,8 @@
|
|
|
361
362
|
created public/.gitkeep
|
|
362
363
|
created .gitignore
|
|
363
364
|
|
|
364
|
-
[32m✓[39m tests/admin-ensure.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m
|
|
365
|
-
[32m✓[39m tests/service-role-check.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m
|
|
365
|
+
[32m✓[39m tests/admin-ensure.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m 187[2mms[22m[39m
|
|
366
|
+
[32m✓[39m tests/service-role-check.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m 12[2mms[22m[39m
|
|
366
367
|
[90mstdout[2m | tests/admin-studio-membership.test.ts[2m > [22m[2mfirst admin user creation[2m > [22m[2mdoes not write a role into app_metadata
|
|
367
368
|
[22m[39m[supatype] Admin user "admin@example.com" created (role: admin).
|
|
368
369
|
[supatype] Log in at /admin after starting the dev server.
|
|
@@ -379,43 +380,42 @@
|
|
|
379
380
|
[22m[39m[supatype] Admin user "admin@example.com" created (role: admin).
|
|
380
381
|
[supatype] Log in at /admin after starting the dev server.
|
|
381
382
|
|
|
382
|
-
[32m✓[39m tests/admin-studio-membership.test.ts [2m([22m[2m5 tests[22m[2m)[22m[33m
|
|
383
|
-
[32m✓[39m tests/augmentation-generator.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m
|
|
384
|
-
[32m✓[39m tests/pull-utils.test.ts [2m([22m[2m49 tests[22m[2m)[22m[32m
|
|
385
|
-
[32m✓[39m tests/schema-sources.test.ts [2m([22m[2m5 tests[22m[2m)[22m[33m
|
|
386
|
-
[33m[2m✓[22m[39m buildSchemaSourcesPayload includes manifest metadata [33m
|
|
387
|
-
[33m[2m✓[22m[39m restore overwrites modified local files [33m
|
|
383
|
+
[32m✓[39m tests/admin-studio-membership.test.ts [2m([22m[2m5 tests[22m[2m)[22m[33m 488[2mms[22m[39m
|
|
384
|
+
[32m✓[39m tests/augmentation-generator.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 20[2mms[22m[39m
|
|
385
|
+
[32m✓[39m tests/pull-utils.test.ts [2m([22m[2m49 tests[22m[2m)[22m[32m 14[2mms[22m[39m
|
|
386
|
+
[32m✓[39m tests/schema-sources.test.ts [2m([22m[2m5 tests[22m[2m)[22m[33m 1281[2mms[22m[39m
|
|
387
|
+
[33m[2m✓[22m[39m buildSchemaSourcesPayload includes manifest metadata [33m 609[2mms[22m[39m
|
|
388
|
+
[33m[2m✓[22m[39m restore overwrites modified local files [33m 625[2mms[22m[39m
|
|
388
389
|
[90mstderr[2m | tests/binary-cache-cloud-overrides.test.ts[2m > [22m[2misLinkedToCloudProject[2m > [22m[2mis true when .supatype/cloud.json has projectSlug
|
|
389
390
|
[22m[39m[supatype] Migrated .supatype/cloud.json → .supatype/link.json (legacy files kept; remove manually when ready).
|
|
390
391
|
|
|
391
|
-
[32m✓[39m tests/binary-cache-cloud-overrides.test.ts [2m([22m[2m11 tests[22m[2m)[22m[32m
|
|
392
|
-
[32m✓[39m tests/homebrew-formula.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m
|
|
393
|
-
[32m✓[39m tests/minisign.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m
|
|
394
|
-
[32m✓[39m tests/local-secrets.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m
|
|
395
|
-
[32m✓[39m tests/api-schemas.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m
|
|
392
|
+
[32m✓[39m tests/binary-cache-cloud-overrides.test.ts [2m([22m[2m11 tests[22m[2m)[22m[32m 18[2mms[22m[39m
|
|
393
|
+
[32m✓[39m tests/homebrew-formula.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 208[2mms[22m[39m
|
|
394
|
+
[32m✓[39m tests/minisign.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 17[2mms[22m[39m
|
|
395
|
+
[32m✓[39m tests/local-secrets.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 9[2mms[22m[39m
|
|
396
|
+
[32m✓[39m tests/api-schemas.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m 10[2mms[22m[39m
|
|
396
397
|
[90mstdout[2m | tests/storage-provision.test.ts[2m > [22m[2mprovisionBuckets[2m > [22m[2mPOSTs each bucket to the storage API
|
|
397
398
|
[22m[39m[supatype] Storage bucket "photos" ready.
|
|
398
399
|
|
|
399
400
|
[90mstdout[2m | tests/storage-provision.test.ts[2m > [22m[2mprovisionBuckets[2m > [22m[2mPOSTs each bucket to the storage API
|
|
400
401
|
[22m[39m[supatype] Storage bucket "avatars" ready.
|
|
401
402
|
|
|
402
|
-
[32m✓[39m tests/storage-provision.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m
|
|
403
|
-
[32m✓[39m tests/
|
|
404
|
-
[32m✓[39m tests/
|
|
405
|
-
|
|
406
|
-
[33m[2m✓[22m[39m
|
|
407
|
-
[33m[2m✓[22m[39m outputs
|
|
408
|
-
[33m[2m✓[22m[39m
|
|
409
|
-
[33m[2m✓[22m[39m
|
|
410
|
-
[33m[2m✓[22m[39m
|
|
411
|
-
[33m[2m✓[22m[39m
|
|
412
|
-
[33m[2m✓[22m[39m
|
|
413
|
-
[33m[2m✓[22m[39m reads JWT_SECRET from
|
|
414
|
-
[33m[2m✓[22m[39m
|
|
415
|
-
[33m[2m✓[22m[39m
|
|
416
|
-
[33m[2m✓[22m[39m keys --help shows --secret and --exp-years options [33m 1136[2mms[22m[39m
|
|
403
|
+
[32m✓[39m tests/storage-provision.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 12[2mms[22m[39m
|
|
404
|
+
[32m✓[39m tests/cached-artifact-format.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 11[2mms[22m[39m
|
|
405
|
+
[32m✓[39m tests/keys.test.ts [2m([22m[2m11 tests[22m[2m)[22m[33m 18356[2mms[22m[39m
|
|
406
|
+
[33m[2m✓[22m[39m exits 0 with --secret [33m 1919[2mms[22m[39m
|
|
407
|
+
[33m[2m✓[22m[39m outputs ANON_KEY= line [33m 1898[2mms[22m[39m
|
|
408
|
+
[33m[2m✓[22m[39m outputs SERVICE_ROLE_KEY= line [33m 1634[2mms[22m[39m
|
|
409
|
+
[33m[2m✓[22m[39m ANON_KEY is a valid three-part JWT [33m 1372[2mms[22m[39m
|
|
410
|
+
[33m[2m✓[22m[39m SERVICE_ROLE_KEY payload has role: service_role [33m 1517[2mms[22m[39m
|
|
411
|
+
[33m[2m✓[22m[39m JWT has exp in the future [33m 1479[2mms[22m[39m
|
|
412
|
+
[33m[2m✓[22m[39m --exp-years changes the expiry window [33m 2842[2mms[22m[39m
|
|
413
|
+
[33m[2m✓[22m[39m reads JWT_SECRET from environment variable [33m 1572[2mms[22m[39m
|
|
414
|
+
[33m[2m✓[22m[39m reads JWT_SECRET from .env file [33m 1412[2mms[22m[39m
|
|
415
|
+
[33m[2m✓[22m[39m exits non-zero when no secret is available [33m 1301[2mms[22m[39m
|
|
416
|
+
[33m[2m✓[22m[39m keys --help shows --secret and --exp-years options [33m 1405[2mms[22m[39m
|
|
417
417
|
[32m✓[39m tests/target-client-refresh.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 10[2mms[22m[39m
|
|
418
|
-
[32m✓[39m tests/proxy-dev-app.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m
|
|
418
|
+
[32m✓[39m tests/proxy-dev-app.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 7[2mms[22m[39m
|
|
419
419
|
[90mstdout[2m | tests/app-command.test.ts[2m > [22m[2msupatype app add --static[2m > [22m[2msets app.mode=static and static_dir in supatype.config.ts
|
|
420
420
|
[22m[39m created package.json
|
|
421
421
|
created supatype.config.ts
|
|
@@ -436,77 +436,77 @@
|
|
|
436
436
|
created public/.gitkeep
|
|
437
437
|
created .gitignore
|
|
438
438
|
|
|
439
|
-
[32m✓[39m tests/service-role-routes.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m
|
|
440
|
-
[33m[2m✓[22m[39m reads the declared list [33m
|
|
441
|
-
[33m[2m✓[22m[39m is an empty list when a project declares none [33m
|
|
442
|
-
[33m[2m✓[22m[39m sends what the project declared, hook entries included [33m
|
|
443
|
-
[32m✓[39m tests/init-dependency-versions.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m
|
|
444
|
-
[32m✓[39m tests/app-command.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m
|
|
445
|
-
[33m[2m✓[22m[39m sets app.mode=static and static_dir in supatype.config.ts [33m
|
|
446
|
-
[33m[2m✓[22m[39m creates the static directory when missing [33m
|
|
447
|
-
[32m✓[39m tests/type-resolver.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m
|
|
448
|
-
[32m✓[39m tests/engine-push-output.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m
|
|
449
|
-
[32m✓[39m tests/
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
[33m[2m✓[22m[39m
|
|
460
|
-
[33m[2m✓[22m[39m
|
|
461
|
-
[33m[2m✓[22m[39m
|
|
462
|
-
[33m[2m✓[22m[39m
|
|
463
|
-
[33m[2m✓[22m[39m
|
|
464
|
-
[33m[2m✓[22m[39m
|
|
465
|
-
[33m[2m✓[22m[39m
|
|
466
|
-
|
|
467
|
-
|
|
439
|
+
[32m✓[39m tests/service-role-routes.test.ts [2m([22m[2m4 tests[22m[2m)[22m[33m 1708[2mms[22m[39m
|
|
440
|
+
[33m[2m✓[22m[39m reads the declared list [33m 627[2mms[22m[39m
|
|
441
|
+
[33m[2m✓[22m[39m is an empty list when a project declares none [33m 549[2mms[22m[39m
|
|
442
|
+
[33m[2m✓[22m[39m sends what the project declared, hook entries included [33m 527[2mms[22m[39m
|
|
443
|
+
[32m✓[39m tests/init-dependency-versions.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 38[2mms[22m[39m
|
|
444
|
+
[32m✓[39m tests/app-command.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 3092[2mms[22m[39m
|
|
445
|
+
[33m[2m✓[22m[39m sets app.mode=static and static_dir in supatype.config.ts [33m 1528[2mms[22m[39m
|
|
446
|
+
[33m[2m✓[22m[39m creates the static directory when missing [33m 1558[2mms[22m[39m
|
|
447
|
+
[32m✓[39m tests/type-resolver.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 16[2mms[22m[39m
|
|
448
|
+
[32m✓[39m tests/engine-push-output.test.ts [2m([22m[2m7 tests[22m[2m)[22m[32m 8[2mms[22m[39m
|
|
449
|
+
[32m✓[39m tests/tsx-runner.test.ts [2m([22m[2m7 tests[22m[2m)[22m[33m 3030[2mms[22m[39m
|
|
450
|
+
[33m[2m✓[22m[39m evaluates a simple expression and returns stdout [33m 451[2mms[22m[39m
|
|
451
|
+
[33m[2m✓[22m[39m evaluates TypeScript syntax (type annotations) [33m 361[2mms[22m[39m
|
|
452
|
+
[33m[2m✓[22m[39m can serialize a JSON object to stdout [33m 422[2mms[22m[39m
|
|
453
|
+
[33m[2m✓[22m[39m returns non-zero exit code on syntax error [33m 402[2mms[22m[39m
|
|
454
|
+
[33m[2m✓[22m[39m returns non-zero exit code on runtime error [33m 359[2mms[22m[39m
|
|
455
|
+
[33m[2m✓[22m[39m captures stderr separately from stdout [33m 379[2mms[22m[39m
|
|
456
|
+
[33m[2m✓[22m[39m runs a .ts file and returns its stdout [33m 650[2mms[22m[39m
|
|
457
|
+
[32m✓[39m tests/command-chrome-wrap.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 7[2mms[22m[39m
|
|
458
|
+
[32m✓[39m tests/cli-help.test.ts [2m([22m[2m16 tests[22m[2m)[22m[33m 24015[2mms[22m[39m
|
|
459
|
+
[33m[2m✓[22m[39m --help lists all top-level commands [33m 2056[2mms[22m[39m
|
|
460
|
+
[33m[2m✓[22m[39m --version prints package.json version [33m 1897[2mms[22m[39m
|
|
461
|
+
[33m[2m✓[22m[39m self-update --help describes the command [33m 1356[2mms[22m[39m
|
|
462
|
+
[33m[2m✓[22m[39m init --help describes the init command [33m 1430[2mms[22m[39m
|
|
463
|
+
[33m[2m✓[22m[39m push --help describes the push command and --yes flag [33m 1473[2mms[22m[39m
|
|
464
|
+
[33m[2m✓[22m[39m diff --help describes the diff command [33m 1439[2mms[22m[39m
|
|
465
|
+
[33m[2m✓[22m[39m pull --help describes scaffold pull command [33m 1415[2mms[22m[39m
|
|
466
|
+
[33m[2m✓[22m[39m doctor --help describes drift report command [33m 1476[2mms[22m[39m
|
|
467
|
+
[33m[2m✓[22m[39m introspect --help describes database introspection command [33m 1397[2mms[22m[39m
|
|
468
|
+
[33m[2m✓[22m[39m adopt --help describes adoption ceremony command [33m 1408[2mms[22m[39m
|
|
469
|
+
[33m[2m✓[22m[39m reset --help shows --yes flag [33m 1413[2mms[22m[39m
|
|
470
|
+
[33m[2m✓[22m[39m app --help describes the app command with add/remove subcommands [33m 1417[2mms[22m[39m
|
|
471
|
+
[33m[2m✓[22m[39m app add --help shows --static and --port options [33m 1474[2mms[22m[39m
|
|
472
|
+
[33m[2m✓[22m[39m self-host --help shows compose only (legacy commands hidden) [33m 1452[2mms[22m[39m
|
|
473
|
+
[33m[2m✓[22m[39m self-host compose --help shows compose subcommands [33m 1435[2mms[22m[39m
|
|
474
|
+
[33m[2m✓[22m[39m unknown command exits non-zero [33m 1469[2mms[22m[39m
|
|
475
|
+
[32m✓[39m tests/cli-install-method.test.ts [2m([22m[2m8 tests[22m[2m)[22m[32m 8[2mms[22m[39m
|
|
476
|
+
[32m✓[39m tests/archive-name-alias.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 7[2mms[22m[39m
|
|
477
|
+
[32m✓[39m tests/ensure-binary.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 7[2mms[22m[39m
|
|
478
|
+
[32m✓[39m tests/init-project-detect.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 12[2mms[22m[39m
|
|
468
479
|
[32m✓[39m tests/doctor-render.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
|
469
|
-
[32m✓[39m tests/
|
|
470
|
-
[32m✓[39m tests/
|
|
471
|
-
[32m✓[39m tests/
|
|
472
|
-
[32m✓[39m tests/
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
[32m✓[39m tests/
|
|
483
|
-
[32m✓[39m tests/
|
|
484
|
-
[32m✓[39m tests/
|
|
485
|
-
[32m✓[39m tests/docker-postgres.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
486
|
-
[32m✓[39m tests/binary-download-lock.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 7[2mms[22m[39m
|
|
487
|
-
[32m✓[39m tests/dev-session-lock.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
488
|
-
[32m✓[39m tests/dev-ports.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
489
|
-
[32m✓[39m tests/dev-ready-panel.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 3[2mms[22m[39m
|
|
490
|
-
[32m✓[39m tests/route-manifest.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
491
|
-
[32m✓[39m tests/studio-admin-roles.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
492
|
-
[32m✓[39m tests/config-load-failure.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 2975[2mms[22m[39m
|
|
493
|
-
[33m[2m✓[22m[39m is reported, rather than treated as absent [33m 1807[2mms[22m[39m
|
|
494
|
-
[33m[2m✓[22m[39m does not stop the CLI working with no config at all [33m 1164[2mms[22m[39m
|
|
480
|
+
[32m✓[39m tests/required-host-components.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 7[2mms[22m[39m
|
|
481
|
+
[32m✓[39m tests/ui-messages.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
|
482
|
+
[32m✓[39m tests/normalize-admin-config.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 8[2mms[22m[39m
|
|
483
|
+
[32m✓[39m tests/doctor-service-role.test.ts [2m([22m[2m4 tests[22m[2m)[22m[32m 7[2mms[22m[39m
|
|
484
|
+
[32m✓[39m tests/ui-confirm.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
|
485
|
+
[32m✓[39m tests/docker-postgres.test.ts [2m([22m[2m5 tests[22m[2m)[22m[32m 8[2mms[22m[39m
|
|
486
|
+
[32m✓[39m tests/binary-download-lock.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
|
487
|
+
[32m✓[39m tests/dev-session-lock.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
|
488
|
+
[32m✓[39m tests/dev-ports.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 8[2mms[22m[39m
|
|
489
|
+
[32m✓[39m tests/route-manifest.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
490
|
+
[32m✓[39m tests/config-load-failure.test.ts [2m([22m[2m2 tests[22m[2m)[22m[33m 3570[2mms[22m[39m
|
|
491
|
+
[33m[2m✓[22m[39m is reported, rather than treated as absent [33m 2076[2mms[22m[39m
|
|
492
|
+
[33m[2m✓[22m[39m does not stop the CLI working with no config at all [33m 1491[2mms[22m[39m
|
|
493
|
+
[32m✓[39m tests/dev-ready-panel.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
494
|
+
[32m✓[39m tests/studio-admin-roles.test.ts [2m([22m[2m3 tests[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
495
|
+
[32m✓[39m tests/realtime-launch.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
495
496
|
[32m✓[39m tests/release-pins.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 3[2mms[22m[39m
|
|
496
|
-
[32m✓[39m tests/
|
|
497
|
-
[32m✓[39m tests/
|
|
498
|
-
[32m✓[39m tests/
|
|
499
|
-
[32m✓[39m tests/
|
|
500
|
-
[32m✓[39m tests/
|
|
501
|
-
[32m✓[39m tests/resolve-api-url.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m
|
|
502
|
-
[32m✓[39m tests/
|
|
503
|
-
[32m✓[39m tests/
|
|
504
|
-
[32m✓[39m tests/
|
|
505
|
-
[32m✓[39m tests/postgres-archive-tag.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 2[2mms[22m[39m
|
|
497
|
+
[32m✓[39m tests/ensure-dev-api-config.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 5[2mms[22m[39m
|
|
498
|
+
[32m✓[39m tests/seed-discover.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 12[2mms[22m[39m
|
|
499
|
+
[32m✓[39m tests/rest-cache-admin.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 39[2mms[22m[39m
|
|
500
|
+
[32m✓[39m tests/init-package-json.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
501
|
+
[32m✓[39m tests/pg-spawn-env.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
502
|
+
[32m✓[39m tests/resolve-api-url.test.ts [2m([22m[2m2 tests[22m[2m)[22m[32m 6[2mms[22m[39m
|
|
503
|
+
[32m✓[39m tests/migrate-from-v1.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 15[2mms[22m[39m
|
|
504
|
+
[32m✓[39m tests/cli-package-version.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 4[2mms[22m[39m
|
|
505
|
+
[32m✓[39m tests/postgres-archive-tag.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 3[2mms[22m[39m
|
|
506
506
|
[32m✓[39m tests/stdin-after-ink.test.ts [2m([22m[2m1 test[22m[2m)[22m[32m 3[2mms[22m[39m
|
|
507
507
|
|
|
508
508
|
[2m Test Files [22m [1m[32m73 passed[39m[22m[90m (73)[39m
|
|
509
|
-
[2m Tests [22m [1m[
|
|
510
|
-
[2m Start at [22m
|
|
511
|
-
[2m Duration [22m
|
|
509
|
+
[2m Tests [22m [1m[32m589 passed[39m[22m[90m (589)[39m
|
|
510
|
+
[2m Start at [22m 22:59:36
|
|
511
|
+
[2m Duration [22m 47.15s[2m (transform 6.84s, setup 0ms, import 43.14s, tests 82.45s, environment 17ms)[22m
|
|
512
512
|
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
// Annotated `string`, not left to inference: once a release stamps a value here, the
|
|
10
10
|
// inferred literal type makes the `!== ""` test in cliPackageVersion() a compile error
|
|
11
11
|
// (TS2367, no overlap), so the build would only fail during a release.
|
|
12
|
-
export const EMBEDDED_CLI_VERSION = "0.1.
|
|
12
|
+
export const EMBEDDED_CLI_VERSION = "0.1.12";
|
|
13
13
|
//# sourceMappingURL=cli-version-embedded.js.map
|
package/dist/db-preflight.d.ts
CHANGED
|
@@ -38,6 +38,12 @@ export interface PreflightReport {
|
|
|
38
38
|
/** Highest severity seen, so a caller can pick an exit code without re-deriving it. */
|
|
39
39
|
worst: Severity;
|
|
40
40
|
}
|
|
41
|
+
/** One row per API role that exists, for the schema named in the query. */
|
|
42
|
+
export interface AuthSchemaUsageRow {
|
|
43
|
+
rolname: string | null;
|
|
44
|
+
has_usage: boolean | null;
|
|
45
|
+
owner: string;
|
|
46
|
+
}
|
|
41
47
|
/**
|
|
42
48
|
* Stands in for the `authenticator` password when the operator has not supplied one.
|
|
43
49
|
*
|
|
@@ -56,6 +62,23 @@ export interface PreflightOptions {
|
|
|
56
62
|
authenticatorPassword?: string;
|
|
57
63
|
}
|
|
58
64
|
export declare function runPreflight(client: pg.ClientBase, opts: PreflightOptions): Promise<PreflightReport>;
|
|
65
|
+
/**
|
|
66
|
+
* Can the API roles reach the auth helpers when a query calls them?
|
|
67
|
+
*
|
|
68
|
+
* Postgres evaluates a policy's `USING` clause with the table owner's privileges, so row-level
|
|
69
|
+
* security works without this grant and looks like proof the schema is fine. Field masking does
|
|
70
|
+
* not: `supatype_mask` rewrites a masked column into `CASE WHEN can_read_t__c(t) …` in the target
|
|
71
|
+
* list, which runs as the caller and reaches `auth.role()` directly. Studio's per-record
|
|
72
|
+
* `can_<op>_<table>` calls have the same shape.
|
|
73
|
+
*
|
|
74
|
+
* `supatype/postgres` grants this at initdb, so a missing grant means a database Supatype did not
|
|
75
|
+
* bootstrap. Kept a `degrade` rather than a `fail`: two named features stop working and the rest
|
|
76
|
+
* of the stack is unaffected.
|
|
77
|
+
*/
|
|
78
|
+
export declare function authSchemaUsageCheck(rows: AuthSchemaUsageRow[], privs: {
|
|
79
|
+
current_user: string;
|
|
80
|
+
is_super: boolean;
|
|
81
|
+
}): CheckResult;
|
|
59
82
|
/**
|
|
60
83
|
* Everything `--fix` can apply, as one script.
|
|
61
84
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db-preflight.d.ts","sourceRoot":"","sources":["../src/db-preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAA;AAE3D,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,QAAQ,CAAA;IAClB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAA;IACd,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,uFAAuF;IACvF,KAAK,EAAE,QAAQ,CAAA;CAChB;
|
|
1
|
+
{"version":3,"file":"db-preflight.d.ts","sourceRoot":"","sources":["../src/db-preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAA;AAE3D,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,QAAQ,CAAA;IAClB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAA;IACd,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,WAAW,EAAE,CAAA;IACtB,uFAAuF;IACvF,KAAK,EAAE,QAAQ,CAAA;CAChB;AA2ED,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,SAAS,EAAE,OAAO,GAAG,IAAI,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,wBAAwB,CAAA;AAEzD,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,CAE/E;AAcD,MAAM,WAAW,gBAAgB;IAC/B,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAA;IACd,iFAAiF;IACjF,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,EAAE,CAAC,UAAU,EACrB,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,eAAe,CAAC,CA6T1B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,kBAAkB,EAAE,EAC1B,KAAK,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GACjD,WAAW,CA+Cb;AA4ED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,EAAE,CAE5E;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW,EAAE,CAEvE;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,EAAE,CAAC,UAAU,EACrB,QAAQ,EAAE,SAAS,WAAW,EAAE,GAC/B,OAAO,CAAC,IAAI,CAAC,CAef"}
|
package/dist/db-preflight.js
CHANGED
|
@@ -74,6 +74,8 @@ async function probeLogicalDecoding(q) {
|
|
|
74
74
|
return { ...base, severity: "pass", detail: "a wal2json slot can be created and dropped" };
|
|
75
75
|
}
|
|
76
76
|
const REQUIRED_ROLES = ["anon", "authenticated", "service_role", "authenticator"];
|
|
77
|
+
/** The three roles PostgREST switches to per request. `authenticator` only connects and switches. */
|
|
78
|
+
const API_ROLES = ["anon", "authenticated", "service_role"];
|
|
77
79
|
/**
|
|
78
80
|
* Stands in for the `authenticator` password when the operator has not supplied one.
|
|
79
81
|
*
|
|
@@ -219,7 +221,7 @@ export async function runPreflight(client, opts) {
|
|
|
219
221
|
JOIN pg_roles g ON g.oid = m.member
|
|
220
222
|
WHERE g.rolname = 'authenticator'`);
|
|
221
223
|
const held = new Set(memberships.map((m) => m.rolname));
|
|
222
|
-
const needed =
|
|
224
|
+
const needed = API_ROLES.filter((r) => !held.has(r));
|
|
223
225
|
results.push({
|
|
224
226
|
id: "authenticator-memberships",
|
|
225
227
|
title: "authenticator can reach the three API roles",
|
|
@@ -231,6 +233,15 @@ export async function runPreflight(client, opts) {
|
|
|
231
233
|
}),
|
|
232
234
|
});
|
|
233
235
|
}
|
|
236
|
+
// USAGE on the auth schema, asked by OID so a role that does not exist cannot raise
|
|
237
|
+
// `role "x" does not exist` the way the name-taking overload would.
|
|
238
|
+
const authUsage = await q(`SELECT r.rolname,
|
|
239
|
+
has_schema_privilege(r.oid, n.oid, 'USAGE') AS has_usage,
|
|
240
|
+
pg_get_userbyid(n.nspowner) AS owner
|
|
241
|
+
FROM pg_namespace n
|
|
242
|
+
LEFT JOIN pg_roles r ON r.rolname = ANY($1)
|
|
243
|
+
WHERE n.nspname = 'auth'`, [API_ROLES]);
|
|
244
|
+
results.push(authSchemaUsageCheck(authUsage, privs));
|
|
234
245
|
// ── Extensions ─────────────────────────────────────────────────────────────
|
|
235
246
|
const installed = new Set((await q("SELECT extname FROM pg_extension")).map((r) => r.extname));
|
|
236
247
|
const available = new Set((await q("SELECT name FROM pg_available_extensions")).map((r) => r.name));
|
|
@@ -341,6 +352,60 @@ export async function runPreflight(client, opts) {
|
|
|
341
352
|
}
|
|
342
353
|
return { results, worst: worstOf(results) };
|
|
343
354
|
}
|
|
355
|
+
/**
|
|
356
|
+
* Can the API roles reach the auth helpers when a query calls them?
|
|
357
|
+
*
|
|
358
|
+
* Postgres evaluates a policy's `USING` clause with the table owner's privileges, so row-level
|
|
359
|
+
* security works without this grant and looks like proof the schema is fine. Field masking does
|
|
360
|
+
* not: `supatype_mask` rewrites a masked column into `CASE WHEN can_read_t__c(t) …` in the target
|
|
361
|
+
* list, which runs as the caller and reaches `auth.role()` directly. Studio's per-record
|
|
362
|
+
* `can_<op>_<table>` calls have the same shape.
|
|
363
|
+
*
|
|
364
|
+
* `supatype/postgres` grants this at initdb, so a missing grant means a database Supatype did not
|
|
365
|
+
* bootstrap. Kept a `degrade` rather than a `fail`: two named features stop working and the rest
|
|
366
|
+
* of the stack is unaffected.
|
|
367
|
+
*/
|
|
368
|
+
export function authSchemaUsageCheck(rows, privs) {
|
|
369
|
+
const base = { id: "auth-schema-usage", title: "USAGE on schema auth (API roles)" };
|
|
370
|
+
// No auth schema yet: the first push creates it and grants on it, so there is nothing to fix.
|
|
371
|
+
if (rows.length === 0) {
|
|
372
|
+
return {
|
|
373
|
+
...base,
|
|
374
|
+
severity: "pass",
|
|
375
|
+
detail: "schema auth does not exist yet; the first push creates it and grants usage",
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
const owner = rows[0].owner;
|
|
379
|
+
const present = rows.filter((r) => r.rolname !== null);
|
|
380
|
+
// The roles check above owns this finding; repeating it here as a privilege problem would send
|
|
381
|
+
// the operator after the wrong fix.
|
|
382
|
+
if (present.length === 0) {
|
|
383
|
+
return { ...base, severity: "pass", detail: "no API roles exist on this server yet" };
|
|
384
|
+
}
|
|
385
|
+
const lacking = present.filter((r) => !r.has_usage).map((r) => r.rolname);
|
|
386
|
+
if (lacking.length === 0) {
|
|
387
|
+
return {
|
|
388
|
+
...base,
|
|
389
|
+
severity: "pass",
|
|
390
|
+
detail: `granted to ${present.map((r) => r.rolname).join(", ")} (schema owned by "${owner}")`,
|
|
391
|
+
};
|
|
392
|
+
}
|
|
393
|
+
// A grant from a role that owns neither the schema nor the server is discarded with a WARNING
|
|
394
|
+
// rather than an error, so `--fix` would report "Applied" having changed nothing. That is the
|
|
395
|
+
// same fault as a privilege generated and never applied, so hand it to the operator instead.
|
|
396
|
+
const canGrant = owner === privs.current_user || privs.is_super;
|
|
397
|
+
return {
|
|
398
|
+
...base,
|
|
399
|
+
severity: "degrade",
|
|
400
|
+
detail: `not granted to ${lacking.join(", ")} (schema owned by "${owner}")`,
|
|
401
|
+
impact: "Field-level access is unavailable: a push declaring `access.fields` refuses rather than " +
|
|
402
|
+
"applying, and a masked column read by one of these roles fails with 42501 instead of " +
|
|
403
|
+
"masking. Studio's per-record permission checks fail the same way. Row-level security is " +
|
|
404
|
+
"unaffected, because Postgres evaluates policies with the table owner's privileges.",
|
|
405
|
+
remedy: `GRANT USAGE ON SCHEMA auth TO ${lacking.map(ident).join(", ")};`,
|
|
406
|
+
...(!canGrant && { remedyNeedsOperator: true }),
|
|
407
|
+
};
|
|
408
|
+
}
|
|
344
409
|
function extensionCheck(name, installed, available, meta) {
|
|
345
410
|
if (installed.has(name)) {
|
|
346
411
|
return { id: `ext-${name}`, title: meta.title, severity: "pass", detail: "installed" };
|
package/dist/db-preflight.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db-preflight.js","sourceRoot":"","sources":["../src/db-preflight.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"db-preflight.js","sourceRoot":"","sources":["../src/db-preflight.ts"],"names":[],"mappings":"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"}
|