@kozou/svelte-ui 1.17.0 → 1.18.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 (111) hide show
  1. package/README.md +12 -2
  2. package/build/client/_app/immutable/chunks/{CdzXNSLM.js → B0pA8rML.js} +1 -1
  3. package/build/client/_app/immutable/chunks/B0pA8rML.js.br +0 -0
  4. package/build/client/_app/immutable/chunks/B0pA8rML.js.gz +0 -0
  5. package/build/client/_app/immutable/chunks/{BWWvKZIn.js → Cqqgb8__.js} +1 -1
  6. package/build/client/_app/immutable/chunks/Cqqgb8__.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/Cqqgb8__.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/DDWTOC_m.js +3 -0
  9. package/build/client/_app/immutable/chunks/DDWTOC_m.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/DDWTOC_m.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/{OhDywA02.js → Delf5Xp7.js} +1 -1
  12. package/build/client/_app/immutable/chunks/Delf5Xp7.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/Delf5Xp7.js.gz +0 -0
  14. package/build/client/_app/immutable/entry/{app.CXrj_tz3.js → app.DYRQZFX5.js} +2 -2
  15. package/build/client/_app/immutable/entry/app.DYRQZFX5.js.br +0 -0
  16. package/build/client/_app/immutable/entry/app.DYRQZFX5.js.gz +0 -0
  17. package/build/client/_app/immutable/entry/start.BXAOd9a3.js +1 -0
  18. package/build/client/_app/immutable/entry/start.BXAOd9a3.js.br +0 -0
  19. package/build/client/_app/immutable/entry/start.BXAOd9a3.js.gz +0 -0
  20. package/build/client/_app/immutable/nodes/{1.CRI7xzqE.js → 1.Be4RArNq.js} +1 -1
  21. package/build/client/_app/immutable/nodes/1.Be4RArNq.js.br +0 -0
  22. package/build/client/_app/immutable/nodes/1.Be4RArNq.js.gz +0 -0
  23. package/build/client/_app/immutable/nodes/{3.CyWCIPgV.js → 3.C7DuPbdb.js} +1 -1
  24. package/build/client/_app/immutable/nodes/3.C7DuPbdb.js.br +0 -0
  25. package/build/client/_app/immutable/nodes/3.C7DuPbdb.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/{4.D3j4ZWuz.js → 4.DP1YMUE5.js} +2 -5
  27. package/build/client/_app/immutable/nodes/4.DP1YMUE5.js.br +0 -0
  28. package/build/client/_app/immutable/nodes/4.DP1YMUE5.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/{6.BDB6GDLX.js → 6.B9Caf5iw.js} +1 -1
  30. package/build/client/_app/immutable/nodes/6.B9Caf5iw.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/6.B9Caf5iw.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/{7.x-apVi4n.js → 7.DtObbZNb.js} +1 -1
  33. package/build/client/_app/immutable/nodes/7.DtObbZNb.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/7.DtObbZNb.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{8.DXu_2Qdx.js → 8.Bff0fLHi.js} +1 -1
  36. package/build/client/_app/immutable/nodes/8.Bff0fLHi.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/8.Bff0fLHi.js.gz +0 -0
  38. package/build/client/_app/version.json +1 -1
  39. package/build/client/_app/version.json.br +0 -0
  40. package/build/client/_app/version.json.gz +0 -0
  41. package/build/server/chunks/{0-DTnqeCaT.js → 0-QvKVS1pE.js} +2 -2
  42. package/build/server/chunks/{0-DTnqeCaT.js.map → 0-QvKVS1pE.js.map} +1 -1
  43. package/build/server/chunks/{1-CApJvP3C.js → 1-DWNtmrIs.js} +3 -3
  44. package/build/server/chunks/{1-CApJvP3C.js.map → 1-DWNtmrIs.js.map} +1 -1
  45. package/build/server/chunks/{3-BFEYL0s0.js → 3-Doo364Xy.js} +6 -6
  46. package/build/server/chunks/{3-BFEYL0s0.js.map → 3-Doo364Xy.js.map} +1 -1
  47. package/build/server/chunks/{4-BNWbTUVb.js → 4-OlSudnzY.js} +6 -5
  48. package/build/server/chunks/4-OlSudnzY.js.map +1 -0
  49. package/build/server/chunks/{6-BXAzsPrE.js → 6-DJD7jAKF.js} +3 -3
  50. package/build/server/chunks/{6-BXAzsPrE.js.map → 6-DJD7jAKF.js.map} +1 -1
  51. package/build/server/chunks/{7-D4VY7Eta.js → 7-DXBTx1FG.js} +6 -6
  52. package/build/server/chunks/{7-D4VY7Eta.js.map → 7-DXBTx1FG.js.map} +1 -1
  53. package/build/server/chunks/{8-CAkMPSY4.js → 8-DQwVQ4j5.js} +6 -6
  54. package/build/server/chunks/{8-CAkMPSY4.js.map → 8-DQwVQ4j5.js.map} +1 -1
  55. package/build/server/chunks/{_page.svelte-D9WnRc7S.js → _page.svelte-BEKx0reR.js} +4 -4
  56. package/build/server/chunks/{_page.svelte-D9WnRc7S.js.map → _page.svelte-BEKx0reR.js.map} +1 -1
  57. package/build/server/chunks/{_page.svelte-Cd_z7eFO.js → _page.svelte-Bf0wrvsv.js} +2 -5
  58. package/build/server/chunks/{_page.svelte-Cd_z7eFO.js.map → _page.svelte-Bf0wrvsv.js.map} +1 -1
  59. package/build/server/chunks/{_page.svelte-Bqk7F3CL.js → _page.svelte-Cehgu7wf.js} +5 -5
  60. package/build/server/chunks/{_page.svelte-Bqk7F3CL.js.map → _page.svelte-Cehgu7wf.js.map} +1 -1
  61. package/build/server/chunks/{_page.svelte-CBJR_AG2.js → _page.svelte-DIUAt_21.js} +5 -5
  62. package/build/server/chunks/{_page.svelte-CBJR_AG2.js.map → _page.svelte-DIUAt_21.js.map} +1 -1
  63. package/build/server/chunks/{_page.svelte-5hyURw8O.js → _page.svelte-q2xGuasg.js} +3 -3
  64. package/build/server/chunks/{_page.svelte-5hyURw8O.js.map → _page.svelte-q2xGuasg.js.map} +1 -1
  65. package/build/server/chunks/{client-BBFG1zLB.js → client-mq-AlhwK.js} +2 -2
  66. package/build/server/chunks/{client-BBFG1zLB.js.map → client-mq-AlhwK.js.map} +1 -1
  67. package/build/server/chunks/{composite-form-KsMxMbgc.js → composite-form-D_-mSt69.js} +3 -3
  68. package/build/server/chunks/{composite-form-KsMxMbgc.js.map → composite-form-D_-mSt69.js.map} +1 -1
  69. package/build/server/chunks/{error.svelte-C_s6PHRr.js → error.svelte-l8Fs30tv.js} +3 -3
  70. package/build/server/chunks/{error.svelte-C_s6PHRr.js.map → error.svelte-l8Fs30tv.js.map} +1 -1
  71. package/build/server/chunks/{hooks.server-ud8twg77.js → hooks.server-BZEwL0UQ.js} +2 -2
  72. package/build/server/chunks/{hooks.server-ud8twg77.js.map → hooks.server-BZEwL0UQ.js.map} +1 -1
  73. package/build/server/chunks/{internal2-BaDAe3C9.js → internal2-DYRHD-ou.js} +3 -3
  74. package/build/server/chunks/{internal2-BaDAe3C9.js.map → internal2-DYRHD-ou.js.map} +1 -1
  75. package/build/server/chunks/{mcp-connection-C9Efo8-2.js → mcp-connection-JeveuASs.js} +26 -8
  76. package/build/server/chunks/mcp-connection-JeveuASs.js.map +1 -0
  77. package/build/server/chunks/{relation-select-composite-field-D0FbNYK6.js → relation-select-composite-field-xpwWaWhW.js} +2 -2
  78. package/build/server/chunks/{relation-select-composite-field-D0FbNYK6.js.map → relation-select-composite-field-xpwWaWhW.js.map} +1 -1
  79. package/build/server/index.js +1 -1
  80. package/build/server/index.js.map +1 -1
  81. package/build/server/manifest.js +8 -8
  82. package/build/server/manifest.js.map +1 -1
  83. package/package.json +5 -5
  84. package/build/client/_app/immutable/chunks/BWWvKZIn.js.br +0 -0
  85. package/build/client/_app/immutable/chunks/BWWvKZIn.js.gz +0 -0
  86. package/build/client/_app/immutable/chunks/Bjn-300u.js +0 -3
  87. package/build/client/_app/immutable/chunks/Bjn-300u.js.br +0 -0
  88. package/build/client/_app/immutable/chunks/Bjn-300u.js.gz +0 -0
  89. package/build/client/_app/immutable/chunks/CdzXNSLM.js.br +0 -0
  90. package/build/client/_app/immutable/chunks/CdzXNSLM.js.gz +0 -0
  91. package/build/client/_app/immutable/chunks/OhDywA02.js.br +0 -0
  92. package/build/client/_app/immutable/chunks/OhDywA02.js.gz +0 -0
  93. package/build/client/_app/immutable/entry/app.CXrj_tz3.js.br +0 -0
  94. package/build/client/_app/immutable/entry/app.CXrj_tz3.js.gz +0 -0
  95. package/build/client/_app/immutable/entry/start.Itp5t-Yk.js +0 -1
  96. package/build/client/_app/immutable/entry/start.Itp5t-Yk.js.br +0 -0
  97. package/build/client/_app/immutable/entry/start.Itp5t-Yk.js.gz +0 -0
  98. package/build/client/_app/immutable/nodes/1.CRI7xzqE.js.br +0 -0
  99. package/build/client/_app/immutable/nodes/1.CRI7xzqE.js.gz +0 -0
  100. package/build/client/_app/immutable/nodes/3.CyWCIPgV.js.br +0 -0
  101. package/build/client/_app/immutable/nodes/3.CyWCIPgV.js.gz +0 -0
  102. package/build/client/_app/immutable/nodes/4.D3j4ZWuz.js.br +0 -0
  103. package/build/client/_app/immutable/nodes/4.D3j4ZWuz.js.gz +0 -0
  104. package/build/client/_app/immutable/nodes/6.BDB6GDLX.js.br +0 -0
  105. package/build/client/_app/immutable/nodes/6.BDB6GDLX.js.gz +0 -0
  106. package/build/client/_app/immutable/nodes/7.x-apVi4n.js.br +0 -0
  107. package/build/client/_app/immutable/nodes/7.x-apVi4n.js.gz +0 -0
  108. package/build/client/_app/immutable/nodes/8.DXu_2Qdx.js.br +0 -0
  109. package/build/client/_app/immutable/nodes/8.DXu_2Qdx.js.gz +0 -0
  110. package/build/server/chunks/4-BNWbTUVb.js.map +0 -1
  111. package/build/server/chunks/mcp-connection-C9Efo8-2.js.map +0 -1
@@ -27,9 +27,11 @@ function resolveMcpHttpPort(raw) {
27
27
  * default dev stack. It also keeps the pre-existing behaviour of offering the
28
28
  * page rather than hiding an endpoint that is in fact serving.
29
29
  *
30
- * An unrecognized value reads as `unknown`, which still offers the page — with
31
- * the request-derived URL, the same guess `local` gets — but says nothing about
32
- * authentication. Guessing `local` would assert "no authentication" about an
30
+ * An unrecognized value reads as `unknown`, which still offers the page — the
31
+ * address is resolved the same way `local` resolves it, a declared
32
+ * `advertisedUrl` if the CLI reported one and the request host otherwise — but
33
+ * says nothing about authentication. Guessing `local` would assert "no
34
+ * authentication" about an
33
35
  * endpoint that may well have some, which is the defect this channel exists to
34
36
  * remove; resolving to `off` would hide a page for an endpoint that is in fact
35
37
  * serving. Two ways to get here: a value written by hand (the README documents
@@ -54,10 +56,25 @@ function describeMcpAuth(posture) {
54
56
  case "unknown": return "Kozou reported an MCP posture this Admin UI does not recognize, so it cannot tell you how this endpoint authenticates — check KOZOU_UI_MCP_POSTURE for a typo, and server.mcp.http.auth in your config, before you expose the port.";
55
57
  }
56
58
  }
59
+ /**
60
+ * Where the URL came from, and what to do about it. Lives here for the same
61
+ * reason as {@link describeMcpAuth}: the template used to carry one fixed
62
+ * sentence saying the URL was built from the configured host and the MCP port,
63
+ * and telling the operator to adjust the host. That became false the moment a
64
+ * declared address replaced the guess — and worse than false, since it sends
65
+ * the operator away from the address they declared, in the one deployment the
66
+ * declaration exists for.
67
+ */
68
+ function describeMcpAddress(posture, source) {
69
+ if (source !== null) return `The URL above is the address you declared (server.mcp.http.${source}), handed over unchanged — register it exactly as it appears. The host you reached this page on does not affect it.`;
70
+ return `The URL above is built from the host you reached this page on and the port Kozou binds the MCP endpoint to. If clients reach that endpoint at a different address — through a proxy or a tunnel, or because the published port was remapped — set ${posture === "oauth" ? "server.mcp.http.auth.resource" : "server.mcp.http.advertisedUrl"} to the address they should use, and this page will hand out that instead.`;
71
+ }
57
72
  function buildMcpConnectionInfo(input) {
58
- const { requestUrl, mcpPort, posture, resourceUrl } = input;
59
- const canonical = posture === "oauth" ? resourceUrl?.trim() : void 0;
60
- const httpUrl = canonical !== void 0 && canonical !== "" ? canonical : `${requestUrl.protocol}//${requestUrl.hostname}:${mcpPort}${MCP_HTTP_PATH}`;
73
+ const { requestUrl, mcpPort, posture, resourceUrl, advertisedUrl } = input;
74
+ const canonical = (posture === "oauth" ? resourceUrl : advertisedUrl)?.trim();
75
+ const hasDeclared = canonical !== void 0 && canonical !== "";
76
+ const httpUrl = hasDeclared ? canonical : `${requestUrl.protocol}//${requestUrl.hostname}:${mcpPort}${MCP_HTTP_PATH}`;
77
+ const addressSource = !hasDeclared ? null : posture === "oauth" ? "auth.resource" : "advertisedUrl";
61
78
  return {
62
79
  httpUrl,
63
80
  claudeCodeCommand: `claude mcp add --transport http kozou ${httpUrl}`,
@@ -65,9 +82,10 @@ function buildMcpConnectionInfo(input) {
65
82
  type: "http",
66
83
  url: httpUrl
67
84
  } } }, null, 2),
68
- authNote: describeMcpAuth(posture)
85
+ authNote: describeMcpAuth(posture),
86
+ addressNote: describeMcpAddress(posture, addressSource)
69
87
  };
70
88
  }
71
89
 
72
90
  export { resolveMcpPosture as a, buildMcpConnectionInfo as b, resolveMcpHttpPort as r };
73
- //# sourceMappingURL=mcp-connection-C9Efo8-2.js.map
91
+ //# sourceMappingURL=mcp-connection-JeveuASs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-connection-JeveuASs.js","sources":["../../../.svelte-kit/adapter-node/chunks/mcp-connection.js"],"sourcesContent":["//#region src/lib/connect/mcp-connection.ts\n/** Default MCP HTTP port (matches `kozou dev` / `kozou mcp --http`). */\nvar DEFAULT_MCP_HTTP_PORT = 3334;\n/** Path the MCP Streamable HTTP transport is served at. */\nvar MCP_HTTP_PATH = \"/mcp\";\n/**\n* Coerce a `KOZOU_MCP_HTTP_PORT` env string to a valid port, falling back to\n* the documented default for an absent / malformed / out-of-range value so the\n* page always renders a sane endpoint.\n*/\nfunction resolveMcpHttpPort(raw) {\n\tif (raw === void 0 || raw.trim() === \"\") return DEFAULT_MCP_HTTP_PORT;\n\tconst port = Number(raw);\n\treturn Number.isInteger(port) && port >= 1 && port <= 65535 ? port : DEFAULT_MCP_HTTP_PORT;\n}\n/**\n* Read the endpoint's posture from `KOZOU_UI_MCP_POSTURE`.\n*\n* `kozou dev` sets this from its own config on every run, so it is a CLI-to-UI\n* channel, not an operator-facing knob — the operator sets\n* `server.mcp.http.enabled` / `server.mcp.http.auth` (or\n* `KOZOU_MCP_HTTP_ENABLED`, which `loadConfig` honours) and this follows.\n*\n* Absent reads as `local`: every other way of running the Admin UI (standalone\n* `node build/index.js`, the E2E suite, an older `kozou dev`) leaves it unset,\n* and that is the posture such a run is in — a UI started by hand next to the\n* default dev stack. It also keeps the pre-existing behaviour of offering the\n* page rather than hiding an endpoint that is in fact serving.\n*\n* An unrecognized value reads as `unknown`, which still offers the page — the\n* address is resolved the same way `local` resolves it, a declared\n* `advertisedUrl` if the CLI reported one and the request host otherwise — but\n* says nothing about authentication. Guessing `local` would assert \"no\n* authentication\" about an\n* endpoint that may well have some, which is the defect this channel exists to\n* remove; resolving to `off` would hide a page for an endpoint that is in fact\n* serving. Two ways to get here: a value written by hand (the README documents\n* setting `off` for a standalone UI, and `of` / `none` / `false` are the typos\n* that follow), or a CLI newer than this build.\n*/\nfunction resolveMcpPosture(raw) {\n\tconst value = raw?.trim().toLowerCase();\n\tif (value === void 0 || value === \"\") return \"local\";\n\tif (value === \"off\" || value === \"local\" || value === \"oauth\") return value;\n\treturn \"unknown\";\n}\n/**\n* What to tell the operator about authentication, per posture. Lives here\n* rather than in the template so it is unit-testable (this package has no\n* component-test harness) and so the page stays declarative.\n*/\nfunction describeMcpAuth(posture) {\n\tswitch (posture) {\n\t\tcase \"oauth\": return \"This endpoint is an OAuth 2.1 protected resource (server.mcp.http.auth): your client discovers the authorization server from the endpoint itself and sends you to your identity provider to sign in the first time it connects. No client secret goes in the config above — the URL is the canonical one you configured, so it is already right for a proxy or another machine.\";\n\t\tcase \"local\": return \"The MCP HTTP server has no authentication, so anything that can reach the port can read your schema.\";\n\t\tcase \"unknown\": return \"Kozou reported an MCP posture this Admin UI does not recognize, so it cannot tell you how this endpoint authenticates — check KOZOU_UI_MCP_POSTURE for a typo, and server.mcp.http.auth in your config, before you expose the port.\";\n\t}\n}\n/**\n* Where the URL came from, and what to do about it. Lives here for the same\n* reason as {@link describeMcpAuth}: the template used to carry one fixed\n* sentence saying the URL was built from the configured host and the MCP port,\n* and telling the operator to adjust the host. That became false the moment a\n* declared address replaced the guess — and worse than false, since it sends\n* the operator away from the address they declared, in the one deployment the\n* declaration exists for.\n*/\nfunction describeMcpAddress(posture, source) {\n\tif (source !== null) return `The URL above is the address you declared (server.mcp.http.${source}), handed over unchanged — register it exactly as it appears. The host you reached this page on does not affect it.`;\n\treturn `The URL above is built from the host you reached this page on and the port Kozou binds the MCP endpoint to. If clients reach that endpoint at a different address — through a proxy or a tunnel, or because the published port was remapped — set ${posture === \"oauth\" ? \"server.mcp.http.auth.resource\" : \"server.mcp.http.advertisedUrl\"} to the address they should use, and this page will hand out that instead.`;\n}\nfunction buildMcpConnectionInfo(input) {\n\tconst { requestUrl, mcpPort, posture, resourceUrl, advertisedUrl } = input;\n\tconst canonical = (posture === \"oauth\" ? resourceUrl : advertisedUrl)?.trim();\n\tconst hasDeclared = canonical !== void 0 && canonical !== \"\";\n\tconst httpUrl = hasDeclared ? canonical : `${requestUrl.protocol}//${requestUrl.hostname}:${mcpPort}${MCP_HTTP_PATH}`;\n\tconst addressSource = !hasDeclared ? null : posture === \"oauth\" ? \"auth.resource\" : \"advertisedUrl\";\n\treturn {\n\t\thttpUrl,\n\t\tclaudeCodeCommand: `claude mcp add --transport http kozou ${httpUrl}`,\n\t\tjsonConfig: JSON.stringify({ mcpServers: { kozou: {\n\t\t\ttype: \"http\",\n\t\t\turl: httpUrl\n\t\t} } }, null, 2),\n\t\tauthNote: describeMcpAuth(posture),\n\t\taddressNote: describeMcpAddress(posture, addressSource)\n\t};\n}\n//#endregion\nexport { resolveMcpHttpPort as n, resolveMcpPosture as r, buildMcpConnectionInfo as t };\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { d as attr, q as escape_html, o as ensure_array_like, m as derived } from './server-1sE9LKAu.js';
2
2
  import { e as encodeResourceId } from './resource-id-CFSW_3aR.js';
3
3
  import { c as createRelationSearch, f as fetchRelationOptions } from './widget-registry-D4uP1dwJ.js';
4
- import { i as isPickableOption, c as compositeParamName, C as COMPOSITE_CLEAR_VALUE } from './composite-form-KsMxMbgc.js';
4
+ import { i as isPickableOption, c as compositeParamName, C as COMPOSITE_CLEAR_VALUE } from './composite-form-D_-mSt69.js';
5
5
 
6
6
  //#region src/lib/form/widgets/relation-select-composite-field.svelte
7
7
  function Relation_select_composite_field($$renderer, $$props) {
@@ -98,4 +98,4 @@ function Relation_select_composite_field($$renderer, $$props) {
98
98
  }
99
99
 
100
100
  export { Relation_select_composite_field as R };
101
- //# sourceMappingURL=relation-select-composite-field-D0FbNYK6.js.map
101
+ //# sourceMappingURL=relation-select-composite-field-xpwWaWhW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"relation-select-composite-field-D0FbNYK6.js","sources":["../../../.svelte-kit/adapter-node/chunks/relation-select-composite-field.js"],"sourcesContent":["import { b as attr, n as derived, r as ensure_array_like, x as escape_html } from \"./server.js\";\nimport { t as encodeResourceId } from \"./resource-id.js\";\nimport { i as fetchRelationOptions, r as createRelationSearch } from \"./widget-registry.js\";\nimport { a as isPickableOption, r as compositeParamName, t as COMPOSITE_CLEAR_VALUE } from \"./relation-field-config.js\";\n//#region src/lib/form/widgets/relation-select-composite-field.svelte\nfunction Relation_select_composite_field($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Base for the select's DOM id (the relation's first column). */\n\t\t/** \"schema.table\" the picker searches. */\n\t\t/** Target column shown as each option's label. */\n\t\t/** Target columns the substring search filters on. */\n\t\t/** Server-rendered first page (plus the current value on edit) so the\n\t\t* picker has rows before the browser issues any request. */\n\t\t/** Current component values, in the target's primary-key declaration\n\t\t* order (the order option-id components use). */\n\t\t/** Receives the picked option's components (same order), or `null` when\n\t\t* the operator clears an optional relation. */\n\t\tlet { name, label, resource, labelField, searchFields, initialOptions, values, onpick, required = false, readonly = false, limit = 20 } = $$props;\n\t\tlet options = initialOptions.filter(isPickableOption);\n\t\tlet query = \"\";\n\t\tconst known = /* @__PURE__ */ new Map();\n\t\tfunction remember(option) {\n\t\t\tconst components = Array.isArray(option.id) ? option.id : [option.id];\n\t\t\tknown.set(encodeResourceId(option.id), {\n\t\t\t\tlabel: option.label,\n\t\t\t\tcomponents\n\t\t\t});\n\t\t}\n\t\tfor (const option of initialOptions.filter(isPickableOption)) remember(option);\n\t\tconst selectedKey = derived(() => {\n\t\t\tif (values.length > 0 && values.every((value) => value === \"\")) return COMPOSITE_CLEAR_VALUE;\n\t\t\tconst components = [];\n\t\t\tfor (const value of values) {\n\t\t\t\tif (value === null || value === void 0) return \"\";\n\t\t\t\tif (typeof value !== \"string\" && typeof value !== \"number\") return \"\";\n\t\t\t\tcomponents.push(value);\n\t\t\t}\n\t\t\treturn encodeResourceId(components);\n\t\t});\n\t\tcreateRelationSearch({\n\t\t\tadapter: { searchRelation: (target, params) => fetchRelationOptions((url) => fetch(url), target, params) },\n\t\t\tresource,\n\t\t\tlabelField,\n\t\t\tsearchFields,\n\t\t\tlimit\n\t\t});\n\t\tfunction handleChange(event) {\n\t\t\tconst key = event.target.value;\n\t\t\tif (key === \"__clear__\") {\n\t\t\t\tonpick(null);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (key === \"\") return;\n\t\t\tconst picked = known.get(key);\n\t\t\tif (picked !== void 0) onpick(picked.components);\n\t\t}\n\t\tconst selectId = derived(() => `relation-${name}`);\n\t\t$$renderer.push(`<div class=\"block\"><label${attr(\"for\", selectId())} class=\"mb-1 block text-sm font-medium\">${escape_html(label)}`);\n\t\tif (required) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"text-destructive\" aria-hidden=\"true\">*</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></label> <input type=\"text\" placeholder=\"Search…\"${attr(\"aria-label\", `Search ${label}`)}${attr(\"value\", query)}${attr(\"disabled\", readonly, true)} class=\"mb-2 w-full rounded-md border border-input bg-background px-3 py-2 text-sm\"/> `);\n\t\t$$renderer.select({\n\t\t\tid: selectId(),\n\t\t\tname: compositeParamName(name),\n\t\t\trequired,\n\t\t\tdisabled: readonly,\n\t\t\tvalue: selectedKey(),\n\t\t\tonchange: handleChange,\n\t\t\tclass: \"w-full rounded-md border border-input bg-background px-3 py-2 text-sm\"\n\t\t}, ($$renderer) => {\n\t\t\t$$renderer.option({\n\t\t\t\tvalue: \"\",\n\t\t\t\tdisabled: true\n\t\t\t}, ($$renderer) => {\n\t\t\t\t$$renderer.push(`Select…`);\n\t\t\t});\n\t\t\tif (!required) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.option({ value: COMPOSITE_CLEAR_VALUE }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`--`);\n\t\t\t\t});\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(options);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet option = each_array[$$index];\n\t\t\t\t$$renderer.option({ value: encodeResourceId(option.id) }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`${escape_html(option.label)}`);\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t});\n\t\t$$renderer.push(`</div>`);\n\t});\n}\n//#endregion\nexport { Relation_select_composite_field as t };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relation-select-composite-field-xpwWaWhW.js","sources":["../../../.svelte-kit/adapter-node/chunks/relation-select-composite-field.js"],"sourcesContent":["import { b as attr, n as derived, r as ensure_array_like, x as escape_html } from \"./server.js\";\nimport { t as encodeResourceId } from \"./resource-id.js\";\nimport { i as fetchRelationOptions, r as createRelationSearch } from \"./widget-registry.js\";\nimport { a as isPickableOption, r as compositeParamName, t as COMPOSITE_CLEAR_VALUE } from \"./relation-field-config.js\";\n//#region src/lib/form/widgets/relation-select-composite-field.svelte\nfunction Relation_select_composite_field($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Base for the select's DOM id (the relation's first column). */\n\t\t/** \"schema.table\" the picker searches. */\n\t\t/** Target column shown as each option's label. */\n\t\t/** Target columns the substring search filters on. */\n\t\t/** Server-rendered first page (plus the current value on edit) so the\n\t\t* picker has rows before the browser issues any request. */\n\t\t/** Current component values, in the target's primary-key declaration\n\t\t* order (the order option-id components use). */\n\t\t/** Receives the picked option's components (same order), or `null` when\n\t\t* the operator clears an optional relation. */\n\t\tlet { name, label, resource, labelField, searchFields, initialOptions, values, onpick, required = false, readonly = false, limit = 20 } = $$props;\n\t\tlet options = initialOptions.filter(isPickableOption);\n\t\tlet query = \"\";\n\t\tconst known = /* @__PURE__ */ new Map();\n\t\tfunction remember(option) {\n\t\t\tconst components = Array.isArray(option.id) ? option.id : [option.id];\n\t\t\tknown.set(encodeResourceId(option.id), {\n\t\t\t\tlabel: option.label,\n\t\t\t\tcomponents\n\t\t\t});\n\t\t}\n\t\tfor (const option of initialOptions.filter(isPickableOption)) remember(option);\n\t\tconst selectedKey = derived(() => {\n\t\t\tif (values.length > 0 && values.every((value) => value === \"\")) return COMPOSITE_CLEAR_VALUE;\n\t\t\tconst components = [];\n\t\t\tfor (const value of values) {\n\t\t\t\tif (value === null || value === void 0) return \"\";\n\t\t\t\tif (typeof value !== \"string\" && typeof value !== \"number\") return \"\";\n\t\t\t\tcomponents.push(value);\n\t\t\t}\n\t\t\treturn encodeResourceId(components);\n\t\t});\n\t\tcreateRelationSearch({\n\t\t\tadapter: { searchRelation: (target, params) => fetchRelationOptions((url) => fetch(url), target, params) },\n\t\t\tresource,\n\t\t\tlabelField,\n\t\t\tsearchFields,\n\t\t\tlimit\n\t\t});\n\t\tfunction handleChange(event) {\n\t\t\tconst key = event.target.value;\n\t\t\tif (key === \"__clear__\") {\n\t\t\t\tonpick(null);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (key === \"\") return;\n\t\t\tconst picked = known.get(key);\n\t\t\tif (picked !== void 0) onpick(picked.components);\n\t\t}\n\t\tconst selectId = derived(() => `relation-${name}`);\n\t\t$$renderer.push(`<div class=\"block\"><label${attr(\"for\", selectId())} class=\"mb-1 block text-sm font-medium\">${escape_html(label)}`);\n\t\tif (required) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"text-destructive\" aria-hidden=\"true\">*</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></label> <input type=\"text\" placeholder=\"Search…\"${attr(\"aria-label\", `Search ${label}`)}${attr(\"value\", query)}${attr(\"disabled\", readonly, true)} class=\"mb-2 w-full rounded-md border border-input bg-background px-3 py-2 text-sm\"/> `);\n\t\t$$renderer.select({\n\t\t\tid: selectId(),\n\t\t\tname: compositeParamName(name),\n\t\t\trequired,\n\t\t\tdisabled: readonly,\n\t\t\tvalue: selectedKey(),\n\t\t\tonchange: handleChange,\n\t\t\tclass: \"w-full rounded-md border border-input bg-background px-3 py-2 text-sm\"\n\t\t}, ($$renderer) => {\n\t\t\t$$renderer.option({\n\t\t\t\tvalue: \"\",\n\t\t\t\tdisabled: true\n\t\t\t}, ($$renderer) => {\n\t\t\t\t$$renderer.push(`Select…`);\n\t\t\t});\n\t\t\tif (!required) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.option({ value: COMPOSITE_CLEAR_VALUE }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`--`);\n\t\t\t\t});\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(options);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet option = each_array[$$index];\n\t\t\t\t$$renderer.option({ value: encodeResourceId(option.id) }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`${escape_html(option.label)}`);\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t});\n\t\t$$renderer.push(`</div>`);\n\t});\n}\n//#endregion\nexport { Relation_select_composite_field as t };\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { f as coalesce_to_error, o as get_status, m as get_message, S as with_request_store, B as parse, u as noop, _ as __commonJSMin, A as options, l as get_hooks, q as has_resolution_suffix, p as has_data_suffix, L as strip_resolution_suffix, K as strip_data_suffix, T as TRAILING_SLASH_PARAM, I as INVALIDATED_PARAM, i as decode_pathname, c as add_data_suffix, d as add_resolution_suffix, k as find_route, x as normalize_path, j as disable_search, P as validate_layout_server_exports, O as validate_layout_exports, R as validate_page_server_exports, Q as validate_page_exports, v as noop_span, E as resolve, D as read_implementation, n as get_relative_path, F as set_read_implementation, r as hash, M as text_encoder, g as compact, z as once, w as normalize_error, t as make_trackable, h as create_remote_key, C as parse_remote_arg, H as stringify, J as stringify$1, G as split_remote_key, e as base64_encode } from './chunks/internal2-BaDAe3C9.js';
1
+ import { f as coalesce_to_error, o as get_status, m as get_message, S as with_request_store, B as parse, u as noop, _ as __commonJSMin, A as options, l as get_hooks, q as has_resolution_suffix, p as has_data_suffix, L as strip_resolution_suffix, K as strip_data_suffix, T as TRAILING_SLASH_PARAM, I as INVALIDATED_PARAM, i as decode_pathname, c as add_data_suffix, d as add_resolution_suffix, k as find_route, x as normalize_path, j as disable_search, P as validate_layout_server_exports, O as validate_layout_exports, R as validate_page_server_exports, Q as validate_page_exports, v as noop_span, E as resolve, D as read_implementation, n as get_relative_path, F as set_read_implementation, r as hash, M as text_encoder, g as compact, z as once, w as normalize_error, t as make_trackable, h as create_remote_key, C as parse_remote_arg, H as stringify, J as stringify$1, G as split_remote_key, e as base64_encode } from './chunks/internal2-DYRHD-ou.js';
2
2
  import { aa as uneval, X as readable, ad as writable } from './chunks/server-1sE9LKAu.js';
3
3
  import { j as json, t as text, i as isRedirect, e as error } from './chunks/index-CVekYGHP.js';
4
4
  import { H as HttpError, S as SvelteKitError, R as Redirect, A as ActionFailure } from './chunks/index-DBqjc0Yf.js';