@kozou/svelte-ui 1.3.0 → 1.4.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 (161) hide show
  1. package/build/client/_app/immutable/assets/0.BpzpdRYx.css +2 -0
  2. package/build/client/_app/immutable/assets/0.BpzpdRYx.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.BpzpdRYx.css.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{DxikiVqj.js → BAfs2EwQ.js} +1 -1
  5. package/build/client/_app/immutable/chunks/BAfs2EwQ.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/BAfs2EwQ.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/{BgT5WiOF.js → ClT4djUO.js} +1 -1
  8. package/build/client/_app/immutable/chunks/ClT4djUO.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/{BgT5WiOF.js.gz → ClT4djUO.js.gz} +0 -0
  10. package/build/client/_app/immutable/chunks/CrFfElwr.js +1 -0
  11. package/build/client/_app/immutable/chunks/CrFfElwr.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/CrFfElwr.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/DHwlcjtp.js +214 -0
  14. package/build/client/_app/immutable/chunks/DHwlcjtp.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/DHwlcjtp.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/{BLwQsTD2.js → DqFR9xzq.js} +1 -1
  17. package/build/client/_app/immutable/chunks/DqFR9xzq.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/DqFR9xzq.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/{rPPoD7Sp.js → POk9Ad1v.js} +2 -2
  20. package/build/client/_app/immutable/chunks/POk9Ad1v.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/POk9Ad1v.js.gz +0 -0
  22. package/build/client/_app/immutable/entry/app.DX7U95N5.js +2 -0
  23. package/build/client/_app/immutable/entry/app.DX7U95N5.js.br +0 -0
  24. package/build/client/_app/immutable/entry/app.DX7U95N5.js.gz +0 -0
  25. package/build/client/_app/immutable/entry/start.CTKpPXDp.js +1 -0
  26. package/build/client/_app/immutable/entry/start.CTKpPXDp.js.br +1 -0
  27. package/build/client/_app/immutable/entry/start.CTKpPXDp.js.gz +0 -0
  28. package/build/client/_app/immutable/nodes/{0.BTi1ueXu.js → 0.ahUg4RPH.js} +1 -1
  29. package/build/client/_app/immutable/nodes/0.ahUg4RPH.js.br +0 -0
  30. package/build/client/_app/immutable/nodes/0.ahUg4RPH.js.gz +0 -0
  31. package/build/client/_app/immutable/nodes/{1.D09foNRb.js → 1.BCx2aLZ9.js} +1 -1
  32. package/build/client/_app/immutable/nodes/1.BCx2aLZ9.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/1.BCx2aLZ9.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/2.DXYbQoLe.js +1 -0
  35. package/build/client/_app/immutable/nodes/2.DXYbQoLe.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/2.DXYbQoLe.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/3.D_kabCAZ.js +1 -0
  38. package/build/client/_app/immutable/nodes/3.D_kabCAZ.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/3.D_kabCAZ.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/{3.BfuWEZdX.js → 4.C486-zEy.js} +1 -1
  41. package/build/client/_app/immutable/nodes/4.C486-zEy.js.br +2 -0
  42. package/build/client/_app/immutable/nodes/4.C486-zEy.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/{4.5H5WIc-o.js → 5.D1OoUXND.js} +1 -1
  44. package/build/client/_app/immutable/nodes/5.D1OoUXND.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/5.D1OoUXND.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/6.B3cCGwsZ.js +1 -0
  47. package/build/client/_app/immutable/nodes/6.B3cCGwsZ.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/6.B3cCGwsZ.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/7.cAEaWzyw.js +1 -0
  50. package/build/client/_app/immutable/nodes/7.cAEaWzyw.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/7.cAEaWzyw.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/{7.CjEmXoAF.js → 8.Cb70WGbk.js} +1 -1
  53. package/build/client/_app/immutable/nodes/8.Cb70WGbk.js.br +1 -0
  54. package/build/client/_app/immutable/nodes/8.Cb70WGbk.js.gz +0 -0
  55. package/build/client/_app/version.json +1 -1
  56. package/build/client/_app/version.json.br +0 -0
  57. package/build/client/_app/version.json.gz +0 -0
  58. package/build/server/chunks/{0-C4CgvBlc.js → 0-CTaiiMQp.js} +3 -3
  59. package/build/server/chunks/{0-C4CgvBlc.js.map → 0-CTaiiMQp.js.map} +1 -1
  60. package/build/server/chunks/{1-BvxsIwwy.js → 1-Dni7ax6A.js} +3 -3
  61. package/build/server/chunks/{1-BvxsIwwy.js.map → 1-Dni7ax6A.js.map} +1 -1
  62. package/build/server/chunks/{2-D9il_3ty.js → 2--1dA0mCa.js} +19 -5
  63. package/build/server/chunks/2--1dA0mCa.js.map +1 -0
  64. package/build/server/chunks/3-N0Oe_-32.js +144 -0
  65. package/build/server/chunks/3-N0Oe_-32.js.map +1 -0
  66. package/build/server/chunks/{3-DfrqlU53.js → 4-BB3nsMwf.js} +5 -5
  67. package/build/server/chunks/{3-DfrqlU53.js.map → 4-BB3nsMwf.js.map} +1 -1
  68. package/build/server/chunks/{4-1chJCfPL.js → 5-QdpSeSEB.js} +6 -6
  69. package/build/server/chunks/{4-1chJCfPL.js.map → 5-QdpSeSEB.js.map} +1 -1
  70. package/build/server/chunks/{5-DUCxshKE.js → 6-DQ9D4Rjj.js} +11 -10
  71. package/build/server/chunks/6-DQ9D4Rjj.js.map +1 -0
  72. package/build/server/chunks/{6-Dh7Tg-XB.js → 7-yY-k4F-J.js} +11 -10
  73. package/build/server/chunks/7-yY-k4F-J.js.map +1 -0
  74. package/build/server/chunks/{7-CKkRKfs8.js → 8-C6Rfqnpk.js} +5 -5
  75. package/build/server/chunks/{7-CKkRKfs8.js.map → 8-C6Rfqnpk.js.map} +1 -1
  76. package/build/server/chunks/{_page.svelte-DaJwoT9F.js → _page.svelte-6bUnnrWp.js} +3 -3
  77. package/build/server/chunks/{_page.svelte-DaJwoT9F.js.map → _page.svelte-6bUnnrWp.js.map} +1 -1
  78. package/build/server/chunks/_page.svelte-BAaP0Gbn.js +143 -0
  79. package/build/server/chunks/_page.svelte-BAaP0Gbn.js.map +1 -0
  80. package/build/server/chunks/{_page.svelte-BN1au56r.js → _page.svelte-Cup_HkLy.js} +19 -3
  81. package/build/server/chunks/_page.svelte-Cup_HkLy.js.map +1 -0
  82. package/build/server/chunks/{_page.svelte-DI_FY3zW.js → _page.svelte-D1coeZL7.js} +7 -6
  83. package/build/server/chunks/_page.svelte-D1coeZL7.js.map +1 -0
  84. package/build/server/chunks/{_page.svelte-CBUJNhG1.js → _page.svelte-DsOlSzf6.js} +7 -6
  85. package/build/server/chunks/_page.svelte-DsOlSzf6.js.map +1 -0
  86. package/build/server/chunks/{_server.ts-C-Wy675T.js → _server.ts-DlnyELsA.js} +4 -4
  87. package/build/server/chunks/{_server.ts-C-Wy675T.js.map → _server.ts-DlnyELsA.js.map} +1 -1
  88. package/build/server/chunks/{adapter-CXNsjV1V.js → adapter-B1wOda2X.js} +13 -1
  89. package/build/server/chunks/adapter-B1wOda2X.js.map +1 -0
  90. package/build/server/chunks/{client-C004jkBy.js → client-CF_AG7xO.js} +2 -2
  91. package/build/server/chunks/{client-C004jkBy.js.map → client-CF_AG7xO.js.map} +1 -1
  92. package/build/server/chunks/{composite-form-_tg7iknp.js → composite-form-Khrcy6Jk.js} +60 -21
  93. package/build/server/chunks/composite-form-Khrcy6Jk.js.map +1 -0
  94. package/build/server/chunks/{error.svelte-u8Vsq8vF.js → error.svelte-CrnPC1Ez.js} +3 -3
  95. package/build/server/chunks/{error.svelte-u8Vsq8vF.js.map → error.svelte-CrnPC1Ez.js.map} +1 -1
  96. package/build/server/chunks/{hooks.server-DtCXcOVD.js → hooks.server-Oa_UD2Wo.js} +636 -12
  97. package/build/server/chunks/hooks.server-Oa_UD2Wo.js.map +1 -0
  98. package/build/server/chunks/{index-5kYmxIr9.js → index-CVekYGHP.js} +2 -2
  99. package/build/server/chunks/{index-5kYmxIr9.js.map → index-CVekYGHP.js.map} +1 -1
  100. package/build/server/chunks/{internal-fxcuSPWe.js → internal-Z9Jwi6lX.js} +3 -3
  101. package/build/server/chunks/{internal-fxcuSPWe.js.map → internal-Z9Jwi6lX.js.map} +1 -1
  102. package/build/server/chunks/privilege-readonly-CK4k2aYO.js +15 -0
  103. package/build/server/chunks/privilege-readonly-CK4k2aYO.js.map +1 -0
  104. package/build/server/chunks/{relation-options-Dzy9DaQG.js → relation-options-BQ3XnftO.js} +2 -2
  105. package/build/server/chunks/{relation-options-Dzy9DaQG.js.map → relation-options-BQ3XnftO.js.map} +1 -1
  106. package/build/server/chunks/relation-select-composite-field-D4LZijR_.js +101 -0
  107. package/build/server/chunks/relation-select-composite-field-D4LZijR_.js.map +1 -0
  108. package/build/server/chunks/{widget-registry-BcgMXjkA.js → widget-registry-6ku8orXa.js} +3 -98
  109. package/build/server/chunks/widget-registry-6ku8orXa.js.map +1 -0
  110. package/build/server/index.js +2 -2
  111. package/build/server/manifest.js +23 -15
  112. package/build/server/manifest.js.map +1 -1
  113. package/package.json +4 -4
  114. package/build/client/_app/immutable/assets/0._vgqT-Ja.css +0 -2
  115. package/build/client/_app/immutable/assets/0._vgqT-Ja.css.br +0 -0
  116. package/build/client/_app/immutable/assets/0._vgqT-Ja.css.gz +0 -0
  117. package/build/client/_app/immutable/chunks/BLwQsTD2.js.br +0 -0
  118. package/build/client/_app/immutable/chunks/BLwQsTD2.js.gz +0 -0
  119. package/build/client/_app/immutable/chunks/BgT5WiOF.js.br +0 -0
  120. package/build/client/_app/immutable/chunks/DY0oakY5.js +0 -214
  121. package/build/client/_app/immutable/chunks/DY0oakY5.js.br +0 -0
  122. package/build/client/_app/immutable/chunks/DY0oakY5.js.gz +0 -0
  123. package/build/client/_app/immutable/chunks/DxikiVqj.js.br +0 -0
  124. package/build/client/_app/immutable/chunks/DxikiVqj.js.gz +0 -0
  125. package/build/client/_app/immutable/chunks/rPPoD7Sp.js.br +0 -0
  126. package/build/client/_app/immutable/chunks/rPPoD7Sp.js.gz +0 -0
  127. package/build/client/_app/immutable/entry/app.G2Y8IfhN.js +0 -2
  128. package/build/client/_app/immutable/entry/app.G2Y8IfhN.js.br +0 -0
  129. package/build/client/_app/immutable/entry/app.G2Y8IfhN.js.gz +0 -0
  130. package/build/client/_app/immutable/entry/start.sPBaDl_M.js +0 -1
  131. package/build/client/_app/immutable/entry/start.sPBaDl_M.js.br +0 -1
  132. package/build/client/_app/immutable/entry/start.sPBaDl_M.js.gz +0 -0
  133. package/build/client/_app/immutable/nodes/0.BTi1ueXu.js.br +0 -0
  134. package/build/client/_app/immutable/nodes/0.BTi1ueXu.js.gz +0 -0
  135. package/build/client/_app/immutable/nodes/1.D09foNRb.js.br +0 -2
  136. package/build/client/_app/immutable/nodes/1.D09foNRb.js.gz +0 -0
  137. package/build/client/_app/immutable/nodes/2.CWOXCYvQ.js +0 -1
  138. package/build/client/_app/immutable/nodes/2.CWOXCYvQ.js.br +0 -0
  139. package/build/client/_app/immutable/nodes/2.CWOXCYvQ.js.gz +0 -0
  140. package/build/client/_app/immutable/nodes/3.BfuWEZdX.js.br +0 -0
  141. package/build/client/_app/immutable/nodes/3.BfuWEZdX.js.gz +0 -0
  142. package/build/client/_app/immutable/nodes/4.5H5WIc-o.js.br +0 -0
  143. package/build/client/_app/immutable/nodes/4.5H5WIc-o.js.gz +0 -0
  144. package/build/client/_app/immutable/nodes/5.BR2iBXwV.js +0 -1
  145. package/build/client/_app/immutable/nodes/5.BR2iBXwV.js.br +0 -0
  146. package/build/client/_app/immutable/nodes/5.BR2iBXwV.js.gz +0 -0
  147. package/build/client/_app/immutable/nodes/6.ChubZePh.js +0 -1
  148. package/build/client/_app/immutable/nodes/6.ChubZePh.js.br +0 -0
  149. package/build/client/_app/immutable/nodes/6.ChubZePh.js.gz +0 -0
  150. package/build/client/_app/immutable/nodes/7.CjEmXoAF.js.br +0 -1
  151. package/build/client/_app/immutable/nodes/7.CjEmXoAF.js.gz +0 -0
  152. package/build/server/chunks/2-D9il_3ty.js.map +0 -1
  153. package/build/server/chunks/5-DUCxshKE.js.map +0 -1
  154. package/build/server/chunks/6-Dh7Tg-XB.js.map +0 -1
  155. package/build/server/chunks/_page.svelte-BN1au56r.js.map +0 -1
  156. package/build/server/chunks/_page.svelte-CBUJNhG1.js.map +0 -1
  157. package/build/server/chunks/_page.svelte-DI_FY3zW.js.map +0 -1
  158. package/build/server/chunks/adapter-CXNsjV1V.js.map +0 -1
  159. package/build/server/chunks/composite-form-_tg7iknp.js.map +0 -1
  160. package/build/server/chunks/hooks.server-DtCXcOVD.js.map +0 -1
  161. package/build/server/chunks/widget-registry-BcgMXjkA.js.map +0 -1
@@ -0,0 +1,144 @@
1
+ import { g as getAdapter } from './adapter-B1wOda2X.js';
2
+ import { l as loadInitialRelationOptions } from './relation-options-BQ3XnftO.js';
3
+ import { j as superValidate, z as zod, k as zodFromTable, r as readActionFormSubmission, a as buildMutationPayload, b as buildArgRelationConfig, s as scalarWidgetForDataType } from './composite-form-Khrcy6Jk.js';
4
+ import { f as fail, e as error } from './index-CVekYGHP.js';
5
+ import './resource-id-PDcQeAnc.js';
6
+ import './internal-Z9Jwi6lX.js';
7
+ import 'node:module';
8
+ import './dev-yFiAtg5l.js';
9
+ import 'clsx';
10
+ import './index-DBqjc0Yf.js';
11
+ import './client-CF_AG7xO.js';
12
+ import './app-MIcRQ3KA.js';
13
+ import 'zod/v4/core';
14
+ import 'zod';
15
+
16
+ //#region src/lib/form/action-form.ts
17
+ /** Sentinel `defaultExpr` so `dbCanSupplyColumn` reports an argument with a
18
+ * DEFAULT as DB-suppliable (optional). Never used as a value — the payload
19
+ * drops the empty submission and PostgreSQL supplies the real default. */
20
+ var ARG_DEFAULT_SENTINEL = "__rpc_arg_default__";
21
+ /** Title-case a snake_case argument name for the field label (mirrors core's
22
+ * deriveLabel). */
23
+ function deriveLabel(name) {
24
+ return name.replace(/_/g, " ").replace(/\b\w/g, (c) => c.toUpperCase());
25
+ }
26
+ function buildActionForm(fn, schema) {
27
+ const relations = [];
28
+ const columns = [];
29
+ const argViews = [];
30
+ for (const arg of fn.args) {
31
+ let widget = arg.widget;
32
+ if (arg.widget === "relation-select") {
33
+ const config = arg.relation ? buildArgRelationConfig(arg.name, arg.relation, schema) : null;
34
+ if (config !== null) relations.push(config);
35
+ else widget = scalarWidgetForDataType(arg.typeName);
36
+ }
37
+ const enumValues = arg.enumValues ?? null;
38
+ columns.push({
39
+ name: arg.name,
40
+ dataType: arg.typeName,
41
+ nullable: false,
42
+ defaultExpr: arg.hasDefault ? ARG_DEFAULT_SENTINEL : null,
43
+ isPrimaryKey: false,
44
+ isForeignKey: arg.widget === "relation-select",
45
+ label: deriveLabel(arg.name),
46
+ description: null,
47
+ aiDescription: null,
48
+ widget,
49
+ enumValues,
50
+ readonly: false
51
+ });
52
+ argViews.push({
53
+ name: arg.name,
54
+ label: deriveLabel(arg.name),
55
+ widget,
56
+ enumValues: enumValues ?? [],
57
+ required: !arg.hasDefault
58
+ });
59
+ }
60
+ return {
61
+ columns,
62
+ relations,
63
+ view: {
64
+ qualifiedName: fn.qualifiedName,
65
+ label: fn.label,
66
+ description: fn.description,
67
+ aiDescription: fn.aiDescription,
68
+ policy: fn.policy ?? [],
69
+ security: fn.security,
70
+ volatility: fn.volatility,
71
+ args: argViews
72
+ }
73
+ };
74
+ }
75
+ //#endregion
76
+ //#region src/routes/actions/[fn]/+page.server.ts
77
+ /** Resolve the exposed function, 404ing both when it is absent and when the
78
+ * backend cannot invoke it (no enumeration channel, and no dead form). */
79
+ function resolveExposedFunction(functions, slug, canCall) {
80
+ if (!canCall) throw error(404, "RPC actions are not available on this backend.");
81
+ const fn = (functions ?? []).find((f) => f.qualifiedName === slug);
82
+ if (fn === void 0) throw error(404, `Unknown action: ${slug}`);
83
+ return fn;
84
+ }
85
+ var load = async ({ params, locals }) => {
86
+ const adapter = getAdapter(locals.schema);
87
+ const action = buildActionForm(resolveExposedFunction(locals.schema.functions, params.fn, typeof adapter.callFunction === "function"), locals.schema);
88
+ const form = await superValidate(zod(zodFromTable({ columns: action.columns })));
89
+ const initialOptions = await loadInitialRelationOptions(adapter, action.relations);
90
+ return {
91
+ action: action.view,
92
+ form,
93
+ relations: action.relations,
94
+ initialOptions
95
+ };
96
+ };
97
+ var actions = { default: async ({ request, params, locals }) => {
98
+ const adapter = getAdapter(locals.schema);
99
+ const fn = resolveExposedFunction(locals.schema.functions, params.fn, typeof adapter.callFunction === "function");
100
+ const action = buildActionForm(fn, locals.schema);
101
+ const form = await superValidate(await readActionFormSubmission(request), zod(zodFromTable({ columns: action.columns })));
102
+ if (!form.valid) return fail(400, { form });
103
+ const args = buildMutationPayload({ columns: action.columns }, form.data);
104
+ try {
105
+ return {
106
+ form,
107
+ rpcOk: true,
108
+ rpcResult: await adapter.callFunction(fn.qualifiedName, args) ?? null
109
+ };
110
+ } catch (err) {
111
+ const raw = err.status;
112
+ const status = typeof raw === "number" && raw >= 400 && raw < 600 ? raw : 500;
113
+ return fail(status, {
114
+ form,
115
+ rpcError: rpcErrorMessage(status)
116
+ });
117
+ }
118
+ } };
119
+ function rpcErrorMessage(status) {
120
+ switch (status) {
121
+ case 400: return "The action rejected the supplied arguments.";
122
+ case 403: return "You do not have permission to run this action.";
123
+ case 404: return "The action no longer exists.";
124
+ case 409: return "The action conflicted with the current data (a constraint was violated).";
125
+ default: return "The action failed. See the server logs for details.";
126
+ }
127
+ }
128
+
129
+ var _page_server_ts = /*#__PURE__*/Object.freeze({
130
+ __proto__: null,
131
+ actions: actions,
132
+ load: load
133
+ });
134
+
135
+ const index = 3;
136
+ let component_cache;
137
+ const component = async () => component_cache ??= (await import('./_page.svelte-BAaP0Gbn.js')).default;
138
+ const server_id = "src/routes/actions/[fn]/+page.server.ts";
139
+ const imports = ["_app/immutable/nodes/3.D_kabCAZ.js","_app/immutable/chunks/ClT4djUO.js","_app/immutable/chunks/DHwlcjtp.js","_app/immutable/chunks/POk9Ad1v.js","_app/immutable/chunks/DqFR9xzq.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/D5sfkRNZ.js"];
140
+ const stylesheets = [];
141
+ const fonts = [];
142
+
143
+ export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
144
+ //# sourceMappingURL=3-N0Oe_-32.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"3-N0Oe_-32.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/actions/_fn_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/3.js"],"sourcesContent":["import { t as getAdapter } from \"../../../../chunks/adapter.js\";\nimport { n as loadInitialRelationOptions } from \"../../../../chunks/relation-options.js\";\nimport { t as superValidate } from \"../../../../chunks/dist.js\";\nimport { i as buildMutationPayload, o as zod, r as zodFromTable, t as readActionFormSubmission } from \"../../../../chunks/composite-form.js\";\nimport { c as scalarWidgetForDataType, n as buildArgRelationConfig } from \"../../../../chunks/relation-field-config.js\";\nimport { error, fail } from \"@sveltejs/kit\";\n//#region src/lib/form/action-form.ts\n/** Sentinel `defaultExpr` so `dbCanSupplyColumn` reports an argument with a\n* DEFAULT as DB-suppliable (optional). Never used as a value — the payload\n* drops the empty submission and PostgreSQL supplies the real default. */\nvar ARG_DEFAULT_SENTINEL = \"__rpc_arg_default__\";\n/** Title-case a snake_case argument name for the field label (mirrors core's\n* deriveLabel). */\nfunction deriveLabel(name) {\n\treturn name.replace(/_/g, \" \").replace(/\\b\\w/g, (c) => c.toUpperCase());\n}\nfunction buildActionForm(fn, schema) {\n\tconst relations = [];\n\tconst columns = [];\n\tconst argViews = [];\n\tfor (const arg of fn.args) {\n\t\tlet widget = arg.widget;\n\t\tif (arg.widget === \"relation-select\") {\n\t\t\tconst config = arg.relation ? buildArgRelationConfig(arg.name, arg.relation, schema) : null;\n\t\t\tif (config !== null) relations.push(config);\n\t\t\telse widget = scalarWidgetForDataType(arg.typeName);\n\t\t}\n\t\tconst enumValues = arg.enumValues ?? null;\n\t\tcolumns.push({\n\t\t\tname: arg.name,\n\t\t\tdataType: arg.typeName,\n\t\t\tnullable: false,\n\t\t\tdefaultExpr: arg.hasDefault ? ARG_DEFAULT_SENTINEL : null,\n\t\t\tisPrimaryKey: false,\n\t\t\tisForeignKey: arg.widget === \"relation-select\",\n\t\t\tlabel: deriveLabel(arg.name),\n\t\t\tdescription: null,\n\t\t\taiDescription: null,\n\t\t\twidget,\n\t\t\tenumValues,\n\t\t\treadonly: false\n\t\t});\n\t\targViews.push({\n\t\t\tname: arg.name,\n\t\t\tlabel: deriveLabel(arg.name),\n\t\t\twidget,\n\t\t\tenumValues: enumValues ?? [],\n\t\t\trequired: !arg.hasDefault\n\t\t});\n\t}\n\treturn {\n\t\tcolumns,\n\t\trelations,\n\t\tview: {\n\t\t\tqualifiedName: fn.qualifiedName,\n\t\t\tlabel: fn.label,\n\t\t\tdescription: fn.description,\n\t\t\taiDescription: fn.aiDescription,\n\t\t\tpolicy: fn.policy ?? [],\n\t\t\tsecurity: fn.security,\n\t\t\tvolatility: fn.volatility,\n\t\t\targs: argViews\n\t\t}\n\t};\n}\n//#endregion\n//#region src/routes/actions/[fn]/+page.server.ts\n/** Resolve the exposed function, 404ing both when it is absent and when the\n* backend cannot invoke it (no enumeration channel, and no dead form). */\nfunction resolveExposedFunction(functions, slug, canCall) {\n\tif (!canCall) throw error(404, \"RPC actions are not available on this backend.\");\n\tconst fn = (functions ?? []).find((f) => f.qualifiedName === slug);\n\tif (fn === void 0) throw error(404, `Unknown action: ${slug}`);\n\treturn fn;\n}\nvar load = async ({ params, locals }) => {\n\tconst adapter = getAdapter(locals.schema);\n\tconst action = buildActionForm(resolveExposedFunction(locals.schema.functions, params.fn, typeof adapter.callFunction === \"function\"), locals.schema);\n\tconst form = await superValidate(zod(zodFromTable({ columns: action.columns })));\n\tconst initialOptions = await loadInitialRelationOptions(adapter, action.relations);\n\treturn {\n\t\taction: action.view,\n\t\tform,\n\t\trelations: action.relations,\n\t\tinitialOptions\n\t};\n};\nvar actions = { default: async ({ request, params, locals }) => {\n\tconst adapter = getAdapter(locals.schema);\n\tconst fn = resolveExposedFunction(locals.schema.functions, params.fn, typeof adapter.callFunction === \"function\");\n\tconst action = buildActionForm(fn, locals.schema);\n\tconst form = await superValidate(await readActionFormSubmission(request), zod(zodFromTable({ columns: action.columns })));\n\tif (!form.valid) return fail(400, { form });\n\tconst args = buildMutationPayload({ columns: action.columns }, form.data);\n\ttry {\n\t\treturn {\n\t\t\tform,\n\t\t\trpcOk: true,\n\t\t\trpcResult: await adapter.callFunction(fn.qualifiedName, args) ?? null\n\t\t};\n\t} catch (err) {\n\t\tconst raw = err.status;\n\t\tconst status = typeof raw === \"number\" && raw >= 400 && raw < 600 ? raw : 500;\n\t\treturn fail(status, {\n\t\t\tform,\n\t\t\trpcError: rpcErrorMessage(status)\n\t\t});\n\t}\n} };\nfunction rpcErrorMessage(status) {\n\tswitch (status) {\n\t\tcase 400: return \"The action rejected the supplied arguments.\";\n\t\tcase 403: return \"You do not have permission to run this action.\";\n\t\tcase 404: return \"The action no longer exists.\";\n\t\tcase 409: return \"The action conflicted with the current data (a constraint was violated).\";\n\t\tdefault: return \"The action failed. See the server logs for details.\";\n\t}\n}\n//#endregion\nexport { actions, load };\n","import * as server from '../entries/pages/actions/_fn_/_page.server.ts.js';\n\nexport const index = 3;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/actions/_fn_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/actions/[fn]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/3.D_kabCAZ.js\",\"_app/immutable/chunks/ClT4djUO.js\",\"_app/immutable/chunks/DHwlcjtp.js\",\"_app/immutable/chunks/POk9Ad1v.js\",\"_app/immutable/chunks/DqFR9xzq.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/D5sfkRNZ.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { g as getAdapter } from './adapter-CXNsjV1V.js';
1
+ import { g as getAdapter } from './adapter-B1wOda2X.js';
2
2
  import { p as parseListParamsFromUrl } from './list-params-Cw6PMHbk.js';
3
- import { e as error } from './index-5kYmxIr9.js';
3
+ import { e as error } from './index-CVekYGHP.js';
4
4
  import './index-DBqjc0Yf.js';
5
5
 
6
6
  //#region src/routes/tables/[table]/+page.server.ts
@@ -58,13 +58,13 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
58
58
  load: load
59
59
  });
60
60
 
61
- const index = 3;
61
+ const index = 4;
62
62
  let component_cache;
63
63
  const component = async () => component_cache ??= (await import('./_page.svelte-j2Tqrjlb.js')).default;
64
64
  const server_id = "src/routes/tables/[table]/+page.server.ts";
65
- const imports = ["_app/immutable/nodes/3.BfuWEZdX.js","_app/immutable/chunks/BgT5WiOF.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/DxikiVqj.js","_app/immutable/chunks/D5sfkRNZ.js"];
65
+ const imports = ["_app/immutable/nodes/4.C486-zEy.js","_app/immutable/chunks/ClT4djUO.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/BAfs2EwQ.js","_app/immutable/chunks/D5sfkRNZ.js"];
66
66
  const stylesheets = [];
67
67
  const fonts = [];
68
68
 
69
69
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
70
- //# sourceMappingURL=3-DfrqlU53.js.map
70
+ //# sourceMappingURL=4-BB3nsMwf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"3-DfrqlU53.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tables/_table_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/3.js"],"sourcesContent":["import { t as getAdapter } from \"../../../../chunks/adapter.js\";\nimport { t as parseListParamsFromUrl } from \"../../../../chunks/list-params.js\";\nimport { error } from \"@sveltejs/kit\";\n//#region src/routes/tables/[table]/+page.server.ts\nvar DISPLAY_COLUMN_LIMIT = 5;\nvar TEXT_LIKE_TYPE_PREFIXES = [\n\t\"text\",\n\t\"character\",\n\t\"varchar\",\n\t\"citext\",\n\t\"name\"\n];\nvar load = async ({ params, locals, url }) => {\n\tconst table = locals.schema.tables.find((t) => t.qualifiedName === params.table);\n\tif (!table) throw error(404, `Unknown table: ${params.table}`);\n\tconst displayColumns = pickDisplayColumns(table);\n\tconst listParams = parseListParamsFromUrl({\n\t\turl,\n\t\tsearchFields: pickSearchFields(table)\n\t});\n\tconst result = await getAdapter(locals.schema).list(table.qualifiedName, listParams);\n\treturn {\n\t\ttable: {\n\t\t\tqualifiedName: table.qualifiedName,\n\t\t\tlabel: table.label,\n\t\t\tprimaryKey: table.primaryKey,\n\t\t\tdisplayField: table.displayField,\n\t\t\tcolumns: displayColumns.map((c) => ({\n\t\t\t\tname: c.name,\n\t\t\t\tlabel: c.label\n\t\t\t}))\n\t\t},\n\t\tlist: result,\n\t\tlistParams: {\n\t\t\tsearch: listParams.search,\n\t\t\tsort: listParams.sort,\n\t\t\tpage: listParams.page,\n\t\t\tpageSize: listParams.pageSize\n\t\t}\n\t};\n};\nfunction pickDisplayColumns(table) {\n\tconst display = table.displayField;\n\treturn [...table.columns].sort((a, b) => {\n\t\tif (a.name === display && b.name !== display) return -1;\n\t\tif (b.name === display && a.name !== display) return 1;\n\t\treturn 0;\n\t}).slice(0, DISPLAY_COLUMN_LIMIT);\n}\nfunction pickSearchFields(table) {\n\treturn table.columns.filter((c) => TEXT_LIKE_TYPE_PREFIXES.some((prefix) => c.dataType.toLowerCase().startsWith(prefix))).map((c) => c.name);\n}\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/tables/_table_/_page.server.ts.js';\n\nexport const index = 3;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/tables/_table_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/tables/[table]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/3.BfuWEZdX.js\",\"_app/immutable/chunks/BgT5WiOF.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/DxikiVqj.js\",\"_app/immutable/chunks/D5sfkRNZ.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;AAGA;AACA,IAAI,oBAAoB,GAAG,CAAC;AAC5B,IAAI,uBAAuB,GAAG;AAC9B,CAAC,MAAM;AACP,CAAC,WAAW;AACZ,CAAC,SAAS;AACV,CAAC,QAAQ;AACT,CAAC;AACD,CAAC;AACD,IAAI,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK;AAC9C,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,KAAK,MAAM,CAAC,KAAK,CAAC;AACjF,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/D,CAAC,MAAM,cAAc,GAAG,kBAAkB,CAAC,KAAK,CAAC;AACjD,CAAC,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAC3C,EAAE,GAAG;AACL,EAAE,YAAY,EAAE,gBAAgB,CAAC,KAAK;AACtC,EAAE,CAAC;AACH,CAAC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC;AACrF,CAAC,OAAO;AACR,EAAE,KAAK,EAAE;AACT,GAAG,aAAa,EAAE,KAAK,CAAC,aAAa;AACrC,GAAG,KAAK,EAAE,KAAK,CAAC,KAAK;AACrB,GAAG,UAAU,EAAE,KAAK,CAAC,UAAU;AAC/B,GAAG,YAAY,EAAE,KAAK,CAAC,YAAY;AACnC,GAAG,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AACvC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI;AAChB,IAAI,KAAK,EAAE,CAAC,CAAC;AACb,IAAI,CAAC;AACL,GAAG;AACH,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,UAAU,EAAE;AACd,GAAG,MAAM,EAAE,UAAU,CAAC,MAAM;AAC5B,GAAG,IAAI,EAAE,UAAU,CAAC,IAAI;AACxB,GAAG,IAAI,EAAE,UAAU,CAAC,IAAI;AACxB,GAAG,QAAQ,EAAE,UAAU,CAAC;AACxB;AACA,EAAE;AACF,CAAC;AACD,SAAS,kBAAkB,CAAC,KAAK,EAAE;AACnC,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY;AACnC,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;AAC1C,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,OAAO,EAAE;AACzD,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,OAAO,CAAC;AACxD,EAAE,OAAO,CAAC;AACV,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC;AAClC;AACA,SAAS,gBAAgB,CAAC,KAAK,EAAE;AACjC,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;AAC7I;;;;;;;ACjDY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAiD,CAAC,EAAE;AAE/G,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChM,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"4-BB3nsMwf.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tables/_table_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/4.js"],"sourcesContent":["import { t as getAdapter } from \"../../../../chunks/adapter.js\";\nimport { t as parseListParamsFromUrl } from \"../../../../chunks/list-params.js\";\nimport { error } from \"@sveltejs/kit\";\n//#region src/routes/tables/[table]/+page.server.ts\nvar DISPLAY_COLUMN_LIMIT = 5;\nvar TEXT_LIKE_TYPE_PREFIXES = [\n\t\"text\",\n\t\"character\",\n\t\"varchar\",\n\t\"citext\",\n\t\"name\"\n];\nvar load = async ({ params, locals, url }) => {\n\tconst table = locals.schema.tables.find((t) => t.qualifiedName === params.table);\n\tif (!table) throw error(404, `Unknown table: ${params.table}`);\n\tconst displayColumns = pickDisplayColumns(table);\n\tconst listParams = parseListParamsFromUrl({\n\t\turl,\n\t\tsearchFields: pickSearchFields(table)\n\t});\n\tconst result = await getAdapter(locals.schema).list(table.qualifiedName, listParams);\n\treturn {\n\t\ttable: {\n\t\t\tqualifiedName: table.qualifiedName,\n\t\t\tlabel: table.label,\n\t\t\tprimaryKey: table.primaryKey,\n\t\t\tdisplayField: table.displayField,\n\t\t\tcolumns: displayColumns.map((c) => ({\n\t\t\t\tname: c.name,\n\t\t\t\tlabel: c.label\n\t\t\t}))\n\t\t},\n\t\tlist: result,\n\t\tlistParams: {\n\t\t\tsearch: listParams.search,\n\t\t\tsort: listParams.sort,\n\t\t\tpage: listParams.page,\n\t\t\tpageSize: listParams.pageSize\n\t\t}\n\t};\n};\nfunction pickDisplayColumns(table) {\n\tconst display = table.displayField;\n\treturn [...table.columns].sort((a, b) => {\n\t\tif (a.name === display && b.name !== display) return -1;\n\t\tif (b.name === display && a.name !== display) return 1;\n\t\treturn 0;\n\t}).slice(0, DISPLAY_COLUMN_LIMIT);\n}\nfunction pickSearchFields(table) {\n\treturn table.columns.filter((c) => TEXT_LIKE_TYPE_PREFIXES.some((prefix) => c.dataType.toLowerCase().startsWith(prefix))).map((c) => c.name);\n}\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/tables/_table_/_page.server.ts.js';\n\nexport const index = 4;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/tables/_table_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/tables/[table]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/4.C486-zEy.js\",\"_app/immutable/chunks/ClT4djUO.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/BAfs2EwQ.js\",\"_app/immutable/chunks/D5sfkRNZ.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { g as getAdapter } from './adapter-CXNsjV1V.js';
1
+ import { g as getAdapter } from './adapter-B1wOda2X.js';
2
2
  import { p as parseResourceId, e as encodeResourceId } from './resource-id-PDcQeAnc.js';
3
- import { e as error, r as redirect } from './index-5kYmxIr9.js';
3
+ import { e as error, r as redirect } from './index-CVekYGHP.js';
4
4
  import './index-DBqjc0Yf.js';
5
5
 
6
6
  //#region src/lib/detail/resolve-fk-labels.ts
@@ -138,13 +138,13 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
138
138
  load: load
139
139
  });
140
140
 
141
- const index = 4;
141
+ const index = 5;
142
142
  let component_cache;
143
- const component = async () => component_cache ??= (await import('./_page.svelte-DaJwoT9F.js')).default;
143
+ const component = async () => component_cache ??= (await import('./_page.svelte-6bUnnrWp.js')).default;
144
144
  const server_id = "src/routes/tables/[table]/[id]/+page.server.ts";
145
- const imports = ["_app/immutable/nodes/4.5H5WIc-o.js","_app/immutable/chunks/BgT5WiOF.js","_app/immutable/chunks/BLwQsTD2.js","_app/immutable/chunks/rPPoD7Sp.js","_app/immutable/chunks/xihTtKlq.js"];
145
+ const imports = ["_app/immutable/nodes/5.D1OoUXND.js","_app/immutable/chunks/ClT4djUO.js","_app/immutable/chunks/DqFR9xzq.js","_app/immutable/chunks/POk9Ad1v.js","_app/immutable/chunks/xihTtKlq.js"];
146
146
  const stylesheets = [];
147
147
  const fonts = [];
148
148
 
149
149
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
150
- //# sourceMappingURL=4-1chJCfPL.js.map
150
+ //# sourceMappingURL=5-QdpSeSEB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"4-1chJCfPL.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tables/_table_/_id_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/4.js"],"sourcesContent":["import { t as getAdapter } from \"../../../../../chunks/adapter.js\";\nimport { n as parseResourceId, t as encodeResourceId } from \"../../../../../chunks/resource-id.js\";\nimport { error, redirect } from \"@sveltejs/kit\";\n//#region src/lib/detail/resolve-fk-labels.ts\nasync function resolveFkLabels(args) {\n\tconst { table, row, schema, loadRow } = args;\n\tconst out = {};\n\tconst lookups = [];\n\tconst claims = /* @__PURE__ */ new Map();\n\tfor (const relation of table.relations) {\n\t\tconst first = (relation.fields ?? [relation.field])[0];\n\t\tclaims.set(first, (claims.get(first) ?? 0) + 1);\n\t}\n\tfor (const relation of table.relations) {\n\t\tconst fields = relation.fields ?? [relation.field];\n\t\tif (fields.length > 1) {\n\t\t\tif ((claims.get(fields[0]) ?? 0) > 1) continue;\n\t\t\tconst lookup = compositeLookup(fields, relation, row, schema, loadRow, out);\n\t\t\tif (lookup !== null) lookups.push(lookup);\n\t\t\tcontinue;\n\t\t}\n\t\tconst rawValue = row[relation.field];\n\t\tif (rawValue === null || rawValue === void 0) continue;\n\t\tif (typeof rawValue !== \"string\" && typeof rawValue !== \"number\") continue;\n\t\tconst value = rawValue;\n\t\tconst referencedQualifiedName = `${relation.references.schema}.${relation.references.table}`;\n\t\tconst referencedTable = schema.tables.find((t) => t.qualifiedName === referencedQualifiedName);\n\t\tif (referencedTable === void 0) {\n\t\t\tout[relation.field] = {\n\t\t\t\tvalue,\n\t\t\t\tlabel: null,\n\t\t\t\treferencedQualifiedName\n\t\t\t};\n\t\t\tcontinue;\n\t\t}\n\t\tlookups.push(loadRow(referencedQualifiedName, value).then((targetRow) => {\n\t\t\tconst label = projectLabel(referencedTable, targetRow);\n\t\t\tout[relation.field] = {\n\t\t\t\tvalue,\n\t\t\t\tlabel,\n\t\t\t\treferencedQualifiedName\n\t\t\t};\n\t\t}));\n\t}\n\tawait Promise.all(lookups);\n\treturn out;\n}\n/** Build the lookup for a composite relation, or return `null` when it\n* cannot be resolved (the raw values then render as-is). The target row is\n* fetched by primary key, so the relation must reference the target's full\n* primary key (in any column order) and every component must be present.\n* The resolved entry is keyed by the relation's first column. */\nfunction compositeLookup(fields, relation, row, schema, loadRow, out) {\n\tconst referencedQualifiedName = `${relation.references.schema}.${relation.references.table}`;\n\tconst referencedTable = schema.tables.find((t) => t.qualifiedName === referencedQualifiedName);\n\tif (referencedTable === void 0) return null;\n\tconst refColumns = relation.references.columns ?? [relation.references.column];\n\tif (refColumns.length !== fields.length) return null;\n\tconst primaryKey = referencedTable.primaryKey;\n\tif (primaryKey.length !== refColumns.length || !primaryKey.every((column) => refColumns.includes(column))) return null;\n\tconst components = [];\n\tfor (const keyColumn of primaryKey) {\n\t\tconst raw = row[fields[refColumns.indexOf(keyColumn)]];\n\t\tif (raw === null || raw === void 0) return null;\n\t\tif (typeof raw !== \"string\" && typeof raw !== \"number\") return null;\n\t\tcomponents.push(raw);\n\t}\n\tconst value = encodeResourceId(components);\n\treturn loadRow(referencedQualifiedName, components).then((targetRow) => {\n\t\tconst label = projectLabel(referencedTable, targetRow);\n\t\tout[fields[0]] = {\n\t\t\tvalue,\n\t\t\tlabel,\n\t\t\treferencedQualifiedName\n\t\t};\n\t});\n}\nfunction projectLabel(referencedTable, targetRow) {\n\tif (targetRow === null) return null;\n\tconst display = referencedTable.displayField;\n\tif (display === null) return null;\n\tconst value = targetRow[display];\n\tif (value === null || value === void 0) return null;\n\treturn String(value);\n}\n//#endregion\n//#region src/routes/tables/[table]/[id]/+page.server.ts\nfunction findTable(tables, slug) {\n\treturn tables.find((t) => t.qualifiedName === slug) ?? null;\n}\nfunction tableViewModel(table) {\n\treturn {\n\t\tqualifiedName: table.qualifiedName,\n\t\tlabel: table.label,\n\t\tcanDelete: table.rawTable.privileges?.delete !== false,\n\t\tcolumns: table.columns.map((c) => ({\n\t\t\tname: c.name,\n\t\t\tlabel: c.label,\n\t\t\twidget: c.widget,\n\t\t\tisPrimaryKey: c.isPrimaryKey,\n\t\t\tisForeignKey: c.isForeignKey\n\t\t}))\n\t};\n}\nvar load = async ({ params, locals }) => {\n\tconst table = findTable(locals.schema.tables, params.table);\n\tif (!table) throw error(404, `Unknown table: ${params.table}`);\n\tconst adapter = getAdapter(locals.schema);\n\tconst id = parseResourceId(params.id, table.primaryKey);\n\tconst row = await adapter.get(table.qualifiedName, id);\n\tconst fkLabels = await resolveFkLabels({\n\t\ttable,\n\t\trow,\n\t\tschema: locals.schema,\n\t\tloadRow: (qualifiedName, id) => locals.fkRowCache.get(qualifiedName, id, (qn, identifier) => adapter.get(qn, identifier).catch(() => null))\n\t});\n\treturn {\n\t\ttable: tableViewModel(table),\n\t\trow,\n\t\tfkLabels,\n\t\tid: encodeResourceId(id)\n\t};\n};\nvar actions = { delete: async ({ params, locals }) => {\n\tconst table = findTable(locals.schema.tables, params.table);\n\tif (!table) throw error(404, `Unknown table: ${params.table}`);\n\tif (table.rawTable.privileges?.delete === false) throw error(403, `The configured role may not delete from ${table.qualifiedName}.`);\n\tconst id = parseResourceId(params.id, table.primaryKey);\n\tawait getAdapter(locals.schema).delete(table.qualifiedName, id);\n\tthrow redirect(303, `/tables/${table.qualifiedName}`);\n} };\n//#endregion\nexport { actions, load };\n","import * as server from '../entries/pages/tables/_table_/_id_/_page.server.ts.js';\n\nexport const index = 4;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/tables/_table_/_id_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/tables/[table]/[id]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/4.5H5WIc-o.js\",\"_app/immutable/chunks/BgT5WiOF.js\",\"_app/immutable/chunks/BLwQsTD2.js\",\"_app/immutable/chunks/rPPoD7Sp.js\",\"_app/immutable/chunks/xihTtKlq.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"5-QdpSeSEB.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tables/_table_/_id_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/5.js"],"sourcesContent":["import { t as getAdapter } from \"../../../../../chunks/adapter.js\";\nimport { n as parseResourceId, t as encodeResourceId } from \"../../../../../chunks/resource-id.js\";\nimport { error, redirect } from \"@sveltejs/kit\";\n//#region src/lib/detail/resolve-fk-labels.ts\nasync function resolveFkLabels(args) {\n\tconst { table, row, schema, loadRow } = args;\n\tconst out = {};\n\tconst lookups = [];\n\tconst claims = /* @__PURE__ */ new Map();\n\tfor (const relation of table.relations) {\n\t\tconst first = (relation.fields ?? [relation.field])[0];\n\t\tclaims.set(first, (claims.get(first) ?? 0) + 1);\n\t}\n\tfor (const relation of table.relations) {\n\t\tconst fields = relation.fields ?? [relation.field];\n\t\tif (fields.length > 1) {\n\t\t\tif ((claims.get(fields[0]) ?? 0) > 1) continue;\n\t\t\tconst lookup = compositeLookup(fields, relation, row, schema, loadRow, out);\n\t\t\tif (lookup !== null) lookups.push(lookup);\n\t\t\tcontinue;\n\t\t}\n\t\tconst rawValue = row[relation.field];\n\t\tif (rawValue === null || rawValue === void 0) continue;\n\t\tif (typeof rawValue !== \"string\" && typeof rawValue !== \"number\") continue;\n\t\tconst value = rawValue;\n\t\tconst referencedQualifiedName = `${relation.references.schema}.${relation.references.table}`;\n\t\tconst referencedTable = schema.tables.find((t) => t.qualifiedName === referencedQualifiedName);\n\t\tif (referencedTable === void 0) {\n\t\t\tout[relation.field] = {\n\t\t\t\tvalue,\n\t\t\t\tlabel: null,\n\t\t\t\treferencedQualifiedName\n\t\t\t};\n\t\t\tcontinue;\n\t\t}\n\t\tlookups.push(loadRow(referencedQualifiedName, value).then((targetRow) => {\n\t\t\tconst label = projectLabel(referencedTable, targetRow);\n\t\t\tout[relation.field] = {\n\t\t\t\tvalue,\n\t\t\t\tlabel,\n\t\t\t\treferencedQualifiedName\n\t\t\t};\n\t\t}));\n\t}\n\tawait Promise.all(lookups);\n\treturn out;\n}\n/** Build the lookup for a composite relation, or return `null` when it\n* cannot be resolved (the raw values then render as-is). The target row is\n* fetched by primary key, so the relation must reference the target's full\n* primary key (in any column order) and every component must be present.\n* The resolved entry is keyed by the relation's first column. */\nfunction compositeLookup(fields, relation, row, schema, loadRow, out) {\n\tconst referencedQualifiedName = `${relation.references.schema}.${relation.references.table}`;\n\tconst referencedTable = schema.tables.find((t) => t.qualifiedName === referencedQualifiedName);\n\tif (referencedTable === void 0) return null;\n\tconst refColumns = relation.references.columns ?? [relation.references.column];\n\tif (refColumns.length !== fields.length) return null;\n\tconst primaryKey = referencedTable.primaryKey;\n\tif (primaryKey.length !== refColumns.length || !primaryKey.every((column) => refColumns.includes(column))) return null;\n\tconst components = [];\n\tfor (const keyColumn of primaryKey) {\n\t\tconst raw = row[fields[refColumns.indexOf(keyColumn)]];\n\t\tif (raw === null || raw === void 0) return null;\n\t\tif (typeof raw !== \"string\" && typeof raw !== \"number\") return null;\n\t\tcomponents.push(raw);\n\t}\n\tconst value = encodeResourceId(components);\n\treturn loadRow(referencedQualifiedName, components).then((targetRow) => {\n\t\tconst label = projectLabel(referencedTable, targetRow);\n\t\tout[fields[0]] = {\n\t\t\tvalue,\n\t\t\tlabel,\n\t\t\treferencedQualifiedName\n\t\t};\n\t});\n}\nfunction projectLabel(referencedTable, targetRow) {\n\tif (targetRow === null) return null;\n\tconst display = referencedTable.displayField;\n\tif (display === null) return null;\n\tconst value = targetRow[display];\n\tif (value === null || value === void 0) return null;\n\treturn String(value);\n}\n//#endregion\n//#region src/routes/tables/[table]/[id]/+page.server.ts\nfunction findTable(tables, slug) {\n\treturn tables.find((t) => t.qualifiedName === slug) ?? null;\n}\nfunction tableViewModel(table) {\n\treturn {\n\t\tqualifiedName: table.qualifiedName,\n\t\tlabel: table.label,\n\t\tcanDelete: table.rawTable.privileges?.delete !== false,\n\t\tcolumns: table.columns.map((c) => ({\n\t\t\tname: c.name,\n\t\t\tlabel: c.label,\n\t\t\twidget: c.widget,\n\t\t\tisPrimaryKey: c.isPrimaryKey,\n\t\t\tisForeignKey: c.isForeignKey\n\t\t}))\n\t};\n}\nvar load = async ({ params, locals }) => {\n\tconst table = findTable(locals.schema.tables, params.table);\n\tif (!table) throw error(404, `Unknown table: ${params.table}`);\n\tconst adapter = getAdapter(locals.schema);\n\tconst id = parseResourceId(params.id, table.primaryKey);\n\tconst row = await adapter.get(table.qualifiedName, id);\n\tconst fkLabels = await resolveFkLabels({\n\t\ttable,\n\t\trow,\n\t\tschema: locals.schema,\n\t\tloadRow: (qualifiedName, id) => locals.fkRowCache.get(qualifiedName, id, (qn, identifier) => adapter.get(qn, identifier).catch(() => null))\n\t});\n\treturn {\n\t\ttable: tableViewModel(table),\n\t\trow,\n\t\tfkLabels,\n\t\tid: encodeResourceId(id)\n\t};\n};\nvar actions = { delete: async ({ params, locals }) => {\n\tconst table = findTable(locals.schema.tables, params.table);\n\tif (!table) throw error(404, `Unknown table: ${params.table}`);\n\tif (table.rawTable.privileges?.delete === false) throw error(403, `The configured role may not delete from ${table.qualifiedName}.`);\n\tconst id = parseResourceId(params.id, table.primaryKey);\n\tawait getAdapter(locals.schema).delete(table.qualifiedName, id);\n\tthrow redirect(303, `/tables/${table.qualifiedName}`);\n} };\n//#endregion\nexport { actions, load };\n","import * as server from '../entries/pages/tables/_table_/_id_/_page.server.ts.js';\n\nexport const index = 5;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/tables/_table_/_id_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/tables/[table]/[id]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/5.D1OoUXND.js\",\"_app/immutable/chunks/ClT4djUO.js\",\"_app/immutable/chunks/DqFR9xzq.js\",\"_app/immutable/chunks/POk9Ad1v.js\",\"_app/immutable/chunks/xihTtKlq.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
@@ -1,14 +1,15 @@
1
- import { g as getAdapter } from './adapter-CXNsjV1V.js';
1
+ import { g as getAdapter } from './adapter-B1wOda2X.js';
2
2
  import { p as parseResourceId, e as encodeResourceId } from './resource-id-PDcQeAnc.js';
3
- import { l as loadInitialRelationOptions, e as ensureSelectedOptions } from './relation-options-Dzy9DaQG.js';
4
- import { a as applyPrivilegeReadonly, f as relationFieldConfigs, p as promoteCompositeMemberWidgets, e as demoteUnpickableRelations, r as readFormWithCompositePicks, g as superValidate, z as zod, h as zodFromTable, b as buildMutationPayload } from './composite-form-_tg7iknp.js';
5
- import { e as error, f as fail, r as redirect } from './index-5kYmxIr9.js';
6
- import './internal-fxcuSPWe.js';
3
+ import { l as loadInitialRelationOptions, e as ensureSelectedOptions } from './relation-options-BQ3XnftO.js';
4
+ import { g as relationFieldConfigs, p as promoteCompositeMemberWidgets, e as demoteUnpickableRelations, f as readFormWithCompositePicks, j as superValidate, z as zod, k as zodFromTable, a as buildMutationPayload } from './composite-form-Khrcy6Jk.js';
5
+ import { a as applyPrivilegeReadonly } from './privilege-readonly-CK4k2aYO.js';
6
+ import { e as error, f as fail, r as redirect } from './index-CVekYGHP.js';
7
+ import './internal-Z9Jwi6lX.js';
7
8
  import 'node:module';
8
9
  import './dev-yFiAtg5l.js';
9
10
  import 'clsx';
10
11
  import './index-DBqjc0Yf.js';
11
- import './client-C004jkBy.js';
12
+ import './client-CF_AG7xO.js';
12
13
  import './app-MIcRQ3KA.js';
13
14
  import 'zod/v4/core';
14
15
  import 'zod';
@@ -75,13 +76,13 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
75
76
  load: load
76
77
  });
77
78
 
78
- const index = 5;
79
+ const index = 6;
79
80
  let component_cache;
80
- const component = async () => component_cache ??= (await import('./_page.svelte-DI_FY3zW.js')).default;
81
+ const component = async () => component_cache ??= (await import('./_page.svelte-D1coeZL7.js')).default;
81
82
  const server_id = "src/routes/tables/[table]/[id]/edit/+page.server.ts";
82
- const imports = ["_app/immutable/nodes/5.BR2iBXwV.js","_app/immutable/chunks/BgT5WiOF.js","_app/immutable/chunks/DY0oakY5.js","_app/immutable/chunks/rPPoD7Sp.js","_app/immutable/chunks/BLwQsTD2.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/D5sfkRNZ.js"];
83
+ const imports = ["_app/immutable/nodes/6.B3cCGwsZ.js","_app/immutable/chunks/ClT4djUO.js","_app/immutable/chunks/DHwlcjtp.js","_app/immutable/chunks/POk9Ad1v.js","_app/immutable/chunks/DqFR9xzq.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/D5sfkRNZ.js","_app/immutable/chunks/CrFfElwr.js"];
83
84
  const stylesheets = [];
84
85
  const fonts = [];
85
86
 
86
87
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
87
- //# sourceMappingURL=5-DUCxshKE.js.map
88
+ //# sourceMappingURL=6-DQ9D4Rjj.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"6-DQ9D4Rjj.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tables/_table_/_id_/edit/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/6.js"],"sourcesContent":["import { t as getAdapter } from \"../../../../../../chunks/adapter.js\";\nimport { n as parseResourceId, t as encodeResourceId } from \"../../../../../../chunks/resource-id.js\";\nimport { n as loadInitialRelationOptions, t as ensureSelectedOptions } from \"../../../../../../chunks/relation-options.js\";\nimport { t as superValidate } from \"../../../../../../chunks/dist.js\";\nimport { i as buildMutationPayload, n as readFormWithCompositePicks, o as zod, r as zodFromTable } from \"../../../../../../chunks/composite-form.js\";\nimport { i as demoteUnpickableRelations, o as promoteCompositeMemberWidgets, s as relationFieldConfigs } from \"../../../../../../chunks/relation-field-config.js\";\nimport { t as applyPrivilegeReadonly } from \"../../../../../../chunks/privilege-readonly.js\";\nimport { error, fail, redirect } from \"@sveltejs/kit\";\n//#region src/routes/tables/[table]/[id]/edit/+page.server.ts\nfunction findTable(tables, slug) {\n\treturn tables.find((t) => t.qualifiedName === slug) ?? null;\n}\nfunction tableViewModel(table) {\n\treturn {\n\t\tqualifiedName: table.qualifiedName,\n\t\tlabel: table.label,\n\t\tprimaryKey: table.primaryKey,\n\t\tcolumns: table.columns.map((c) => ({\n\t\t\tname: c.name,\n\t\t\tlabel: c.label,\n\t\t\twidget: c.widget,\n\t\t\tenumValues: c.enumValues ?? [],\n\t\t\tnullable: c.nullable,\n\t\t\treadonly: c.readonly || c.isPrimaryKey,\n\t\t\tisPrimaryKey: c.isPrimaryKey\n\t\t}))\n\t};\n}\nvar load = async ({ params, locals }) => {\n\tconst found = findTable(locals.schema.tables, params.table);\n\tif (!found) throw error(404, `Unknown table: ${params.table}`);\n\tconst table = applyPrivilegeReadonly(found, \"update\");\n\tconst adapter = getAdapter(locals.schema);\n\tconst id = parseResourceId(params.id, table.primaryKey);\n\tconst row = await adapter.get(table.qualifiedName, id);\n\tconst relations = relationFieldConfigs(table, locals.schema);\n\tconst formTable = promoteCompositeMemberWidgets(demoteUnpickableRelations(table, relations), relations);\n\tconst form = await superValidate(row, zod(zodFromTable(formTable)));\n\tconst initialOptions = await loadInitialRelationOptions(adapter, relations);\n\tawait ensureSelectedOptions(adapter, relations, row, initialOptions);\n\treturn {\n\t\ttable: tableViewModel(formTable),\n\t\tform,\n\t\tid: encodeResourceId(id),\n\t\trelations,\n\t\tinitialOptions\n\t};\n};\nvar actions = { default: async ({ request, params, locals }) => {\n\tconst found = findTable(locals.schema.tables, params.table);\n\tif (!found) throw error(404, `Unknown table: ${params.table}`);\n\tconst table = applyPrivilegeReadonly(found, \"update\");\n\tconst relations = relationFieldConfigs(table, locals.schema);\n\tconst formTable = promoteCompositeMemberWidgets(demoteUnpickableRelations(table, relations), relations);\n\tconst submission = await readFormWithCompositePicks(request, relations);\n\tif (submission === null) return fail(400, { form: await superValidate(zod(zodFromTable(formTable))) });\n\tconst form = await superValidate(submission, zod(zodFromTable(formTable)));\n\tif (!form.valid) return fail(400, { form });\n\tconst payload = buildMutationPayload(formTable, form.data, \"update\");\n\tconst id = parseResourceId(params.id, table.primaryKey);\n\tawait getAdapter(locals.schema).update(table.qualifiedName, id, payload);\n\tthrow redirect(303, `/tables/${table.qualifiedName}/${encodeResourceId(id)}`);\n} };\n//#endregion\nexport { actions, load };\n","import * as server from '../entries/pages/tables/_table_/_id_/edit/_page.server.ts.js';\n\nexport const index = 6;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/tables/_table_/_id_/edit/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/tables/[table]/[id]/edit/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/6.B3cCGwsZ.js\",\"_app/immutable/chunks/ClT4djUO.js\",\"_app/immutable/chunks/DHwlcjtp.js\",\"_app/immutable/chunks/POk9Ad1v.js\",\"_app/immutable/chunks/DqFR9xzq.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/D5sfkRNZ.js\",\"_app/immutable/chunks/CrFfElwr.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
@@ -1,14 +1,15 @@
1
- import { g as getAdapter } from './adapter-CXNsjV1V.js';
1
+ import { g as getAdapter } from './adapter-B1wOda2X.js';
2
2
  import { r as rowIdSegment } from './resource-id-PDcQeAnc.js';
3
- import { l as loadInitialRelationOptions } from './relation-options-Dzy9DaQG.js';
4
- import { a as applyPrivilegeReadonly, f as relationFieldConfigs, p as promoteCompositeMemberWidgets, e as demoteUnpickableRelations, r as readFormWithCompositePicks, g as superValidate, z as zod, h as zodFromTable, b as buildMutationPayload, d as dbCanSupplyColumn } from './composite-form-_tg7iknp.js';
5
- import { e as error, f as fail, r as redirect } from './index-5kYmxIr9.js';
6
- import './internal-fxcuSPWe.js';
3
+ import { l as loadInitialRelationOptions } from './relation-options-BQ3XnftO.js';
4
+ import { g as relationFieldConfigs, p as promoteCompositeMemberWidgets, e as demoteUnpickableRelations, f as readFormWithCompositePicks, j as superValidate, z as zod, k as zodFromTable, a as buildMutationPayload, d as dbCanSupplyColumn } from './composite-form-Khrcy6Jk.js';
5
+ import { a as applyPrivilegeReadonly } from './privilege-readonly-CK4k2aYO.js';
6
+ import { e as error, f as fail, r as redirect } from './index-CVekYGHP.js';
7
+ import './internal-Z9Jwi6lX.js';
7
8
  import 'node:module';
8
9
  import './dev-yFiAtg5l.js';
9
10
  import 'clsx';
10
11
  import './index-DBqjc0Yf.js';
11
- import './client-C004jkBy.js';
12
+ import './client-CF_AG7xO.js';
12
13
  import './app-MIcRQ3KA.js';
13
14
  import 'zod/v4/core';
14
15
  import 'zod';
@@ -70,13 +71,13 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
70
71
  load: load
71
72
  });
72
73
 
73
- const index = 6;
74
+ const index = 7;
74
75
  let component_cache;
75
- const component = async () => component_cache ??= (await import('./_page.svelte-CBUJNhG1.js')).default;
76
+ const component = async () => component_cache ??= (await import('./_page.svelte-DsOlSzf6.js')).default;
76
77
  const server_id = "src/routes/tables/[table]/new/+page.server.ts";
77
- const imports = ["_app/immutable/nodes/6.ChubZePh.js","_app/immutable/chunks/BgT5WiOF.js","_app/immutable/chunks/DY0oakY5.js","_app/immutable/chunks/rPPoD7Sp.js","_app/immutable/chunks/BLwQsTD2.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/D5sfkRNZ.js"];
78
+ const imports = ["_app/immutable/nodes/7.cAEaWzyw.js","_app/immutable/chunks/ClT4djUO.js","_app/immutable/chunks/DHwlcjtp.js","_app/immutable/chunks/POk9Ad1v.js","_app/immutable/chunks/DqFR9xzq.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/D5sfkRNZ.js","_app/immutable/chunks/CrFfElwr.js"];
78
79
  const stylesheets = [];
79
80
  const fonts = [];
80
81
 
81
82
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
82
- //# sourceMappingURL=6-Dh7Tg-XB.js.map
83
+ //# sourceMappingURL=7-yY-k4F-J.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"7-yY-k4F-J.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tables/_table_/new/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/7.js"],"sourcesContent":["import { t as getAdapter } from \"../../../../../chunks/adapter.js\";\nimport { r as rowIdSegment } from \"../../../../../chunks/resource-id.js\";\nimport { n as loadInitialRelationOptions } from \"../../../../../chunks/relation-options.js\";\nimport { t as superValidate } from \"../../../../../chunks/dist.js\";\nimport { a as dbCanSupplyColumn, i as buildMutationPayload, n as readFormWithCompositePicks, o as zod, r as zodFromTable } from \"../../../../../chunks/composite-form.js\";\nimport { i as demoteUnpickableRelations, o as promoteCompositeMemberWidgets, s as relationFieldConfigs } from \"../../../../../chunks/relation-field-config.js\";\nimport { t as applyPrivilegeReadonly } from \"../../../../../chunks/privilege-readonly.js\";\nimport { error, fail, redirect } from \"@sveltejs/kit\";\n//#region src/routes/tables/[table]/new/+page.server.ts\nfunction findTable(tables, slug) {\n\treturn tables.find((t) => t.qualifiedName === slug) ?? null;\n}\nfunction tableViewModel(table) {\n\treturn {\n\t\tqualifiedName: table.qualifiedName,\n\t\tlabel: table.label,\n\t\tprimaryKey: table.primaryKey,\n\t\tcolumns: table.columns.map((c) => ({\n\t\t\tname: c.name,\n\t\t\tlabel: c.label,\n\t\t\twidget: c.widget,\n\t\t\tenumValues: c.enumValues ?? [],\n\t\t\tnullable: c.nullable,\n\t\t\tdbCanSupply: dbCanSupplyColumn(c),\n\t\t\treadonly: c.readonly || c.isPrimaryKey && c.defaultExpr !== null,\n\t\t\tisPrimaryKey: c.isPrimaryKey\n\t\t}))\n\t};\n}\nvar load = async ({ params, locals }) => {\n\tconst found = findTable(locals.schema.tables, params.table);\n\tif (!found) throw error(404, `Unknown table: ${params.table}`);\n\tconst table = applyPrivilegeReadonly(found, \"create\");\n\tconst relations = relationFieldConfigs(table, locals.schema);\n\tconst formTable = promoteCompositeMemberWidgets(demoteUnpickableRelations(table, relations), relations);\n\tconst form = await superValidate(zod(zodFromTable(formTable)));\n\tconst initialOptions = await loadInitialRelationOptions(getAdapter(locals.schema), relations);\n\treturn {\n\t\ttable: tableViewModel(formTable),\n\t\tform,\n\t\trelations,\n\t\tinitialOptions\n\t};\n};\nvar actions = { default: async ({ request, params, locals }) => {\n\tconst found = findTable(locals.schema.tables, params.table);\n\tif (!found) throw error(404, `Unknown table: ${params.table}`);\n\tconst table = applyPrivilegeReadonly(found, \"create\");\n\tconst relations = relationFieldConfigs(table, locals.schema);\n\tconst formTable = promoteCompositeMemberWidgets(demoteUnpickableRelations(table, relations), relations);\n\tconst submission = await readFormWithCompositePicks(request, relations);\n\tif (submission === null) return fail(400, { form: await superValidate(zod(zodFromTable(formTable))) });\n\tconst form = await superValidate(submission, zod(zodFromTable(formTable)));\n\tif (!form.valid) return fail(400, { form });\n\tconst payload = buildMutationPayload(formTable, form.data);\n\tconst segment = rowIdSegment(await getAdapter(locals.schema).create(table.qualifiedName, payload), table.primaryKey);\n\tthrow redirect(303, segment !== null ? `/tables/${table.qualifiedName}/${segment}` : `/tables/${table.qualifiedName}`);\n} };\n//#endregion\nexport { actions, load };\n","import * as server from '../entries/pages/tables/_table_/new/_page.server.ts.js';\n\nexport const index = 7;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/tables/_table_/new/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/tables/[table]/new/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/7.cAEaWzyw.js\",\"_app/immutable/chunks/ClT4djUO.js\",\"_app/immutable/chunks/DHwlcjtp.js\",\"_app/immutable/chunks/POk9Ad1v.js\",\"_app/immutable/chunks/DqFR9xzq.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/D5sfkRNZ.js\",\"_app/immutable/chunks/CrFfElwr.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { g as getAdapter } from './adapter-CXNsjV1V.js';
1
+ import { g as getAdapter } from './adapter-B1wOda2X.js';
2
2
  import { p as parseListParamsFromUrl } from './list-params-Cw6PMHbk.js';
3
- import { e as error } from './index-5kYmxIr9.js';
3
+ import { e as error } from './index-CVekYGHP.js';
4
4
  import './index-DBqjc0Yf.js';
5
5
 
6
6
  //#region src/lib/view/columns.ts
@@ -54,13 +54,13 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
54
54
  load: load
55
55
  });
56
56
 
57
- const index = 7;
57
+ const index = 8;
58
58
  let component_cache;
59
59
  const component = async () => component_cache ??= (await import('./_page.svelte-Dabtpyl9.js')).default;
60
60
  const server_id = "src/routes/views/[view]/+page.server.ts";
61
- const imports = ["_app/immutable/nodes/7.CjEmXoAF.js","_app/immutable/chunks/BgT5WiOF.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/DxikiVqj.js","_app/immutable/chunks/D5sfkRNZ.js"];
61
+ const imports = ["_app/immutable/nodes/8.Cb70WGbk.js","_app/immutable/chunks/ClT4djUO.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/BAfs2EwQ.js","_app/immutable/chunks/D5sfkRNZ.js"];
62
62
  const stylesheets = [];
63
63
  const fonts = [];
64
64
 
65
65
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
66
- //# sourceMappingURL=7-CKkRKfs8.js.map
66
+ //# sourceMappingURL=8-C6Rfqnpk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"7-CKkRKfs8.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/views/_view_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/7.js"],"sourcesContent":["import { t as getAdapter } from \"../../../../chunks/adapter.js\";\nimport { t as parseListParamsFromUrl } from \"../../../../chunks/list-params.js\";\nimport { error } from \"@sveltejs/kit\";\n//#region src/lib/view/columns.ts\nvar DISPLAY_COLUMN_LIMIT = 5;\nvar TEXT_LIKE_TYPE_PREFIXES = [\n\t\"text\",\n\t\"character\",\n\t\"varchar\",\n\t\"citext\",\n\t\"name\",\n\t\"uuid\"\n];\nfunction pickViewDisplayColumns(view) {\n\treturn view.columns.slice(0, DISPLAY_COLUMN_LIMIT);\n}\nfunction pickViewSearchFields(view) {\n\treturn view.columns.filter((c) => TEXT_LIKE_TYPE_PREFIXES.some((prefix) => c.dataType.toLowerCase().startsWith(prefix))).map((c) => c.name);\n}\n//#endregion\n//#region src/routes/views/[view]/+page.server.ts\nvar load = async ({ params, locals, url }) => {\n\tconst view = locals.schema.views.find((v) => v.qualifiedName === params.view);\n\tif (!view) throw error(404, `Unknown view: ${params.view}`);\n\tconst displayColumns = pickViewDisplayColumns(view);\n\tconst listParams = parseListParamsFromUrl({\n\t\turl,\n\t\tsearchFields: pickViewSearchFields(view)\n\t});\n\tconst result = await getAdapter(locals.schema).list(view.qualifiedName, listParams);\n\treturn {\n\t\tview: {\n\t\t\tqualifiedName: view.qualifiedName,\n\t\t\tlabel: view.label,\n\t\t\tcolumns: displayColumns.map((c) => ({\n\t\t\t\tname: c.name,\n\t\t\t\tlabel: c.label\n\t\t\t}))\n\t\t},\n\t\tlist: result,\n\t\tlistParams: {\n\t\t\tsearch: listParams.search,\n\t\t\tsort: listParams.sort,\n\t\t\tpage: listParams.page,\n\t\t\tpageSize: listParams.pageSize\n\t\t}\n\t};\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/views/_view_/_page.server.ts.js';\n\nexport const index = 7;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/views/_view_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/views/[view]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/7.CjEmXoAF.js\",\"_app/immutable/chunks/BgT5WiOF.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/DxikiVqj.js\",\"_app/immutable/chunks/D5sfkRNZ.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;AAGA;AACA,IAAI,oBAAoB,GAAG,CAAC;AAC5B,IAAI,uBAAuB,GAAG;AAC9B,CAAC,MAAM;AACP,CAAC,WAAW;AACZ,CAAC,SAAS;AACV,CAAC,QAAQ;AACT,CAAC,MAAM;AACP,CAAC;AACD,CAAC;AACD,SAAS,sBAAsB,CAAC,IAAI,EAAE;AACtC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC;AACnD;AACA,SAAS,oBAAoB,CAAC,IAAI,EAAE;AACpC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;AAC5I;AACA;AACA;AACA,IAAI,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK;AAC9C,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,KAAK,MAAM,CAAC,IAAI,CAAC;AAC9E,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAC,IAAI,CAAC;AACpD,CAAC,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAC3C,EAAE,GAAG;AACL,EAAE,YAAY,EAAE,oBAAoB,CAAC,IAAI;AACzC,EAAE,CAAC;AACH,CAAC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC;AACpF,CAAC,OAAO;AACR,EAAE,IAAI,EAAE;AACR,GAAG,aAAa,EAAE,IAAI,CAAC,aAAa;AACpC,GAAG,KAAK,EAAE,IAAI,CAAC,KAAK;AACpB,GAAG,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AACvC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI;AAChB,IAAI,KAAK,EAAE,CAAC,CAAC;AACb,IAAI,CAAC;AACL,GAAG;AACH,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,UAAU,EAAE;AACd,GAAG,MAAM,EAAE,UAAU,CAAC,MAAM;AAC5B,GAAG,IAAI,EAAE,UAAU,CAAC,IAAI;AACxB,GAAG,IAAI,EAAE,UAAU,CAAC,IAAI;AACxB,GAAG,QAAQ,EAAE,UAAU,CAAC;AACxB;AACA,EAAE;AACF,CAAC;;;;;;;AC7CW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA+C,CAAC,EAAE;AAE7G,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChM,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"8-C6Rfqnpk.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/views/_view_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/8.js"],"sourcesContent":["import { t as getAdapter } from \"../../../../chunks/adapter.js\";\nimport { t as parseListParamsFromUrl } from \"../../../../chunks/list-params.js\";\nimport { error } from \"@sveltejs/kit\";\n//#region src/lib/view/columns.ts\nvar DISPLAY_COLUMN_LIMIT = 5;\nvar TEXT_LIKE_TYPE_PREFIXES = [\n\t\"text\",\n\t\"character\",\n\t\"varchar\",\n\t\"citext\",\n\t\"name\",\n\t\"uuid\"\n];\nfunction pickViewDisplayColumns(view) {\n\treturn view.columns.slice(0, DISPLAY_COLUMN_LIMIT);\n}\nfunction pickViewSearchFields(view) {\n\treturn view.columns.filter((c) => TEXT_LIKE_TYPE_PREFIXES.some((prefix) => c.dataType.toLowerCase().startsWith(prefix))).map((c) => c.name);\n}\n//#endregion\n//#region src/routes/views/[view]/+page.server.ts\nvar load = async ({ params, locals, url }) => {\n\tconst view = locals.schema.views.find((v) => v.qualifiedName === params.view);\n\tif (!view) throw error(404, `Unknown view: ${params.view}`);\n\tconst displayColumns = pickViewDisplayColumns(view);\n\tconst listParams = parseListParamsFromUrl({\n\t\turl,\n\t\tsearchFields: pickViewSearchFields(view)\n\t});\n\tconst result = await getAdapter(locals.schema).list(view.qualifiedName, listParams);\n\treturn {\n\t\tview: {\n\t\t\tqualifiedName: view.qualifiedName,\n\t\t\tlabel: view.label,\n\t\t\tcolumns: displayColumns.map((c) => ({\n\t\t\t\tname: c.name,\n\t\t\t\tlabel: c.label\n\t\t\t}))\n\t\t},\n\t\tlist: result,\n\t\tlistParams: {\n\t\t\tsearch: listParams.search,\n\t\t\tsort: listParams.sort,\n\t\t\tpage: listParams.page,\n\t\t\tpageSize: listParams.pageSize\n\t\t}\n\t};\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/views/_view_/_page.server.ts.js';\n\nexport const index = 8;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/views/_view_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/views/[view]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/8.Cb70WGbk.js\",\"_app/immutable/chunks/ClT4djUO.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/BAfs2EwQ.js\",\"_app/immutable/chunks/D5sfkRNZ.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;AAGA;AACA,IAAI,oBAAoB,GAAG,CAAC;AAC5B,IAAI,uBAAuB,GAAG;AAC9B,CAAC,MAAM;AACP,CAAC,WAAW;AACZ,CAAC,SAAS;AACV,CAAC,QAAQ;AACT,CAAC,MAAM;AACP,CAAC;AACD,CAAC;AACD,SAAS,sBAAsB,CAAC,IAAI,EAAE;AACtC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC;AACnD;AACA,SAAS,oBAAoB,CAAC,IAAI,EAAE;AACpC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;AAC5I;AACA;AACA;AACA,IAAI,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK;AAC9C,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,KAAK,MAAM,CAAC,IAAI,CAAC;AAC9E,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAC,IAAI,CAAC;AACpD,CAAC,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAC3C,EAAE,GAAG;AACL,EAAE,YAAY,EAAE,oBAAoB,CAAC,IAAI;AACzC,EAAE,CAAC;AACH,CAAC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC;AACpF,CAAC,OAAO;AACR,EAAE,IAAI,EAAE;AACR,GAAG,aAAa,EAAE,IAAI,CAAC,aAAa;AACpC,GAAG,KAAK,EAAE,IAAI,CAAC,KAAK;AACpB,GAAG,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AACvC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI;AAChB,IAAI,KAAK,EAAE,CAAC,CAAC;AACb,IAAI,CAAC;AACL,GAAG;AACH,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,UAAU,EAAE;AACd,GAAG,MAAM,EAAE,UAAU,CAAC,MAAM;AAC5B,GAAG,IAAI,EAAE,UAAU,CAAC,IAAI;AACxB,GAAG,IAAI,EAAE,UAAU,CAAC,IAAI;AACxB,GAAG,QAAQ,EAAE,UAAU,CAAC;AACxB;AACA,EAAE;AACF,CAAC;;;;;;;AC7CW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA+C,CAAC,EAAE;AAE7G,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChM,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { q as escape_html, o as ensure_array_like, d as attr } from './dev-yFiAtg5l.js';
2
- import './internal-fxcuSPWe.js';
3
- import './client-C004jkBy.js';
2
+ import './internal-Z9Jwi6lX.js';
3
+ import './client-CF_AG7xO.js';
4
4
  import 'clsx';
5
5
  import 'node:module';
6
6
  import './index-DBqjc0Yf.js';
@@ -88,4 +88,4 @@ function _page($$renderer, $$props) {
88
88
  }
89
89
 
90
90
  export { _page as default };
91
- //# sourceMappingURL=_page.svelte-DaJwoT9F.js.map
91
+ //# sourceMappingURL=_page.svelte-6bUnnrWp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_page.svelte-DaJwoT9F.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tables/_table_/_id_/_page.svelte.js"],"sourcesContent":["import { H as escape_html, V as attr, i as ensure_array_like } from \"../../../../../chunks/dev.js\";\nimport \"../../../../../chunks/forms.js\";\n//#region src/lib/detail/format-cell.ts\nfunction formatCellValue(input) {\n\tconst { value, widget } = input;\n\tif (value === null || value === void 0) return \"\";\n\tswitch (widget) {\n\t\tcase \"boolean\": return value ? \"Yes\" : \"No\";\n\t\tcase \"date\": return formatDate(value);\n\t\tcase \"datetime\": return formatDateTime(value);\n\t\tcase \"json\":\n\t\t\tif (typeof value === \"object\") try {\n\t\t\t\treturn JSON.stringify(value, null, 2);\n\t\t\t} catch {\n\t\t\t\treturn String(value);\n\t\t\t}\n\t\t\treturn String(value);\n\t\tdefault:\n\t\t\tif (typeof value === \"object\") try {\n\t\t\t\treturn JSON.stringify(value);\n\t\t\t} catch {\n\t\t\t\treturn String(value);\n\t\t\t}\n\t\t\treturn String(value);\n\t}\n}\nfunction formatDate(value) {\n\tconst d = new Date(value);\n\tif (Number.isNaN(d.getTime())) return String(value);\n\treturn d.toISOString().slice(0, 10);\n}\nfunction formatDateTime(value) {\n\tconst d = new Date(value);\n\tif (Number.isNaN(d.getTime())) return String(value);\n\treturn d.toISOString().replace(\"T\", \" \").slice(0, 19);\n}\n//#endregion\n//#region src/routes/tables/[table]/[id]/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data } = $$props;\n\t\t$$renderer.push(`<h1 class=\"mb-1 text-2xl font-semibold\">${escape_html(data.table.label)}</h1> <p class=\"mb-6 text-sm text-muted-foreground\">${escape_html(data.table.qualifiedName)} / ${escape_html(data.id)}</p> <dl class=\"space-y-4\"><!--[-->`);\n\t\tconst each_array = ensure_array_like(data.table.columns);\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet col = each_array[$$index];\n\t\t\tconst rawValue = data.row[col.name];\n\t\t\tconst fkLabel = data.fkLabels[col.name];\n\t\t\t$$renderer.push(`<div><dt class=\"text-sm font-medium text-muted-foreground\">${escape_html(col.label)}</dt> <dd class=\"mt-1 text-sm\">`);\n\t\t\tif (col.widget === \"json\") {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<pre class=\"overflow-x-auto rounded-md bg-muted p-2 font-mono text-xs\">${escape_html(formatCellValue({\n\t\t\t\t\tvalue: rawValue,\n\t\t\t\t\twidget: col.widget\n\t\t\t\t}))}</pre>`);\n\t\t\t} else if (col.widget === \"image-url\" && rawValue) {\n\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t$$renderer.push(`<img${attr(\"src\", String(rawValue))}${attr(\"alt\", col.label)} class=\"max-h-48 rounded-md border border-border object-contain\" loading=\"lazy\"/>`);\n\t\t\t} else if (rawValue === null || rawValue === void 0) {\n\t\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t\t$$renderer.push(`<span class=\"text-muted-foreground\">—</span>`);\n\t\t\t} else if (fkLabel !== void 0 && fkLabel.label !== null) {\n\t\t\t\t$$renderer.push(\"<!--[3-->\");\n\t\t\t\t$$renderer.push(`<a${attr(\"href\", `/tables/${fkLabel.referencedQualifiedName}/${fkLabel.value}`)} class=\"text-primary underline\">${escape_html(fkLabel.label)}</a> <span class=\"ml-1 text-xs text-muted-foreground\">(${escape_html(formatCellValue({\n\t\t\t\t\tvalue: rawValue,\n\t\t\t\t\twidget: col.widget\n\t\t\t\t}))})</span>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`${escape_html(formatCellValue({\n\t\t\t\t\tvalue: rawValue,\n\t\t\t\t\twidget: col.widget\n\t\t\t\t}))}`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></dd></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></dl> <div class=\"mt-8 flex flex-wrap gap-3\"><a${attr(\"href\", `/tables/${data.table.qualifiedName}/${data.id}/edit`)} class=\"rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground\">Edit</a> `);\n\t\tif (data.table.canDelete) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<form method=\"POST\" action=\"?/delete\"><button type=\"submit\" class=\"rounded-md border border-destructive px-4 py-2 text-sm font-medium text-destructive\">Delete</button></form>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <a${attr(\"href\", `/tables/${data.table.qualifiedName}`)} class=\"rounded-md border border-border px-4 py-2 text-sm font-medium\">Back</a></div>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_page.svelte-6bUnnrWp.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tables/_table_/_id_/_page.svelte.js"],"sourcesContent":["import { H as escape_html, V as attr, i as ensure_array_like } from \"../../../../../chunks/dev.js\";\nimport \"../../../../../chunks/forms.js\";\n//#region src/lib/detail/format-cell.ts\nfunction formatCellValue(input) {\n\tconst { value, widget } = input;\n\tif (value === null || value === void 0) return \"\";\n\tswitch (widget) {\n\t\tcase \"boolean\": return value ? \"Yes\" : \"No\";\n\t\tcase \"date\": return formatDate(value);\n\t\tcase \"datetime\": return formatDateTime(value);\n\t\tcase \"json\":\n\t\t\tif (typeof value === \"object\") try {\n\t\t\t\treturn JSON.stringify(value, null, 2);\n\t\t\t} catch {\n\t\t\t\treturn String(value);\n\t\t\t}\n\t\t\treturn String(value);\n\t\tdefault:\n\t\t\tif (typeof value === \"object\") try {\n\t\t\t\treturn JSON.stringify(value);\n\t\t\t} catch {\n\t\t\t\treturn String(value);\n\t\t\t}\n\t\t\treturn String(value);\n\t}\n}\nfunction formatDate(value) {\n\tconst d = new Date(value);\n\tif (Number.isNaN(d.getTime())) return String(value);\n\treturn d.toISOString().slice(0, 10);\n}\nfunction formatDateTime(value) {\n\tconst d = new Date(value);\n\tif (Number.isNaN(d.getTime())) return String(value);\n\treturn d.toISOString().replace(\"T\", \" \").slice(0, 19);\n}\n//#endregion\n//#region src/routes/tables/[table]/[id]/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data } = $$props;\n\t\t$$renderer.push(`<h1 class=\"mb-1 text-2xl font-semibold\">${escape_html(data.table.label)}</h1> <p class=\"mb-6 text-sm text-muted-foreground\">${escape_html(data.table.qualifiedName)} / ${escape_html(data.id)}</p> <dl class=\"space-y-4\"><!--[-->`);\n\t\tconst each_array = ensure_array_like(data.table.columns);\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet col = each_array[$$index];\n\t\t\tconst rawValue = data.row[col.name];\n\t\t\tconst fkLabel = data.fkLabels[col.name];\n\t\t\t$$renderer.push(`<div><dt class=\"text-sm font-medium text-muted-foreground\">${escape_html(col.label)}</dt> <dd class=\"mt-1 text-sm\">`);\n\t\t\tif (col.widget === \"json\") {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<pre class=\"overflow-x-auto rounded-md bg-muted p-2 font-mono text-xs\">${escape_html(formatCellValue({\n\t\t\t\t\tvalue: rawValue,\n\t\t\t\t\twidget: col.widget\n\t\t\t\t}))}</pre>`);\n\t\t\t} else if (col.widget === \"image-url\" && rawValue) {\n\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t$$renderer.push(`<img${attr(\"src\", String(rawValue))}${attr(\"alt\", col.label)} class=\"max-h-48 rounded-md border border-border object-contain\" loading=\"lazy\"/>`);\n\t\t\t} else if (rawValue === null || rawValue === void 0) {\n\t\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t\t$$renderer.push(`<span class=\"text-muted-foreground\">—</span>`);\n\t\t\t} else if (fkLabel !== void 0 && fkLabel.label !== null) {\n\t\t\t\t$$renderer.push(\"<!--[3-->\");\n\t\t\t\t$$renderer.push(`<a${attr(\"href\", `/tables/${fkLabel.referencedQualifiedName}/${fkLabel.value}`)} class=\"text-primary underline\">${escape_html(fkLabel.label)}</a> <span class=\"ml-1 text-xs text-muted-foreground\">(${escape_html(formatCellValue({\n\t\t\t\t\tvalue: rawValue,\n\t\t\t\t\twidget: col.widget\n\t\t\t\t}))})</span>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`${escape_html(formatCellValue({\n\t\t\t\t\tvalue: rawValue,\n\t\t\t\t\twidget: col.widget\n\t\t\t\t}))}`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></dd></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></dl> <div class=\"mt-8 flex flex-wrap gap-3\"><a${attr(\"href\", `/tables/${data.table.qualifiedName}/${data.id}/edit`)} class=\"rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground\">Edit</a> `);\n\t\tif (data.table.canDelete) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<form method=\"POST\" action=\"?/delete\"><button type=\"submit\" class=\"rounded-md border border-destructive px-4 py-2 text-sm font-medium text-destructive\">Delete</button></form>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <a${attr(\"href\", `/tables/${data.table.qualifiedName}`)} class=\"rounded-md border border-border px-4 py-2 text-sm font-medium\">Back</a></div>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}