@supatype/cli 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-test.log +168 -158
  3. package/.turbo/turbo-typecheck.log +1 -1
  4. package/CHANGELOG.md +77 -0
  5. package/dist/api-config-cache.d.ts +20 -0
  6. package/dist/api-config-cache.d.ts.map +1 -1
  7. package/dist/api-config-cache.js +27 -0
  8. package/dist/api-config-cache.js.map +1 -1
  9. package/dist/augmentation-generator.d.ts.map +1 -1
  10. package/dist/augmentation-generator.js +126 -26
  11. package/dist/augmentation-generator.js.map +1 -1
  12. package/dist/cli-version-embedded.js +1 -1
  13. package/dist/client-generator.d.ts +3 -0
  14. package/dist/client-generator.d.ts.map +1 -0
  15. package/dist/client-generator.js +108 -0
  16. package/dist/client-generator.js.map +1 -0
  17. package/dist/commands/functions.d.ts.map +1 -1
  18. package/dist/commands/functions.js +2 -2
  19. package/dist/commands/functions.js.map +1 -1
  20. package/dist/commands/generate.d.ts.map +1 -1
  21. package/dist/commands/generate.js +3 -3
  22. package/dist/commands/generate.js.map +1 -1
  23. package/dist/commands/init.d.ts.map +1 -1
  24. package/dist/commands/init.js +36 -29
  25. package/dist/commands/init.js.map +1 -1
  26. package/dist/commands/push.d.ts.map +1 -1
  27. package/dist/commands/push.js +14 -13
  28. package/dist/commands/push.js.map +1 -1
  29. package/dist/commands/seed.d.ts +27 -1
  30. package/dist/commands/seed.d.ts.map +1 -1
  31. package/dist/commands/seed.js +206 -33
  32. package/dist/commands/seed.js.map +1 -1
  33. package/dist/commands/update.d.ts.map +1 -1
  34. package/dist/commands/update.js +19 -1
  35. package/dist/commands/update.js.map +1 -1
  36. package/dist/db-port.d.ts +36 -0
  37. package/dist/db-port.d.ts.map +1 -0
  38. package/dist/db-port.js +90 -0
  39. package/dist/db-port.js.map +1 -0
  40. package/dist/dev-compose.d.ts.map +1 -1
  41. package/dist/dev-compose.js +108 -13
  42. package/dist/dev-compose.js.map +1 -1
  43. package/dist/engine-client.d.ts +1 -0
  44. package/dist/engine-client.d.ts.map +1 -1
  45. package/dist/engine-client.js +47 -2
  46. package/dist/engine-client.js.map +1 -1
  47. package/dist/engine-floor.d.ts +27 -4
  48. package/dist/engine-floor.d.ts.map +1 -1
  49. package/dist/engine-floor.js +90 -9
  50. package/dist/engine-floor.js.map +1 -1
  51. package/dist/functions-context-refresh.d.ts +4 -0
  52. package/dist/functions-context-refresh.d.ts.map +1 -0
  53. package/dist/functions-context-refresh.js +26 -0
  54. package/dist/functions-context-refresh.js.map +1 -0
  55. package/dist/functions-deno-types.d.ts +9 -0
  56. package/dist/functions-deno-types.d.ts.map +1 -1
  57. package/dist/functions-deno-types.js +21 -1
  58. package/dist/functions-deno-types.js.map +1 -1
  59. package/dist/gitignore.d.ts +3 -1
  60. package/dist/gitignore.d.ts.map +1 -1
  61. package/dist/gitignore.js +35 -6
  62. package/dist/gitignore.js.map +1 -1
  63. package/dist/hooks-generator.d.ts.map +1 -1
  64. package/dist/hooks-generator.js +18 -3
  65. package/dist/hooks-generator.js.map +1 -1
  66. package/dist/schema-ast-v2.d.ts.map +1 -1
  67. package/dist/schema-ast-v2.js +17 -8
  68. package/dist/schema-ast-v2.js.map +1 -1
  69. package/dist/seed-connection.d.ts +60 -0
  70. package/dist/seed-connection.d.ts.map +1 -0
  71. package/dist/seed-connection.js +90 -0
  72. package/dist/seed-connection.js.map +1 -0
  73. package/dist/seed-ir.d.ts +66 -0
  74. package/dist/seed-ir.d.ts.map +1 -0
  75. package/dist/seed-ir.js +265 -0
  76. package/dist/seed-ir.js.map +1 -0
  77. package/dist/seed-runner.d.ts +44 -0
  78. package/dist/seed-runner.d.ts.map +1 -0
  79. package/dist/seed-runner.js +83 -0
  80. package/dist/seed-runner.js.map +1 -0
  81. package/dist/seed.d.ts +345 -0
  82. package/dist/seed.d.ts.map +1 -1
  83. package/dist/seed.js +138 -0
  84. package/dist/seed.js.map +1 -1
  85. package/dist/self-host-compose.d.ts +10 -2
  86. package/dist/self-host-compose.d.ts.map +1 -1
  87. package/dist/self-host-compose.js +73 -6
  88. package/dist/self-host-compose.js.map +1 -1
  89. package/dist/strict.d.ts +29 -0
  90. package/dist/strict.d.ts.map +1 -0
  91. package/dist/strict.js +37 -0
  92. package/dist/strict.js.map +1 -0
  93. package/dist/studio-dev-server.d.ts +12 -2
  94. package/dist/studio-dev-server.d.ts.map +1 -1
  95. package/dist/studio-dev-server.js +12 -2
  96. package/dist/studio-dev-server.js.map +1 -1
  97. package/dist/type-extractor.d.ts.map +1 -1
  98. package/dist/type-extractor.js +81 -2
  99. package/dist/type-extractor.js.map +1 -1
  100. package/dist/type-generation.d.ts +43 -0
  101. package/dist/type-generation.d.ts.map +1 -1
  102. package/dist/type-generation.js +93 -2
  103. package/dist/type-generation.js.map +1 -1
  104. package/package.json +2 -2
  105. package/src/api-config-cache.ts +30 -0
  106. package/src/augmentation-generator.ts +142 -26
  107. package/src/cli-version-embedded.ts +1 -1
  108. package/src/client-generator.ts +122 -0
  109. package/src/commands/functions.ts +5 -2
  110. package/src/commands/generate.ts +7 -3
  111. package/src/commands/init.ts +41 -31
  112. package/src/commands/push.ts +14 -15
  113. package/src/commands/seed.ts +294 -44
  114. package/src/commands/update.ts +20 -1
  115. package/src/db-port.ts +99 -0
  116. package/src/dev-compose.ts +116 -16
  117. package/src/engine-client.ts +52 -3
  118. package/src/engine-floor.ts +100 -9
  119. package/src/functions-context-refresh.ts +25 -0
  120. package/src/functions-deno-types.ts +24 -1
  121. package/src/gitignore.ts +38 -10
  122. package/src/hooks-generator.ts +21 -6
  123. package/src/schema-ast-v2.ts +17 -8
  124. package/src/seed-connection.ts +146 -0
  125. package/src/seed-ir.ts +311 -0
  126. package/src/seed-runner.ts +109 -0
  127. package/src/seed.ts +408 -0
  128. package/src/self-host-compose.ts +74 -6
  129. package/src/strict.ts +40 -0
  130. package/src/studio-dev-server.ts +12 -2
  131. package/src/type-extractor.ts +109 -2
  132. package/src/type-generation.ts +111 -2
  133. package/tests/access-composition.test.ts +123 -0
  134. package/tests/ast-derived-outputs.test.ts +92 -0
  135. package/tests/augmentation-generator.test.ts +273 -7
  136. package/tests/client-generator.test.ts +103 -0
  137. package/tests/db-port.test.ts +128 -0
  138. package/tests/engine-floor.test.ts +93 -0
  139. package/tests/external-database-compose.test.ts +8 -1
  140. package/tests/fixtures/seed_golden_ir.json +186 -0
  141. package/tests/functions-context-refresh.test.ts +86 -0
  142. package/tests/gitignore-secrets.test.ts +90 -0
  143. package/tests/runtime-contract.test.ts +146 -8
  144. package/tests/seed-connection.test.ts +158 -0
  145. package/tests/seed-ir.test.ts +436 -0
  146. package/tests/strict.test.ts +78 -0
  147. package/tests/type-extractor.test.ts +34 -0
  148. package/tsconfig.tsbuildinfo +1 -1
@@ -4,9 +4,10 @@ import { spawnSync } from "node:child_process";
4
4
  import { requireDockerDaemon } from "./docker-runtime.js";
5
5
  import { fatalError } from "./ui/fatal.js";
6
6
  import { apiSchemaList, externalDatabaseUrl, hooksPathFromProject, preferredFunctionsPathFromProject, realtimeEnabled, serviceRoleRoutes, selfHostTlsEnabled, usesExternalDatabase, } from "./project-config.js";
7
- import { hasEngineOverride, hasStudioOverride, pinnedVersion, fetchLatestVersion, VERSION_PIN_LOCAL } from "./binary-cache.js";
7
+ import { hasStudioOverride, pinnedVersion, fetchLatestVersion, VERSION_PIN_LOCAL } from "./binary-cache.js";
8
8
  import { buildKongDeclarative } from "./kong-config.js";
9
9
  import { keyspaceInPostgres } from "./cache-provider.js";
10
+ import { STUDIO_DEV_PORT } from "./studio-dev-server.js";
10
11
  import { readEnvFile } from "./env-file.js";
11
12
  import { fieldMaskingTierFromProject } from "./field-masking-tier.js";
12
13
  import { projectHasVersionedModels } from "./model-versioning.js";
@@ -240,8 +241,16 @@ function postgrestDatabaseUrl(config) {
240
241
  const port = parsed.port ? `:${parsed.port}` : "";
241
242
  return `postgresql://authenticator:${password}@${parsed.hostname}${port}${parsed.pathname}${parsed.search}`;
242
243
  }
243
- /** Host Vite dev server as seen from Kong inside Docker Compose. */
244
- export const COMPOSE_STUDIO_HOST_URL = "http://host.docker.internal:3002";
244
+ /**
245
+ * Host Vite dev server as seen from Kong inside Docker Compose.
246
+ *
247
+ * Derived from STUDIO_DEV_PORT rather than repeating the number, because the two are one decision.
248
+ * Held separately they drift, and the drift is invisible: Vite binds the new port, Kong keeps
249
+ * proxying to the old one, and `/studio/` serves whatever else happens to be listening there. On
250
+ * the machine this was found, that was an unrelated Next.js app, and every Studio view failed with
251
+ * a missing sign-in form rather than anything naming a port.
252
+ */
253
+ export const COMPOSE_STUDIO_HOST_URL = `http://host.docker.internal:${STUDIO_DEV_PORT}`;
245
254
  /** Studio container: always Docker Hub unless SUPATYPE_STUDIO_IMAGE is set in .env. */
246
255
  function studioServiceBlock() {
247
256
  return ` image: \${SUPATYPE_STUDIO_IMAGE:-supatype/studio:latest}`;
@@ -322,7 +331,18 @@ ${studioService}
322
331
  : ` - server
323
332
  - studio
324
333
  - control-plane`;
325
- const publishDbToHost = !devLocal || hasEngineOverride(config);
334
+ // The database is always reachable from the host.
335
+ //
336
+ // It used to be published in dev only when something was known to need it, which was a host
337
+ // engine build or a project that had named `SUPATYPE_DEV_DB_PORT`. Seeding is now a host
338
+ // process: the CLI resolves a connection string and the engine connects over TCP. Under the old
339
+ // rule a fresh `supatype init` produced a stack whose database nothing on the host could reach,
340
+ // so the first `supatype seed` got ECONNREFUSED and the remedy was an environment variable
341
+ // nobody had reason to know about.
342
+ //
343
+ // This exposes nothing new: the dev port below is bound to `127.0.0.1`, so it is reachable from
344
+ // this machine and from nowhere else.
345
+ const publishDbToHost = true;
326
346
  const dbPorts = publishDbToHost
327
347
  ? devLocal
328
348
  ? ` ports:
@@ -364,6 +384,15 @@ ${studioService}
364
384
  volumes:
365
385
  - storage-data:/data
366
386
  - ${SEAWEED_CONFIG_MOUNT}:/etc/seaweedfs/s3.json:ro
387
+ healthcheck:
388
+ # Any HTTP status line means the S3 endpoint is listening, which is the whole question.
389
+ # Success cannot be "HTTP 200": an unauthenticated GET on the root answers 403 by design,
390
+ # because the anonymous identity is deliberately absent from s3.json.
391
+ test: ["CMD-SHELL", "wget -q -S -O /dev/null http://127.0.0.1:8333 2>&1 | grep -q 'HTTP/'"]
392
+ interval: 3s
393
+ timeout: 3s
394
+ retries: 20
395
+ start_period: 5s
367
396
  ${seaweedPorts}`;
368
397
  const kongTlsEnv = tlsEnabled
369
398
  ? ` KONG_PROXY_LISTEN: "0.0.0.0:8000, 0.0.0.0:8443 ssl"
@@ -416,6 +445,20 @@ ${keyspaceInPg ? "" : " valkey-data:\n"}`;
416
445
  condition: service_healthy
417
446
  `;
418
447
  const dbDependency = external ? "" : ` depends_on:\n${dbDependencyClause}`;
448
+ // Storage waits for the object store, not only the database.
449
+ //
450
+ // seaweedfs had no healthcheck and nothing depended on it, so compose started it alongside
451
+ // storage rather than before it. Storage would then accept a bucket creation before seaweedfs
452
+ // was listening, and every bucket in the schema failed with `connect ECONNREFUSED <ip>:8333`
453
+ // while the metadata row was written anyway. Measured on a live stack: seaweedfs started twelve
454
+ // minutes after storage with RestartCount 0, so it was ordered late rather than crashing.
455
+ //
456
+ // A later push succeeds, which is exactly what made it read as an intermittent mystery. It
457
+ // lands on the first push after a stack comes up, which is the first push a new user ever runs.
458
+ const storageDependency = ` depends_on:
459
+ ${dbDependencyClause} seaweedfs:
460
+ condition: service_healthy
461
+ `;
419
462
  // Realtime, omitted entirely when the project has turned it off.
420
463
  //
421
464
  // Not started-and-disabled: the service degrades gracefully on its own (it reports the reason on
@@ -596,7 +639,7 @@ ${dbDependency}
596
639
  S3_ACCESS_KEY: ${OBJECT_STORE_ACCESS_KEY}
597
640
  S3_SECRET_KEY: ${OBJECT_STORE_SECRET_KEY}
598
641
  S3_FORCE_PATH_STYLE: "true"
599
- ${dbDependency}
642
+ ${storageDependency}
600
643
  functions-worker:
601
644
  image: \${SUPATYPE_FUNCTIONS_WORKER_IMAGE:-supatype/functions-worker:latest}
602
645
  expose:
@@ -625,6 +668,18 @@ ${dbDependency}
625
668
  # each one able to read past every access rule in the schema.
626
669
  SUPATYPE_SERVICE_ROLE_KEY: \${SERVICE_ROLE_KEY:-}
627
670
  SUPATYPE_SERVICE_ROLE_ROUTES: "${serviceRoleRoutes(config).join(",")}"
671
+ # A direct database connection for functions, off unless asked for.
672
+ #
673
+ # The worker reads SUPATYPE_DB_URL and exposes it as \`ctx.dbUrl\`, and nothing here ever set
674
+ # it, so the field was permanently undefined on self-host and a function reaching for it got
675
+ # no value and no explanation.
676
+ #
677
+ # Deliberately its own variable rather than the project's DATABASE_URL. That one is the owner
678
+ # DSN every service already uses, and wiring it through by default would hand every function
679
+ # a connection that bypasses access rules, field masking and model hooks, none of which live
680
+ # in the database. Naming a separate variable makes it a decision: set it to the owner URL
681
+ # and accept that, or to a role you restricted yourself.
682
+ SUPATYPE_DB_URL: \${SUPATYPE_FUNCTIONS_DB_URL:-}
628
683
  STRIPE_SECRET_KEY: \${STRIPE_SECRET_KEY:-}
629
684
  STRIPE_WEBHOOK_SECRET: \${STRIPE_WEBHOOK_SECRET:-}
630
685
  SITE_URL: \${SITE_URL:-\${API_EXTERNAL_URL:-${externalUrlFallback}}}
@@ -650,6 +705,12 @@ ${realtimeBlock}
650
705
  ${dbDependency}
651
706
  server:
652
707
  image: \${SUPATYPE_SERVER_IMAGE:-\${SUPATYPE_AUTH_IMAGE:-supatype/server:latest}}
708
+ # host.docker.internal is a Docker Desktop name. On Linux it does not resolve unless it is
709
+ # mapped, so a project proxying the site or Studio to something on the host worked on macOS
710
+ # and Windows and failed on Linux with nothing reaching the app. host-gateway is Docker's own
711
+ # alias for the host, and needs 20.10, which this stack already requires.
712
+ extra_hosts:
713
+ - "host.docker.internal:host-gateway"
653
714
  # The server runs its migrations at boot on a connection of their own,
654
715
  # and that path does not wait out a database that is still in recovery:
655
716
  # it exits. Waiting for db to report healthy is not enough, because
@@ -718,7 +779,7 @@ ${appEnv}
718
779
  SUPATYPE_SMTP_ADMIN_EMAIL: \${SUPATYPE_SMTP_ADMIN_EMAIL:-}
719
780
  SUPATYPE_SMTP_SENDER_NAME: \${SUPATYPE_SMTP_SENDER_NAME:-}
720
781
  SUPATYPE_DISABLE_SIGNUP: \${DISABLE_SIGNUP:-false}
721
- ${devLocal ? " STUDIO_OPEN_DEV: \"1\"\n" : ""}
782
+ ${devLocal ? " STUDIO_OPEN_DEV: \"${STUDIO_OPEN_DEV:-1}\"\n" : ""}
722
783
  depends_on:
723
784
  ${dbDependencyClause}${keyspaceInPg ? "" : " valkey:\n condition: service_started\n"} postgrest:
724
785
  condition: service_started
@@ -739,6 +800,12 @@ ${objectStoreBlock}
739
800
  working_dir: /project
740
801
  ${dbDependency}${studioBlock}${valkeyBlock}${tlsHintComment} kong:
741
802
  image: kong:3.6
803
+ # host.docker.internal is a Docker Desktop name. On Linux it does not resolve unless it is
804
+ # mapped, so a project proxying the site or Studio to something on the host worked on macOS
805
+ # and Windows and failed on Linux with nothing reaching the app. host-gateway is Docker's own
806
+ # alias for the host, and needs 20.10, which this stack already requires.
807
+ extra_hosts:
808
+ - "host.docker.internal:host-gateway"
742
809
  environment:
743
810
  KONG_DATABASE: "off"
744
811
  KONG_DECLARATIVE_CONFIG: /etc/kong/kong.yml
@@ -1 +1 @@
1
- {"version":3,"file":"self-host-compose.js","sourceRoot":"","sources":["../src/self-host-compose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"self-host-compose.js","sourceRoot":"","sources":["../src/self-host-compose.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Strict mode: a degraded path is a failure rather than a warning.
3
+ *
4
+ * Every fallback in this CLI exists because giving up would serve a person at a terminal worse
5
+ * than carrying on: the in-compose engine when the CDN cannot be reached, SHA256-only verification
6
+ * when no key is embedded, a bucket that could not be reached from the host but works from inside
7
+ * the network. Each is the right default interactively.
8
+ *
9
+ * In CI the trade runs the other way. A run that limps reports success, and the thing it quietly
10
+ * skipped is precisely the thing nobody tests again.
11
+ *
12
+ * This is not hypothetical. On 2026-09-24 three integration jobs failed on assertions about
13
+ * validators and served SPAs, and the cause in all three was an engine download refused twenty
14
+ * lines earlier and warned about. The same fallback made a local from-zero run look like a clean
15
+ * pass while the host engine path was never exercised at all.
16
+ */
17
+ /** True when the caller has asked for degraded paths to fail. */
18
+ export declare function strict(): boolean;
19
+ /**
20
+ * Report a path that worked less well than intended.
21
+ *
22
+ * Throws under `SUPATYPE_STRICT=1`, so a CI job cannot pass over it. Warns otherwise, because
23
+ * interactively a working stack and a note beats an abort.
24
+ *
25
+ * `what` names the capability that degraded, not the error: the reader needs to know which feature
26
+ * they are now without. `detail` carries the cause.
27
+ */
28
+ export declare function degraded(what: string, detail: string): void;
29
+ //# sourceMappingURL=strict.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strict.d.ts","sourceRoot":"","sources":["../src/strict.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,iEAAiE;AACjE,wBAAgB,MAAM,IAAI,OAAO,CAEhC;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAQ3D"}
package/dist/strict.js ADDED
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Strict mode: a degraded path is a failure rather than a warning.
3
+ *
4
+ * Every fallback in this CLI exists because giving up would serve a person at a terminal worse
5
+ * than carrying on: the in-compose engine when the CDN cannot be reached, SHA256-only verification
6
+ * when no key is embedded, a bucket that could not be reached from the host but works from inside
7
+ * the network. Each is the right default interactively.
8
+ *
9
+ * In CI the trade runs the other way. A run that limps reports success, and the thing it quietly
10
+ * skipped is precisely the thing nobody tests again.
11
+ *
12
+ * This is not hypothetical. On 2026-09-24 three integration jobs failed on assertions about
13
+ * validators and served SPAs, and the cause in all three was an engine download refused twenty
14
+ * lines earlier and warned about. The same fallback made a local from-zero run look like a clean
15
+ * pass while the host engine path was never exercised at all.
16
+ */
17
+ /** True when the caller has asked for degraded paths to fail. */
18
+ export function strict() {
19
+ return process.env["SUPATYPE_STRICT"] === "1";
20
+ }
21
+ /**
22
+ * Report a path that worked less well than intended.
23
+ *
24
+ * Throws under `SUPATYPE_STRICT=1`, so a CI job cannot pass over it. Warns otherwise, because
25
+ * interactively a working stack and a note beats an abort.
26
+ *
27
+ * `what` names the capability that degraded, not the error: the reader needs to know which feature
28
+ * they are now without. `detail` carries the cause.
29
+ */
30
+ export function degraded(what, detail) {
31
+ const message = `${what}: ${detail}`;
32
+ if (strict()) {
33
+ throw new Error(`${message}\nSUPATYPE_STRICT=1 is set, so a degraded path fails rather than warns.`);
34
+ }
35
+ console.warn(`[supatype] ${message}`);
36
+ }
37
+ //# sourceMappingURL=strict.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strict.js","sourceRoot":"","sources":["../src/strict.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,iEAAiE;AACjE,MAAM,UAAU,MAAM;IACpB,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,GAAG,CAAA;AAC/C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,MAAc;IACnD,MAAM,OAAO,GAAG,GAAG,IAAI,KAAK,MAAM,EAAE,CAAA;IACpC,IAAI,MAAM,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,yEAAyE,CACpF,CAAA;IACH,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,cAAc,OAAO,EAAE,CAAC,CAAA;AACvC,CAAC"}
@@ -1,6 +1,16 @@
1
1
  import { ProcessManager } from "./process-manager.js";
2
- /** Vite dev server port when `overrides.studio` is set. */
3
- export declare const STUDIO_DEV_PORT = 3002;
2
+ /**
3
+ * Vite dev server port when `overrides.studio` is set.
4
+ *
5
+ * Overridable because it is bound with `--strictPort`, so anything else already on 3002 does not
6
+ * make Vite pick another port, it makes Studio fail to start and be restarted every thirty seconds
7
+ * for the life of the session. 3002 is an ordinary port for a local app to be sitting on, and the
8
+ * only signal is a Vite stack trace in among the compose output.
9
+ *
10
+ * Only the `overrides.studio` path is affected, so this is a contributor's papercut rather than a
11
+ * user's: an ordinary `supatype dev` serves Studio from its container.
12
+ */
13
+ export declare const STUDIO_DEV_PORT: number;
4
14
  export interface StudioDevServerOptions {
5
15
  cwd: string;
6
16
  studioOverride: string;
@@ -1 +1 @@
1
- {"version":3,"file":"studio-dev-server.d.ts","sourceRoot":"","sources":["../src/studio-dev-server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,2DAA2D;AAC3D,eAAO,MAAM,eAAe,OAAO,CAAA;AAEnC,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAA;IACvB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,6EAA6E;AAC7E,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,GAAG,cAAc,GAAG,IAAI,CAyB5F"}
1
+ {"version":3,"file":"studio-dev-server.d.ts","sourceRoot":"","sources":["../src/studio-dev-server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,QAA0D,CAAA;AAEtF,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAA;IACvB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,6EAA6E;AAC7E,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,sBAAsB,GAAG,cAAc,GAAG,IAAI,CAyB5F"}
@@ -1,8 +1,18 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import { join, resolve } from "node:path";
3
3
  import { ProcessManager } from "./process-manager.js";
4
- /** Vite dev server port when `overrides.studio` is set. */
5
- export const STUDIO_DEV_PORT = 3002;
4
+ /**
5
+ * Vite dev server port when `overrides.studio` is set.
6
+ *
7
+ * Overridable because it is bound with `--strictPort`, so anything else already on 3002 does not
8
+ * make Vite pick another port, it makes Studio fail to start and be restarted every thirty seconds
9
+ * for the life of the session. 3002 is an ordinary port for a local app to be sitting on, and the
10
+ * only signal is a Vite stack trace in among the compose output.
11
+ *
12
+ * Only the `overrides.studio` path is affected, so this is a contributor's papercut rather than a
13
+ * user's: an ordinary `supatype dev` serves Studio from its container.
14
+ */
15
+ export const STUDIO_DEV_PORT = Number(process.env["SUPATYPE_STUDIO_DEV_PORT"]) || 3002;
6
16
  /** Start @supatype/studio Vite dev server when `overrides.studio` is set. */
7
17
  export function startStudioViteDevServer(opts) {
8
18
  const studioDir = resolve(opts.cwd, opts.studioOverride);
@@ -1 +1 @@
1
- {"version":3,"file":"studio-dev-server.js","sourceRoot":"","sources":["../src/studio-dev-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,2DAA2D;AAC3D,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAA;AA4BnC,6EAA6E;AAC7E,MAAM,UAAU,wBAAwB,CAAC,IAA4B;IACnE,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IACxE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,2DAA2D,MAAM,qBAAqB,CAAC,CAAA;QACpG,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAA;IACrC,OAAO,IAAI,cAAc,CACvB,OAAO,CAAC,QAAQ,EAChB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,EACrE;QACE,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,UAAU;QAClB,GAAG,EAAE;YACH,iBAAiB,EAAE,IAAI,CAAC,eAAe;YACvC,qBAAqB,EAAE,IAAI,CAAC,WAAW;YACvC,sBAAsB,EAAE,IAAI,CAAC,OAAO;YACpC,cAAc,EAAE,QAAQ;SACzB;KACF,CACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"studio-dev-server.js","sourceRoot":"","sources":["../src/studio-dev-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,IAAI,IAAI,CAAA;AA4BtF,6EAA6E;AAC7E,MAAM,UAAU,wBAAwB,CAAC,IAA4B;IACnE,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IACxE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,2DAA2D,MAAM,qBAAqB,CAAC,CAAA;QACpG,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAA;IACrC,OAAO,IAAI,cAAc,CACvB,OAAO,CAAC,QAAQ,EAChB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,EACrE;QACE,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,UAAU;QAClB,GAAG,EAAE;YACH,iBAAiB,EAAE,IAAI,CAAC,eAAe;YACvC,qBAAqB,EAAE,IAAI,CAAC,WAAW;YACvC,sBAAsB,EAAE,IAAI,CAAC,OAAO;YACpC,cAAc,EAAE,QAAQ;SACzB;KACF,CACF,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-extractor.d.ts","sourceRoot":"","sources":["../src/type-extractor.ts"],"names":[],"mappings":"AAeA,OAAO,EAOL,KAAK,oBAAoB,EAM1B,MAAM,oBAAoB,CAAA;AAG3B,YAAY,EAAE,oBAAoB,IAAI,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAM/G,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAsB,GAC1B,oBAAoB,GAAG,IAAI,CAoI7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,gBAAgB,EAAE,CAAA;CAC1B;AAED,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,CA4BrG;AA86FD,8EAA8E;AAC9E,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf"}
1
+ {"version":3,"file":"type-extractor.d.ts","sourceRoot":"","sources":["../src/type-extractor.ts"],"names":[],"mappings":"AAeA,OAAO,EAOL,KAAK,oBAAoB,EAM1B,MAAM,oBAAoB,CAAA;AAG3B,YAAY,EAAE,oBAAoB,IAAI,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAM/G,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAsB,GAC1B,oBAAoB,GAAG,IAAI,CAoI7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,gBAAgB,EAAE,CAAA;CAC1B;AAED,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,CA4BrG;AAyhGD,8EAA8E;AAC9E,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf"}
@@ -845,7 +845,10 @@ function parseScalarType(typeNode, sourceFile, blockAliases, bucketAliases, buck
845
845
  const bucket = resolveBucketName(typeNode.typeArguments?.[0], sourceFile, bucketAliases, "assets");
846
846
  const assetOpts = parseAssetFieldOptions(typeNode.typeArguments?.[1], sourceFile);
847
847
  return attachStorageFieldMeta(scalar("file", {
848
- db: { pgType: "TEXT" },
848
+ // JSONB, not TEXT. The column holds { bucket, path }, this package's own
849
+ // DEFAULT_DB_BY_KIND says JSONB, and the engine honours an explicit annotation, so
850
+ // TEXT here was one code path from a text column with a JSON object written into it.
851
+ db: { pgType: "JSONB" },
849
852
  kernel: { bucket, ...(assetOpts.localized && { localized: true }) },
850
853
  }), bucket, bucketsById);
851
854
  }
@@ -853,7 +856,10 @@ function parseScalarType(typeNode, sourceFile, blockAliases, bucketAliases, buck
853
856
  const bucket = resolveBucketName(typeNode.typeArguments?.[0], sourceFile, bucketAliases, "images");
854
857
  const assetOpts = parseAssetFieldOptions(typeNode.typeArguments?.[1], sourceFile);
855
858
  return attachStorageFieldMeta(scalar("image", {
856
- db: { pgType: "TEXT" },
859
+ // JSONB, not TEXT. The column holds { bucket, path }, this package's own
860
+ // DEFAULT_DB_BY_KIND says JSONB, and the engine honours an explicit annotation, so
861
+ // TEXT here was one code path from a text column with a JSON object written into it.
862
+ db: { pgType: "JSONB" },
857
863
  kernel: { bucket, ...(assetOpts.localized && { localized: true }) },
858
864
  }), bucket, bucketsById);
859
865
  }
@@ -2370,6 +2376,76 @@ const TIME_UNITS = [
2370
2376
  ];
2371
2377
  /** Granularities for `StartOf<>`. */
2372
2378
  const TRUNC_UNITS = ["day", "week", "month", "year"];
2379
+ /**
2380
+ * `After<Base, { days: 30, hours: 9 }>` / `Before<...>`: a point in time plus or minus a
2381
+ * multi-unit duration.
2382
+ *
2383
+ * The interval is re-assembled from parsed integers and matched keywords, exactly as
2384
+ * `parseDurationOperand` does, so no author-supplied text reaches Postgres. A permissive
2385
+ * `"30 days 9 hours"` string would be raw SQL by another name.
2386
+ *
2387
+ * Direction is in the operand name rather than the sign of a component, which is the rule
2388
+ * `Ago`/`FromNow` already follow: a negative amount is refused with a message naming the
2389
+ * opposite operand, because relying on a double negative reads wrongly.
2390
+ */
2391
+ function parseOffsetOperand(ref, args, sourceFile) {
2392
+ if (args.length !== 2) {
2393
+ throw new Error(`\`${ref}<>\` takes a base and an interval, as in ` +
2394
+ `\`${ref}<StartOf<"day">, { days: 30, hours: 9 }>\`.`);
2395
+ }
2396
+ const base = parseAccessOperand(args[0], sourceFile);
2397
+ const baseKind = typeof base["kind"] === "string" ? base["kind"] : "";
2398
+ if (baseKind !== "now" && baseKind !== "startOf") {
2399
+ throw new Error(`\`${ref}<>\` measures from a point in time, so its base must be \`Now\` or ` +
2400
+ `\`StartOf<unit>\`. A column or a claim depends on the row or the caller and ` +
2401
+ `cannot be offset.`);
2402
+ }
2403
+ const intervalNode = args[1];
2404
+ if (!ts.isTypeLiteralNode(intervalNode)) {
2405
+ throw new Error(`\`${ref}<>\` takes the interval as an object, as in \`{ days: 30, hours: 9 }\`.`);
2406
+ }
2407
+ const opposite = ref === "After" ? "Before" : "After";
2408
+ const interval = {};
2409
+ for (const member of intervalNode.members) {
2410
+ if (!ts.isPropertySignature(member) || !member.name || !member.type) {
2411
+ throw new Error(`\`${ref}<>\` interval members must be \`unit: amount\` pairs.`);
2412
+ }
2413
+ const unit = member.name.getText(sourceFile).replace(/["']/g, "");
2414
+ if (!TIME_UNITS.includes(unit)) {
2415
+ throw new Error(`\`${unit}\` is not a unit of time. Use one of: ${TIME_UNITS.join(", ")} (plural).`);
2416
+ }
2417
+ const amountNode = member.type;
2418
+ // A negative literal is a prefix-unary expression, not a numeric literal, so it has
2419
+ // to be recognised separately or it is refused for the wrong reason and the message
2420
+ // misses the real advice.
2421
+ if (ts.isLiteralTypeNode(amountNode) &&
2422
+ ts.isPrefixUnaryExpression(amountNode.literal) &&
2423
+ amountNode.literal.operator === ts.SyntaxKind.MinusToken) {
2424
+ throw new Error(`\`${ref}<>\` does not take a negative amount. For the other direction use ` +
2425
+ `\`${opposite}<>\`, which reads correctly instead of relying on a double negative.`);
2426
+ }
2427
+ if (!ts.isLiteralTypeNode(amountNode) || !ts.isNumericLiteral(amountNode.literal)) {
2428
+ throw new Error(`\`${unit}\` needs a number literal amount, as in \`{ ${unit}: 30 }\`.`);
2429
+ }
2430
+ const amount = Number(amountNode.literal.text);
2431
+ if (!Number.isInteger(amount)) {
2432
+ throw new Error(`\`{ ${unit}: ${amount} }\` must be a whole number of units: Postgres intervals ` +
2433
+ `take integers, so a fraction would be silently truncated or rejected.`);
2434
+ }
2435
+ if (unit in interval) {
2436
+ throw new Error(`\`${ref}<>\` names \`${unit}\` twice; give each unit once.`);
2437
+ }
2438
+ interval[unit] = amount;
2439
+ }
2440
+ // An all-zero interval means the base unchanged, which is never what an author wrote.
2441
+ // The engine refuses it too, but saying so here names the operand at the point it was
2442
+ // written rather than at push.
2443
+ if (Object.values(interval).every((amount) => amount === 0)) {
2444
+ throw new Error(`\`${ref}<>\` was given an empty interval, which means the base unchanged. ` +
2445
+ `Give at least one non-zero unit, as in \`{ days: 30 }\`.`);
2446
+ }
2447
+ return { kind: ref === "After" ? "after" : "before", base, interval };
2448
+ }
2373
2449
  /**
2374
2450
  * `Ago<30, "days">` / `FromNow<7, "days">`.
2375
2451
  *
@@ -2497,6 +2573,9 @@ function parseAccessOperand(typeNode, sourceFile) {
2497
2573
  case "Ago":
2498
2574
  case "FromNow":
2499
2575
  return parseDurationOperand(ref, operandArgs, sourceFile);
2576
+ case "After":
2577
+ case "Before":
2578
+ return parseOffsetOperand(ref, operandArgs, sourceFile);
2500
2579
  case "Claim": {
2501
2580
  const pathArg = typeNode.typeArguments?.[0];
2502
2581
  if (!pathArg || !ts.isLiteralTypeNode(pathArg) || !ts.isStringLiteral(pathArg.literal)) {