@kozou/svelte-ui 1.18.0 → 1.19.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 (94) hide show
  1. package/build/client/_app/immutable/chunks/{B0pA8rML.js → C8rrboGe.js} +1 -1
  2. package/build/client/_app/immutable/chunks/C8rrboGe.js.br +0 -0
  3. package/build/client/_app/immutable/chunks/C8rrboGe.js.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{DDWTOC_m.js → CDKppeAs.js} +2 -2
  5. package/build/client/_app/immutable/chunks/CDKppeAs.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/CDKppeAs.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/{Delf5Xp7.js → T9HP10fl.js} +1 -1
  8. package/build/client/_app/immutable/chunks/T9HP10fl.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/T9HP10fl.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{Cqqgb8__.js → nzykfsgm.js} +1 -1
  11. package/build/client/_app/immutable/chunks/nzykfsgm.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/nzykfsgm.js.gz +0 -0
  13. package/build/client/_app/immutable/entry/{app.DYRQZFX5.js → app.BpwV9AbX.js} +2 -2
  14. package/build/client/_app/immutable/entry/app.BpwV9AbX.js.br +0 -0
  15. package/build/client/_app/immutable/entry/app.BpwV9AbX.js.gz +0 -0
  16. package/build/client/_app/immutable/entry/start.CbuVRthS.js +1 -0
  17. package/build/client/_app/immutable/entry/start.CbuVRthS.js.br +0 -0
  18. package/build/client/_app/immutable/entry/start.CbuVRthS.js.gz +0 -0
  19. package/build/client/_app/immutable/nodes/{1.Be4RArNq.js → 1.CwhfkRjA.js} +1 -1
  20. package/build/client/_app/immutable/nodes/1.CwhfkRjA.js.br +0 -0
  21. package/build/client/_app/immutable/nodes/1.CwhfkRjA.js.gz +0 -0
  22. package/build/client/_app/immutable/nodes/{3.C7DuPbdb.js → 3.EUafBTgD.js} +1 -1
  23. package/build/client/_app/immutable/nodes/3.EUafBTgD.js.br +0 -0
  24. package/build/client/_app/immutable/nodes/3.EUafBTgD.js.gz +0 -0
  25. package/build/client/_app/immutable/nodes/{6.B9Caf5iw.js → 6.B29N2Lfc.js} +1 -1
  26. package/build/client/_app/immutable/nodes/6.B29N2Lfc.js.br +0 -0
  27. package/build/client/_app/immutable/nodes/6.B29N2Lfc.js.gz +0 -0
  28. package/build/client/_app/immutable/nodes/{7.DtObbZNb.js → 7.CG2wq3TV.js} +1 -1
  29. package/build/client/_app/immutable/nodes/7.CG2wq3TV.js.br +0 -0
  30. package/build/client/_app/immutable/nodes/7.CG2wq3TV.js.gz +0 -0
  31. package/build/client/_app/immutable/nodes/{8.Bff0fLHi.js → 8.BJ_43uFX.js} +1 -1
  32. package/build/client/_app/immutable/nodes/8.BJ_43uFX.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/8.BJ_43uFX.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-DWNtmrIs.js → 1-DWwBxW4f.js} +3 -3
  38. package/build/server/chunks/{1-DWNtmrIs.js.map → 1-DWwBxW4f.js.map} +1 -1
  39. package/build/server/chunks/{3-Doo364Xy.js → 3-CzkTyNtY.js} +6 -6
  40. package/build/server/chunks/{3-Doo364Xy.js.map → 3-CzkTyNtY.js.map} +1 -1
  41. package/build/server/chunks/{6-DJD7jAKF.js → 6-BRyrSSQw.js} +3 -3
  42. package/build/server/chunks/{6-DJD7jAKF.js.map → 6-BRyrSSQw.js.map} +1 -1
  43. package/build/server/chunks/{7-DXBTx1FG.js → 7-BUXVvAgT.js} +6 -6
  44. package/build/server/chunks/{7-DXBTx1FG.js.map → 7-BUXVvAgT.js.map} +1 -1
  45. package/build/server/chunks/{8-DQwVQ4j5.js → 8-DcM7g1_L.js} +6 -6
  46. package/build/server/chunks/{8-DQwVQ4j5.js.map → 8-DcM7g1_L.js.map} +1 -1
  47. package/build/server/chunks/{_page.svelte-BEKx0reR.js → _page.svelte-B8oSt9qH.js} +4 -4
  48. package/build/server/chunks/{_page.svelte-BEKx0reR.js.map → _page.svelte-B8oSt9qH.js.map} +1 -1
  49. package/build/server/chunks/{_page.svelte-q2xGuasg.js → _page.svelte-BOCed0K0.js} +3 -3
  50. package/build/server/chunks/{_page.svelte-q2xGuasg.js.map → _page.svelte-BOCed0K0.js.map} +1 -1
  51. package/build/server/chunks/{_page.svelte-DIUAt_21.js → _page.svelte-Bt3iaOxu.js} +5 -5
  52. package/build/server/chunks/{_page.svelte-DIUAt_21.js.map → _page.svelte-Bt3iaOxu.js.map} +1 -1
  53. package/build/server/chunks/{_page.svelte-Cehgu7wf.js → _page.svelte-D6rj2r_S.js} +5 -5
  54. package/build/server/chunks/{_page.svelte-Cehgu7wf.js.map → _page.svelte-D6rj2r_S.js.map} +1 -1
  55. package/build/server/chunks/{client-mq-AlhwK.js → client-Dcb2GgWd.js} +2 -2
  56. package/build/server/chunks/{client-mq-AlhwK.js.map → client-Dcb2GgWd.js.map} +1 -1
  57. package/build/server/chunks/{composite-form-D_-mSt69.js → composite-form-D2e4A2Ot.js} +3 -3
  58. package/build/server/chunks/{composite-form-D_-mSt69.js.map → composite-form-D2e4A2Ot.js.map} +1 -1
  59. package/build/server/chunks/{error.svelte-l8Fs30tv.js → error.svelte-D5Bf_Y4k.js} +3 -3
  60. package/build/server/chunks/{error.svelte-l8Fs30tv.js.map → error.svelte-D5Bf_Y4k.js.map} +1 -1
  61. package/build/server/chunks/{hooks.server-BZEwL0UQ.js → hooks.server-C7mRGu-C.js} +42 -4
  62. package/build/server/chunks/{hooks.server-BZEwL0UQ.js.map → hooks.server-C7mRGu-C.js.map} +1 -1
  63. package/build/server/chunks/{internal2-DYRHD-ou.js → internal2-Cp8lw9Lk.js} +3 -3
  64. package/build/server/chunks/{internal2-DYRHD-ou.js.map → internal2-Cp8lw9Lk.js.map} +1 -1
  65. package/build/server/chunks/{relation-select-composite-field-xpwWaWhW.js → relation-select-composite-field-lu5X6jQi.js} +2 -2
  66. package/build/server/chunks/{relation-select-composite-field-xpwWaWhW.js.map → relation-select-composite-field-lu5X6jQi.js.map} +1 -1
  67. package/build/server/index.js +1 -1
  68. package/build/server/index.js.map +1 -1
  69. package/build/server/manifest.js +6 -6
  70. package/build/server/manifest.js.map +1 -1
  71. package/package.json +5 -5
  72. package/build/client/_app/immutable/chunks/B0pA8rML.js.br +0 -0
  73. package/build/client/_app/immutable/chunks/B0pA8rML.js.gz +0 -0
  74. package/build/client/_app/immutable/chunks/Cqqgb8__.js.br +0 -0
  75. package/build/client/_app/immutable/chunks/Cqqgb8__.js.gz +0 -0
  76. package/build/client/_app/immutable/chunks/DDWTOC_m.js.br +0 -0
  77. package/build/client/_app/immutable/chunks/DDWTOC_m.js.gz +0 -0
  78. package/build/client/_app/immutable/chunks/Delf5Xp7.js.br +0 -0
  79. package/build/client/_app/immutable/chunks/Delf5Xp7.js.gz +0 -0
  80. package/build/client/_app/immutable/entry/app.DYRQZFX5.js.br +0 -0
  81. package/build/client/_app/immutable/entry/app.DYRQZFX5.js.gz +0 -0
  82. package/build/client/_app/immutable/entry/start.BXAOd9a3.js +0 -1
  83. package/build/client/_app/immutable/entry/start.BXAOd9a3.js.br +0 -0
  84. package/build/client/_app/immutable/entry/start.BXAOd9a3.js.gz +0 -0
  85. package/build/client/_app/immutable/nodes/1.Be4RArNq.js.br +0 -0
  86. package/build/client/_app/immutable/nodes/1.Be4RArNq.js.gz +0 -0
  87. package/build/client/_app/immutable/nodes/3.C7DuPbdb.js.br +0 -0
  88. package/build/client/_app/immutable/nodes/3.C7DuPbdb.js.gz +0 -0
  89. package/build/client/_app/immutable/nodes/6.B9Caf5iw.js.br +0 -0
  90. package/build/client/_app/immutable/nodes/6.B9Caf5iw.js.gz +0 -0
  91. package/build/client/_app/immutable/nodes/7.DtObbZNb.js.br +0 -0
  92. package/build/client/_app/immutable/nodes/7.DtObbZNb.js.gz +0 -0
  93. package/build/client/_app/immutable/nodes/8.Bff0fLHi.js.br +0 -0
  94. package/build/client/_app/immutable/nodes/8.Bff0fLHi.js.gz +0 -0
@@ -1,6 +1,6 @@
1
1
  import { q as escape_html, x as getContext } from './server-1sE9LKAu.js';
2
- import './internal2-DYRHD-ou.js';
3
- import './client-mq-AlhwK.js';
2
+ import './internal2-Cp8lw9Lk.js';
3
+ import './client-Dcb2GgWd.js';
4
4
  import 'clsx';
5
5
  import './index-DBqjc0Yf.js';
6
6
  import 'node:module';
@@ -65,4 +65,4 @@ function Error$1($$renderer, $$props) {
65
65
  }
66
66
 
67
67
  export { Error$1 as default };
68
- //# sourceMappingURL=error.svelte-l8Fs30tv.js.map
68
+ //# sourceMappingURL=error.svelte-D5Bf_Y4k.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.svelte-l8Fs30tv.js","sources":["../../../.svelte-kit/adapter-node/entries/fallbacks/error.svelte.js"],"sourcesContent":["import { f as getContext, x as escape_html } from \"../../chunks/server.js\";\nimport \"../../chunks/internal2.js\";\nimport { s as stores } from \"../../chunks/client.js\";\nstores.updated.check;\n//#endregion\n//#region ../../node_modules/.pnpm/@sveltejs+kit@2.70.1_@sveltejs+vite-plugin-svelte@7.1.2_svelte@5.55.9_@typescript-eslin_08bef01bde8c45f52f20ef8da13b7bd4/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.70.1_@sveltejs+vite-plugin-svelte@7.1.2_svelte@5.55.9_@typescript-eslin_08bef01bde8c45f52f20ef8da13b7bd4/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.70.1_@sveltejs+vite-plugin-svelte@7.1.2_svelte@5.55.9_@typescript-eslin_08bef01bde8c45f52f20ef8da13b7bd4/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":";;;;;;;AAIA;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-D5Bf_Y4k.js","sources":["../../../.svelte-kit/adapter-node/entries/fallbacks/error.svelte.js"],"sourcesContent":["import { f as getContext, x as escape_html } from \"../../chunks/server.js\";\nimport \"../../chunks/internal2.js\";\nimport { s as stores } from \"../../chunks/client.js\";\nstores.updated.check;\n//#endregion\n//#region ../../node_modules/.pnpm/@sveltejs+kit@2.70.1_@sveltejs+vite-plugin-svelte@7.1.2_svelte@5.55.9_@typescript-eslin_08bef01bde8c45f52f20ef8da13b7bd4/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.70.1_@sveltejs+vite-plugin-svelte@7.1.2_svelte@5.55.9_@typescript-eslin_08bef01bde8c45f52f20ef8da13b7bd4/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.70.1_@sveltejs+vite-plugin-svelte@7.1.2_svelte@5.55.9_@typescript-eslin_08bef01bde8c45f52f20ef8da13b7bd4/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":";;;;;;;AAIA;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, a as __require } from './internal2-DYRHD-ou.js';
1
+ import { _ as __commonJSMin, a as __require } from './internal2-Cp8lw9Lk.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';
@@ -14182,6 +14182,36 @@ async function runQuery(client, query, params, context) {
14182
14182
  }
14183
14183
  }
14184
14184
  //#endregion
14185
+ //#region ../introspect/dist/rowSecurity.js
14186
+ /** `pg_policy.polcmd` codes. `'*'` is `FOR ALL` and covers every command. */
14187
+ var COMMAND_BY_POLCMD = {
14188
+ r: "select",
14189
+ a: "insert",
14190
+ w: "update",
14191
+ d: "delete"
14192
+ };
14193
+ /** Fixed order, so the field reads the same across runs and diffs. */
14194
+ var ALL_COMMANDS = [
14195
+ "select",
14196
+ "insert",
14197
+ "update",
14198
+ "delete"
14199
+ ];
14200
+ /**
14201
+ * Commands with no permissive policy that could apply.
14202
+ *
14203
+ * @param enabled `pg_class.relrowsecurity` — RLS refuses nothing while it is off.
14204
+ * @param permissivePolcmds the distinct `polcmd` codes of the table's
14205
+ * PERMISSIVE policies (restrictive ones are filtered out by the query,
14206
+ * because they never grant).
14207
+ */
14208
+ function deniedCommands(enabled, permissivePolcmds) {
14209
+ if (!enabled) return [];
14210
+ if (permissivePolcmds.includes("*")) return [];
14211
+ const covered = new Set(permissivePolcmds.map((code) => COMMAND_BY_POLCMD[code]).filter((c) => c !== void 0));
14212
+ return ALL_COMMANDS.filter((command) => !covered.has(command));
14213
+ }
14214
+ //#endregion
14185
14215
  //#region ../introspect/dist/tables.js
14186
14216
  async function fetchTables(client, schemas) {
14187
14217
  if (schemas.length === 0) return [];
@@ -14192,7 +14222,14 @@ async function fetchTables(client, schemas) {
14192
14222
  CASE WHEN c.reltuples < 0 THEN NULL ELSE c.reltuples::float8 END AS row_count_estimate,
14193
14223
  c.relrowsecurity AS row_security_enabled,
14194
14224
  c.relforcerowsecurity AS row_security_forced,
14195
- EXISTS (SELECT 1 FROM pg_policy p WHERE p.polrelid = c.oid) AS has_policies
14225
+ EXISTS (SELECT 1 FROM pg_policy p WHERE p.polrelid = c.oid) AS has_policies,
14226
+ COALESCE(
14227
+ (SELECT array_agg(DISTINCT p.polcmd::text)
14228
+ FROM pg_policy p
14229
+ WHERE p.polrelid = c.oid
14230
+ AND p.polpermissive),
14231
+ '{}'
14232
+ ) AS permissive_policy_commands
14196
14233
  FROM pg_class c
14197
14234
  JOIN pg_namespace n ON n.oid = c.relnamespace
14198
14235
  LEFT JOIN pg_description d ON d.objoid = c.oid AND d.objsubid = 0
@@ -14313,7 +14350,8 @@ async function fetchTables(client, schemas) {
14313
14350
  rowSecurity: {
14314
14351
  enabled: row.row_security_enabled,
14315
14352
  forced: row.row_security_forced,
14316
- hasPolicies: row.has_policies
14353
+ hasPolicies: row.has_policies,
14354
+ deniedCommands: deniedCommands(row.row_security_enabled, row.permissive_policy_commands ?? [])
14317
14355
  },
14318
14356
  rowCountEstimate: row.row_count_estimate === null ? null : Math.round(row.row_count_estimate)
14319
14357
  };
@@ -15053,4 +15091,4 @@ var handle = async ({ event, resolve }) => {
15053
15091
  };
15054
15092
 
15055
15093
  export { handle };
15056
- //# sourceMappingURL=hooks.server-BZEwL0UQ.js.map
15094
+ //# sourceMappingURL=hooks.server-C7mRGu-C.js.map