@recombine-ai/platform 0.5.0 → 0.7.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 (153) hide show
  1. package/build/bosun-app/frontend/client/_app/immutable/chunks/{BfQeNRSV.js → BvmUFy6Q.js} +1 -1
  2. package/build/bosun-app/frontend/client/_app/immutable/chunks/BvmUFy6Q.js.br +1 -0
  3. package/build/bosun-app/frontend/client/_app/immutable/chunks/BvmUFy6Q.js.gz +0 -0
  4. package/build/bosun-app/frontend/client/_app/immutable/chunks/CFI4_a7H.js +1 -0
  5. package/build/bosun-app/frontend/client/_app/immutable/chunks/CFI4_a7H.js.br +0 -0
  6. package/build/bosun-app/frontend/client/_app/immutable/chunks/CFI4_a7H.js.gz +0 -0
  7. package/build/bosun-app/frontend/client/_app/immutable/chunks/{DWlUaO0d.js → CgIzx0W9.js} +1 -1
  8. package/build/bosun-app/frontend/client/_app/immutable/chunks/CgIzx0W9.js.br +0 -0
  9. package/build/bosun-app/frontend/client/_app/immutable/chunks/CgIzx0W9.js.gz +0 -0
  10. package/build/bosun-app/frontend/client/_app/immutable/chunks/DM0Cbd_K.js +1 -0
  11. package/build/bosun-app/frontend/client/_app/immutable/chunks/DM0Cbd_K.js.br +0 -0
  12. package/build/bosun-app/frontend/client/_app/immutable/chunks/DM0Cbd_K.js.gz +0 -0
  13. package/build/bosun-app/frontend/client/_app/immutable/chunks/rf1P1Rt6.js +1 -0
  14. package/build/bosun-app/frontend/client/_app/immutable/chunks/rf1P1Rt6.js.br +0 -0
  15. package/build/bosun-app/frontend/client/_app/immutable/chunks/rf1P1Rt6.js.gz +0 -0
  16. package/build/bosun-app/frontend/client/_app/immutable/entry/{app.D21MRecj.js → app.DNTQFz1r.js} +2 -2
  17. package/build/bosun-app/frontend/client/_app/immutable/entry/app.DNTQFz1r.js.br +0 -0
  18. package/build/bosun-app/frontend/client/_app/immutable/entry/app.DNTQFz1r.js.gz +0 -0
  19. package/build/bosun-app/frontend/client/_app/immutable/entry/start.8y8_UwNJ.js +1 -0
  20. package/build/bosun-app/frontend/client/_app/immutable/entry/start.8y8_UwNJ.js.br +0 -0
  21. package/build/bosun-app/frontend/client/_app/immutable/entry/start.8y8_UwNJ.js.gz +0 -0
  22. package/build/bosun-app/frontend/client/_app/immutable/nodes/{0.DTw_tt3s.js → 0.BSKme-Zs.js} +1 -1
  23. package/build/bosun-app/frontend/client/_app/immutable/nodes/0.BSKme-Zs.js.br +0 -0
  24. package/build/bosun-app/frontend/client/_app/immutable/nodes/0.BSKme-Zs.js.gz +0 -0
  25. package/build/bosun-app/frontend/client/_app/immutable/nodes/{1.llCYq9Hg.js → 1.KScyXErj.js} +1 -1
  26. package/build/bosun-app/frontend/client/_app/immutable/nodes/1.KScyXErj.js.br +0 -0
  27. package/build/bosun-app/frontend/client/_app/immutable/nodes/1.KScyXErj.js.gz +0 -0
  28. package/build/bosun-app/frontend/client/_app/immutable/nodes/{10.D9R5gFET.js → 10.CCfZAW7W.js} +1 -1
  29. package/build/bosun-app/frontend/client/_app/immutable/nodes/10.CCfZAW7W.js.br +0 -0
  30. package/build/bosun-app/frontend/client/_app/immutable/nodes/10.CCfZAW7W.js.gz +0 -0
  31. package/build/bosun-app/frontend/client/_app/immutable/nodes/{17.BJPfWzEW.js → 17.CXoHIOjs.js} +1 -1
  32. package/build/bosun-app/frontend/client/_app/immutable/nodes/17.CXoHIOjs.js.br +0 -0
  33. package/build/bosun-app/frontend/client/_app/immutable/nodes/17.CXoHIOjs.js.gz +0 -0
  34. package/build/bosun-app/frontend/client/_app/immutable/nodes/{18.vMqDwRaL.js → 18.DGmTxD3J.js} +1 -1
  35. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.DGmTxD3J.js.br +0 -0
  36. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.DGmTxD3J.js.gz +0 -0
  37. package/build/bosun-app/frontend/client/_app/immutable/nodes/{2.DqYksi1m.js → 2.CWbGqXi0.js} +1 -1
  38. package/build/bosun-app/frontend/client/_app/immutable/nodes/2.CWbGqXi0.js.br +0 -0
  39. package/build/bosun-app/frontend/client/_app/immutable/nodes/2.CWbGqXi0.js.gz +0 -0
  40. package/build/bosun-app/frontend/client/_app/immutable/nodes/{3.DY4cCysm.js → 3.D8BHdUli.js} +1 -1
  41. package/build/bosun-app/frontend/client/_app/immutable/nodes/3.D8BHdUli.js.br +0 -0
  42. package/build/bosun-app/frontend/client/_app/immutable/nodes/3.D8BHdUli.js.gz +0 -0
  43. package/build/bosun-app/frontend/client/_app/immutable/nodes/{4.CT5azNVy.js → 4.CZhdr0Vi.js} +1 -1
  44. package/build/bosun-app/frontend/client/_app/immutable/nodes/4.CZhdr0Vi.js.br +0 -0
  45. package/build/bosun-app/frontend/client/_app/immutable/nodes/4.CZhdr0Vi.js.gz +0 -0
  46. package/build/bosun-app/frontend/client/_app/immutable/nodes/{5.D3K2hLe5.js → 5.DFeAZd80.js} +1 -1
  47. package/build/bosun-app/frontend/client/_app/immutable/nodes/5.DFeAZd80.js.br +0 -0
  48. package/build/bosun-app/frontend/client/_app/immutable/nodes/5.DFeAZd80.js.gz +0 -0
  49. package/build/bosun-app/frontend/client/_app/immutable/nodes/{6.C50_01kw.js → 6.Ddrr7KOc.js} +1 -1
  50. package/build/bosun-app/frontend/client/_app/immutable/nodes/6.Ddrr7KOc.js.br +0 -0
  51. package/build/bosun-app/frontend/client/_app/immutable/nodes/6.Ddrr7KOc.js.gz +0 -0
  52. package/build/bosun-app/frontend/client/_app/immutable/nodes/{8.BDWagOdA.js → 8.C5E_mJBK.js} +1 -1
  53. package/build/bosun-app/frontend/client/_app/immutable/nodes/8.C5E_mJBK.js.br +0 -0
  54. package/build/bosun-app/frontend/client/_app/immutable/nodes/8.C5E_mJBK.js.gz +0 -0
  55. package/build/bosun-app/frontend/client/_app/immutable/nodes/{9.DjkNtG73.js → 9.-G9Onnhb.js} +1 -1
  56. package/build/bosun-app/frontend/client/_app/immutable/nodes/9.-G9Onnhb.js.br +0 -0
  57. package/build/bosun-app/frontend/client/_app/immutable/nodes/9.-G9Onnhb.js.gz +0 -0
  58. package/build/bosun-app/frontend/client/_app/version.json +1 -1
  59. package/build/bosun-app/frontend/client/_app/version.json.br +0 -0
  60. package/build/bosun-app/frontend/client/_app/version.json.gz +0 -0
  61. package/build/bosun-app/frontend/handler.js +4 -4
  62. package/build/bosun-app/frontend/index.js +4 -4
  63. package/build/bosun-app/frontend/server/chunks/chunks/{internal.js-CZxAejkO.js → internal.js-CffWcs9k.js} +2 -2
  64. package/build/bosun-app/frontend/server/chunks/chunks/{internal.js-CZxAejkO.js.map → internal.js-CffWcs9k.js.map} +1 -1
  65. package/build/bosun-app/frontend/server/chunks/{handler-Jnrg3wPg.js → handler-CW4sd2yM.js} +3 -3
  66. package/build/bosun-app/frontend/server/chunks/{handler-Jnrg3wPg.js.map → handler-CW4sd2yM.js.map} +1 -1
  67. package/build/bosun-app/frontend/server/chunks/{index.js-CHqxWZDr.js → index.js-CYRqaGI3.js} +2 -2
  68. package/build/bosun-app/frontend/server/chunks/{index.js-CHqxWZDr.js.map → index.js-CYRqaGI3.js.map} +1 -1
  69. package/build/bosun-app/frontend/server/chunks/{manifest.js-DmcqihPV.js → manifest.js-BaId-NOs.js} +14 -14
  70. package/build/bosun-app/frontend/server/chunks/{manifest.js-DmcqihPV.js.map → manifest.js-BaId-NOs.js.map} +1 -1
  71. package/build/bosun-app/frontend/server/chunks/nodes/{0.js-AzmZoy1E.js → 0.js-T6dfjIQ2.js} +2 -2
  72. package/build/bosun-app/frontend/server/chunks/nodes/{0.js-AzmZoy1E.js.map → 0.js-T6dfjIQ2.js.map} +1 -1
  73. package/build/bosun-app/frontend/server/chunks/nodes/{1.js-DHw5LmcV.js → 1.js-DUB1JM1k.js} +2 -2
  74. package/build/bosun-app/frontend/server/chunks/nodes/{1.js-DHw5LmcV.js.map → 1.js-DUB1JM1k.js.map} +1 -1
  75. package/build/bosun-app/frontend/server/chunks/nodes/{10.js-Bma8SASV.js → 10.js-Ba7IaAnY.js} +2 -2
  76. package/build/bosun-app/frontend/server/chunks/nodes/{10.js-Bma8SASV.js.map → 10.js-Ba7IaAnY.js.map} +1 -1
  77. package/build/bosun-app/frontend/server/chunks/nodes/{17.js-CDQ0obMk.js → 17.js-D-9WpDsw.js} +2 -2
  78. package/build/bosun-app/frontend/server/chunks/nodes/{17.js-CDQ0obMk.js.map → 17.js-D-9WpDsw.js.map} +1 -1
  79. package/build/bosun-app/frontend/server/chunks/nodes/{18.js-3gRfKzfa.js → 18.js-CYsH5Bld.js} +2 -2
  80. package/build/bosun-app/frontend/server/chunks/nodes/{18.js-3gRfKzfa.js.map → 18.js-CYsH5Bld.js.map} +1 -1
  81. package/build/bosun-app/frontend/server/chunks/nodes/{2.js-BxBjD7OX.js → 2.js-B7OCmJIj.js} +2 -2
  82. package/build/bosun-app/frontend/server/chunks/nodes/{2.js-BxBjD7OX.js.map → 2.js-B7OCmJIj.js.map} +1 -1
  83. package/build/bosun-app/frontend/server/chunks/nodes/{3.js-bfS0t-8E.js → 3.js-BHlm6xyt.js} +2 -2
  84. package/build/bosun-app/frontend/server/chunks/nodes/{3.js-bfS0t-8E.js.map → 3.js-BHlm6xyt.js.map} +1 -1
  85. package/build/bosun-app/frontend/server/chunks/nodes/{4.js--eSSRL0B.js → 4.js-BTq6vtAf.js} +2 -2
  86. package/build/bosun-app/frontend/server/chunks/nodes/{4.js--eSSRL0B.js.map → 4.js-BTq6vtAf.js.map} +1 -1
  87. package/build/bosun-app/frontend/server/chunks/nodes/{5.js-D6sqQZLO.js → 5.js-DwkRvnB_.js} +2 -2
  88. package/build/bosun-app/frontend/server/chunks/nodes/{5.js-D6sqQZLO.js.map → 5.js-DwkRvnB_.js.map} +1 -1
  89. package/build/bosun-app/frontend/server/chunks/nodes/{6.js-DAEsXANu.js → 6.js-DOFKQ-NI.js} +2 -2
  90. package/build/bosun-app/frontend/server/chunks/nodes/{6.js-DAEsXANu.js.map → 6.js-DOFKQ-NI.js.map} +1 -1
  91. package/build/bosun-app/frontend/server/chunks/nodes/{8.js-CaZXsO-L.js → 8.js-iK6Dp1Bw.js} +2 -2
  92. package/build/bosun-app/frontend/server/chunks/nodes/{8.js-CaZXsO-L.js.map → 8.js-iK6Dp1Bw.js.map} +1 -1
  93. package/build/bosun-app/frontend/server/chunks/nodes/{9.js-B8aSYLuv.js → 9.js-DT7qAxsK.js} +2 -2
  94. package/build/bosun-app/frontend/server/chunks/nodes/{9.js-B8aSYLuv.js.map → 9.js-DT7qAxsK.js.map} +1 -1
  95. package/build/engine/llm-adapters/openai-stream.d.ts +1 -1
  96. package/build/engine/llm-adapters/openai-stream.d.ts.map +1 -1
  97. package/build/engine/llm-adapters/openai-stream.js +10 -3
  98. package/build/engine/llm-adapters/openai.d.ts +1 -1
  99. package/build/engine/llm-adapters/openai.d.ts.map +1 -1
  100. package/build/engine/llm-adapters/openai.js +10 -3
  101. package/build/engine/llm-adapters/timeout.d.ts +7 -0
  102. package/build/engine/llm-adapters/timeout.d.ts.map +1 -0
  103. package/build/engine/llm-adapters/timeout.js +8 -0
  104. package/build/engine/stream/get-client.d.ts.map +1 -1
  105. package/build/engine/stream/get-client.js +0 -1
  106. package/build/text-agent-handlers/incoming-message.d.ts +1 -0
  107. package/build/text-agent-handlers/incoming-message.d.ts.map +1 -1
  108. package/build/text-agent-handlers/incoming-message.js +23 -4
  109. package/build/text-agent-handlers/ports.d.ts +1 -0
  110. package/build/text-agent-handlers/ports.d.ts.map +1 -1
  111. package/package.json +1 -1
  112. package/build/bosun-app/frontend/client/_app/immutable/chunks/BfQeNRSV.js.br +0 -3
  113. package/build/bosun-app/frontend/client/_app/immutable/chunks/BfQeNRSV.js.gz +0 -0
  114. package/build/bosun-app/frontend/client/_app/immutable/chunks/BwC8XjMu.js +0 -1
  115. package/build/bosun-app/frontend/client/_app/immutable/chunks/BwC8XjMu.js.br +0 -0
  116. package/build/bosun-app/frontend/client/_app/immutable/chunks/BwC8XjMu.js.gz +0 -0
  117. package/build/bosun-app/frontend/client/_app/immutable/chunks/CKcQhCJC.js +0 -1
  118. package/build/bosun-app/frontend/client/_app/immutable/chunks/CKcQhCJC.js.br +0 -0
  119. package/build/bosun-app/frontend/client/_app/immutable/chunks/CKcQhCJC.js.gz +0 -0
  120. package/build/bosun-app/frontend/client/_app/immutable/chunks/DWlUaO0d.js.br +0 -0
  121. package/build/bosun-app/frontend/client/_app/immutable/chunks/DWlUaO0d.js.gz +0 -0
  122. package/build/bosun-app/frontend/client/_app/immutable/chunks/dqHFzkrz.js +0 -1
  123. package/build/bosun-app/frontend/client/_app/immutable/chunks/dqHFzkrz.js.br +0 -0
  124. package/build/bosun-app/frontend/client/_app/immutable/chunks/dqHFzkrz.js.gz +0 -0
  125. package/build/bosun-app/frontend/client/_app/immutable/entry/app.D21MRecj.js.br +0 -0
  126. package/build/bosun-app/frontend/client/_app/immutable/entry/app.D21MRecj.js.gz +0 -0
  127. package/build/bosun-app/frontend/client/_app/immutable/entry/start.CfsLMJez.js +0 -1
  128. package/build/bosun-app/frontend/client/_app/immutable/entry/start.CfsLMJez.js.br +0 -0
  129. package/build/bosun-app/frontend/client/_app/immutable/entry/start.CfsLMJez.js.gz +0 -0
  130. package/build/bosun-app/frontend/client/_app/immutable/nodes/0.DTw_tt3s.js.br +0 -0
  131. package/build/bosun-app/frontend/client/_app/immutable/nodes/0.DTw_tt3s.js.gz +0 -0
  132. package/build/bosun-app/frontend/client/_app/immutable/nodes/1.llCYq9Hg.js.br +0 -0
  133. package/build/bosun-app/frontend/client/_app/immutable/nodes/1.llCYq9Hg.js.gz +0 -0
  134. package/build/bosun-app/frontend/client/_app/immutable/nodes/10.D9R5gFET.js.br +0 -0
  135. package/build/bosun-app/frontend/client/_app/immutable/nodes/10.D9R5gFET.js.gz +0 -0
  136. package/build/bosun-app/frontend/client/_app/immutable/nodes/17.BJPfWzEW.js.br +0 -0
  137. package/build/bosun-app/frontend/client/_app/immutable/nodes/17.BJPfWzEW.js.gz +0 -0
  138. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.vMqDwRaL.js.br +0 -0
  139. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.vMqDwRaL.js.gz +0 -0
  140. package/build/bosun-app/frontend/client/_app/immutable/nodes/2.DqYksi1m.js.br +0 -0
  141. package/build/bosun-app/frontend/client/_app/immutable/nodes/2.DqYksi1m.js.gz +0 -0
  142. package/build/bosun-app/frontend/client/_app/immutable/nodes/3.DY4cCysm.js.br +0 -0
  143. package/build/bosun-app/frontend/client/_app/immutable/nodes/3.DY4cCysm.js.gz +0 -0
  144. package/build/bosun-app/frontend/client/_app/immutable/nodes/4.CT5azNVy.js.br +0 -0
  145. package/build/bosun-app/frontend/client/_app/immutable/nodes/4.CT5azNVy.js.gz +0 -0
  146. package/build/bosun-app/frontend/client/_app/immutable/nodes/5.D3K2hLe5.js.br +0 -0
  147. package/build/bosun-app/frontend/client/_app/immutable/nodes/5.D3K2hLe5.js.gz +0 -0
  148. package/build/bosun-app/frontend/client/_app/immutable/nodes/6.C50_01kw.js.br +0 -0
  149. package/build/bosun-app/frontend/client/_app/immutable/nodes/6.C50_01kw.js.gz +0 -0
  150. package/build/bosun-app/frontend/client/_app/immutable/nodes/8.BDWagOdA.js.br +0 -0
  151. package/build/bosun-app/frontend/client/_app/immutable/nodes/8.BDWagOdA.js.gz +0 -0
  152. package/build/bosun-app/frontend/client/_app/immutable/nodes/9.DjkNtG73.js.br +0 -0
  153. package/build/bosun-app/frontend/client/_app/immutable/nodes/9.DjkNtG73.js.gz +0 -0
@@ -2,5 +2,5 @@ import { OpenAI } from 'openai';
2
2
  import { ChatCompletionCreateParamsBase } from 'openai/resources/chat/completions';
3
3
  import { LlmStreamAdapter } from '../interfaces/stream';
4
4
  export type OpenAIChatOptions = Omit<ChatCompletionCreateParamsBase, 'messages' | 'response_format' | 'stream'>;
5
- export declare function createOpenAIStreamAdapter(options: OpenAIChatOptions, client?: OpenAI): LlmStreamAdapter;
5
+ export declare function createOpenAIStreamAdapter(options: OpenAIChatOptions, client?: OpenAI, timeoutMs?: number): LlmStreamAdapter;
6
6
  //# sourceMappingURL=openai-stream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai-stream.d.ts","sourceRoot":"","sources":["../../../src/engine/llm-adapters/openai-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAA;AAElF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAGvD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAChC,8BAA8B,EAC9B,UAAU,GAAG,iBAAiB,GAAG,QAAQ,CAC5C,CAAA;AAED,wBAAgB,yBAAyB,CACrC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,SAAe,GACtB,gBAAgB,CA6BlB"}
1
+ {"version":3,"file":"openai-stream.d.ts","sourceRoot":"","sources":["../../../src/engine/llm-adapters/openai-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAA;AAElF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAIvD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAChC,8BAA8B,EAC9B,UAAU,GAAG,iBAAiB,GAAG,QAAQ,CAC5C,CAAA;AAED,wBAAgB,yBAAyB,CACrC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,SAAe,EACrB,SAAS,SAAS,GACnB,gBAAgB,CAwClB"}
@@ -1,11 +1,14 @@
1
1
  import { OpenAI } from 'openai';
2
2
  import { detectProvider } from './provider';
3
- export function createOpenAIStreamAdapter(options, client = new OpenAI()) {
3
+ import { requestTimeout } from './timeout';
4
+ export function createOpenAIStreamAdapter(options, client = new OpenAI(), timeoutMs = 60_000) {
4
5
  return {
5
6
  getOptions: () => options,
6
7
  getProviderInfo: () => ({ provider: detectProvider(client), model: options.model }),
7
8
  async generateStream(systemPrompt, messages) {
8
- const stream = await client.chat.completions.create({
9
+ const timeout = requestTimeout(timeoutMs);
10
+ const stream = await client.chat.completions
11
+ .create({
9
12
  messages: [
10
13
  { role: 'system', content: systemPrompt },
11
14
  { role: 'user', content: messages },
@@ -13,7 +16,11 @@ export function createOpenAIStreamAdapter(options, client = new OpenAI()) {
13
16
  ...options,
14
17
  stream: true,
15
18
  response_format: { type: 'text' },
16
- });
19
+ }, { signal: timeout.signal })
20
+ .catch((err) => {
21
+ throw timeout.wrap(err);
22
+ })
23
+ .finally(timeout.clear);
17
24
  return new ReadableStream({
18
25
  async start(controller) {
19
26
  for await (const chunk of stream) {
@@ -3,6 +3,6 @@ import { ChatCompletionCreateParamsBase } from 'openai/resources/chat/completion
3
3
  import { LlmAdapter } from '../interfaces';
4
4
  type OpenaiOptionsToSend = Omit<ChatCompletionCreateParamsBase, 'messages' | 'stream'>;
5
5
  export type OpenAIChatOptions = Omit<OpenaiOptionsToSend, 'response_format'>;
6
- export declare function createOpenAIAdapter(options: OpenAIChatOptions, client?: OpenAI): LlmAdapter;
6
+ export declare function createOpenAIAdapter(options: OpenAIChatOptions, client?: OpenAI, timeoutMs?: number): LlmAdapter;
7
7
  export {};
8
8
  //# sourceMappingURL=openai.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/engine/llm-adapters/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAA;AAGlF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG1C,KAAK,mBAAmB,GAAG,IAAI,CAAC,8BAA8B,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAA;AACtF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAA;AAE5E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAe,GAAG,UAAU,CAoCjG"}
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/engine/llm-adapters/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAA;AAGlF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAI1C,KAAK,mBAAmB,GAAG,IAAI,CAAC,8BAA8B,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAA;AACtF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAA;AAE5E,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,iBAAiB,EAC1B,MAAM,SAAe,EACrB,SAAS,SAAS,GACnB,UAAU,CA6CZ"}
@@ -1,7 +1,8 @@
1
1
  import { OpenAI } from 'openai';
2
2
  import { toJSONSchema } from 'zod';
3
3
  import { detectProvider } from './provider';
4
- export function createOpenAIAdapter(options, client = new OpenAI()) {
4
+ import { requestTimeout } from './timeout';
5
+ export function createOpenAIAdapter(options, client = new OpenAI(), timeoutMs = 60_000) {
5
6
  return {
6
7
  getOptions: () => options,
7
8
  getProviderInfo: () => ({ provider: detectProvider(client), model: options.model }),
@@ -17,13 +18,19 @@ export function createOpenAIAdapter(options, client = new OpenAI()) {
17
18
  },
18
19
  };
19
20
  }
20
- const response = await client.chat.completions.create({
21
+ const timeout = requestTimeout(timeoutMs);
22
+ const response = await client.chat.completions
23
+ .create({
21
24
  messages: [
22
25
  { role: 'system', content: systemPrompt },
23
26
  { role: 'user', content: messages },
24
27
  ],
25
28
  ...finalOptions,
26
- });
29
+ }, { signal: timeout.signal })
30
+ .catch((err) => {
31
+ throw timeout.wrap(err);
32
+ })
33
+ .finally(timeout.clear);
27
34
  const content = response.choices[0]?.message?.content;
28
35
  if (!content) {
29
36
  throw new Error('No response from OpenAI');
@@ -0,0 +1,7 @@
1
+ export interface RequestTimeout {
2
+ signal: AbortSignal;
3
+ wrap: (err: unknown) => unknown;
4
+ clear: () => void;
5
+ }
6
+ export declare function requestTimeout(timeoutMs: number): RequestTimeout;
7
+ //# sourceMappingURL=timeout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../../src/engine/llm-adapters/timeout.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,WAAW,CAAA;IACnB,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAA;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAQhE"}
@@ -0,0 +1,8 @@
1
+ export function requestTimeout(timeoutMs) {
2
+ const controller = new AbortController();
3
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
4
+ const wrap = (err) => controller.signal.aborted
5
+ ? new Error(`LLM request timed out after ${timeoutMs} ms`, { cause: err })
6
+ : err;
7
+ return { signal: controller.signal, wrap, clear: () => clearTimeout(timer) };
8
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"get-client.d.ts","sourceRoot":"","sources":["../../../src/engine/stream/get-client.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAG5C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC,UAAU,WAAW;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,YAAY;IAClB,MAAM,EAAE,MAAM,CAAA;CACjB;AAeD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,eASjE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,UAMnE"}
1
+ {"version":3,"file":"get-client.d.ts","sourceRoot":"","sources":["../../../src/engine/stream/get-client.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAG5C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC,UAAU,WAAW;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,YAAY;IAClB,MAAM,EAAE,MAAM,CAAA;CACjB;AAiBD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,eASjE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,UAMnE"}
@@ -2,7 +2,6 @@ import OpenAI, { AzureOpenAI } from 'openai';
2
2
  import { Agent } from 'undici';
3
3
  const dispatcher = new Agent({
4
4
  keepAliveTimeout: 120_000,
5
- headersTimeout: 30_000,
6
5
  bodyTimeout: 60_000,
7
6
  });
8
7
  export function getAzureClient(logger, config) {
@@ -12,6 +12,7 @@ export interface IncomingMessageOptions<TMeta> {
12
12
  messageSeconds?: number;
13
13
  webchatSeconds?: number;
14
14
  timeLimitSeconds?: number;
15
+ staleGraceSeconds?: number;
15
16
  };
16
17
  }
17
18
  export declare function createIncomingMessageHandler<TMeta>(options: IncomingMessageOptions<TMeta>): (event: Event) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"incoming-message.d.ts","sourceRoot":"","sources":["../../src/text-agent-handlers/incoming-message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAE,aAAa,EAAY,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAa9F,MAAM,WAAW,sBAAsB,CAAC,KAAK;IACzC,QAAQ,EAAE,aAAa,CAAA;IACvB,SAAS,EAAE,aAAa,CAAA;IAExB,SAAS,EAAE,SAAS,CAAA;IAEpB,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;IACjC,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC3F;AAOD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAAE,sBAAsB,CAAC,KAAK,CAAC,IAmI1C,OAAO,KAAK,KAAG,OAAO,CAAC,IAAI,CAAC,CAW3E"}
1
+ {"version":3,"file":"incoming-message.d.ts","sourceRoot":"","sources":["../../src/text-agent-handlers/incoming-message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAE,aAAa,EAAY,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAc9F,MAAM,WAAW,sBAAsB,CAAC,KAAK;IACzC,QAAQ,EAAE,aAAa,CAAA;IACvB,SAAS,EAAE,aAAa,CAAA;IAExB,SAAS,EAAE,SAAS,CAAA;IAEpB,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;IACjC,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE;QACL,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAA;QAEzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAC7B,CAAA;CACJ;AAOD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAAE,sBAAsB,CAAC,KAAK,CAAC,IA2J1C,OAAO,KAAK,KAAG,OAAO,CAAC,IAAI,CAAC,CAW3E"}
@@ -2,6 +2,7 @@ import { cacheTextAgents } from './ports';
2
2
  const DEFAULT_MESSAGE_DELAY_SECONDS = 60;
3
3
  const DEFAULT_WEBCHAT_DELAY_SECONDS = 30;
4
4
  const DEFAULT_TIME_LIMIT_SECONDS = 14 * 60;
5
+ const DEFAULT_STALE_GRACE_SECONDS = 30;
5
6
  const addSeconds = (date, seconds) => new Date(date.getTime() + seconds * 1000);
6
7
  const isAfter = (date, dateToCompare) => date.getTime() > dateToCompare.getTime();
7
8
  const differenceInMilliseconds = (later, earlier) => later.getTime() - earlier.getTime();
@@ -12,6 +13,7 @@ export function createIncomingMessageHandler(options) {
12
13
  const messageDelaySeconds = delays.messageSeconds ?? DEFAULT_MESSAGE_DELAY_SECONDS;
13
14
  const webchatDelaySeconds = delays.webchatSeconds ?? DEFAULT_WEBCHAT_DELAY_SECONDS;
14
15
  const timeLimitSeconds = delays.timeLimitSeconds ?? DEFAULT_TIME_LIMIT_SECONDS;
16
+ const staleGraceSeconds = delays.staleGraceSeconds ?? DEFAULT_STALE_GRACE_SECONDS;
15
17
  async function getAgent(conversationId) {
16
18
  const agentRecord = await registry.getAgent(conversationId);
17
19
  if (!agentRecord) {
@@ -56,12 +58,29 @@ export function createIncomingMessageHandler(options) {
56
58
  successfullyLocked,
57
59
  conversationId: event.conversationId,
58
60
  });
59
- if (!successfullyLocked) {
60
- const newExpiration = addSeconds(currentDate, delaySeconds);
61
- await chatLocks.updateLockExpiration(event.conversationId, newExpiration);
61
+ if (successfullyLocked || (await takeOverStaleLock(newLock))) {
62
+ await handleMessageOnLockRelease(event, newLock);
62
63
  return;
63
64
  }
64
- await handleMessageOnLockRelease(event, newLock);
65
+ const newExpiration = addSeconds(currentDate, delaySeconds);
66
+ await chatLocks.updateLockExpiration(event.conversationId, newExpiration);
67
+ }
68
+ async function takeOverStaleLock(newLock) {
69
+ const current = await chatLocks.getChatLock(newLock.conversationId);
70
+ if (!current) {
71
+ return false;
72
+ }
73
+ const staleBefore = addSeconds(newLock.createdAt, -staleGraceSeconds);
74
+ if (!isAfter(staleBefore, current.expiresAt)) {
75
+ return false;
76
+ }
77
+ const takenOver = await chatLocks.takeOverLock(newLock, current);
78
+ logger.debug('incoming-message, stale chat lock takeover', {
79
+ takenOver,
80
+ conversationId: newLock.conversationId,
81
+ staleExpiresAt: current.expiresAt,
82
+ });
83
+ return takenOver;
65
84
  }
66
85
  async function handleMessageOnLockRelease(event, chatLock) {
67
86
  logger.debug('incoming-message.handleMessageOnLockRelease, handling message', {
@@ -18,6 +18,7 @@ export interface ChatLock {
18
18
  export interface ChatLockStore {
19
19
  getChatLock(conversationId: string): Promise<ChatLock | null>;
20
20
  lockChat(lock: ChatLock): Promise<boolean>;
21
+ takeOverLock(lock: ChatLock, current: ChatLock): Promise<boolean>;
21
22
  updateLockExpiration(conversationId: string, expiresAt: Date): Promise<unknown>;
22
23
  releaseLock(conversationId: string): Promise<unknown>;
23
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../../src/text-agent-handlers/ports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAGtC,MAAM,WAAW,WAAW;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;CAClB;AAGD,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAC7D,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACtE;AAGD,MAAM,WAAW,QAAQ;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,EAAE,IAAI,CAAA;CAClB;AAED,MAAM,WAAW,aAAa;IAC1B,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;IAE7D,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1C,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/E,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CACxD;AAGD,MAAM,WAAW,SAAU,SAAQ,SAAS;IACxC,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC5C;AAGD,MAAM,MAAM,YAAY,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;AAGhF,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAW7F;AAGD,MAAM,MAAM,eAAe,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAElE,wBAAgB,eAAe,CAC3B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,eAAe,CAEjB"}
1
+ {"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../../src/text-agent-handlers/ports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAGtC,MAAM,WAAW,WAAW;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;CAClB;AAGD,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAC7D,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACtE;AAGD,MAAM,WAAW,QAAQ;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,EAAE,IAAI,CAAA;CAClB;AAED,MAAM,WAAW,aAAa;IAC1B,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;IAE7D,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE1C,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACjE,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/E,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CACxD;AAGD,MAAM,WAAW,SAAU,SAAQ,SAAS;IACxC,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC5C;AAGD,MAAM,MAAM,YAAY,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;AAGhF,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAW7F;AAGD,MAAM,MAAM,eAAe,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAElE,wBAAgB,eAAe,CAC3B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,eAAe,CAEjB"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@recombine-ai/platform",
3
3
  "type": "module",
4
- "version": "0.5.0",
4
+ "version": "0.7.0",
5
5
  "description": "The Recombine platform: engine, telescope, dockyard, call control, the voice agent API, and the Bosun bindings in one package",
6
6
  "license": "EULA",
7
7
  "author": "recombine.ai",
@@ -1,3 +0,0 @@
1
- 1@deN?��)BG�fg���g�CDe��_�ēكF���j�4���'���z����W4���T���c�Q��/2�{�^K�>�~י`�!�q7H��:�
2
- ��.�8�qI c��I�5��
3
- �?2�dԇ��d`��5����2|�a�}
@@ -1 +0,0 @@
1
- import{T as tt,h as fe,bx as ue}from"./CR-uVjxM.js";import{w as de}from"./DNvczHUR.js";import{H as kt,S as St,R as xt}from"./-UyI9lYi.js";import{r as ft,o as Bt,H as O,N as F,n as T,i as Rt,b as L,s as $,a as wt,f as Vt,g as vt,c as et,d as mt,S as Lt,P as Yt,p as R,e as he,m as pe,h as me,u as zt,j as ge,k as Nt,l as B,q as _e,t as Gt,v as we,w as ve,x as Wt}from"./dqHFzkrz.js";import"./B0XwC4Ot.js";const ye=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,be=/^\/\((?:[^)]+)\)$/;function Ee(t){const n=[];return{pattern:t==="/"||be.test(t)?/^\/$/:new RegExp(`^${Se(t).map(o=>{const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(o);if(a)return n.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const s=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(o);if(s)return n.push({name:s[1],matcher:s[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!o)return;const r=o.split(/\[(.+?)\](?!\])/);return"/"+r.map((l,c)=>{if(c%2){if(l.startsWith("x+"))return gt(String.fromCharCode(parseInt(l.slice(2),16)));if(l.startsWith("u+"))return gt(String.fromCharCode(...l.slice(2).split("-").map(f=>parseInt(f,16))));const u=ye.exec(l),[,p,_,d,m]=u;return n.push({name:d,matcher:m,optional:!!p,rest:!!_,chained:_?c===1&&r[0]==="":!1}),_?"([^]*?)":p?"([^/]*)?":"([^/]+?)"}return gt(l)}).join("")}).join("")}/?$`),params:n}}function ke(t){return t!==""&&!/^\([^)]+\)$/.test(t)}function Se(t){return t.slice(1).split("/").filter(ke)}function xe(t,n,e){const o={},a=t.slice(1),s=a.filter(i=>i!==void 0);let r=0;for(let i=0;i<n.length;i+=1){const l=n[i];let c=a[i-r];if(l.chained&&l.rest&&r&&(c=a.slice(i-r,i+1).filter(u=>u).join("/"),r=0),c===void 0)if(l.rest)c="";else continue;if(!l.matcher||e[l.matcher](c)){o[l.name]=c;const u=n[i+1],p=a[i+1];u&&!u.rest&&u.optional&&p&&l.chained&&(r=0),!u&&!p&&Object.keys(o).length===s.length&&(r=0);continue}if(l.optional&&l.chained){r++;continue}return}if(!r)return o}function gt(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Re({nodes:t,server_loads:n,dictionary:e,matchers:o}){const a=new Set(n);return Object.entries(e).map(([i,[l,c,u]])=>{const{pattern:p,params:_}=Ee(i),d={id:i,exec:m=>{const f=p.exec(m);if(f)return xe(f,_,o)},errors:[1,...u||[]].map(m=>t[m]),layouts:[0,...c||[]].map(r),leaf:s(l)};return d.errors.length=d.layouts.length=Math.max(d.errors.length,d.layouts.length),d});function s(i){const l=i<0;return l&&(i=~i),[l,t[i]]}function r(i){return i===void 0?i:[a.has(i),t[i]]}}function Jt(t,n=JSON.parse){try{return n(sessionStorage[t])}catch{}}function Dt(t,n,e=JSON.stringify){const o=e(n);try{sessionStorage[t]=o}catch{}}function Le(t){return t.filter(n=>n!=null)}function Q(t,n){return t+"/"+n}function Pt(t){return t instanceof kt||t instanceof St?t.status:500}function Pe(t){return t instanceof St?t.text:"Internal Error"}const qt={spanContext(){return Ae},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},Ae={traceId:"",spanId:"",traceFlags:0},Ue=fe??(t=>t()),Te=new Set(["icon","shortcut icon","apple-touch-icon"]);let V=null;const C=Jt(Wt)??{},G=Jt(Gt)??{},I={url:Nt({}),page:Nt({}),navigating:de(null),updated:ge()};function At(t){C[t]=$()}function Ie(t,n){let e=t+1;for(;C[e];)delete C[e],e+=1;for(e=n+1;G[e];)delete G[e],e+=1}function W(t,n=!1){return n?location.replace(t.href):location.href=t.href,new Promise(T)}async function Xt(){if("serviceWorker"in navigator){const t=await navigator.serviceWorker.getRegistration(L||"/");t&&await t.update()}}let Ut,yt,nt,P,bt,b;const at=[],rt=[];let v=null;function ot(){var t;(t=v==null?void 0:v.fork)==null||t.then(n=>n==null?void 0:n.discard()),v=null,D={element:void 0,href:void 0}}const Z=new Map,Qt=new Set,Ce=new Set,z=new Set;let w={branch:[],error:null,url:null},Zt=!1,it=!1,Ft=!0,J=!1,Y=!1,te=!1,Tt=!1,It,E,x,U;const st=new Set,Ht=new Map,Kt=new Map;async function tn(t,n,e){var s,r,i,l;if(globalThis.__sveltekit_j2c3i6.data){const{q:c={},p:u={},l:p={},f:_={}}=globalThis.__sveltekit_j2c3i6.data;for(const d in c)c[d];for(const d in p)p[d];for(const d in _)_[d];for(const d in u)u[d]}document.URL!==location.href&&(location.href=location.href),b=t,await((r=(s=t.hooks).init)==null?void 0:r.call(s)),Ut=Re(t),P=document.documentElement,bt=n,yt=t.nodes[0],nt=t.nodes[1],yt(),nt(),E=(i=history.state)==null?void 0:i[O],x=(l=history.state)==null?void 0:l[F],E||(E=x=Date.now(),history.replaceState({...history.state,[O]:E,[F]:x},""));const o=C[E];function a(){o&&(history.scrollRestoration="manual",scrollTo(o.x,o.y))}e?(a(),await Ve(bt,e)):(await q({type:"enter",url:ft(b.hash?Ge(new URL(location.href)):location.href),replace_state:!0}),a()),Be()}function je(){at.length=0,Tt=!1}function ee(t){rt.some(n=>n==null?void 0:n.snapshot)&&(G[t]=rt.map(n=>{var e;return(e=n==null?void 0:n.snapshot)==null?void 0:e.capture()}))}function ne(t){var n;(n=G[t])==null||n.forEach((e,o)=>{var a,s;(s=(a=rt[o])==null?void 0:a.snapshot)==null||s.restore(e)})}function Mt(){At(E),Dt(Wt,C),ee(x),Dt(Gt,G)}async function ae(t,n,e,o){let a,s;n.invalidateAll&&ot(),await q({type:"goto",url:ft(t),keepfocus:n.keepFocus,noscroll:n.noScroll,replace_state:n.replaceState,state:n.state,redirect_count:e,nav_token:o,accept:()=>{var r;if(n.invalidateAll){Tt=!0,a=new Set;for(const[i,l]of Ht)for(const[c,u]of l)(r=u.resource)==null||r.reset(),a.add(Q(i,c));s=new Set;for(const[i,l]of Kt)for(const c of l.keys())s.add(Q(i,c))}n.invalidate&&n.invalidate.forEach(Me)}}),n.invalidateAll&&tt().then(tt).then(()=>{for(const[r,i]of Ht)for(const[l,{resource:c}]of i)a!=null&&a.has(Q(r,l))&&c.start();for(const[r,i]of Kt)for(const[l,{resource:c}]of i)s!=null&&s.has(Q(r,l))&&c.reconnect()})}async function Oe(t){if(t.id!==(v==null?void 0:v.id)){ot();const n={};st.add(n),v={id:t.id,token:n,promise:ie({...t,preload:n}).then(e=>(st.delete(n),e.type==="loaded"&&e.state.error&&ot(),e)),fork:null}}return v.promise}async function _t(t){var e;const n=(e=await ut(t,!1))==null?void 0:e.route;n&&await Promise.all([...n.layouts,n.leaf].filter(Boolean).map(o=>o[1]()))}async function re(t,n,e){var a;const o={params:w.params,route:{id:((a=w.route)==null?void 0:a.id)??null},url:new URL(location.href)};if(w={...t.state,nav:o},zt(t.props.page),It=new b.root({target:n,props:{...t.props,stores:I,components:rt},hydrate:e,sync:!1,transformError:void 0}),await Promise.resolve(),e){const s={from:null,to:{...o,scroll:C[E]??$()},willUnload:!1,type:"enter",complete:Promise.resolve()};z.forEach(r=>r(s))}ne(x),it=!0}async function lt({url:t,params:n,branch:e,errors:o,status:a,error:s,route:r,form:i}){let l="never";if(L&&(t.pathname===L||t.pathname===L+"/"))l="always";else for(const m of e)(m==null?void 0:m.slash)!==void 0&&(l=m.slash);t.pathname=me(t.pathname,l),t.search=t.search;const c={type:"loaded",state:{url:t,params:n,branch:e,error:s,route:r},props:{constructors:Le(e).map(m=>m.node.component),page:dt(R)}};i!==void 0&&(c.props.form=i);let u={},p=!R,_=0;for(let m=0;m<Math.max(e.length,w.branch.length);m+=1){const f=e[m],h=w.branch[m];(f==null?void 0:f.data)!==(h==null?void 0:h.data)&&(p=!0),f&&(u={...u,...f.data},p&&(c.props[`data_${_}`]=u),_+=1)}return(!w.url||t.href!==w.url.href||w.error!==s||i!==void 0&&i!==R.form||p)&&(c.props.page={error:s,params:n,route:{id:(r==null?void 0:r.id)??null},state:{},status:a,url:new URL(t),form:i??null,data:p?u:R.data}),c}async function Ct({loader:t,parent:n,url:e,params:o,route:a,server_data_node:s}){var u,p,_;let r=null,i=!0;const l={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},c=await t();if((u=c.universal)!=null&&u.load){let d=function(...f){for(const h of f){const{href:g}=new URL(h,e);l.dependencies.add(g)}};const m={tracing:{enabled:!1,root:qt,current:qt},route:new Proxy(a,{get:(f,h)=>(i&&(l.route=!0),f[h])}),params:new Proxy(o,{get:(f,h)=>(i&&l.params.add(h),f[h])}),data:(s==null?void 0:s.data)??null,url:pe(e,()=>{i&&(l.url=!0)},f=>{i&&l.search_params.add(f)},b.hash),async fetch(f,h){f instanceof Request&&(h={body:f.method==="GET"||f.method==="HEAD"?void 0:await f.blob(),cache:f.cache,credentials:f.credentials,headers:[...f.headers].length>0?f==null?void 0:f.headers:void 0,integrity:f.integrity,keepalive:f.keepalive,method:f.method,mode:f.mode,redirect:f.redirect,referrer:f.referrer,referrerPolicy:f.referrerPolicy,signal:f.signal,...h});const{resolved:g,promise:y}=oe(f,h,e);return i&&d(g.href),y},setHeaders:T,depends:d,parent(){return i&&(l.parent=!0),n()},untrack(f){i=!1;try{return f()}finally{i=!0}}};r=await c.universal.load.call(null,m)??null}return{node:c,loader:t,server:s,universal:(p=c.universal)!=null&&p.load?{type:"data",data:r,uses:l}:null,data:r??(s==null?void 0:s.data)??null,slash:((_=c.universal)==null?void 0:_.trailingSlash)??(s==null?void 0:s.slash)}}function oe(t,n,e){let o=t instanceof Request?t.url:t;const a=new URL(o,e);a.origin===e.origin&&(o=a.href.slice(e.origin.length));const s=it?we(o,a.href,n):ve(o,n);return{resolved:a,promise:s}}function $e(t,n,e,o,a,s){if(Tt)return!0;if(!a)return!1;if(a.parent&&t||a.route&&n||a.url&&e)return!0;for(const r of a.search_params)if(o.has(r))return!0;for(const r of a.params)if(s[r]!==w.params[r])return!0;for(const r of a.dependencies)if(at.some(i=>i(new URL(r))))return!0;return!1}function jt(t,n){return(t==null?void 0:t.type)==="data"?t:(t==null?void 0:t.type)==="skip"?n??null:null}function Ne(t,n){if(!t)return new Set(n.searchParams.keys());const e=new Set([...t.searchParams.keys(),...n.searchParams.keys()]);for(const o of e){const a=t.searchParams.getAll(o),s=n.searchParams.getAll(o);a.every(r=>s.includes(r))&&s.every(r=>a.includes(r))&&e.delete(o)}return e}function De({error:t,url:n,route:e,params:o}){return{type:"loaded",state:{error:t,url:n,route:e,params:o,branch:[]},props:{page:dt(R),constructors:[]}}}async function ie({id:t,invalidating:n,url:e,params:o,route:a,preload:s}){if((v==null?void 0:v.id)===t)return st.delete(v.token),v.promise;const{errors:r,layouts:i,leaf:l}=a,c=[...i,l];r.forEach(h=>h==null?void 0:h().catch(T)),c.forEach(h=>h==null?void 0:h[1]().catch(T));const u=w.url?t!==ct(w.url):!1,p=w.route?a.id!==w.route.id:!1,_=Ne(w.url,e);let d=!1;const m=c.map(async(h,g)=>{var A;if(!h)return;const y=w.branch[g];return h[1]===(y==null?void 0:y.loader)&&!$e(d,p,u,_,(A=y.universal)==null?void 0:A.uses,o)?y:(d=!0,Ct({loader:h[1],url:e,params:o,route:a,parent:async()=>{var X;const j={};for(let N=0;N<g;N+=1)Object.assign(j,(X=await m[N])==null?void 0:X.data);return j},server_data_node:jt(h[0]?{type:"skip"}:null,h[0]?y==null?void 0:y.server:void 0)}))});for(const h of m)h.catch(T);const f=[];for(let h=0;h<c.length;h+=1)if(c[h])try{f.push(await m[h])}catch(g){if(g instanceof xt)return{type:"redirect",location:g.location};if(s&&st.has(s))return De({error:await H(g,{params:o,url:e,route:{id:a.id}}),url:e,params:o,route:a});let y=Pt(g),S;if(g instanceof kt)S=g.body;else{if(await I.updated.check())return await Xt(),await W(e);S=await H(g,{params:o,url:e,route:{id:a.id}})}const A=await qe(h,f,r);return A?lt({url:e,params:o,branch:f.slice(0,A.idx).concat(A.node),errors:r,status:y,error:S,route:a}):await le(e,{id:a.id},S,y)}else f.push(void 0);return lt({url:e,params:o,branch:f,errors:r,status:200,error:null,route:a,form:n?void 0:null})}async function qe(t,n,e){for(;t--;)if(e[t]){let o=t;for(;!n[o];)o-=1;try{return{idx:o+1,node:{node:await e[t](),loader:e[t],data:{},server:null,universal:null}}}catch{continue}}}async function Ot({status:t,error:n,url:e,route:o}){const a={};let s=null;try{const r=await Ct({loader:yt,url:e,params:a,route:o,parent:()=>Promise.resolve({}),server_data_node:jt(s)}),i={node:await nt(),loader:nt,universal:null,server:null,data:null};return lt({url:e,params:a,branch:[r,i],status:t,error:n,errors:[],route:null})}catch(r){if(r instanceof xt){await ae(new URL(r.location,location.href),{},0);return}const i=await b.get_error_template(),l=await H(r,{url:e,params:a,route:o}),c=String((l==null?void 0:l.message)??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),u=i({status:t,message:c}),p=new DOMParser().parseFromString(u,"text/html");throw document.documentElement.replaceChild(document.adoptNode(p.head),document.head),document.documentElement.replaceChild(document.adoptNode(p.body),document.body),r}}async function Fe(t){const n=t.href;if(Z.has(n))return Z.get(n);let e;try{const o=(async()=>{let a=await b.hooks.reroute({url:new URL(t),fetch:async(s,r)=>oe(s,r,t).promise})??t;if(typeof a=="string"){const s=new URL(t);b.hash?s.hash=a:s.pathname=a,a=s}return a})();Z.set(n,o),e=await o}catch{Z.delete(n);return}return e}async function ut(t,n){if(t&&!Rt(t,L,b.hash)){const e=await Fe(t);if(!e)return;const o=He(e);for(const a of Ut){const s=a.exec(o);if(s)return{id:ct(t),invalidating:n,route:a,params:he(s),url:t}}}}function He(t){return _e(b.hash?t.hash.replace(/^#/,"").replace(/[?#].+/,""):t.pathname.slice(L.length))||"/"}function ct(t){return(b.hash?t.hash.replace(/^#/,""):t.pathname)+t.search}function se({url:t,type:n,intent:e,delta:o,event:a,scroll:s}){let r=!1;const i=$t(w,e,t,n,s??null);o!==void 0&&(i.navigation.delta=o),a!==void 0&&(i.navigation.event=a);const l={...i.navigation,cancel:()=>{r=!0,i.reject(new Error("navigation cancelled"))}};return J||Qt.forEach(c=>c(l)),r?null:i}async function q({type:t,url:n,popped:e,keepfocus:o,noscroll:a,replace_state:s,state:r={},redirect_count:i=0,nav_token:l={},accept:c=T,block:u=T,event:p}){var N;const _=U;U=l;const d=await ut(n,!1),m=t==="enter"?$t(w,d,n,t):se({url:n,type:t,delta:e==null?void 0:e.delta,intent:d,scroll:e==null?void 0:e.scroll,event:p});if(!m){u(),U===l&&(U=_);return}const f=E,h=x;c(),J=!0,it&&m.navigation.type!=="enter"&&I.navigating.set(wt.current=m.navigation);let g=d&&await ie(d);if(!g){if(Rt(n,L,b.hash))return await W(n,s);g=await le(n,{id:null},await H(new St(404,"Not Found",`Not found: ${n.pathname}`),{url:n,params:{},route:{id:null}}),404,s)}if(n=(d==null?void 0:d.url)||n,U!==l){m.reject(new Error("navigation aborted"));return}if(!g)return;if(g.type==="redirect"){if(i<20){await q({type:t,url:new URL(g.location,n),popped:e,keepfocus:o,noscroll:a,replace_state:s,state:r,redirect_count:i+1,nav_token:l}),m.fulfil(void 0);return}if(g=await Ot({status:500,error:await H(new Error("Redirect loop"),{url:n,params:{},route:{id:null}}),url:n,route:{id:null}}),!g)return}else if(g.props.page.status>=400&&await I.updated.check())return await Xt(),await W(n,s);if(je(),At(f),ee(h),g.props.page.url.pathname!==n.pathname&&(n.pathname=g.props.page.url.pathname),r=e?e.state:r,!e){const k=s?0:1,K={[O]:E+=k,[F]:x+=k,[Lt]:r};(s?history.replaceState:history.pushState).call(history,K,"",n),s||Ie(E,x)}const y=d&&(v==null?void 0:v.id)===d.id?v.fork:null;v!=null&&v.fork&&!y?ot():(v=null,D={element:void 0,href:void 0}),g.props.page.state=r;let S;if(it){const k=(await Promise.all(Array.from(Ce,M=>M(m.navigation)))).filter(M=>typeof M=="function");if(k.length>0){let M=function(){k.forEach(pt=>{z.delete(pt)})};k.push(M),k.forEach(pt=>{z.add(pt)})}const K=m.navigation.to;w={...g.state,nav:{params:K.params,route:K.route,url:K.url}},g.props.page&&(g.props.page.url=n),!o&&document.activeElement instanceof HTMLElement&&document.activeElement!==document.body&&document.activeElement.blur();const ht=y&&await y;ht?S=ht.commit():(V=null,It.$set(g.props),V&&Object.assign(g.props.page,V),zt(g.props.page),S=(N=ue)==null?void 0:N()),te=!0}else await re(g,bt,!1);const{activeElement:A}=document;if(await S,await tt(),await tt(),U!==l){m.reject(new Error("navigation aborted"));return}g.props.page&&V&&Object.assign(g.props.page,V);let j=null;if(Ft){const k=e?e.scroll:a?$():null;k?scrollTo(k.x,k.y):(j=n.hash&&document.getElementById(ce(n)))?j.scrollIntoView():scrollTo(0,0)}const X=document.activeElement!==A&&document.activeElement!==document.body;!o&&!X&&ze(n,!j),Ft=!0,J=!1,m.fulfil(void 0),m.navigation.to&&(m.navigation.to.scroll=$()),z.forEach(k=>k(m.navigation)),t==="popstate"&&ne(x),I.navigating.set(wt.current=null)}async function le(t,n,e,o,a){return t.origin===Bt&&t.pathname===location.pathname&&!Zt?await Ot({status:o,error:e,url:t,route:n}):await W(t,a)}let D={element:void 0,href:void 0};function Ke(){let t,n;P.addEventListener("mousemove",r=>{const i=r.target;clearTimeout(t),t=setTimeout(()=>{a(i,B.hover)},20)});function e(r){r.defaultPrevented||a(r.composedPath()[0],B.tap)}P.addEventListener("mousedown",e),P.addEventListener("touchstart",e,{passive:!0});const o=new IntersectionObserver(r=>{for(const i of r)i.isIntersecting&&(_t(new URL(i.target.href)),o.unobserve(i.target))},{threshold:0});async function a(r,i){const l=Vt(r,P),c=l===D.element&&(l==null?void 0:l.href)===D.href&&i>=n;if(!l||c)return;const{url:u,external:p,download:_}=vt(l,L,b.hash);if(p||_)return;const d=et(l),m=u&&ct(w.url)===ct(u);if(!(d.reload||m))if(i<=d.preload_data){D={element:l,href:l.href},n=B.tap;const f=await ut(u,!1);if(!f)return;Oe(f)}else i<=d.preload_code&&(D={element:l,href:l.href},n=i,_t(u))}function s(){o.disconnect();for(const r of P.querySelectorAll("a")){const{url:i,external:l,download:c}=vt(r,L,b.hash);if(l||c)continue;const u=et(r);u.reload||(u.preload_code===B.viewport&&o.observe(r),u.preload_code===B.eager&&_t(i))}}z.add(s),s()}function H(t,n){if(t instanceof kt)return t.body;const e=Pt(t),o=Pe(t);return b.hooks.handleError({error:t,event:n,status:e,message:o})??{message:o}}function en(t,n={}){return t=new URL(ft(t)),t.origin!==Bt?Promise.reject(new Error("goto: invalid URL")):ae(t,n,0)}function Me(t){if(typeof t=="function")at.push(t);else{const{href:n}=new URL(t,location.href);at.push(e=>e.href===n)}}function nn(t,n){const e={[O]:E,[F]:x,[Yt]:R.url.href,[Lt]:n};history.replaceState(e,"",ft(t)),R.state=n,It.$set({page:Ue(()=>dt(R))})}function Be(){var n;history.scrollRestoration="manual",addEventListener("beforeunload",e=>{let o=!1;if(Mt(),!J){const a=$t(w,void 0,null,"leave"),s={...a.navigation,cancel:()=>{o=!0,a.reject(new Error("navigation cancelled"))}};Qt.forEach(r=>r(s))}o?(e.preventDefault(),e.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Mt()}),(n=navigator.connection)!=null&&n.saveData||Ke(),P.addEventListener("click",async e=>{if(e.button||e.which!==1||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.defaultPrevented)return;const o=Vt(e.composedPath()[0],P);if(!o)return;const{url:a,external:s,target:r,download:i}=vt(o,L,b.hash);if(!a)return;if(r==="_parent"||r==="_top"){if(window.parent!==window)return}else if(r&&r!=="_self")return;const l=et(o);if(!(o instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||i)return;const[u,p]=(b.hash?a.hash.replace(/^#/,""):a.href).split("#"),_=u===mt(location);if(s||l.reload&&(!_||!p)){se({url:a,type:"link",event:e})?J=!0:e.preventDefault();return}if(p!==void 0&&_){const[,d]=w.url.href.split("#");if(d===p){if(e.preventDefault(),p===""||p==="top"&&o.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const m=o.ownerDocument.getElementById(decodeURIComponent(p));m&&(m.scrollIntoView(),m.focus())}return}if(Y=!0,At(E),t(a),!l.replace_state)return;Y=!1}e.preventDefault(),await new Promise(d=>{requestAnimationFrame(()=>{setTimeout(d,0)}),setTimeout(d,100)}),await q({type:"link",url:a,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??a.href===location.href,event:e})}),P.addEventListener("submit",e=>{if(e.defaultPrevented)return;const o=HTMLFormElement.prototype.cloneNode.call(e.target),a=e.submitter;if(((a==null?void 0:a.formTarget)||o.target)==="_blank"||((a==null?void 0:a.formMethod)||o.method)!=="get")return;const i=new URL((a==null?void 0:a.hasAttribute("formaction"))&&(a==null?void 0:a.formAction)||o.action);if(Rt(i,L,!1))return;const l=e.target,c=et(l);if(c.reload)return;e.preventDefault(),e.stopPropagation();const u=new FormData(l,a);i.search=new URLSearchParams(u).toString(),q({type:"form",url:i,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??i.href===location.href,event:e})}),addEventListener("popstate",async e=>{var o;if(!Et){if((o=e.state)!=null&&o[O]){const a=e.state[O];if(U={},a===E)return;const s=C[a],r=e.state[Lt]??{},i=new URL(e.state[Yt]??location.href),l=e.state[F],c=w.url?mt(location)===mt(w.url):!1;if(l===x&&(te||c)){r!==R.state&&(R.state=r),t(i),C[E]=$(),s&&scrollTo(s.x,s.y),E=a;return}const p=a-E;await q({type:"popstate",url:i,popped:{state:r,scroll:s,delta:p},accept:()=>{E=a,x=l},block:()=>{history.go(-p)},nav_token:U,event:e})}else if(!Y){const a=new URL(location.href);t(a),b.hash&&location.reload()}}}),addEventListener("hashchange",()=>{Y&&(Y=!1,history.replaceState({...history.state,[O]:++E,[F]:x},"",location.href))});for(const e of document.querySelectorAll("link"))Te.has(e.rel)&&(e.href=e.href);addEventListener("pageshow",e=>{e.persisted&&I.navigating.set(wt.current=null)});function t(e){w.url=R.url=e,I.page.set(dt(R)),I.page.notify()}}async function Ve(t,{status:n=200,error:e,node_ids:o,params:a,route:s,server_route:r,data:i,form:l}){Zt=!0;const c=new URL(location.href);let u;({params:a={},route:s={id:null}}=await ut(c,!1)||{}),u=Ut.find(({id:d})=>d===s.id);let p,_=!0;try{const d=o.map(async(f,h)=>{const g=i[h];return g!=null&&g.uses&&(g.uses=Ye(g.uses)),Ct({loader:b.nodes[f],url:c,params:a,route:s,parent:async()=>{const y={};for(let S=0;S<h;S+=1)Object.assign(y,(await d[S]).data);return y},server_data_node:jt(g)})}),m=await Promise.all(d);if(u){const f=u.layouts;for(let h=0;h<f.length;h++)f[h]||m.splice(h,0,void 0)}p=await lt({url:c,params:a,branch:m,status:n,error:e,errors:u==null?void 0:u.errors,form:l,route:u??null})}catch(d){if(d instanceof xt)return await W(new URL(d.location,location.href));p=await Ot({status:Pt(d),error:await H(d,{url:c,params:a,route:s}),url:c,route:s}),t.textContent="",_=!1}p&&(p.props.page&&(p.props.page.state={}),await re(p,t,_))}function Ye(t){return{dependencies:new Set((t==null?void 0:t.dependencies)??[]),params:new Set((t==null?void 0:t.params)??[]),parent:!!(t!=null&&t.parent),route:!!(t!=null&&t.route),url:!!(t!=null&&t.url),search_params:new Set((t==null?void 0:t.search_params)??[])}}let Et=!1;function ze(t,n=!0){const e=document.querySelector("[autofocus]");if(e)e.focus();else{const o=ce(t);if(o&&document.getElementById(o)){const{x:s,y:r}=$();setTimeout(()=>{const i=history.state;Et=!0,location.replace(new URL(`#${o}`,location.href)),history.replaceState(i,"",t),n&&scrollTo(s,r),Et=!1})}else{const s=document.body,r=s.getAttribute("tabindex");s.tabIndex=-1,s.focus({preventScroll:!0,focusVisible:!1}),r!==null?s.setAttribute("tabindex",r):s.removeAttribute("tabindex")}const a=getSelection();if(a&&a.type!=="None"){const s=[];for(let r=0;r<a.rangeCount;r+=1)s.push(a.getRangeAt(r));setTimeout(()=>{if(a.rangeCount===s.length){for(let r=0;r<a.rangeCount;r+=1){const i=s[r],l=a.getRangeAt(r);if(i.commonAncestorContainer!==l.commonAncestorContainer||i.startContainer!==l.startContainer||i.endContainer!==l.endContainer||i.startOffset!==l.startOffset||i.endOffset!==l.endOffset)return}a.removeAllRanges()}})}}}function $t(t,n,e,o,a=null){var c,u;let s,r;const i=new Promise((p,_)=>{s=p,r=_});return i.catch(T),{navigation:{from:{params:t.params,route:{id:((c=t.route)==null?void 0:c.id)??null},url:t.url,scroll:$()},to:e&&{params:(n==null?void 0:n.params)??null,route:{id:((u=n==null?void 0:n.route)==null?void 0:u.id)??null},url:e,scroll:a},willUnload:!n,type:o,complete:i},fulfil:s,reject:r}}function dt(t){return{data:t.data,error:t.error,form:t.form,params:t.params,route:t.route,state:t.state,status:t.status,url:t.url}}function Ge(t){const n=new URL(t);return n.hash=decodeURIComponent(t.hash),n}function ce(t){let n;if(b.hash){const[,,e]=t.hash.split("#",3);n=e??""}else n=t.hash.slice(1);return decodeURIComponent(n)}export{tn as a,en as g,nn as r,I as s};
@@ -1 +0,0 @@
1
- const A=globalThis.__sveltekit_j2c3i6.env;var re=Object.create,U=Object.defineProperty,te=Object.getOwnPropertyDescriptor,K=Object.getOwnPropertyNames,ne=Object.getPrototypeOf,oe=Object.prototype.hasOwnProperty,v=(r,e)=>function(){return e||(0,r[K(r)[0]])((e={exports:{}}).exports,e),e.exports},ie=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(var n=K(e),i=0,u=n.length,s;i<u;i++)s=n[i],!oe.call(r,s)&&s!==t&&U(r,s,{get:(c=>e[c]).bind(null,s),enumerable:!(o=te(e,s))||o.enumerable});return r},p=(r,e,t)=>(t=r!=null?re(ne(r)):{},ie(e||!r||!r.__esModule?U(t,"default",{value:r,enumerable:!0}):t,r)),z=v({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js"(r,e){function t(o){"@babel/helpers - typeof";return e.exports=t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},e.exports.__esModule=!0,e.exports.default=e.exports,t(o)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}}),se=v({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js"(r,e){var t=z().default;function o(n,i){if(t(n)!="object"||!n)return n;var u=n[Symbol.toPrimitive];if(u!==void 0){var s=u.call(n,i||"default");if(t(s)!="object")return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return(i==="string"?String:Number)(n)}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports}}),ue=v({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js"(r,e){var t=z().default,o=se();function n(i){var u=o(i,"string");return t(u)=="symbol"?u:u+""}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports}}),_=v({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js"(r,e){var t=ue();function o(n,i,u){return(i=t(i))in n?Object.defineProperty(n,i,{value:u,enumerable:!0,configurable:!0,writable:!0}):n[i]=u,n}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports}}),y=v({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js"(r,e){var t=_();function o(i,u){var s=Object.keys(i);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(i);u&&(c=c.filter(function(a){return Object.getOwnPropertyDescriptor(i,a).enumerable})),s.push.apply(s,c)}return s}function n(i){for(var u=1;u<arguments.length;u++){var s=arguments[u]!=null?arguments[u]:{};u%2?o(Object(s),!0).forEach(function(c){t(i,c,s[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(s)):o(Object(s)).forEach(function(c){Object.defineProperty(i,c,Object.getOwnPropertyDescriptor(s,c))})}return i}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports}});function k(r){const e={subscribe(t){let o=null,n=!1,i=!1,u=!1;function s(){if(o===null){u=!0;return}i||(i=!0,typeof o=="function"?o():o&&o.unsubscribe())}return o=r({next(c){var a;n||(a=t.next)===null||a===void 0||a.call(t,c)},error(c){var a;n||(n=!0,(a=t.error)===null||a===void 0||a.call(t,c),s())},complete(){var c;n||(n=!0,(c=t.complete)===null||c===void 0||c.call(t),s())}}),u&&s(),{unsubscribe:s}},pipe(...t){return t.reduce(ce,e)}};return e}function ce(r,e){return e(r)}function ae(r){const e=new AbortController;return new Promise((o,n)=>{let i=!1;function u(){i||(i=!0,s.unsubscribe())}e.signal.addEventListener("abort",()=>{n(e.signal.reason)});const s=r.subscribe({next(c){i=!0,o(c),u()},error(c){n(c)},complete(){e.abort(),u()}})})}function le(r){return e=>{let t=0,o=null;const n=[];function i(){o||(o=e.subscribe({next(s){for(const a of n){var c;(c=a.next)===null||c===void 0||c.call(a,s)}},error(s){for(const a of n){var c;(c=a.error)===null||c===void 0||c.call(a,s)}},complete(){for(const c of n){var s;(s=c.complete)===null||s===void 0||s.call(c)}}}))}function u(){if(t===0&&o){const s=o;o=null,s.unsubscribe()}}return k(s=>(t++,n.push(s),i(),{unsubscribe(){t--,u();const c=n.findIndex(a=>a===s);c>-1&&n.splice(c,1)}}))}}function pe(r){let e=r;const t=[],o=u=>{e!==void 0&&u.next(e),t.push(u)},n=u=>{t.splice(t.indexOf(u),1)},i=k(u=>(o(u),()=>{n(u)}));return i.next=u=>{if(e!==u){e=u;for(const s of t)s.next(u)}},i.get=()=>e,i}function fe(r){return k(e=>{function t(n=0,i=r.op){const u=r.links[n];if(!u)throw new Error("No more links to execute - did you forget to add an ending link?");return u({op:i,next(c){return t(n+1,c)}})}return t().subscribe(e)})}function w(r){return!!r&&!Array.isArray(r)&&typeof r=="object"}function de(){return Object.create(null)}var ye=Object.create,F=Object.defineProperty,ve=Object.getOwnPropertyDescriptor,B=Object.getOwnPropertyNames,be=Object.getPrototypeOf,me=Object.prototype.hasOwnProperty,g=(r,e)=>function(){return e||(0,r[B(r)[0]])((e={exports:{}}).exports,e),e.exports},he=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(var n=B(e),i=0,u=n.length,s;i<u;i++)s=n[i],!me.call(r,s)&&s!==t&&F(r,s,{get:(c=>e[c]).bind(null,s),enumerable:!(o=ve(e,s))||o.enumerable});return r},q=(r,e,t)=>(t=r!=null?ye(be(r)):{},he(F(t,"default",{value:r,enumerable:!0}),r));const J=()=>{},H=r=>{Object.freeze&&Object.freeze(r)};function Y(r,e,t){var o;const n=e.join(".");return(o=t[n])!==null&&o!==void 0||(t[n]=new Proxy(J,{get(i,u){if(!(typeof u!="string"||u==="then"))return Y(r,[...e,u],t)},apply(i,u,s){const c=e[e.length-1];if(c==="valueOf"||c==="toString"||c==="toJSON")return`tRPC.proxy(${e.slice(0,-1).join(".")})`;let a={args:s,path:e};return c==="call"?a={args:s.length>=2?[s[1]]:[],path:e.slice(0,-1)}:c==="apply"&&(a={args:s.length>=2?s[1]:[],path:e.slice(0,-1)}),H(a.args),H(a.path),r(a)}})),t[n]}const xe=r=>Y(r,[],de()),_e=r=>new Proxy(J,{get(e,t){if(t!=="then")return r(t)}});var Q=g({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/typeof.js"(r,e){function t(o){"@babel/helpers - typeof";return e.exports=t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},e.exports.__esModule=!0,e.exports.default=e.exports,t(o)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}}),Pe=g({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPrimitive.js"(r,e){var t=Q().default;function o(n,i){if(t(n)!="object"||!n)return n;var u=n[Symbol.toPrimitive];if(u!==void 0){var s=u.call(n,i||"default");if(t(s)!="object")return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return(i==="string"?String:Number)(n)}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports}}),Oe=g({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/toPropertyKey.js"(r,e){var t=Q().default,o=Pe();function n(i){var u=o(i,"string");return t(u)=="symbol"?u:u+""}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports}}),X=g({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/defineProperty.js"(r,e){var t=Oe();function o(n,i,u){return(i=t(i))in n?Object.defineProperty(n,i,{value:u,enumerable:!0,configurable:!0,writable:!0}):n[i]=u,n}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports}}),L=g({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectSpread2.js"(r,e){var t=X();function o(i,u){var s=Object.keys(i);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(i);u&&(c=c.filter(function(a){return Object.getOwnPropertyDescriptor(i,a).enumerable})),s.push.apply(s,c)}return s}function n(i){for(var u=1;u<arguments.length;u++){var s=arguments[u]!=null?arguments[u]:{};u%2?o(Object(s),!0).forEach(function(c){t(i,c,s[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(s)):o(Object(s)).forEach(function(c){Object.defineProperty(i,c,Object.getOwnPropertyDescriptor(s,c))})}return i}e.exports=n,e.exports.__esModule=!0,e.exports.default=e.exports}});q(L());q(X());var S=q(L());function je(r,e){if("error"in r){const o=e.deserialize(r.error);return{ok:!1,error:(0,S.default)((0,S.default)({},r),{},{error:o})}}return{ok:!0,result:(0,S.default)((0,S.default)({},r.result),(!r.result.type||r.result.type==="data")&&{type:"data",data:e.deserialize(r.result.data)})}}var I=class extends Error{constructor(){super("Unable to transform response from server")}};function we(r,e){let t;try{t=je(r,e)}catch{throw new I}if(!t.ok&&(!w(t.error.error)||typeof t.error.error.code!="number"))throw new I;if(t.ok&&!w(t.result))throw new I;return t}q(L());var T=p(_(),1),P=p(y(),1);function ge(r){return r instanceof C}function Se(r){return w(r)&&w(r.error)&&typeof r.error.code=="number"&&typeof r.error.message=="string"}function Te(r,e){return typeof r=="string"?r:w(r)&&typeof r.message=="string"?r.message:e}var C=class E extends Error{constructor(e,t){var o,n;const i=t==null?void 0:t.cause;super(e,{cause:i}),(0,T.default)(this,"cause",void 0),(0,T.default)(this,"shape",void 0),(0,T.default)(this,"data",void 0),(0,T.default)(this,"meta",void 0),this.meta=t==null?void 0:t.meta,this.cause=i,this.shape=t==null||(o=t.result)===null||o===void 0?void 0:o.error,this.data=t==null||(n=t.result)===null||n===void 0?void 0:n.error.data,this.name="TRPCClientError",Object.setPrototypeOf(this,E.prototype)}static from(e,t={}){const o=e;return ge(o)?(t.meta&&(o.meta=(0,P.default)((0,P.default)({},o.meta),t.meta)),o):Se(o)?new E(o.error.message,(0,P.default)((0,P.default)({},t),{},{result:o,cause:t.cause})):new E(Te(o,"Unknown error"),(0,P.default)((0,P.default)({},t),{},{cause:o}))}};function Ee(r){const e=r;return e?"input"in e?e:{input:e,output:e}:{input:{serialize:t=>t,deserialize:t=>t},output:{serialize:t=>t,deserialize:t=>t}}}const W=r=>typeof r=="function";function Ce(r){if(r)return r;if(typeof window<"u"&&W(window.fetch))return window.fetch;if(typeof globalThis<"u"&&W(globalThis.fetch))return globalThis.fetch;throw new Error("No fetch implementation found")}var j=p(y());function ke(r){return{url:r.url.toString(),fetch:r.fetch,transformer:Ee(r.transformer),methodOverride:r.methodOverride}}function qe(r){const e={};for(let t=0;t<r.length;t++){const o=r[t];e[t]=o}return e}const Ae={query:"GET",mutation:"POST",subscription:"PATCH"};function Z(r){return"input"in r?r.transformer.input.serialize(r.input):qe(r.inputs.map(e=>r.transformer.input.serialize(e)))}const R=r=>{const e=r.url.split("?");let o=e[0].replace(/\/$/,"")+"/"+r.path;const n=[];if(e[1]&&n.push(e[1]),"inputs"in r&&n.push("batch=1"),r.type==="query"||r.type==="subscription"){const i=Z(r);i!==void 0&&r.methodOverride!=="POST"&&n.push(`input=${encodeURIComponent(JSON.stringify(i))}`)}return n.length&&(o+="?"+n.join("&")),o},Ie=r=>{if(r.type==="query"&&r.methodOverride!=="POST")return;const e=Z(r);return e!==void 0?JSON.stringify(e):void 0},Me=r=>D((0,j.default)((0,j.default)({},r),{},{contentTypeHeader:"application/json",getUrl:R,getBody:Ie}));var Re=class extends Error{constructor(){const r="AbortError";super(r),this.name=r,this.message=r}};const De=r=>{var e;if(r!=null&&r.aborted)throw(e=r.throwIfAborted)===null||e===void 0||e.call(r),typeof DOMException<"u"?new DOMException("AbortError","AbortError"):new Re};async function Ne(r){var e,t;De(r.signal);const o=r.getUrl(r),n=r.getBody(r),i=(e=r.methodOverride)!==null&&e!==void 0?e:Ae[r.type],u=await(async()=>{const c=await r.headers();return Symbol.iterator in c?Object.fromEntries(c):c})(),s=(0,j.default)((0,j.default)((0,j.default)({},r.contentTypeHeader&&i!=="GET"?{"content-type":r.contentTypeHeader}:{}),r.trpcAcceptHeader?{[(t=r.trpcAcceptHeaderKey)!==null&&t!==void 0?t:"trpc-accept"]:r.trpcAcceptHeader}:void 0),u);return Ce(r.fetch)(o,{method:i,signal:r.signal,body:n,headers:s})}async function D(r){const e={},t=await Ne(r);e.response=t;const o=await t.json();return e.responseJSON=o,{json:o,meta:e}}function Le(r){return r instanceof Uint8Array||r instanceof Blob}function $e(r){return r instanceof FormData}var O=p(y(),1);const He=r=>{if("input"in r){const{input:e}=r;if($e(e)){if(r.type!=="mutation"&&r.methodOverride!=="POST")throw new Error("FormData is only supported for mutations");return D((0,O.default)((0,O.default)({},r),{},{contentTypeHeader:void 0,getUrl:R,getBody:()=>e}))}if(Le(e)){if(r.type!=="mutation"&&r.methodOverride!=="POST")throw new Error("Octet type input is only supported for mutations");return D((0,O.default)((0,O.default)({},r),{},{contentTypeHeader:"application/octet-stream",getUrl:R,getBody:()=>e}))}}return Me(r)};function We(r){const e=ke(r);return()=>t=>{const{op:o}=t;return k(n=>{const{path:i,input:u,type:s}=o;/* istanbul ignore if -- @preserve */if(s==="subscription")throw new Error("Subscriptions are unsupported by `httpLink` - use `httpSubscriptionLink` or `wsLink`");const c=He((0,O.default)((0,O.default)({},e),{},{type:s,path:i,input:u,signal:o.signal,headers(){return r.headers?typeof r.headers=="function"?r.headers({op:o}):r.headers:{}}}));let a;return c.then(l=>{a=l.meta;const f=we(l.json,e.transformer.output);if(!f.ok){n.error(C.from(f.error,{meta:a}));return}n.next({context:l.meta,result:f.result}),n.complete()}).catch(l=>{n.error(C.from(l,{meta:a}))}),()=>{}})}}p(y(),1);p(y(),1);const V=(r,...e)=>typeof r=="function"?r(...e):r;p(_(),1);function Ge(){let r,e;return{promise:new Promise((o,n)=>{r=o,e=n}),resolve:r,reject:e}}async function Ue(r){const e=await V(r.url);if(!r.connectionParams)return e;const o=`${e.includes("?")?"&":"?"}connectionParams=1`;return e+o}async function Ke(r,e){const t={method:"connectionParams",data:await V(r)};return e.encode(t)}p(_(),1);var h=p(_(),1);function ze(r){const{promise:e,resolve:t,reject:o}=Ge();return r.addEventListener("open",()=>{r.removeEventListener("error",o),t()}),r.addEventListener("error",o),e}function Fe(r,{intervalMs:e,pongTimeoutMs:t}){let o,n;function i(){o=setTimeout(()=>{r.send("PING"),n=setTimeout(()=>{r.close()},t)},e)}function u(){clearTimeout(o),i()}function s(){clearTimeout(n),u()}r.addEventListener("open",i),r.addEventListener("message",({data:c})=>{clearTimeout(o),i(),c==="PONG"&&s()}),r.addEventListener("close",()=>{clearTimeout(o),clearTimeout(n)})}var Be=class N{constructor(e){var t;if((0,h.default)(this,"id",++N.connectCount),(0,h.default)(this,"WebSocketPonyfill",void 0),(0,h.default)(this,"urlOptions",void 0),(0,h.default)(this,"keepAliveOpts",void 0),(0,h.default)(this,"encoder",void 0),(0,h.default)(this,"wsObservable",pe(null)),(0,h.default)(this,"openPromise",null),this.WebSocketPonyfill=(t=e.WebSocketPonyfill)!==null&&t!==void 0?t:WebSocket,!this.WebSocketPonyfill)throw new Error("No WebSocket implementation found - you probably don't want to use this on the server, but if you do you need to pass a `WebSocket`-ponyfill");this.urlOptions=e.urlOptions,this.keepAliveOpts=e.keepAlive,this.encoder=e.encoder}get ws(){return this.wsObservable.get()}set ws(e){this.wsObservable.next(e)}isOpen(){return!!this.ws&&this.ws.readyState===this.WebSocketPonyfill.OPEN&&!this.openPromise}isClosed(){return!!this.ws&&(this.ws.readyState===this.WebSocketPonyfill.CLOSING||this.ws.readyState===this.WebSocketPonyfill.CLOSED)}async open(){var e=this;if(e.openPromise)return e.openPromise;e.id=++N.connectCount;const t=Ue(e.urlOptions).then(o=>new e.WebSocketPonyfill(o));e.openPromise=t.then(async o=>{e.ws=o,o.binaryType="arraybuffer",o.addEventListener("message",function({data:n}){n==="PING"&&this.send("PONG")}),e.keepAliveOpts.enabled&&Fe(o,e.keepAliveOpts),o.addEventListener("close",()=>{e.ws===o&&(e.ws=null)}),await ze(o),e.urlOptions.connectionParams&&o.send(await Ke(e.urlOptions.connectionParams,e.encoder))});try{await e.openPromise}finally{e.openPromise=null}}async close(){var e=this;try{await e.openPromise}finally{var t;(t=e.ws)===null||t===void 0||t.close()}}};(0,h.default)(Be,"connectCount",0);p(_(),1);p(y(),1);var M=p(_(),1),G=p(y(),1),Je=class{constructor(r){(0,M.default)(this,"links",void 0),(0,M.default)(this,"runtime",void 0),(0,M.default)(this,"requestId",void 0),this.requestId=0,this.runtime={},this.links=r.links.map(e=>e(this.runtime))}$request(r){var e;return fe({links:this.links,op:(0,G.default)((0,G.default)({},r),{},{context:(e=r.context)!==null&&e!==void 0?e:{},id:++this.requestId})}).pipe(le())}async requestAsPromise(r){var e=this;try{const t=e.$request(r);return(await ae(t)).result.data}catch(t){throw C.from(t)}}query(r,e,t){return this.requestAsPromise({type:"query",path:r,input:e,context:t==null?void 0:t.context,signal:t==null?void 0:t.signal})}mutation(r,e,t){return this.requestAsPromise({type:"mutation",path:r,input:e,context:t==null?void 0:t.context,signal:t==null?void 0:t.signal})}subscription(r,e,t){return this.$request({type:"subscription",path:r,input:e,context:t.context,signal:t.signal}).subscribe({next(n){switch(n.result.type){case"state":{var i;(i=t.onConnectionStateChange)===null||i===void 0||i.call(t,n.result);break}case"started":{var u;(u=t.onStarted)===null||u===void 0||u.call(t,{context:n.context});break}case"stopped":{var s;(s=t.onStopped)===null||s===void 0||s.call(t);break}case"data":case void 0:{var c;(c=t.onData)===null||c===void 0||c.call(t,n.result.data);break}}},error(n){var i;(i=t.onError)===null||i===void 0||i.call(t,n)},complete(){var n;(n=t.onComplete)===null||n===void 0||n.call(t)}})}};const Ye=Symbol.for("trpc_untypedClient"),Qe={query:"query",mutate:"mutation",subscribe:"subscription"},Xe=r=>Qe[r];function Ze(r){const e=xe(({path:t,args:o})=>{const n=[...t],i=Xe(n.pop()),u=n.join(".");return r[i](u,...o)});return _e(t=>t===Ye?r:e[t])}function Ve(r){const e=new Je(r);return Ze(e)}p(y(),1);p(y(),1);var er=v({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/asyncIterator.js"(r,e){function t(n){var i,u,s,c=2;for(typeof Symbol<"u"&&(u=Symbol.asyncIterator,s=Symbol.iterator);c--;){if(u&&(i=n[u])!=null)return i.call(n);if(s&&(i=n[s])!=null)return new o(i.call(n));u="@@asyncIterator",s="@@iterator"}throw new TypeError("Object is not async iterable")}function o(n){function i(u){if(Object(u)!==u)return Promise.reject(new TypeError(u+" is not an object."));var s=u.done;return Promise.resolve(u.value).then(function(c){return{value:c,done:s}})}return o=function(s){this.s=s,this.n=s.next},o.prototype={s:null,n:null,next:function(){return i(this.n.apply(this.s,arguments))},return:function(s){var c=this.s.return;return c===void 0?Promise.resolve({value:s,done:!0}):i(c.apply(this.s,arguments))},throw:function(s){var c=this.s.return;return c===void 0?Promise.reject(s):i(c.apply(this.s,arguments))}},new o(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}});p(er(),1);p(y(),1);var rr=v({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js"(r,e){function t(){var o=typeof SuppressedError=="function"?SuppressedError:function(s,c){var a=Error();return a.name="SuppressedError",a.error=s,a.suppressed=c,a},n={},i=[];function u(s,c){if(c!=null){if(Object(c)!==c)throw new TypeError("using declarations can only be used with objects, functions, null, or undefined.");if(s)var a=c[Symbol.asyncDispose||Symbol.for("Symbol.asyncDispose")];if(a===void 0&&(a=c[Symbol.dispose||Symbol.for("Symbol.dispose")],s))var l=a;if(typeof a!="function")throw new TypeError("Object is not disposable.");l&&(a=function(){try{l.call(c)}catch(b){return Promise.reject(b)}}),i.push({v:c,d:a,a:s})}else s&&i.push({d:c,a:s});return c}return{e:n,u:u.bind(null,!1),a:u.bind(null,!0),d:function(){var c,a=this.e,l=0;function f(){for(;c=i.pop();)try{if(!c.a&&l===1)return l=0,i.push(c),Promise.resolve().then(f);if(c.d){var d=c.d.call(c.v);if(c.a)return l|=2,Promise.resolve(d).then(f,b)}else l|=1}catch(x){return b(x)}if(l===1)return a!==n?Promise.reject(a):Promise.resolve();if(a!==n)throw a}function b(d){return a=a!==n?new o(d,a):d,f()}return f()}}}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}}),ee=v({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/OverloadYield.js"(r,e){function t(o,n){this.v=o,this.k=n}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}}),tr=v({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/awaitAsyncGenerator.js"(r,e){var t=ee();function o(n){return new t(n,0)}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports}}),nr=v({"../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/wrapAsyncGenerator.js"(r,e){var t=ee();function o(i){return function(){return new n(i.apply(this,arguments))}}function n(i){var u,s;function c(l,f){try{var b=i[l](f),d=b.value,x=d instanceof t;Promise.resolve(x?d.v:d).then(function(m){if(x){var $=l==="return"?"return":"next";if(!d.k||m.done)return c($,m);m=i[$](m).value}a(b.done?"return":"normal",m)},function(m){c("throw",m)})}catch(m){a("throw",m)}}function a(l,f){switch(l){case"return":u.resolve({value:f,done:!0});break;case"throw":u.reject(f);break;default:u.resolve({value:f,done:!1})}(u=u.next)?c(u.key,u.arg):s=null}this._invoke=function(l,f){return new Promise(function(b,d){var x={key:l,arg:f,resolve:b,reject:d,next:null};s?s=s.next=x:(u=s=x,c(l,f))})},typeof i.return!="function"&&(this.return=void 0)}n.prototype[typeof Symbol=="function"&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},n.prototype.next=function(i){return this._invoke("next",i)},n.prototype.throw=function(i){return this._invoke("throw",i)},n.prototype.return=function(i){return this._invoke("return",i)},e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports}});p(rr(),1);p(tr(),1);p(nr(),1);p(y(),1);const or=A.PUBLIC_TRPC_URL??`http://${A.PUBLIC_TRPC_HOSTNAME??"localhost"}:${A.PUBLIC_TRPC_PORT??"2022"}`,ir=Ve({links:[We({url:or})]});export{A as e,ir as t};
@@ -1 +0,0 @@
1
- var N=t=>{throw TypeError(t)};var W=(t,e,n)=>e.has(t)||N("Cannot "+n);var i=(t,e,n)=>(W(t,e,"read from private field"),n?n.call(t):e.get(t)),u=(t,e,n)=>e.has(t)?N("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n);import{o as I}from"./DnMQeiTY.js";import{w as f,j as d,y as h}from"./CR-uVjxM.js";import{w as q}from"./DNvczHUR.js";import{b as X}from"./B0XwC4Ot.js";const z="1788427624840";var $;const M=(($=globalThis.__sveltekit_j2c3i6)==null?void 0:$.base)??"";var V;const F=((V=globalThis.__sveltekit_j2c3i6)==null?void 0:V.assets)??M??"";new URL("sveltekit-internal://");function ce(t,e){return t==="/"||e==="ignore"?t:e==="never"?t.endsWith("/")?t.slice(0,-1):t:e==="always"&&!t.endsWith("/")?t+"/":t}function ue(t){return t.split("%25").map(decodeURI).join("%25")}function fe(t){for(const e in t)t[e]=decodeURIComponent(t[e]);return t}function de({href:t}){return t.split("#")[0]}function he(t,e,n,r=!1){const s=new URL(t);Object.defineProperty(s,"searchParams",{value:new Proxy(s.searchParams,{get(o,a){if(a==="get"||a==="getAll"||a==="has")return(E,...J)=>(n(E),o[a](E,...J));e();const c=Reflect.get(o,a);return typeof c=="function"?c.bind(o):c}}),enumerable:!0,configurable:!0});const l=["href","pathname","search","toString","toJSON"];r&&l.push("hash");for(const o of l)Object.defineProperty(s,o,{get(){return e(),t[o]},enumerable:!0,configurable:!0});return s}function Q(){}function Z(...t){let e=5381;for(const n of t)if(typeof n=="string"){let r=n.length;for(;r;)e=e*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let s=r.length;for(;s;)e=e*33^r[--s]}else throw new TypeError("value must be a string or TypedArray");return(e>>>0).toString(36)}const ee=window.fetch;window.fetch=(t,e)=>((t instanceof Request?t.method:(e==null?void 0:e.method)||"GET")!=="GET"&&_.delete(O(t)),ee(t,e));const _=new Map;function ge(t,e){const n=O(t,e),r=document.querySelector(n);if(r!=null&&r.textContent){r.remove();let{body:s,...l}=JSON.parse(r.textContent);r.getAttribute("data-b64")!==null&&(s=X(s));const a=r.getAttribute("data-ttl");return a&&_.set(n,{body:s,init:l,ttl:1e3*Number(a)}),Promise.resolve(new Response(s,l))}return window.fetch(t,e)}function _e(t,e,n){if(_.size>0){const r=O(t,n),s=_.get(r);if(s){if(performance.now()<s.ttl&&["default","force-cache","only-if-cached",void 0].includes(n==null?void 0:n.cache))return new Response(s.body,s.init);_.delete(r)}}return window.fetch(e,n)}function O(t,e){let r=`script[data-sveltekit-fetched][data-url=${JSON.stringify(t instanceof Request?t.url:t)}]`;if(e!=null&&e.headers||e!=null&&e.body){const s=[];e.headers&&s.push([...new Headers(e.headers)].join(",")),e.body&&(typeof e.body=="string"||ArrayBuffer.isView(e.body))&&s.push(e.body),r+=`[data-hash="${Z(...s)}"]`}return r}const be="sveltekit:snapshot",pe="sveltekit:scroll",me="sveltekit:states",we="sveltekit:pageurl",ve="sveltekit:history",ye="sveltekit:navigation",L={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},H=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...H];const te=new Set([...H]);[...te];const K=location.origin;function Re(t){if(t instanceof URL)return t;let e=document.baseURI;if(!e){const n=document.getElementsByTagName("base");e=n.length?n[0].href:document.URL}return new URL(t,e)}function Se(){return{x:pageXOffset,y:pageYOffset}}function g(t,e){return t.getAttribute(`data-sveltekit-${e}`)}const P={...L,"":L.hover};function B(t){let e=t.assignedSlot??t.parentNode;return(e==null?void 0:e.nodeType)===11&&(e=e.host),e}function Ae(t,e){for(;t&&t!==e;){if(t.nodeName.toUpperCase()==="A"&&t.hasAttribute("href"))return t;t=B(t)}}function ke(t,e,n){let r;try{if(r=new URL(t instanceof SVGAElement?t.href.baseVal:t.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){const a=location.hash.split("#")[1]||"/";r.hash=`#${a}${r.hash}`}}catch{}const s=t instanceof SVGAElement?t.target.baseVal:t.target,l=!r||!!s||ne(r,e,n)||(t.getAttribute("rel")||"").split(/\s+/).includes("external"),o=(r==null?void 0:r.origin)===K&&t.hasAttribute("download");return{url:r,external:l,target:s,download:o}}function Ee(t){let e=null,n=null,r=null,s=null,l=null,o=null,a=t;for(;a&&a!==document.documentElement;)r===null&&(r=g(a,"preload-code")),s===null&&(s=g(a,"preload-data")),e===null&&(e=g(a,"keepfocus")),n===null&&(n=g(a,"noscroll")),l===null&&(l=g(a,"reload")),o===null&&(o=g(a,"replacestate")),a=B(a);function c(E){switch(E){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:P[r??"off"],preload_data:P[s??"off"],keepfocus:c(e),noscroll:c(n),reload:c(l),replace_state:c(o)}}function Te(t){const e=q(t);let n=!0;function r(){n=!0,e.update(o=>o)}function s(o){n=!1,e.set(o)}function l(o){let a;return e.subscribe(c=>{(a===void 0||n&&c!==a)&&o(a=c)})}return{notify:r,set:s,subscribe:l}}const D={v:Q};function Ue(){const{set:t,subscribe:e}=q(!1);let n;async function r(){clearTimeout(n);try{const s=await fetch(`${F}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!s.ok)return!1;const o=(await s.json()).version!==z;return o&&(t(!0),D.v(),clearTimeout(n)),o}catch{return!1}}return{subscribe:e,check:r}}function ne(t,e,n){return t.origin!==K||!t.pathname.startsWith(e)?!0:n?t.pathname!==location.pathname:!1}function Oe(t){}let U,x,T;const re=I.toString().includes("$$")||/function \w+\(\) \{\}/.test(I.toString()),j="a:";var b,p,m,w,v,y,R,S,C,A,G,k,Y;re?(U={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(j)},x={current:null},T={current:!1}):(U=new(C=class{constructor(){u(this,b,f({}));u(this,p,f(null));u(this,m,f(null));u(this,w,f({}));u(this,v,f({id:null}));u(this,y,f({}));u(this,R,f(-1));u(this,S,f(new URL(j)))}get data(){return d(i(this,b))}set data(e){h(i(this,b),e)}get form(){return d(i(this,p))}set form(e){h(i(this,p),e)}get error(){return d(i(this,m))}set error(e){h(i(this,m),e)}get params(){return d(i(this,w))}set params(e){h(i(this,w),e)}get route(){return d(i(this,v))}set route(e){h(i(this,v),e)}get state(){return d(i(this,y))}set state(e){h(i(this,y),e)}get status(){return d(i(this,R))}set status(e){h(i(this,R),e)}get url(){return d(i(this,S))}set url(e){h(i(this,S),e)}},b=new WeakMap,p=new WeakMap,m=new WeakMap,w=new WeakMap,v=new WeakMap,y=new WeakMap,R=new WeakMap,S=new WeakMap,C),x=new(G=class{constructor(){u(this,A,f(null))}get current(){return d(i(this,A))}set current(e){h(i(this,A),e)}},A=new WeakMap,G),T=new(Y=class{constructor(){u(this,k,f(!1))}get current(){return d(i(this,k))}set current(e){h(i(this,k),e)}},k=new WeakMap,Y),D.v=()=>T.current=!0);function Pe(t){Object.assign(U,t)}export{ve as H,ye as N,we as P,me as S,x as a,M as b,Ee as c,de as d,fe as e,Ae as f,ke as g,ce as h,ne as i,Ue as j,Te as k,L as l,he as m,Q as n,K as o,U as p,ue as q,Re as r,Se as s,be as t,Pe as u,_e as v,ge as w,pe as x,Oe as y};
@@ -1 +0,0 @@
1
- import{a as r}from"../chunks/BwC8XjMu.js";import{y as t}from"../chunks/dqHFzkrz.js";export{t as load_css,r as start};