handoff-app 1.2.2-7 → 2.0.0-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.
Files changed (351) hide show
  1. package/Changelog.md +37 -15
  2. package/README.md +372 -118
  3. package/dist/app-builder/build.d.ts +41 -2
  4. package/dist/app-builder/build.js +455 -18
  5. package/dist/app-builder/client-config.d.ts +15 -2
  6. package/dist/app-builder/client-config.js +43 -4
  7. package/dist/app-builder/config-diff/snapshot.d.ts +1 -6
  8. package/dist/app-builder/config-diff/snapshot.js +2 -9
  9. package/dist/app-builder/index.d.ts +1 -1
  10. package/dist/app-builder/index.js +3 -1
  11. package/dist/app-builder/nav-shell.d.ts +23 -0
  12. package/dist/app-builder/nav-shell.js +80 -0
  13. package/dist/app-builder/paths.js +25 -1
  14. package/dist/app-builder/static-export.d.ts +17 -0
  15. package/dist/app-builder/static-export.js +206 -0
  16. package/dist/app-builder/vercel-output.d.ts +39 -0
  17. package/dist/app-builder/vercel-output.js +259 -0
  18. package/dist/app-builder/watchers/utils.d.ts +2 -0
  19. package/dist/app-builder/watchers.d.ts +14 -4
  20. package/dist/app-builder/watchers.js +123 -28
  21. package/dist/app-builder/websocket.js +1 -1
  22. package/dist/artifacts/index.d.ts +2 -0
  23. package/dist/artifacts/index.js +16 -0
  24. package/dist/artifacts/types.d.ts +136 -0
  25. package/dist/artifacts/types.js +24 -0
  26. package/dist/artifacts/url.d.ts +67 -0
  27. package/dist/artifacts/url.js +116 -0
  28. package/dist/cache/build-cache.js +48 -4
  29. package/dist/cli.js +0 -0
  30. package/dist/commands/build/app.js +1 -2
  31. package/dist/commands/build/index.d.ts +17 -0
  32. package/dist/commands/build/index.js +66 -0
  33. package/dist/commands/checkout/index.d.ts +24 -0
  34. package/dist/commands/checkout/index.js +71 -0
  35. package/dist/commands/db/migrate.d.ts +11 -0
  36. package/dist/commands/db/migrate.js +33 -0
  37. package/dist/commands/index.js +8 -0
  38. package/dist/commands/publish/index.d.ts +21 -0
  39. package/dist/commands/publish/index.js +68 -0
  40. package/dist/config/defaults.js +15 -1
  41. package/dist/config/loader.js +6 -1
  42. package/dist/config/normalizers/declaration.js +4 -1
  43. package/dist/config/normalizers/page.d.ts +18 -0
  44. package/dist/config/normalizers/page.js +34 -0
  45. package/dist/config/normalizers/pattern.js +7 -1
  46. package/dist/config/runtime.d.ts +4 -0
  47. package/dist/config/runtime.js +53 -5
  48. package/dist/index.d.ts +65 -1
  49. package/dist/index.js +123 -3
  50. package/dist/nav/index.d.ts +83 -0
  51. package/dist/nav/index.js +9 -0
  52. package/dist/nav/registry.d.ts +15 -0
  53. package/dist/nav/registry.js +42 -0
  54. package/dist/nav/resolver.d.ts +8 -0
  55. package/dist/nav/resolver.js +192 -0
  56. package/dist/nav/workspace.d.ts +18 -0
  57. package/dist/nav/workspace.js +103 -0
  58. package/dist/pipeline/styles.js +7 -35
  59. package/dist/pipeline/token-transformers.d.ts +45 -0
  60. package/dist/pipeline/token-transformers.js +71 -0
  61. package/dist/registry/asset-storage/adapters/vercel-blob.d.ts +17 -0
  62. package/dist/registry/asset-storage/adapters/vercel-blob.js +87 -0
  63. package/dist/registry/asset-storage/define.d.ts +10 -0
  64. package/dist/registry/asset-storage/define.js +13 -0
  65. package/dist/registry/asset-storage/resolve.d.ts +45 -0
  66. package/dist/registry/asset-storage/resolve.js +36 -0
  67. package/dist/registry/asset-storage/types.d.ts +51 -0
  68. package/dist/registry/asset-storage/types.js +9 -0
  69. package/dist/registry/assets/layout.d.ts +22 -0
  70. package/dist/registry/assets/layout.js +30 -0
  71. package/dist/registry/assets/sets.d.ts +18 -0
  72. package/dist/registry/assets/sets.js +44 -0
  73. package/dist/registry/assets/transfer.d.ts +45 -0
  74. package/dist/registry/assets/transfer.js +11 -0
  75. package/dist/registry/checkout/assets.d.ts +16 -0
  76. package/dist/registry/checkout/assets.js +150 -0
  77. package/dist/registry/checkout/index.d.ts +33 -0
  78. package/dist/registry/checkout/index.js +610 -0
  79. package/dist/registry/checkout/tokens.d.ts +15 -0
  80. package/dist/registry/checkout/tokens.js +171 -0
  81. package/dist/registry/client.d.ts +61 -0
  82. package/dist/registry/client.js +211 -0
  83. package/dist/registry/connection.d.ts +30 -0
  84. package/dist/registry/connection.js +36 -0
  85. package/dist/registry/db/adapter.d.ts +43 -0
  86. package/dist/registry/db/adapter.js +59 -0
  87. package/dist/registry/db/client.d.ts +35 -0
  88. package/dist/registry/db/client.js +94 -0
  89. package/dist/registry/db/index.d.ts +5 -0
  90. package/dist/registry/db/index.js +24 -0
  91. package/dist/registry/db/migrate.d.ts +23 -0
  92. package/dist/registry/db/migrate.js +64 -0
  93. package/dist/registry/db/schema.d.ts +4869 -0
  94. package/dist/registry/db/schema.js +347 -0
  95. package/dist/registry/path.d.ts +4 -0
  96. package/dist/registry/path.js +31 -0
  97. package/dist/registry/publish/artifacts.d.ts +16 -0
  98. package/dist/registry/publish/artifacts.js +132 -0
  99. package/dist/registry/publish/assets.d.ts +16 -0
  100. package/dist/registry/publish/assets.js +129 -0
  101. package/dist/registry/publish/errors.d.ts +5 -0
  102. package/dist/registry/publish/errors.js +26 -0
  103. package/dist/registry/publish/index.d.ts +27 -0
  104. package/dist/registry/publish/index.js +126 -0
  105. package/dist/registry/publish/package.d.ts +27 -0
  106. package/dist/registry/publish/package.js +257 -0
  107. package/dist/registry/publish/publish-build.d.ts +12 -0
  108. package/dist/registry/publish/publish-build.js +43 -0
  109. package/dist/registry/publish/tokens.d.ts +18 -0
  110. package/dist/registry/publish/tokens.js +112 -0
  111. package/dist/registry/tokens/sets.d.ts +59 -0
  112. package/dist/registry/tokens/sets.js +109 -0
  113. package/dist/registry/tokens/transfer.d.ts +48 -0
  114. package/dist/registry/tokens/transfer.js +10 -0
  115. package/dist/registry/transfer.d.ts +75 -0
  116. package/dist/registry/transfer.js +11 -0
  117. package/dist/store/filesystem-assets.d.ts +17 -0
  118. package/dist/store/filesystem-assets.js +147 -0
  119. package/dist/store/filesystem.d.ts +76 -0
  120. package/dist/store/filesystem.js +208 -0
  121. package/dist/store/index.d.ts +20 -0
  122. package/dist/store/index.js +38 -0
  123. package/dist/store/registry.d.ts +77 -0
  124. package/dist/store/registry.js +350 -0
  125. package/dist/store/source-files.d.ts +24 -0
  126. package/dist/store/source-files.js +147 -0
  127. package/dist/store/types.d.ts +185 -0
  128. package/dist/store/types.js +12 -0
  129. package/dist/transformers/plugins/csf-render.js +17 -8
  130. package/dist/transformers/plugins/handlebars-previews.js +10 -3
  131. package/dist/transformers/plugins/ssr-render.js +116 -49
  132. package/dist/transformers/preview/component/api.js +3 -1
  133. package/dist/transformers/preview/component/artifacts.js +8 -1
  134. package/dist/transformers/preview/component/builder.js +13 -5
  135. package/dist/transformers/preview/component/css.js +9 -1
  136. package/dist/transformers/preview/component/javascript.d.ts +9 -3
  137. package/dist/transformers/preview/component/javascript.js +45 -17
  138. package/dist/transformers/preview/component/shared-artifacts.d.ts +83 -0
  139. package/dist/transformers/preview/component/shared-artifacts.js +92 -0
  140. package/dist/transformers/preview/component.js +5 -2
  141. package/dist/transformers/preview/pattern/builder.js +28 -9
  142. package/dist/transformers/preview/pattern/html.d.ts +13 -10
  143. package/dist/transformers/preview/pattern/html.js +62 -27
  144. package/dist/transformers/preview/types.d.ts +38 -0
  145. package/dist/transformers/utils/handlebars.d.ts +3 -0
  146. package/dist/transformers/utils/handlebars.js +19 -5
  147. package/dist/types/config.d.ts +124 -31
  148. package/dist/utils/menu-shell.d.ts +60 -0
  149. package/dist/utils/menu-shell.js +221 -0
  150. package/dist/utils/stable-stringify.d.ts +2 -0
  151. package/dist/utils/stable-stringify.js +8 -0
  152. package/docs/cli.md +4 -2
  153. package/drizzle/0000_init_registry_storage.sql +95 -0
  154. package/drizzle/0001_add_review_metadata.sql +2 -0
  155. package/drizzle/0002_add_pages.sql +28 -0
  156. package/drizzle/0003_add_tokens.sql +29 -0
  157. package/drizzle/0004_add_assets.sql +37 -0
  158. package/drizzle/meta/0000_snapshot.json +642 -0
  159. package/drizzle/meta/0001_snapshot.json +654 -0
  160. package/drizzle/meta/0002_snapshot.json +835 -0
  161. package/drizzle/meta/0003_snapshot.json +1023 -0
  162. package/drizzle/meta/0004_snapshot.json +1252 -0
  163. package/drizzle/meta/_journal.json +41 -0
  164. package/drizzle.config.ts +16 -0
  165. package/package.json +10 -1
  166. package/src/app/components/Component/Preview.tsx +3 -2
  167. package/src/app/components/Component/RegistryActions.tsx +150 -0
  168. package/src/app/components/Foundations/DisplayLogo.tsx +11 -3
  169. package/src/app/components/Layout/Header.tsx +21 -3
  170. package/src/app/components/Layout/Main.tsx +11 -3
  171. package/src/app/components/Navigation/MainNav.tsx +4 -2
  172. package/src/app/components/Navigation/MobileNav.tsx +4 -2
  173. package/src/app/components/Navigation/SideNav.tsx +46 -11
  174. package/src/app/components/NotFound.tsx +24 -0
  175. package/src/app/components/context/NavProvider.tsx +71 -0
  176. package/src/app/components/old/Header.tsx +3 -3
  177. package/src/app/components/util/index.ts +203 -380
  178. package/src/app/components/util/useCollectionAssets.ts +125 -0
  179. package/src/app/components/util/useFoundationTokens.ts +67 -0
  180. package/src/app/generated/default-pages.json +1 -0
  181. package/src/app/generated/nav-shell.json +1 -0
  182. package/src/app/lib/api/query.ts +6 -0
  183. package/src/app/lib/api/redact.ts +46 -0
  184. package/src/app/lib/asset-storage.ts +81 -0
  185. package/src/app/lib/docs-api/artifacts.ts +116 -0
  186. package/src/app/lib/docs-api/backend.ts +151 -0
  187. package/src/app/lib/docs-api/errors.ts +52 -0
  188. package/src/app/lib/docs-api/handler.ts +34 -0
  189. package/src/app/lib/docs-api/index.ts +7 -0
  190. package/src/app/lib/docs-api/records.ts +189 -0
  191. package/src/app/lib/docs-api/registry.ts +130 -0
  192. package/src/app/lib/docs-api/runtime-config.ts +173 -0
  193. package/src/app/lib/docs-api/serve.ts +37 -0
  194. package/src/app/lib/docs-api/token-detail.ts +19 -0
  195. package/src/app/lib/registry-api/allowlist.ts +163 -0
  196. package/src/app/lib/registry-api/asset-transfer.ts +363 -0
  197. package/src/app/lib/registry-api/auth.ts +68 -0
  198. package/src/app/lib/registry-api/entity-routes.ts +197 -0
  199. package/src/app/lib/registry-api/errors.ts +51 -0
  200. package/src/app/lib/registry-api/files.ts +135 -0
  201. package/src/app/lib/registry-api/handler.ts +96 -0
  202. package/src/app/lib/registry-api/index.ts +4 -0
  203. package/src/app/lib/registry-api/meta.ts +87 -0
  204. package/src/app/lib/registry-api/revalidate.ts +36 -0
  205. package/src/app/lib/registry-api/store.ts +348 -0
  206. package/src/app/lib/registry-api/token-transfer.ts +231 -0
  207. package/src/app/lib/registry-api/transfer.ts +513 -0
  208. package/src/app/lib/registry-api/validation.ts +74 -0
  209. package/src/app/lib/registry-connection.ts +58 -0
  210. package/src/app/lib/utils.ts +14 -0
  211. package/src/app/next.config.mjs +72 -13
  212. package/src/app/pages/[...slug]/index.tsx +74 -20
  213. package/src/app/pages/_app.tsx +5 -2
  214. package/src/app/pages/api/docs/artifacts/[...artifactPath].ts +16 -0
  215. package/src/app/pages/api/docs/assets/[collection]/[...path].ts +50 -0
  216. package/src/app/pages/api/docs/assets/[collection]/index.ts +22 -0
  217. package/src/app/pages/api/docs/components/[id]/assets/[asset].ts +33 -0
  218. package/src/app/pages/api/docs/components/[id]/inspect/[previewId].ts +20 -0
  219. package/src/app/pages/api/docs/components/[id]/previews/[previewId].ts +21 -0
  220. package/src/app/pages/api/docs/components/[id].ts +24 -0
  221. package/src/app/pages/api/docs/components.json.ts +12 -0
  222. package/src/app/pages/api/docs/nav.json.ts +48 -0
  223. package/src/app/pages/api/docs/patterns/[id]/preview.ts +19 -0
  224. package/src/app/pages/api/docs/patterns/[id].ts +24 -0
  225. package/src/app/pages/api/docs/patterns.json.ts +12 -0
  226. package/src/app/pages/api/docs/tokens/components/[id].ts +30 -0
  227. package/src/app/pages/api/docs/tokens/foundations/[type].ts +32 -0
  228. package/src/app/pages/api/registry/components/[id]/files/[...filePath].ts +19 -0
  229. package/src/app/pages/api/registry/components/[id]/files/index.ts +19 -0
  230. package/src/app/pages/api/registry/components/[id].ts +20 -0
  231. package/src/app/pages/api/registry/components/index.ts +19 -0
  232. package/src/app/pages/api/registry/health.ts +20 -0
  233. package/src/app/pages/api/registry/patterns/[id]/files/[...filePath].ts +19 -0
  234. package/src/app/pages/api/registry/patterns/[id]/files/index.ts +19 -0
  235. package/src/app/pages/api/registry/patterns/[id].ts +20 -0
  236. package/src/app/pages/api/registry/patterns/index.ts +19 -0
  237. package/src/app/pages/api/registry/transfer/[kind]/[id].ts +39 -0
  238. package/src/app/pages/api/registry/transfer/assets/[collection].ts +24 -0
  239. package/src/app/pages/api/registry/transfer/assets/blobs/[hash].ts +23 -0
  240. package/src/app/pages/api/registry/transfer/assets/blobs/have.ts +11 -0
  241. package/src/app/pages/api/registry/transfer/assets/index.ts +10 -0
  242. package/src/app/pages/api/registry/transfer/tokens/[...setId].ts +26 -0
  243. package/src/app/pages/api/registry/transfer/tokens/index.ts +11 -0
  244. package/src/app/pages/assets/fonts.tsx +41 -17
  245. package/src/app/pages/assets/index.tsx +2 -2
  246. package/src/app/pages/assets/logos.tsx +6 -3
  247. package/src/app/pages/foundations/colors.tsx +18 -8
  248. package/src/app/pages/foundations/effects.tsx +18 -8
  249. package/src/app/pages/foundations/icons/[name]/index.tsx +28 -16
  250. package/src/app/pages/foundations/icons/index.tsx +18 -12
  251. package/src/app/pages/foundations/index.tsx +1 -1
  252. package/src/app/pages/foundations/logo.tsx +12 -8
  253. package/src/app/pages/foundations/typography.tsx +19 -9
  254. package/src/app/pages/index.tsx +1 -1
  255. package/src/app/pages/system/component/[component]/index.tsx +87 -17
  256. package/src/app/pages/system/index.tsx +13 -4
  257. package/src/app/pages/system/pattern/[pattern]/index.tsx +70 -14
  258. package/src/app/pages/system/tokens/components/[component]/index.tsx +42 -14
  259. package/src/app/pages/system/tokens/foundations/colors.tsx +7 -5
  260. package/src/app/pages/system/tokens/foundations/effects.tsx +7 -5
  261. package/src/app/pages/system/tokens/foundations/typography.tsx +8 -4
  262. package/src/app/tsconfig.json +2 -3
  263. package/src/app-builder/build.ts +555 -11
  264. package/src/app-builder/client-config.ts +61 -4
  265. package/src/app-builder/config-diff/snapshot.ts +1 -11
  266. package/src/app-builder/index.ts +1 -1
  267. package/src/app-builder/nav-shell.ts +74 -0
  268. package/src/app-builder/paths.ts +27 -1
  269. package/src/app-builder/static-export.ts +242 -0
  270. package/src/app-builder/vercel-output.ts +297 -0
  271. package/src/app-builder/watchers/utils.ts +2 -0
  272. package/src/app-builder/watchers.ts +149 -25
  273. package/src/app-builder/websocket.ts +2 -2
  274. package/src/artifacts/README.md +14 -0
  275. package/src/artifacts/index.ts +24 -0
  276. package/src/artifacts/types.ts +146 -0
  277. package/src/artifacts/url.ts +122 -0
  278. package/src/cache/build-cache.ts +47 -2
  279. package/src/commands/build/app.ts +1 -2
  280. package/src/commands/build/index.ts +61 -0
  281. package/src/commands/checkout/index.ts +66 -0
  282. package/src/commands/db/migrate.ts +25 -0
  283. package/src/commands/index.ts +8 -0
  284. package/src/commands/publish/index.ts +63 -0
  285. package/src/config/defaults.ts +15 -0
  286. package/src/config/loader.ts +10 -1
  287. package/src/config/normalizers/declaration.ts +3 -0
  288. package/src/config/normalizers/page.ts +45 -0
  289. package/src/config/normalizers/pattern.ts +4 -1
  290. package/src/config/runtime.ts +48 -2
  291. package/src/index.ts +126 -3
  292. package/src/nav/index.ts +94 -0
  293. package/src/nav/registry.ts +54 -0
  294. package/src/nav/resolver.ts +217 -0
  295. package/src/nav/workspace.ts +87 -0
  296. package/src/pipeline/styles.ts +4 -35
  297. package/src/pipeline/token-transformers.ts +97 -0
  298. package/src/registry/asset-storage/adapters/vercel-blob.ts +51 -0
  299. package/src/registry/asset-storage/define.ts +15 -0
  300. package/src/registry/asset-storage/resolve.ts +72 -0
  301. package/src/registry/asset-storage/types.ts +46 -0
  302. package/src/registry/assets/layout.ts +38 -0
  303. package/src/registry/assets/sets.ts +48 -0
  304. package/src/registry/assets/transfer.ts +50 -0
  305. package/src/registry/checkout/assets.ts +126 -0
  306. package/src/registry/checkout/index.ts +596 -0
  307. package/src/registry/checkout/tokens.ts +152 -0
  308. package/src/registry/client.ts +234 -0
  309. package/src/registry/connection.ts +50 -0
  310. package/src/registry/db/adapter.ts +74 -0
  311. package/src/registry/db/client.ts +88 -0
  312. package/src/registry/db/index.ts +35 -0
  313. package/src/registry/db/migrate.ts +56 -0
  314. package/src/registry/db/schema.ts +444 -0
  315. package/src/registry/path.ts +26 -0
  316. package/src/registry/publish/artifacts.ts +147 -0
  317. package/src/registry/publish/assets.ts +129 -0
  318. package/src/registry/publish/errors.ts +34 -0
  319. package/src/registry/publish/index.ts +128 -0
  320. package/src/registry/publish/package.ts +272 -0
  321. package/src/registry/publish/publish-build.ts +51 -0
  322. package/src/registry/publish/tokens.ts +119 -0
  323. package/src/registry/tokens/sets.ts +132 -0
  324. package/src/registry/tokens/transfer.ts +53 -0
  325. package/src/registry/transfer.ts +82 -0
  326. package/src/store/filesystem-assets.ts +152 -0
  327. package/src/store/filesystem.ts +237 -0
  328. package/src/store/index.ts +62 -0
  329. package/src/store/registry.ts +334 -0
  330. package/src/store/source-files.ts +155 -0
  331. package/src/store/types.ts +210 -0
  332. package/src/transformers/plugins/csf-render.ts +31 -7
  333. package/src/transformers/plugins/handlebars-previews.ts +22 -3
  334. package/src/transformers/plugins/ssr-render.ts +145 -57
  335. package/src/transformers/preview/component/api.ts +2 -1
  336. package/src/transformers/preview/component/artifacts.ts +10 -1
  337. package/src/transformers/preview/component/builder.ts +9 -2
  338. package/src/transformers/preview/component/css.ts +10 -1
  339. package/src/transformers/preview/component/javascript.ts +55 -20
  340. package/src/transformers/preview/component/shared-artifacts.ts +146 -0
  341. package/src/transformers/preview/component.ts +5 -2
  342. package/src/transformers/preview/pattern/builder.ts +33 -7
  343. package/src/transformers/preview/pattern/html.ts +71 -27
  344. package/src/transformers/preview/types.ts +42 -0
  345. package/src/transformers/utils/handlebars.ts +31 -5
  346. package/src/types/config.ts +129 -31
  347. package/src/utils/menu-shell.ts +241 -0
  348. package/src/utils/stable-stringify.ts +7 -0
  349. package/templates/default/package.json.tpl +1 -1
  350. package/handoff.config.js +0 -90
  351. package/src/app/components/ComponentSearch.tsx +0 -93
@@ -0,0 +1,835 @@
1
+ {
2
+ "id": "08b5dc17-6d0c-44e5-9be5-af35abefe005",
3
+ "prevId": "39112473-f7a8-46e8-b486-e7ed44537eec",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.build_metadata": {
8
+ "name": "build_metadata",
9
+ "schema": "",
10
+ "columns": {
11
+ "entity_kind": {
12
+ "name": "entity_kind",
13
+ "type": "text",
14
+ "primaryKey": false,
15
+ "notNull": true
16
+ },
17
+ "entity_id": {
18
+ "name": "entity_id",
19
+ "type": "text",
20
+ "primaryKey": false,
21
+ "notNull": true
22
+ },
23
+ "status": {
24
+ "name": "status",
25
+ "type": "text",
26
+ "primaryKey": false,
27
+ "notNull": true
28
+ },
29
+ "built_at": {
30
+ "name": "built_at",
31
+ "type": "timestamp with time zone",
32
+ "primaryKey": false,
33
+ "notNull": false
34
+ },
35
+ "builder_version": {
36
+ "name": "builder_version",
37
+ "type": "text",
38
+ "primaryKey": false,
39
+ "notNull": false
40
+ },
41
+ "artifact_hash": {
42
+ "name": "artifact_hash",
43
+ "type": "text",
44
+ "primaryKey": false,
45
+ "notNull": false
46
+ },
47
+ "source_hash": {
48
+ "name": "source_hash",
49
+ "type": "text",
50
+ "primaryKey": false,
51
+ "notNull": false
52
+ },
53
+ "warnings": {
54
+ "name": "warnings",
55
+ "type": "jsonb",
56
+ "primaryKey": false,
57
+ "notNull": false
58
+ },
59
+ "error": {
60
+ "name": "error",
61
+ "type": "text",
62
+ "primaryKey": false,
63
+ "notNull": false
64
+ },
65
+ "created_at": {
66
+ "name": "created_at",
67
+ "type": "timestamp with time zone",
68
+ "primaryKey": false,
69
+ "notNull": true,
70
+ "default": "now()"
71
+ },
72
+ "updated_at": {
73
+ "name": "updated_at",
74
+ "type": "timestamp with time zone",
75
+ "primaryKey": false,
76
+ "notNull": true,
77
+ "default": "now()"
78
+ }
79
+ },
80
+ "indexes": {},
81
+ "foreignKeys": {},
82
+ "compositePrimaryKeys": {
83
+ "build_metadata_entity_kind_entity_id_pk": {
84
+ "name": "build_metadata_entity_kind_entity_id_pk",
85
+ "columns": [
86
+ "entity_kind",
87
+ "entity_id"
88
+ ]
89
+ }
90
+ },
91
+ "uniqueConstraints": {},
92
+ "policies": {},
93
+ "checkConstraints": {},
94
+ "isRLSEnabled": false
95
+ },
96
+ "public.component_files": {
97
+ "name": "component_files",
98
+ "schema": "",
99
+ "columns": {
100
+ "component_id": {
101
+ "name": "component_id",
102
+ "type": "text",
103
+ "primaryKey": false,
104
+ "notNull": true
105
+ },
106
+ "path": {
107
+ "name": "path",
108
+ "type": "text",
109
+ "primaryKey": false,
110
+ "notNull": true
111
+ },
112
+ "kind": {
113
+ "name": "kind",
114
+ "type": "text",
115
+ "primaryKey": false,
116
+ "notNull": true
117
+ },
118
+ "content": {
119
+ "name": "content",
120
+ "type": "text",
121
+ "primaryKey": false,
122
+ "notNull": false
123
+ },
124
+ "storage_ref": {
125
+ "name": "storage_ref",
126
+ "type": "text",
127
+ "primaryKey": false,
128
+ "notNull": false
129
+ },
130
+ "content_type": {
131
+ "name": "content_type",
132
+ "type": "text",
133
+ "primaryKey": false,
134
+ "notNull": true
135
+ },
136
+ "created_at": {
137
+ "name": "created_at",
138
+ "type": "timestamp with time zone",
139
+ "primaryKey": false,
140
+ "notNull": true,
141
+ "default": "now()"
142
+ },
143
+ "updated_at": {
144
+ "name": "updated_at",
145
+ "type": "timestamp with time zone",
146
+ "primaryKey": false,
147
+ "notNull": true,
148
+ "default": "now()"
149
+ }
150
+ },
151
+ "indexes": {},
152
+ "foreignKeys": {
153
+ "component_files_component_id_components_id_fk": {
154
+ "name": "component_files_component_id_components_id_fk",
155
+ "tableFrom": "component_files",
156
+ "tableTo": "components",
157
+ "columnsFrom": [
158
+ "component_id"
159
+ ],
160
+ "columnsTo": [
161
+ "id"
162
+ ],
163
+ "onDelete": "cascade",
164
+ "onUpdate": "no action"
165
+ }
166
+ },
167
+ "compositePrimaryKeys": {
168
+ "component_files_component_id_path_pk": {
169
+ "name": "component_files_component_id_path_pk",
170
+ "columns": [
171
+ "component_id",
172
+ "path"
173
+ ]
174
+ }
175
+ },
176
+ "uniqueConstraints": {},
177
+ "policies": {},
178
+ "checkConstraints": {
179
+ "component_files_kind_not_declaration": {
180
+ "name": "component_files_kind_not_declaration",
181
+ "value": "\"component_files\".\"kind\" <> 'declaration'"
182
+ }
183
+ },
184
+ "isRLSEnabled": false
185
+ },
186
+ "public.components": {
187
+ "name": "components",
188
+ "schema": "",
189
+ "columns": {
190
+ "id": {
191
+ "name": "id",
192
+ "type": "text",
193
+ "primaryKey": true,
194
+ "notNull": true
195
+ },
196
+ "path": {
197
+ "name": "path",
198
+ "type": "text",
199
+ "primaryKey": false,
200
+ "notNull": true
201
+ },
202
+ "title": {
203
+ "name": "title",
204
+ "type": "text",
205
+ "primaryKey": false,
206
+ "notNull": false
207
+ },
208
+ "description": {
209
+ "name": "description",
210
+ "type": "text",
211
+ "primaryKey": false,
212
+ "notNull": false
213
+ },
214
+ "group": {
215
+ "name": "group",
216
+ "type": "text",
217
+ "primaryKey": false,
218
+ "notNull": false
219
+ },
220
+ "type": {
221
+ "name": "type",
222
+ "type": "text",
223
+ "primaryKey": false,
224
+ "notNull": false
225
+ },
226
+ "renderer": {
227
+ "name": "renderer",
228
+ "type": "text",
229
+ "primaryKey": false,
230
+ "notNull": false
231
+ },
232
+ "tags": {
233
+ "name": "tags",
234
+ "type": "jsonb",
235
+ "primaryKey": false,
236
+ "notNull": false
237
+ },
238
+ "categories": {
239
+ "name": "categories",
240
+ "type": "jsonb",
241
+ "primaryKey": false,
242
+ "notNull": false
243
+ },
244
+ "record": {
245
+ "name": "record",
246
+ "type": "jsonb",
247
+ "primaryKey": false,
248
+ "notNull": true
249
+ },
250
+ "metadata": {
251
+ "name": "metadata",
252
+ "type": "jsonb",
253
+ "primaryKey": false,
254
+ "notNull": false
255
+ },
256
+ "created_at": {
257
+ "name": "created_at",
258
+ "type": "timestamp with time zone",
259
+ "primaryKey": false,
260
+ "notNull": true,
261
+ "default": "now()"
262
+ },
263
+ "updated_at": {
264
+ "name": "updated_at",
265
+ "type": "timestamp with time zone",
266
+ "primaryKey": false,
267
+ "notNull": true,
268
+ "default": "now()"
269
+ }
270
+ },
271
+ "indexes": {
272
+ "components_group_idx": {
273
+ "name": "components_group_idx",
274
+ "columns": [
275
+ {
276
+ "expression": "group",
277
+ "isExpression": false,
278
+ "asc": true,
279
+ "nulls": "last"
280
+ }
281
+ ],
282
+ "isUnique": false,
283
+ "concurrently": false,
284
+ "method": "btree",
285
+ "with": {}
286
+ }
287
+ },
288
+ "foreignKeys": {},
289
+ "compositePrimaryKeys": {},
290
+ "uniqueConstraints": {},
291
+ "policies": {},
292
+ "checkConstraints": {},
293
+ "isRLSEnabled": false
294
+ },
295
+ "public.docs_artifacts": {
296
+ "name": "docs_artifacts",
297
+ "schema": "",
298
+ "columns": {
299
+ "path": {
300
+ "name": "path",
301
+ "type": "text",
302
+ "primaryKey": true,
303
+ "notNull": true
304
+ },
305
+ "entity_kind": {
306
+ "name": "entity_kind",
307
+ "type": "text",
308
+ "primaryKey": false,
309
+ "notNull": true
310
+ },
311
+ "entity_id": {
312
+ "name": "entity_id",
313
+ "type": "text",
314
+ "primaryKey": false,
315
+ "notNull": false
316
+ },
317
+ "artifact_kind": {
318
+ "name": "artifact_kind",
319
+ "type": "text",
320
+ "primaryKey": false,
321
+ "notNull": true
322
+ },
323
+ "content": {
324
+ "name": "content",
325
+ "type": "text",
326
+ "primaryKey": false,
327
+ "notNull": false
328
+ },
329
+ "storage_ref": {
330
+ "name": "storage_ref",
331
+ "type": "text",
332
+ "primaryKey": false,
333
+ "notNull": false
334
+ },
335
+ "content_type": {
336
+ "name": "content_type",
337
+ "type": "text",
338
+ "primaryKey": false,
339
+ "notNull": true
340
+ },
341
+ "owner_kind": {
342
+ "name": "owner_kind",
343
+ "type": "text",
344
+ "primaryKey": false,
345
+ "notNull": false
346
+ },
347
+ "owner_id": {
348
+ "name": "owner_id",
349
+ "type": "text",
350
+ "primaryKey": false,
351
+ "notNull": false
352
+ },
353
+ "references": {
354
+ "name": "references",
355
+ "type": "jsonb",
356
+ "primaryKey": false,
357
+ "notNull": false
358
+ },
359
+ "format_version": {
360
+ "name": "format_version",
361
+ "type": "text",
362
+ "primaryKey": false,
363
+ "notNull": false
364
+ },
365
+ "build_id": {
366
+ "name": "build_id",
367
+ "type": "text",
368
+ "primaryKey": false,
369
+ "notNull": false
370
+ },
371
+ "hash": {
372
+ "name": "hash",
373
+ "type": "text",
374
+ "primaryKey": false,
375
+ "notNull": false
376
+ },
377
+ "size": {
378
+ "name": "size",
379
+ "type": "integer",
380
+ "primaryKey": false,
381
+ "notNull": false
382
+ },
383
+ "gzip_size": {
384
+ "name": "gzip_size",
385
+ "type": "integer",
386
+ "primaryKey": false,
387
+ "notNull": false
388
+ },
389
+ "created_at": {
390
+ "name": "created_at",
391
+ "type": "timestamp with time zone",
392
+ "primaryKey": false,
393
+ "notNull": true,
394
+ "default": "now()"
395
+ },
396
+ "updated_at": {
397
+ "name": "updated_at",
398
+ "type": "timestamp with time zone",
399
+ "primaryKey": false,
400
+ "notNull": true,
401
+ "default": "now()"
402
+ }
403
+ },
404
+ "indexes": {
405
+ "docs_artifacts_entity_idx": {
406
+ "name": "docs_artifacts_entity_idx",
407
+ "columns": [
408
+ {
409
+ "expression": "entity_kind",
410
+ "isExpression": false,
411
+ "asc": true,
412
+ "nulls": "last"
413
+ },
414
+ {
415
+ "expression": "entity_id",
416
+ "isExpression": false,
417
+ "asc": true,
418
+ "nulls": "last"
419
+ }
420
+ ],
421
+ "isUnique": false,
422
+ "concurrently": false,
423
+ "method": "btree",
424
+ "with": {}
425
+ },
426
+ "docs_artifacts_owner_idx": {
427
+ "name": "docs_artifacts_owner_idx",
428
+ "columns": [
429
+ {
430
+ "expression": "owner_kind",
431
+ "isExpression": false,
432
+ "asc": true,
433
+ "nulls": "last"
434
+ },
435
+ {
436
+ "expression": "owner_id",
437
+ "isExpression": false,
438
+ "asc": true,
439
+ "nulls": "last"
440
+ }
441
+ ],
442
+ "isUnique": false,
443
+ "concurrently": false,
444
+ "method": "btree",
445
+ "with": {}
446
+ }
447
+ },
448
+ "foreignKeys": {},
449
+ "compositePrimaryKeys": {},
450
+ "uniqueConstraints": {},
451
+ "policies": {},
452
+ "checkConstraints": {},
453
+ "isRLSEnabled": false
454
+ },
455
+ "public.page_files": {
456
+ "name": "page_files",
457
+ "schema": "",
458
+ "columns": {
459
+ "page_id": {
460
+ "name": "page_id",
461
+ "type": "text",
462
+ "primaryKey": false,
463
+ "notNull": true
464
+ },
465
+ "path": {
466
+ "name": "path",
467
+ "type": "text",
468
+ "primaryKey": false,
469
+ "notNull": true
470
+ },
471
+ "kind": {
472
+ "name": "kind",
473
+ "type": "text",
474
+ "primaryKey": false,
475
+ "notNull": true
476
+ },
477
+ "content": {
478
+ "name": "content",
479
+ "type": "text",
480
+ "primaryKey": false,
481
+ "notNull": false
482
+ },
483
+ "storage_ref": {
484
+ "name": "storage_ref",
485
+ "type": "text",
486
+ "primaryKey": false,
487
+ "notNull": false
488
+ },
489
+ "content_type": {
490
+ "name": "content_type",
491
+ "type": "text",
492
+ "primaryKey": false,
493
+ "notNull": true
494
+ },
495
+ "created_at": {
496
+ "name": "created_at",
497
+ "type": "timestamp with time zone",
498
+ "primaryKey": false,
499
+ "notNull": true,
500
+ "default": "now()"
501
+ },
502
+ "updated_at": {
503
+ "name": "updated_at",
504
+ "type": "timestamp with time zone",
505
+ "primaryKey": false,
506
+ "notNull": true,
507
+ "default": "now()"
508
+ }
509
+ },
510
+ "indexes": {},
511
+ "foreignKeys": {
512
+ "page_files_page_id_pages_id_fk": {
513
+ "name": "page_files_page_id_pages_id_fk",
514
+ "tableFrom": "page_files",
515
+ "tableTo": "pages",
516
+ "columnsFrom": [
517
+ "page_id"
518
+ ],
519
+ "columnsTo": [
520
+ "id"
521
+ ],
522
+ "onDelete": "cascade",
523
+ "onUpdate": "no action"
524
+ }
525
+ },
526
+ "compositePrimaryKeys": {
527
+ "page_files_page_id_path_pk": {
528
+ "name": "page_files_page_id_path_pk",
529
+ "columns": [
530
+ "page_id",
531
+ "path"
532
+ ]
533
+ }
534
+ },
535
+ "uniqueConstraints": {},
536
+ "policies": {},
537
+ "checkConstraints": {
538
+ "page_files_kind_not_declaration": {
539
+ "name": "page_files_kind_not_declaration",
540
+ "value": "\"page_files\".\"kind\" <> 'declaration'"
541
+ }
542
+ },
543
+ "isRLSEnabled": false
544
+ },
545
+ "public.pages": {
546
+ "name": "pages",
547
+ "schema": "",
548
+ "columns": {
549
+ "id": {
550
+ "name": "id",
551
+ "type": "text",
552
+ "primaryKey": true,
553
+ "notNull": true
554
+ },
555
+ "path": {
556
+ "name": "path",
557
+ "type": "text",
558
+ "primaryKey": false,
559
+ "notNull": true
560
+ },
561
+ "title": {
562
+ "name": "title",
563
+ "type": "text",
564
+ "primaryKey": false,
565
+ "notNull": false
566
+ },
567
+ "description": {
568
+ "name": "description",
569
+ "type": "text",
570
+ "primaryKey": false,
571
+ "notNull": false
572
+ },
573
+ "group": {
574
+ "name": "group",
575
+ "type": "text",
576
+ "primaryKey": false,
577
+ "notNull": false
578
+ },
579
+ "weight": {
580
+ "name": "weight",
581
+ "type": "integer",
582
+ "primaryKey": false,
583
+ "notNull": false
584
+ },
585
+ "record": {
586
+ "name": "record",
587
+ "type": "jsonb",
588
+ "primaryKey": false,
589
+ "notNull": true
590
+ },
591
+ "metadata": {
592
+ "name": "metadata",
593
+ "type": "jsonb",
594
+ "primaryKey": false,
595
+ "notNull": false
596
+ },
597
+ "created_at": {
598
+ "name": "created_at",
599
+ "type": "timestamp with time zone",
600
+ "primaryKey": false,
601
+ "notNull": true,
602
+ "default": "now()"
603
+ },
604
+ "updated_at": {
605
+ "name": "updated_at",
606
+ "type": "timestamp with time zone",
607
+ "primaryKey": false,
608
+ "notNull": true,
609
+ "default": "now()"
610
+ }
611
+ },
612
+ "indexes": {
613
+ "pages_group_idx": {
614
+ "name": "pages_group_idx",
615
+ "columns": [
616
+ {
617
+ "expression": "group",
618
+ "isExpression": false,
619
+ "asc": true,
620
+ "nulls": "last"
621
+ }
622
+ ],
623
+ "isUnique": false,
624
+ "concurrently": false,
625
+ "method": "btree",
626
+ "with": {}
627
+ }
628
+ },
629
+ "foreignKeys": {},
630
+ "compositePrimaryKeys": {},
631
+ "uniqueConstraints": {},
632
+ "policies": {},
633
+ "checkConstraints": {},
634
+ "isRLSEnabled": false
635
+ },
636
+ "public.pattern_files": {
637
+ "name": "pattern_files",
638
+ "schema": "",
639
+ "columns": {
640
+ "pattern_id": {
641
+ "name": "pattern_id",
642
+ "type": "text",
643
+ "primaryKey": false,
644
+ "notNull": true
645
+ },
646
+ "path": {
647
+ "name": "path",
648
+ "type": "text",
649
+ "primaryKey": false,
650
+ "notNull": true
651
+ },
652
+ "kind": {
653
+ "name": "kind",
654
+ "type": "text",
655
+ "primaryKey": false,
656
+ "notNull": true
657
+ },
658
+ "content": {
659
+ "name": "content",
660
+ "type": "text",
661
+ "primaryKey": false,
662
+ "notNull": false
663
+ },
664
+ "storage_ref": {
665
+ "name": "storage_ref",
666
+ "type": "text",
667
+ "primaryKey": false,
668
+ "notNull": false
669
+ },
670
+ "content_type": {
671
+ "name": "content_type",
672
+ "type": "text",
673
+ "primaryKey": false,
674
+ "notNull": true
675
+ },
676
+ "created_at": {
677
+ "name": "created_at",
678
+ "type": "timestamp with time zone",
679
+ "primaryKey": false,
680
+ "notNull": true,
681
+ "default": "now()"
682
+ },
683
+ "updated_at": {
684
+ "name": "updated_at",
685
+ "type": "timestamp with time zone",
686
+ "primaryKey": false,
687
+ "notNull": true,
688
+ "default": "now()"
689
+ }
690
+ },
691
+ "indexes": {},
692
+ "foreignKeys": {
693
+ "pattern_files_pattern_id_patterns_id_fk": {
694
+ "name": "pattern_files_pattern_id_patterns_id_fk",
695
+ "tableFrom": "pattern_files",
696
+ "tableTo": "patterns",
697
+ "columnsFrom": [
698
+ "pattern_id"
699
+ ],
700
+ "columnsTo": [
701
+ "id"
702
+ ],
703
+ "onDelete": "cascade",
704
+ "onUpdate": "no action"
705
+ }
706
+ },
707
+ "compositePrimaryKeys": {
708
+ "pattern_files_pattern_id_path_pk": {
709
+ "name": "pattern_files_pattern_id_path_pk",
710
+ "columns": [
711
+ "pattern_id",
712
+ "path"
713
+ ]
714
+ }
715
+ },
716
+ "uniqueConstraints": {},
717
+ "policies": {},
718
+ "checkConstraints": {
719
+ "pattern_files_kind_not_declaration": {
720
+ "name": "pattern_files_kind_not_declaration",
721
+ "value": "\"pattern_files\".\"kind\" <> 'declaration'"
722
+ }
723
+ },
724
+ "isRLSEnabled": false
725
+ },
726
+ "public.patterns": {
727
+ "name": "patterns",
728
+ "schema": "",
729
+ "columns": {
730
+ "id": {
731
+ "name": "id",
732
+ "type": "text",
733
+ "primaryKey": true,
734
+ "notNull": true
735
+ },
736
+ "path": {
737
+ "name": "path",
738
+ "type": "text",
739
+ "primaryKey": false,
740
+ "notNull": true
741
+ },
742
+ "title": {
743
+ "name": "title",
744
+ "type": "text",
745
+ "primaryKey": false,
746
+ "notNull": false
747
+ },
748
+ "description": {
749
+ "name": "description",
750
+ "type": "text",
751
+ "primaryKey": false,
752
+ "notNull": false
753
+ },
754
+ "group": {
755
+ "name": "group",
756
+ "type": "text",
757
+ "primaryKey": false,
758
+ "notNull": false
759
+ },
760
+ "tags": {
761
+ "name": "tags",
762
+ "type": "jsonb",
763
+ "primaryKey": false,
764
+ "notNull": false
765
+ },
766
+ "components": {
767
+ "name": "components",
768
+ "type": "jsonb",
769
+ "primaryKey": false,
770
+ "notNull": false
771
+ },
772
+ "record": {
773
+ "name": "record",
774
+ "type": "jsonb",
775
+ "primaryKey": false,
776
+ "notNull": true
777
+ },
778
+ "metadata": {
779
+ "name": "metadata",
780
+ "type": "jsonb",
781
+ "primaryKey": false,
782
+ "notNull": false
783
+ },
784
+ "created_at": {
785
+ "name": "created_at",
786
+ "type": "timestamp with time zone",
787
+ "primaryKey": false,
788
+ "notNull": true,
789
+ "default": "now()"
790
+ },
791
+ "updated_at": {
792
+ "name": "updated_at",
793
+ "type": "timestamp with time zone",
794
+ "primaryKey": false,
795
+ "notNull": true,
796
+ "default": "now()"
797
+ }
798
+ },
799
+ "indexes": {
800
+ "patterns_group_idx": {
801
+ "name": "patterns_group_idx",
802
+ "columns": [
803
+ {
804
+ "expression": "group",
805
+ "isExpression": false,
806
+ "asc": true,
807
+ "nulls": "last"
808
+ }
809
+ ],
810
+ "isUnique": false,
811
+ "concurrently": false,
812
+ "method": "btree",
813
+ "with": {}
814
+ }
815
+ },
816
+ "foreignKeys": {},
817
+ "compositePrimaryKeys": {},
818
+ "uniqueConstraints": {},
819
+ "policies": {},
820
+ "checkConstraints": {},
821
+ "isRLSEnabled": false
822
+ }
823
+ },
824
+ "enums": {},
825
+ "schemas": {},
826
+ "sequences": {},
827
+ "roles": {},
828
+ "policies": {},
829
+ "views": {},
830
+ "_meta": {
831
+ "columns": {},
832
+ "schemas": {},
833
+ "tables": {}
834
+ }
835
+ }