@kozou/svelte-ui 1.12.4 → 1.14.0

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 (95) hide show
  1. package/build/client/_app/immutable/chunks/BeaFYdjZ.js +4 -0
  2. package/build/client/_app/immutable/chunks/BeaFYdjZ.js.br +0 -0
  3. package/build/client/_app/immutable/chunks/BeaFYdjZ.js.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{CYX9TiPG.js → CyEapXW1.js} +1 -1
  5. package/build/client/_app/immutable/chunks/CyEapXW1.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/CyEapXW1.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/{DNXNrTOy.js → D8ML2dLN.js} +1 -1
  8. package/build/client/_app/immutable/chunks/D8ML2dLN.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/D8ML2dLN.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{B6KF2gyT.js → MKiyQ2pK.js} +1 -1
  11. package/build/client/_app/immutable/chunks/MKiyQ2pK.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/MKiyQ2pK.js.gz +0 -0
  13. package/build/client/_app/immutable/entry/{app.CWI8FWSn.js → app.CAO-IVsJ.js} +2 -2
  14. package/build/client/_app/immutable/entry/app.CAO-IVsJ.js.br +0 -0
  15. package/build/client/_app/immutable/entry/app.CAO-IVsJ.js.gz +0 -0
  16. package/build/client/_app/immutable/entry/start.BbCNU1Dg.js +1 -0
  17. package/build/client/_app/immutable/entry/start.BbCNU1Dg.js.br +0 -0
  18. package/build/client/_app/immutable/entry/start.BbCNU1Dg.js.gz +0 -0
  19. package/build/client/_app/immutable/nodes/{1.CAWNOVKy.js → 1.DcJp1bBh.js} +1 -1
  20. package/build/client/_app/immutable/nodes/1.DcJp1bBh.js.br +0 -0
  21. package/build/client/_app/immutable/nodes/1.DcJp1bBh.js.gz +0 -0
  22. package/build/client/_app/immutable/nodes/{3.Ou-K1PCB.js → 3.DilNKdly.js} +1 -1
  23. package/build/client/_app/immutable/nodes/3.DilNKdly.js.br +0 -0
  24. package/build/client/_app/immutable/nodes/3.DilNKdly.js.gz +0 -0
  25. package/build/client/_app/immutable/nodes/{6.e946iZUK.js → 6.gqgL5ddt.js} +1 -1
  26. package/build/client/_app/immutable/nodes/6.gqgL5ddt.js.br +0 -0
  27. package/build/client/_app/immutable/nodes/6.gqgL5ddt.js.gz +0 -0
  28. package/build/client/_app/immutable/nodes/{7.DwANEoNh.js → 7.vo26CoHH.js} +1 -1
  29. package/build/client/_app/immutable/nodes/7.vo26CoHH.js.br +0 -0
  30. package/build/client/_app/immutable/nodes/7.vo26CoHH.js.gz +0 -0
  31. package/build/client/_app/immutable/nodes/{8.CpJggXfV.js → 8.G6_oZ6As.js} +1 -1
  32. package/build/client/_app/immutable/nodes/8.G6_oZ6As.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/8.G6_oZ6As.js.gz +0 -0
  34. package/build/client/_app/version.json +1 -1
  35. package/build/client/_app/version.json.br +0 -0
  36. package/build/client/_app/version.json.gz +0 -0
  37. package/build/server/chunks/{1-BtG5xkKB.js → 1-Lp1H89aa.js} +3 -3
  38. package/build/server/chunks/{1-BtG5xkKB.js.map → 1-Lp1H89aa.js.map} +1 -1
  39. package/build/server/chunks/{3-D_s13IAU.js → 3-n2rMPbGG.js} +6 -6
  40. package/build/server/chunks/{3-D_s13IAU.js.map → 3-n2rMPbGG.js.map} +1 -1
  41. package/build/server/chunks/{6-ExQ5EsP7.js → 6-BJu9aot2.js} +3 -3
  42. package/build/server/chunks/{6-ExQ5EsP7.js.map → 6-BJu9aot2.js.map} +1 -1
  43. package/build/server/chunks/{7-CqwAbv-Z.js → 7-BTyfJrg0.js} +6 -6
  44. package/build/server/chunks/{7-CqwAbv-Z.js.map → 7-BTyfJrg0.js.map} +1 -1
  45. package/build/server/chunks/{8-D5mBAmG8.js → 8-y4R-7MQm.js} +6 -6
  46. package/build/server/chunks/{8-D5mBAmG8.js.map → 8-y4R-7MQm.js.map} +1 -1
  47. package/build/server/chunks/{_page.svelte-B4BItsbX.js → _page.svelte-BOKEKP92.js} +4 -4
  48. package/build/server/chunks/{_page.svelte-B4BItsbX.js.map → _page.svelte-BOKEKP92.js.map} +1 -1
  49. package/build/server/chunks/{_page.svelte-DXFO9Ft5.js → _page.svelte-BYQwrYgX.js} +5 -5
  50. package/build/server/chunks/{_page.svelte-DXFO9Ft5.js.map → _page.svelte-BYQwrYgX.js.map} +1 -1
  51. package/build/server/chunks/{_page.svelte-BOH_88xH.js → _page.svelte-CrlPSr3X.js} +5 -5
  52. package/build/server/chunks/{_page.svelte-BOH_88xH.js.map → _page.svelte-CrlPSr3X.js.map} +1 -1
  53. package/build/server/chunks/{_page.svelte-Dd7d30M3.js → _page.svelte-CwWIi0GQ.js} +3 -3
  54. package/build/server/chunks/{_page.svelte-Dd7d30M3.js.map → _page.svelte-CwWIi0GQ.js.map} +1 -1
  55. package/build/server/chunks/{client-6uz3cdPS.js → client-DbPppFjt.js} +2 -2
  56. package/build/server/chunks/{client-6uz3cdPS.js.map → client-DbPppFjt.js.map} +1 -1
  57. package/build/server/chunks/{composite-form-DLLqUONw.js → composite-form-Dcu-6Vt3.js} +3 -3
  58. package/build/server/chunks/{composite-form-DLLqUONw.js.map → composite-form-Dcu-6Vt3.js.map} +1 -1
  59. package/build/server/chunks/{error.svelte-CjExhfVx.js → error.svelte-BSxqmqeo.js} +3 -3
  60. package/build/server/chunks/{error.svelte-CjExhfVx.js.map → error.svelte-BSxqmqeo.js.map} +1 -1
  61. package/build/server/chunks/{hooks.server-BsT5P6HG.js → hooks.server-D1iCXjo7.js} +38 -9
  62. package/build/server/chunks/hooks.server-D1iCXjo7.js.map +1 -0
  63. package/build/server/chunks/{internal-BEBsTYmk.js → internal-DwZRIG8U.js} +3 -3
  64. package/build/server/chunks/{internal-BEBsTYmk.js.map → internal-DwZRIG8U.js.map} +1 -1
  65. package/build/server/chunks/{relation-select-composite-field-Cw2zMxv4.js → relation-select-composite-field-ogwRaqsX.js} +2 -2
  66. package/build/server/chunks/{relation-select-composite-field-Cw2zMxv4.js.map → relation-select-composite-field-ogwRaqsX.js.map} +1 -1
  67. package/build/server/index.js +1 -1
  68. package/build/server/manifest.js +6 -6
  69. package/build/server/manifest.js.map +1 -1
  70. package/package.json +5 -5
  71. package/build/client/_app/immutable/chunks/B6KF2gyT.js.br +0 -0
  72. package/build/client/_app/immutable/chunks/B6KF2gyT.js.gz +0 -0
  73. package/build/client/_app/immutable/chunks/CYX9TiPG.js.br +0 -0
  74. package/build/client/_app/immutable/chunks/CYX9TiPG.js.gz +0 -0
  75. package/build/client/_app/immutable/chunks/D8T_J90J.js +0 -4
  76. package/build/client/_app/immutable/chunks/D8T_J90J.js.br +0 -0
  77. package/build/client/_app/immutable/chunks/D8T_J90J.js.gz +0 -0
  78. package/build/client/_app/immutable/chunks/DNXNrTOy.js.br +0 -0
  79. package/build/client/_app/immutable/chunks/DNXNrTOy.js.gz +0 -0
  80. package/build/client/_app/immutable/entry/app.CWI8FWSn.js.br +0 -0
  81. package/build/client/_app/immutable/entry/app.CWI8FWSn.js.gz +0 -0
  82. package/build/client/_app/immutable/entry/start.oSf15l50.js +0 -1
  83. package/build/client/_app/immutable/entry/start.oSf15l50.js.br +0 -0
  84. package/build/client/_app/immutable/entry/start.oSf15l50.js.gz +0 -0
  85. package/build/client/_app/immutable/nodes/1.CAWNOVKy.js.br +0 -0
  86. package/build/client/_app/immutable/nodes/1.CAWNOVKy.js.gz +0 -0
  87. package/build/client/_app/immutable/nodes/3.Ou-K1PCB.js.br +0 -0
  88. package/build/client/_app/immutable/nodes/3.Ou-K1PCB.js.gz +0 -0
  89. package/build/client/_app/immutable/nodes/6.e946iZUK.js.br +0 -0
  90. package/build/client/_app/immutable/nodes/6.e946iZUK.js.gz +0 -0
  91. package/build/client/_app/immutable/nodes/7.DwANEoNh.js.br +0 -0
  92. package/build/client/_app/immutable/nodes/7.DwANEoNh.js.gz +0 -0
  93. package/build/client/_app/immutable/nodes/8.CpJggXfV.js.br +0 -0
  94. package/build/client/_app/immutable/nodes/8.CpJggXfV.js.gz +0 -0
  95. package/build/server/chunks/hooks.server-BsT5P6HG.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import 'node:module';
2
2
  import { q as escape_html, x as getContext } from './dev-aF1HGl8f.js';
3
- import './client-6uz3cdPS.js';
3
+ import './client-DbPppFjt.js';
4
4
  import 'clsx';
5
- import './internal-BEBsTYmk.js';
5
+ import './internal-DwZRIG8U.js';
6
6
  import './index-DBqjc0Yf.js';
7
7
 
8
8
  //#endregion
@@ -65,4 +65,4 @@ function Error$1($$renderer, $$props) {
65
65
  }
66
66
 
67
67
  export { Error$1 as default };
68
- //# sourceMappingURL=error.svelte-CjExhfVx.js.map
68
+ //# sourceMappingURL=error.svelte-BSxqmqeo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.svelte-CjExhfVx.js","sources":["../../../.svelte-kit/adapter-node/entries/fallbacks/error.svelte.js"],"sourcesContent":["import \"../../chunks/environment.js\";\nimport { H as escape_html, tt as getContext } from \"../../chunks/dev.js\";\nimport { c as navigating$1, s as stores } from \"../../chunks/client.js\";\nObject.defineProperty({\n\tget from() {\n\t\treturn navigating$1.current ? navigating$1.current.from : null;\n\t},\n\tget to() {\n\t\treturn navigating$1.current ? navigating$1.current.to : null;\n\t},\n\tget type() {\n\t\treturn navigating$1.current ? navigating$1.current.type : null;\n\t},\n\tget willUnload() {\n\t\treturn navigating$1.current ? navigating$1.current.willUnload : null;\n\t},\n\tget delta() {\n\t\treturn navigating$1.current ? navigating$1.current.delta : null;\n\t},\n\tget complete() {\n\t\treturn navigating$1.current ? navigating$1.current.complete : null;\n\t}\n}, \"current\", { get() {\n\tthrow new Error(\"Replace navigating.current.<prop> with navigating.<prop>\");\n} });\nstores.updated.check;\n//#endregion\n//#region ../../node_modules/.pnpm/@sveltejs+kit@2.61.1_@sveltejs+vite-plugin-svelte@7.1.2_svelte@5.55.9_@typescript-eslin_b6cf287e4b8449a2ec52045a8a580061/node_modules/@sveltejs/kit/src/runtime/app/state/server.js\nfunction context() {\n\treturn getContext(\"__request__\");\n}\n//#endregion\n//#region ../../node_modules/.pnpm/@sveltejs+kit@2.61.1_@sveltejs+vite-plugin-svelte@7.1.2_svelte@5.55.9_@typescript-eslin_b6cf287e4b8449a2ec52045a8a580061/node_modules/@sveltejs/kit/src/runtime/app/state/index.js\n/**\n* A read-only reactive object with information about the current page, serving several use cases:\n* - retrieving the combined `data` of all pages/layouts anywhere in your component tree (also see [loading data](https://svelte.dev/docs/kit/load))\n* - retrieving the current value of the `form` prop anywhere in your component tree (also see [form actions](https://svelte.dev/docs/kit/form-actions))\n* - retrieving the page state that was set through `goto`, `pushState` or `replaceState` (also see [goto](https://svelte.dev/docs/kit/$app-navigation#goto) and [shallow routing](https://svelte.dev/docs/kit/shallow-routing))\n* - retrieving metadata such as the URL you're on, the current route and its parameters, and whether or not there was an error\n*\n* ```svelte\n* <!--- file: +layout.svelte --->\n* <script>\n* \timport { page } from '$app/state';\n* <\\/script>\n*\n* <p>Currently at {page.url.pathname}</p>\n*\n* {#if page.error}\n* \t<span class=\"red\">Problem detected</span>\n* {:else}\n* \t<span class=\"small\">All systems operational</span>\n* {/if}\n* ```\n*\n* Changes to `page` are available exclusively with runes. (The legacy reactivity syntax will not reflect any changes)\n*\n* ```svelte\n* <!--- file: +page.svelte --->\n* <script>\n* \timport { page } from '$app/state';\n* \tconst id = $derived(page.params.id); // This will correctly update id for usage on this page\n* \t$: badId = page.params.id; // Do not use; will never update after initial load\n* <\\/script>\n* ```\n*\n* On the server, values can only be read during rendering (in other words _not_ in e.g. `load` functions). In the browser, the values can be read at any time.\n*\n* @type {import('@sveltejs/kit').Page}\n*/\nvar page = {\n\tget data() {\n\t\treturn context().page.data;\n\t},\n\tget error() {\n\t\treturn context().page.error;\n\t},\n\tget form() {\n\t\treturn context().page.form;\n\t},\n\tget params() {\n\t\treturn context().page.params;\n\t},\n\tget route() {\n\t\treturn context().page.route;\n\t},\n\tget state() {\n\t\treturn context().page.state;\n\t},\n\tget status() {\n\t\treturn context().page.status;\n\t},\n\tget url() {\n\t\treturn context().page.url;\n\t}\n};\n//#endregion\n//#region ../../node_modules/.pnpm/@sveltejs+kit@2.61.1_@sveltejs+vite-plugin-svelte@7.1.2_svelte@5.55.9_@typescript-eslin_b6cf287e4b8449a2ec52045a8a580061/node_modules/@sveltejs/kit/src/runtime/components/svelte-5/error.svelte\nfunction Error$1($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t$$renderer.push(`<h1>${escape_html(page.status)}</h1> <p>${escape_html(page.error?.message)}</p>`);\n\t});\n}\n//#endregion\nexport { Error$1 as default };\n"],"names":[],"mappings":";;;;;;;AA0BA;AACA;AACA,SAAS,OAAO,GAAG;AACnB,CAAC,OAAO,UAAU,CAAC,aAAa,CAAC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG;AACX,CAGC,IAAI,KAAK,GAAG;AACb,EAAE,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK;AAC7B,CAAC,CAAC;AACF,CAYC,IAAI,MAAM,GAAG;AACd,EAAE,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM;AAC9B,CAAC,CAID,CAAC;AACD;AACA;AACA,SAAS,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE;AACtC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AACpG,CAAC,CAAC,CAAC;AACH;;;;"}
1
+ {"version":3,"file":"error.svelte-BSxqmqeo.js","sources":["../../../.svelte-kit/adapter-node/entries/fallbacks/error.svelte.js"],"sourcesContent":["import \"../../chunks/environment.js\";\nimport { H as escape_html, tt as getContext } from \"../../chunks/dev.js\";\nimport { c as navigating$1, s as stores } from \"../../chunks/client.js\";\nObject.defineProperty({\n\tget from() {\n\t\treturn navigating$1.current ? navigating$1.current.from : null;\n\t},\n\tget to() {\n\t\treturn navigating$1.current ? navigating$1.current.to : null;\n\t},\n\tget type() {\n\t\treturn navigating$1.current ? navigating$1.current.type : null;\n\t},\n\tget willUnload() {\n\t\treturn navigating$1.current ? navigating$1.current.willUnload : null;\n\t},\n\tget delta() {\n\t\treturn navigating$1.current ? navigating$1.current.delta : null;\n\t},\n\tget complete() {\n\t\treturn navigating$1.current ? navigating$1.current.complete : null;\n\t}\n}, \"current\", { get() {\n\tthrow new Error(\"Replace navigating.current.<prop> with navigating.<prop>\");\n} });\nstores.updated.check;\n//#endregion\n//#region ../../node_modules/.pnpm/@sveltejs+kit@2.61.1_@sveltejs+vite-plugin-svelte@7.1.2_svelte@5.55.9_@typescript-eslin_b6cf287e4b8449a2ec52045a8a580061/node_modules/@sveltejs/kit/src/runtime/app/state/server.js\nfunction context() {\n\treturn getContext(\"__request__\");\n}\n//#endregion\n//#region ../../node_modules/.pnpm/@sveltejs+kit@2.61.1_@sveltejs+vite-plugin-svelte@7.1.2_svelte@5.55.9_@typescript-eslin_b6cf287e4b8449a2ec52045a8a580061/node_modules/@sveltejs/kit/src/runtime/app/state/index.js\n/**\n* A read-only reactive object with information about the current page, serving several use cases:\n* - retrieving the combined `data` of all pages/layouts anywhere in your component tree (also see [loading data](https://svelte.dev/docs/kit/load))\n* - retrieving the current value of the `form` prop anywhere in your component tree (also see [form actions](https://svelte.dev/docs/kit/form-actions))\n* - retrieving the page state that was set through `goto`, `pushState` or `replaceState` (also see [goto](https://svelte.dev/docs/kit/$app-navigation#goto) and [shallow routing](https://svelte.dev/docs/kit/shallow-routing))\n* - retrieving metadata such as the URL you're on, the current route and its parameters, and whether or not there was an error\n*\n* ```svelte\n* <!--- file: +layout.svelte --->\n* <script>\n* \timport { page } from '$app/state';\n* <\\/script>\n*\n* <p>Currently at {page.url.pathname}</p>\n*\n* {#if page.error}\n* \t<span class=\"red\">Problem detected</span>\n* {:else}\n* \t<span class=\"small\">All systems operational</span>\n* {/if}\n* ```\n*\n* Changes to `page` are available exclusively with runes. (The legacy reactivity syntax will not reflect any changes)\n*\n* ```svelte\n* <!--- file: +page.svelte --->\n* <script>\n* \timport { page } from '$app/state';\n* \tconst id = $derived(page.params.id); // This will correctly update id for usage on this page\n* \t$: badId = page.params.id; // Do not use; will never update after initial load\n* <\\/script>\n* ```\n*\n* On the server, values can only be read during rendering (in other words _not_ in e.g. `load` functions). In the browser, the values can be read at any time.\n*\n* @type {import('@sveltejs/kit').Page}\n*/\nvar page = {\n\tget data() {\n\t\treturn context().page.data;\n\t},\n\tget error() {\n\t\treturn context().page.error;\n\t},\n\tget form() {\n\t\treturn context().page.form;\n\t},\n\tget params() {\n\t\treturn context().page.params;\n\t},\n\tget route() {\n\t\treturn context().page.route;\n\t},\n\tget state() {\n\t\treturn context().page.state;\n\t},\n\tget status() {\n\t\treturn context().page.status;\n\t},\n\tget url() {\n\t\treturn context().page.url;\n\t}\n};\n//#endregion\n//#region ../../node_modules/.pnpm/@sveltejs+kit@2.61.1_@sveltejs+vite-plugin-svelte@7.1.2_svelte@5.55.9_@typescript-eslin_b6cf287e4b8449a2ec52045a8a580061/node_modules/@sveltejs/kit/src/runtime/components/svelte-5/error.svelte\nfunction Error$1($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t$$renderer.push(`<h1>${escape_html(page.status)}</h1> <p>${escape_html(page.error?.message)}</p>`);\n\t});\n}\n//#endregion\nexport { Error$1 as default };\n"],"names":[],"mappings":";;;;;;;AA0BA;AACA;AACA,SAAS,OAAO,GAAG;AACnB,CAAC,OAAO,UAAU,CAAC,aAAa,CAAC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG;AACX,CAGC,IAAI,KAAK,GAAG;AACb,EAAE,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK;AAC7B,CAAC,CAAC;AACF,CAYC,IAAI,MAAM,GAAG;AACd,EAAE,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM;AAC9B,CAAC,CAID,CAAC;AACD;AACA;AACA,SAAS,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE;AACtC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AACpG,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,4 +1,4 @@
1
- import { _ as __commonJSMin, b as __require } from './internal-BEBsTYmk.js';
1
+ import { _ as __commonJSMin, b as __require } from './internal-DwZRIG8U.js';
2
2
  import { e as encodeResourceId } from './resource-id-CFSW_3aR.js';
3
3
  import { z } from 'zod';
4
4
  import require$$0$3 from 'events';
@@ -7417,18 +7417,46 @@ function buildViewContext(input) {
7417
7417
  rawView: view
7418
7418
  };
7419
7419
  }
7420
- function buildConcept(view) {
7420
+ /** Derive join suggestions for a VIEW from the *real* foreign keys among its
7421
+ * underlying tables, instead of the old unresolved
7422
+ * `<fk_column> = <pk_column>` placeholder. For each underlying table with a FK
7423
+ * to another underlying table, surface the actual ON condition (a composite FK
7424
+ * becomes an `AND`-joined multi-column condition). A view whose underlying
7425
+ * tables have no FK between them yields `[]` — the concept stays silent rather
7426
+ * than guessing. Reuses the already-built `RelationContext`, so misaligned FKs
7427
+ * (skipped by buildRelations) never reach here. Under privilegeDisplay
7428
+ * 'filter' a hidden table, absent from `relationsByTable`, contributes no
7429
+ * outgoing edges; an edge from a visible table to a hidden one is still
7430
+ * surfaced, the same way `TableContext.relations` retains such edges. */
7431
+ function deriveJoinSuggestions(view, relationsByTable) {
7432
+ const underlying = new Set(view.underlyingTables.map((t) => `${t.schema}.${t.name}`));
7433
+ const suggestions = [];
7434
+ for (const ut of view.underlyingTables) {
7435
+ const relations = relationsByTable.get(`${ut.schema}.${ut.name}`);
7436
+ if (relations === void 0) continue;
7437
+ for (const rel of relations) {
7438
+ const target = `${rel.references.schema}.${rel.references.table}`;
7439
+ if (!underlying.has(target)) continue;
7440
+ const fields = rel.fields ?? [rel.field];
7441
+ const refColumns = rel.references.columns ?? [rel.references.column];
7442
+ const on = fields.map((field, i) => `${ut.name}.${field} = ${rel.references.table}.${refColumns[i]}`).join(" AND ");
7443
+ suggestions.push({
7444
+ table: target,
7445
+ on,
7446
+ meaning: rel.meaning
7447
+ });
7448
+ }
7449
+ }
7450
+ return suggestions;
7451
+ }
7452
+ function buildConcept(view, relationsByTable) {
7421
7453
  const parsed = parseCommentTags(view.comment);
7422
- const joinSuggestions = view.underlyingTables.map((t) => ({
7423
- table: `${t.schema}.${t.name}`,
7424
- on: `${view.name}.<fk_column> = ${t.name}.<pk_column>`
7425
- }));
7426
7454
  return {
7427
7455
  name: view.name,
7428
7456
  label: view.name,
7429
7457
  description: parsed.body !== "" ? parsed.body : null,
7430
7458
  kind: "VIEW",
7431
- joinSuggestions,
7459
+ joinSuggestions: deriveJoinSuggestions(view, relationsByTable),
7432
7460
  aiNotes: parsed.ai,
7433
7461
  policies: parsed.policy,
7434
7462
  exampleQueries: parsed.examples
@@ -7490,7 +7518,8 @@ async function buildSchemaContext(opts) {
7490
7518
  values: e.values,
7491
7519
  description: null
7492
7520
  }));
7493
- const concepts = visibleRawViews.map(buildConcept);
7521
+ const relationsByTable = new Map(tables.map((t) => [t.qualifiedName, t.relations]));
7522
+ const concepts = visibleRawViews.map((v) => buildConcept(v, relationsByTable));
7494
7523
  const functions = buildFunctionContexts({
7495
7524
  functions: raw.functions,
7496
7525
  enums: raw.enums,
@@ -15024,4 +15053,4 @@ var handle = async ({ event, resolve }) => {
15024
15053
  };
15025
15054
 
15026
15055
  export { handle };
15027
- //# sourceMappingURL=hooks.server-BsT5P6HG.js.map
15056
+ //# sourceMappingURL=hooks.server-D1iCXjo7.js.map