@surething/cockpit 1.0.246 → 1.0.248

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 (49) hide show
  1. package/.next-prod/BUILD_ID +1 -1
  2. package/.next-prod/app-path-routes-manifest.json +1 -1
  3. package/.next-prod/build-manifest.json +2 -2
  4. package/.next-prod/prerender-manifest.json +3 -3
  5. package/.next-prod/server/app/_global-error/page_client-reference-manifest.js +1 -1
  6. package/.next-prod/server/app/_global-error.html +1 -1
  7. package/.next-prod/server/app/_global-error.rsc +1 -1
  8. package/.next-prod/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next-prod/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  10. package/.next-prod/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  11. package/.next-prod/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/.next-prod/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/.next-prod/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next-prod/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next-prod/server/app/_not-found.html +2 -2
  16. package/.next-prod/server/app/_not-found.rsc +2 -2
  17. package/.next-prod/server/app/_not-found.segments/_full.segment.rsc +2 -2
  18. package/.next-prod/server/app/_not-found.segments/_head.segment.rsc +1 -1
  19. package/.next-prod/server/app/_not-found.segments/_index.segment.rsc +2 -2
  20. package/.next-prod/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  21. package/.next-prod/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  22. package/.next-prod/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  23. package/.next-prod/server/app/apps/[...path]/route.js +1 -1
  24. package/.next-prod/server/app/m/page_client-reference-manifest.js +1 -1
  25. package/.next-prod/server/app/page_client-reference-manifest.js +1 -1
  26. package/.next-prod/server/app/project/page_client-reference-manifest.js +1 -1
  27. package/.next-prod/server/app/review/[id]/page_client-reference-manifest.js +1 -1
  28. package/.next-prod/server/app-paths-manifest.json +1 -1
  29. package/.next-prod/server/chunks/4848.js +68 -13
  30. package/.next-prod/server/chunks/6023.js +1 -1
  31. package/.next-prod/server/chunks/6038.js +1 -1
  32. package/.next-prod/server/chunks/9658.js +3 -3
  33. package/.next-prod/server/middleware-build-manifest.js +1 -1
  34. package/.next-prod/server/pages/404.html +2 -2
  35. package/.next-prod/server/pages/500.html +1 -1
  36. package/.next-prod/server/server-reference-manifest.json +1 -1
  37. package/.next-prod/static/chunks/{1332-5e141e2acf28015a.js → 1332-91582e67c3634f37.js} +1 -1
  38. package/.next-prod/static/chunks/{6784-59c6418d36cf5a13.js → 6784-4a7131705a94a485.js} +0 -0
  39. package/.next-prod/static/chunks/{8010-75928e3e1e85c88e.js → 8010-feeef81a0401286a.js} +1 -1
  40. package/.next-prod/static/chunks/{9530-9a02795e0607577c.js → 9530-7b59ce2b030911c6.js} +1 -1
  41. package/.next-prod/trace +14 -14
  42. package/.next-prod/trace-build +1 -1
  43. package/dist/scheduledTasks.mjs +70 -37
  44. package/package.json +2 -1
  45. package/public/html-lib/json-viewer.js +1 -1
  46. package/public/html-lib/markdown.js +93 -96
  47. package/public/html-lib/pdf-viewer.js +1 -1
  48. /package/.next-prod/static/{D0hP0hbht20IrPe7xUl96 → 16e9CEOqCbMBCySF862ss}/_buildManifest.js +0 -0
  49. /package/.next-prod/static/{D0hP0hbht20IrPe7xUl96 → 16e9CEOqCbMBCySF862ss}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- [{"name":"run-webpack","duration":20135011,"timestamp":231972800,"id":14,"parentId":1,"tags":{},"startTime":1784649630208,"traceId":"52a5069f4f19e633"},{"name":"run-typescript","duration":19780339,"timestamp":252118551,"id":1661,"parentId":1,"tags":{},"startTime":1784649650353,"traceId":"52a5069f4f19e633"},{"name":"static-check","duration":1210661,"timestamp":271946790,"id":1664,"parentId":1,"tags":{},"startTime":1784649670182,"traceId":"52a5069f4f19e633"},{"name":"static-generation","duration":6587852,"timestamp":273289324,"id":1950,"parentId":1,"tags":{},"startTime":1784649671524,"traceId":"52a5069f4f19e633"},{"name":"collect-build-traces","duration":20517189,"timestamp":273158132,"id":1947,"parentId":1,"tags":{},"startTime":1784649671393,"traceId":"52a5069f4f19e633"},{"name":"telemetry-flush","duration":83,"timestamp":293679411,"id":1959,"parentId":1,"tags":{},"startTime":1784649691914,"traceId":"52a5069f4f19e633"},{"name":"next-build","duration":61884200,"timestamp":231795310,"id":1,"tags":{"buildMode":"default","version":"16.2.6","bundler":"webpack","has-custom-webpack-config":"true","use-build-worker":"false"},"startTime":1784649630030,"traceId":"52a5069f4f19e633"}]
1
+ [{"name":"run-webpack","duration":19542636,"timestamp":265259864,"id":14,"parentId":1,"tags":{},"startTime":1784734691672,"traceId":"6e82f9e117ec3c81"},{"name":"run-typescript","duration":18233820,"timestamp":284806379,"id":1661,"parentId":1,"tags":{},"startTime":1784734711218,"traceId":"6e82f9e117ec3c81"},{"name":"static-check","duration":1143131,"timestamp":303082866,"id":1664,"parentId":1,"tags":{},"startTime":1784734729495,"traceId":"6e82f9e117ec3c81"},{"name":"static-generation","duration":6391359,"timestamp":304328236,"id":1950,"parentId":1,"tags":{},"startTime":1784734730740,"traceId":"6e82f9e117ec3c81"},{"name":"collect-build-traces","duration":19716907,"timestamp":304226644,"id":1947,"parentId":1,"tags":{},"startTime":1784734730639,"traceId":"6e82f9e117ec3c81"},{"name":"telemetry-flush","duration":57,"timestamp":323948071,"id":1959,"parentId":1,"tags":{},"startTime":1784734750360,"traceId":"6e82f9e117ec3c81"},{"name":"next-build","duration":58859929,"timestamp":265088212,"id":1,"tags":{"buildMode":"default","version":"16.2.6","bundler":"webpack","has-custom-webpack-config":"true","use-build-worker":"false"},"startTime":1784734691500,"traceId":"6e82f9e117ec3c81"}]
@@ -186,8 +186,6 @@ Always update it with the Edit tool (Write only when first creating it),
186
186
  never through shell redirection.`;
187
187
 
188
188
  // packages/feature/agent/src/server/lib/ccPrompt.ts
189
- var CC_LABEL_ZH = "\u4EFB\u52A1\uFF1A";
190
- var CC_LABEL_EN = "Task: ";
191
189
  var CC_PROMPT_ZH = `---
192
190
  name: cc
193
191
  description: "\u8FDB\u5165 Cockpit CLI\uFF08cock/cockpit \u5B50\u547D\u4EE4\uFF09\u64CD\u4F5C\u6A21\u5F0F\uFF1A\u901A\u8FC7\u7626\u5BA2\u6237\u7AEF\u9A71\u52A8\u672C\u673A server \u7684 terminal/browser \u6C14\u6CE1\u4E0E codegraph \u7B49\u5B50\u547D\u4EE4\u3002"
@@ -320,8 +318,6 @@ cockpit codegraph <subsubcmd> --help
320
318
  \`\`\``;
321
319
 
322
320
  // packages/feature/agent/src/server/lib/cgPrompt.ts
323
- var CG_LABEL_ZH = "\u63A2\u7D22\u95EE\u9898\uFF1A";
324
- var CG_LABEL_EN = "Exploration: ";
325
321
  var CG_PROMPT_ZH = `---
326
322
  name: cg
327
323
  description: "\u8FDB\u5165\u9879\u76EE\u56FE\u8C31\uFF08CodeGraph\uFF09\u63A2\u7D22\u6A21\u5F0F\uFF1A\u7528\u9884\u5EFA\u7684\u7B26\u53F7 + \u8C03\u7528\u56FE + git \u534F\u540C\u89C6\u56FE\uFF08search/callers/callees/impact/file/coedit + context/related/risk/affected\uFF09\u8FFD\u4EE3\u7801\u3001\u8BC4\u4F30\u5F71\u54CD\u8303\u56F4\uFF0C\u8FD4\u56DE\u5750\u6807\u800C\u975E\u6E90\u7801\u3002"
@@ -1162,12 +1158,27 @@ argument-hint: "\u63CF\u8FF0\u4F60\u60F3\u8981\u7684\u5C0F\u5E94\u7528"
1162
1158
  # \u751F\u6210 Cockpit \u5C0F\u5E94\u7528
1163
1159
 
1164
1160
  \u4E00\u4E2A\u80FD\u53D6/\u6539\u6570\u636E\u7684\u5C0F\u5E94\u7528\uFF1A\u9884\u89C8\u65F6\u6CE8\u5165\u4E86\u5168\u5C40 \`window.cockpit\` SDK \u2014\u2014 \u672C\u8D28\u5C31\u662F Bash
1165
- \u5DE5\u5177\u66B4\u9732\u7ED9\u9875\u9762\uFF0C\u9875\u9762\u6309\u94AE\u80FD \`curl\`\u3001\u8BFB\u5199\u6587\u4EF6\u3001\u8DD1\u811A\u672C\u3002\u7528 \`Write\` \u751F\u6210\u6587\u4EF6\u3002
1161
+ \u5DE5\u5177\u66B4\u9732\u7ED9\u9875\u9762\uFF0C\u9875\u9762\u6309\u94AE\u80FD \`curl\`\u3001\u8BFB\u5199\u6587\u4EF6\u3001\u8DD1\u811A\u672C\u3002
1166
1162
 
1167
1163
  **\u9ED8\u8BA4\u7528 React \u5199**\uFF08\u4E0B\u9762\u7684\u672C\u5730\u96F6\u6784\u5EFA\u6808\uFF0Cproductized\u3001AI \u6700\u719F\uFF0C\u9002\u5408\u6709\u72B6\u6001 / \u591A\u89C6\u56FE /
1168
1164
  \u8868\u5355\uFF09\uFF1B\u53EA\u6709**\u6781\u7B80\u5355\u7684\u5355\u89C6\u56FE\u3001\u6216\u7EAF\u9759\u6001\u4E00\u6B21\u6027\u9875**\u624D\u9000\u56DE\u5355\u6587\u4EF6\u5185\u8054 HTML\u3002\u4E24\u79CD\u6A21\u5F0F\u5171\u7528\u4E0B\u9762
1169
1165
  \u8FD9\u5957\u5951\u7EA6\u3002
1170
1166
 
1167
+ ## \u6D41\u7A0B\uFF1A\u5148\u5BF9\u9F50\uFF0C\u786E\u8BA4\u540E\u518D\u5199\uFF08\u91CD\u8981\uFF09
1168
+
1169
+ **\u522B\u4E00\u4E0A\u6765\u5C31\u5199\u6587\u4EF6**\uFF0C\u5206\u4E09\u6B65\uFF1A
1170
+
1171
+ 1. **\u5BF9\u9F50\u9700\u6C42** \u2014\u2014 \u5148\u590D\u8FF0\u4F60\u5BF9\u8FD9\u4E2A\u5C0F\u5E94\u7528\u7684\u7406\u89E3\uFF08\u505A\u4EC0\u4E48\u3001\u7528 React \u8FD8\u662F\u5355\u6587\u4EF6\u3001\u6570\u636E\u4ECE\u54EA\u6765\u3001
1172
+ \u5173\u952E\u529F\u80FD\u4E0E\u4EA4\u4E92\uFF09\u3002\u4EC5\u5F53\u9700\u6C42\u6709\u6B67\u4E49\u6216\u5B58\u5728\u591A\u79CD\u5408\u7406\u89E3\u8BFB\u65F6\u624D\u56DE\u95EE\uFF1B\u5DF2\u7ECF\u6E05\u695A\u5C31\u76F4\u63A5\u7ED9\u4E00\u6BB5\u7B80\u77ED
1173
+ \u7684\u7406\u89E3\u6458\u8981\uFF0C\u4E0D\u5FC5\u9010\u6761\u8FFD\u95EE\u3002
1174
+ 2. **\u544A\u77E5\u5B58\u653E\u76EE\u5F55** \u2014\u2014 \u6309\u4E0B\u9762\u300C\u5B58\u653E\u4F4D\u7F6E\u300D\u89C4\u5219\u5B9A\u51FA \`<\u76EE\u5F55>/<name>/\`\uFF0C\u660E\u786E\u544A\u8BC9\u7528\u6237\u51C6\u5907\u5B58\u54EA\u3001
1175
+ \u53EB\u4EC0\u4E48\u540D\uFF1B\u7528\u6237\u53EF\u5426\u51B3\u6216\u6539\u76EE\u5F55 / \u6539\u540D\u3002
1176
+ 3. **\u786E\u8BA4\u540E\u624D\u5199** \u2014\u2014 \u7B49\u7528\u6237\u660E\u786E\u540C\u610F\uFF08\u786E\u8BA4 / \u5F00\u59CB / \u5199\u5427 / go \u7B49\u4EFB\u610F\u80AF\u5B9A\u8868\u793A\uFF09\u518D \`Write\`
1177
+ \u843D\u76D8\u3002\u786E\u8BA4\u4E4B\u524D\u53EA\u8BA8\u8BBA\u3001\u4E0D\u5199\u6587\u4EF6\u3002
1178
+
1179
+ \u5373\u4FBF\u7528\u6237\u5728 \`/html\` \u540E\u5DF2\u7ECF\u628A\u9700\u6C42\u548C\u76EE\u5F55\u90FD\u5199\u6E05\u695A\u4E86\uFF0C\u4E5F\u8981\u5148\u505C\u4E00\u8F6E\uFF0C\u7ED9\u51FA\u300C\u7406\u89E3 + \u76EE\u5F55 + \u4E00\u53E5
1180
+ \u300E\u786E\u8BA4\u5C31\u5F00\u59CB\u5199?\u300F\u300D\u7B49\u5F85\u786E\u8BA4\u2014\u2014\u4F46\u8FD9\u4E00\u8F6E\u8981**\u8F7B\u91CF**\uFF0C\u522B\u53CD\u590D\u8FFD\u95EE\u3002
1181
+
1171
1182
  ## \u5951\u7EA6\uFF1Awindow.cockpit\uFF08\u4E24\u6A21\u5F0F\u5171\u7528\uFF0C\u53EA\u6B64\u4E00\u5904\uFF09
1172
1183
 
1173
1184
  \u9875\u9762\u52A0\u8F7D\u65F6 SDK \u5DF2\u5C31\u7EEA\uFF0C\u65E0\u9700\u5F15\u5165\u4EFB\u4F55\u5E93\uFF1A
@@ -1293,7 +1304,17 @@ function App() {
1293
1304
  </script>
1294
1305
  \`\`\`
1295
1306
 
1296
- \u751F\u6210\u540E\u7528 \`Write\` \u5199\u6210 \`.html\`\uFF0C\u7528\u6237\u70B9\u51FB\u5373\u53EF\u9884\u89C8\u5E76\u4EA4\u4E92\u3002`;
1307
+ ## \u5B58\u653E\u4F4D\u7F6E
1308
+
1309
+ \u4E00\u4E2A app \u7684\u6240\u6709\u6587\u4EF6\uFF08\`index.html\` + \`app.jsx\` + \`api.mjs\` \u2026\uFF09\u653E\u8FDB\u540C\u4E00\u4E2A \`<name>/\`
1310
+ \u5B50\u76EE\u5F55\u3002\`<name>\` **\u4E00\u5F8B\u7531\u4F60\u6309\u9700\u6C42\u8D77\u540D**\uFF08\u77ED\u6A2A\u7EBF\u5C0F\u5199\uFF0C\u4E0E \`cockpit-name\` \u4E00\u81F4\uFF09\uFF0C\u7528\u6237\u53EA
1311
+ \u63CF\u8FF0\u9700\u6C42\u3001\u4E0D\u8D1F\u8D23\u8D77\u540D\u3002\u76EE\u6807\u76EE\u5F55\u6309\u4E0B\u9762\u89C4\u5219\u786E\u5B9A\uFF1A
1312
+
1313
+ - \u7528\u6237\u5728\u9700\u6C42\u91CC\u7ED9\u4E86\u76EE\u5F55 \u2192 \u5B58\u5230 \`<\u7528\u6237\u7ED9\u7684\u76EE\u5F55>/<name>/\`
1314
+ - \u7528\u6237\u6CA1\u7ED9 \u2192 \u5B58\u5230**\u5F53\u524D\u804A\u5929\u5DE5\u4F5C\u76EE\u5F55**\uFF08\u672C\u6B21\u4F1A\u8BDD\u7684 cwd\uFF09\u4E0B\u7684 \`<name>/\`
1315
+
1316
+ \u522B\u628A\u6587\u4EF6\u6563\u843D\u5230\u522B\u5904\u6216\u81EA\u9020 \`.cockpit-apps\` \u4E4B\u7C7B\u76EE\u5F55\u3002\u8FD9\u4E2A\u76EE\u5F55\u5C31\u662F\u4E0A\u9762\u300C\u6D41\u7A0B\u300D\u7B2C 2 \u6B65\u8981\u544A\u77E5\u7528\u6237\u7684\uFF1B**\u7528\u6237\u786E\u8BA4\u540E**\u518D\u7528 \`Write\` \u5199\u51FA\uFF0C\u7528\u6237\u70B9\u51FB
1317
+ \u5373\u53EF\u9884\u89C8\u5E76\u4EA4\u4E92\u3002`;
1297
1318
  var HTML_PROMPT_EN = `---
1298
1319
  name: html
1299
1320
  description: "Generate an interactive small app with the built-in cockpit bash SDK to fetch/update data"
@@ -1304,13 +1325,32 @@ argument-hint: "describe the small app you want"
1304
1325
 
1305
1326
  A small app that can fetch/update data: the preview injects a global
1306
1327
  \`window.cockpit\` SDK \u2014 essentially the Bash tool exposed to the page, so buttons can
1307
- \`curl\`, read/write files, and run scripts. Use \`Write\` to create the file.
1328
+ \`curl\`, read/write files, and run scripts.
1308
1329
 
1309
1330
  **Default to React** (the local zero-build stack below \u2014 productized, most AI-familiar,
1310
1331
  ideal for stateful / multi-view / form apps); fall back to single-file inline HTML only
1311
1332
  for a **trivial single view or a purely static one-off**. Both modes share the one
1312
1333
  contract below.
1313
1334
 
1335
+ ## Flow: align first, write only after confirmation (important)
1336
+
1337
+ **Don't write files up front.** Three steps:
1338
+
1339
+ 1. **Align on the requirement** \u2014 restate your understanding of the app (what it does,
1340
+ React vs single-file, where data comes from, key features/interactions). Ask back only
1341
+ when the requirement is ambiguous or has several reasonable readings; if it's already
1342
+ clear, just give a short understanding summary \u2014 don't interrogate.
1343
+ 2. **Tell the storage directory** \u2014 resolve \`<dir>/<name>/\` per the "Where to store" rules
1344
+ below and tell the user exactly where it'll go and what it's named; the user may reject
1345
+ or change the directory / name.
1346
+ 3. **Write only after confirmation** \u2014 \`Write\` the files only once the user clearly agrees
1347
+ (confirm / start / go / "write it" \u2014 any affirmative). Until then, only discuss \u2014 write
1348
+ nothing to disk.
1349
+
1350
+ Even if the user already spelled out the requirement and directory in the \`/html\` call,
1351
+ still stop once to present "understanding + directory + a 'shall I start writing?'" and
1352
+ wait \u2014 but keep this round **lightweight**, don't re-interrogate.
1353
+
1314
1354
  ## Contract: window.cockpit (shared by both modes, stated once)
1315
1355
 
1316
1356
  The SDK is ready on load \u2014 no library to import:
@@ -1442,11 +1482,20 @@ Background (live log):
1442
1482
  </script>
1443
1483
  \`\`\`
1444
1484
 
1445
- Write the result to a \`.html\` file with \`Write\`; the user clicks it to preview and interact.`;
1485
+ ## Where to store it
1486
+
1487
+ Put all of an app's files (\`index.html\` + \`app.jsx\` + \`api.mjs\` \u2026) in a single
1488
+ \`<name>/\` subdirectory. **You always pick \`<name>\`** from the request (lowercase
1489
+ kebab-case, matching \`cockpit-name\`) \u2014 the user only describes the app, they don't
1490
+ name it. Resolve the target directory as follows:
1491
+
1492
+ - The user gave a directory in the request \u2192 store under \`<the given directory>/<name>/\`.
1493
+ - The user gave none \u2192 store under the **current chat working directory** (this session's cwd), i.e. \`<cwd>/<name>/\`.
1494
+
1495
+ Don't scatter files elsewhere or invent a directory like \`.cockpit-apps\`. This directory is what step 2 of the flow above tells the user; **after the user confirms**,
1496
+ \`Write\` the files; the user clicks to preview and interact.`;
1446
1497
 
1447
1498
  // packages/feature/agent/src/server/lib/newBranchPrompt.ts
1448
- var NEW_BRANCH_LABEL_ZH = "\u9700\u6C42\uFF1A";
1449
- var NEW_BRANCH_LABEL_EN = "Intent: ";
1450
1499
  var NEW_BRANCH_PROMPT_ZH = `---
1451
1500
  name: new-branch
1452
1501
  description: "\u521B\u5EFA\u4E00\u4E2A\u57FA\u4E8E\u6700\u65B0 origin/main \u7684\u65B0\u5206\u652F\uFF1Afetch \u8FDC\u7AEF \u2192 \u4ECE origin/main \u5207\u51FA\u65B0\u5206\u652F \u2192 \u6821\u9A8C\u5DF2\u4E0E\u8FDC\u7AEF\u540C\u6B65\u3002\u7528\u4E8E\uFF1A\u7528\u6237\u8BF4\u300E\u65B0\u5EFA\u5206\u652F / \u521B\u5EFA\u5206\u652F / new branch\u300F\uFF0C\u5E0C\u671B\u65B0\u5206\u652F\u5E72\u51C0\u5730\u8D77\u6B65\u4E8E\u6700\u65B0\u4E3B\u5E72\u3002"
@@ -1599,8 +1648,6 @@ Follow the KISS principle.
1599
1648
  Output your understanding only; do not modify code.`;
1600
1649
 
1601
1650
  // packages/feature/agent/src/server/lib/skillifyPrompt.ts
1602
- var SKILLIFY_LABEL_ZH = "\u76EE\u6807\uFF1A";
1603
- var SKILLIFY_LABEL_EN = "Target: ";
1604
1651
  var SKILLIFY_PROMPT_ZH = `---
1605
1652
  name: skillify
1606
1653
  description: "\u628A\u4E00\u6B21\u6210\u529F\u7684\u5904\u7406\u6D41\u7A0B / \u8C03\u7814\u65B9\u5F0F / \u5DE5\u5177\u7EC4\u5408 / \u4E60\u60EF\uFF0C\u6C89\u6DC0\u6210\u4E00\u4E2A\u53EF\u590D\u7528\u7684 Skill\u3002\u5148\u5206\u6790\u5386\u53F2\u4F1A\u8BDD\u6709\u6CA1\u6709\u503C\u5F97\u63D0\u53D6\u7684\u77E5\u8BC6\uFF0C\u518D\u63D0\u70BC\uFF0C\u6700\u540E\u6309\u6307\u5B9A\u76EE\u5F55\u4FDD\u5B58\u3002"
@@ -1620,7 +1667,7 @@ argument-hint: "[\u653E\u7F6E\u76EE\u5F55] [\u8981 skillify \u7684\u5BF9\u8C61]"
1620
1667
 
1621
1668
  ## \u53C2\u6570\uFF08\u90FD\u53EF\u9009\uFF0C\u4FDD\u5B58\u65F6\u624D\u7528\uFF09
1622
1669
 
1623
- - **\u5C3E\u968F\u6587\u672C**\uFF08\`\u76EE\u6807\uFF1A\`\u540E\u9762\u90A3\u6BB5\uFF09= \u60F3 skillify \u7684\u5BF9\u8C61 / \u7EBF\u7D22\uFF1B\u4E0D\u7ED9\u5C31\u4ECE\u6700\u8FD1\u4E0A\u4E0B\u6587\u91CC\u81EA\u52A8\u63D0\u70BC\u3002
1670
+ - **\u5C3E\u968F\u6587\u672C**\uFF08\`/skillify\` \u540E\u9762\u90A3\u6BB5\uFF09= \u60F3 skillify \u7684\u5BF9\u8C61 / \u7EBF\u7D22\uFF1B\u4E0D\u7ED9\u5C31\u4ECE\u6700\u8FD1\u4E0A\u4E0B\u6587\u91CC\u81EA\u52A8\u63D0\u70BC\u3002
1624
1671
  - **\u653E\u7F6E\u76EE\u5F55 \`<skills-dir>\`** = skill \u843D\u76D8\u4F4D\u7F6E\uFF0Ccanonical source \u5199\u5230 \`<skills-dir>/<slug>/SKILL.md\`\u3002**\u5230"\u4FDD\u5B58"\u90A3\u4E00\u6B65\u624D\u9700\u8981**\uFF1B\u7528\u6237\u6CA1\u7ED9\u518D\u95EE\uFF0C\u4E0D\u8981\u5728\u5206\u6790\u524D\u5C31\u5148\u95EE\u3002
1625
1672
 
1626
1673
  ## \u7B2C 1 \u6B65\uFF1A\u5206\u6790 \u2014\u2014 \u6709\u6CA1\u6709\u503C\u5F97\u6C89\u6DC0\u7684\u77E5\u8BC6\uFF08\u626B\u63CF \u2192 \u95F8\u95E8\uFF09
@@ -1806,7 +1853,7 @@ Core goal: **turn a one-time success into a stable procedure, not copy a transie
1806
1853
 
1807
1854
  ## Arguments (all optional; used only at save time)
1808
1855
 
1809
- - **Trailing text** (after \`Target: \`) = the object / lead to skillify; if omitted, distil from recent context.
1856
+ - **Trailing text** (after \`/skillify\`) = the object / lead to skillify; if omitted, distil from recent context.
1810
1857
  - **Placement directory \`<skills-dir>\`** = where the skill lands; the canonical source goes to \`<skills-dir>/<slug>/SKILL.md\`. **Only needed at the "save" step**; ask only if the user hasn't provided it \u2014 never ask before analysis.
1811
1858
 
1812
1859
  ## Step 1: Analyze \u2014 is there knowledge worth capturing (scan \u2192 gate)
@@ -1982,21 +2029,11 @@ var COMMAND_CONTENT = {
1982
2029
  ex: { zh: EX_PROMPT_ZH, en: EX_PROMPT_EN },
1983
2030
  go: { zh: GO_PROMPT_ZH, en: GO_PROMPT_EN },
1984
2031
  html: { zh: HTML_PROMPT_ZH, en: HTML_PROMPT_EN },
1985
- cg: { zh: CG_PROMPT_ZH, en: CG_PROMPT_EN, labelZh: CG_LABEL_ZH, labelEn: CG_LABEL_EN },
1986
- cc: { zh: CC_PROMPT_ZH, en: CC_PROMPT_EN, labelZh: CC_LABEL_ZH, labelEn: CC_LABEL_EN },
2032
+ cg: { zh: CG_PROMPT_ZH, en: CG_PROMPT_EN },
2033
+ cc: { zh: CC_PROMPT_ZH, en: CC_PROMPT_EN },
1987
2034
  cr: { zh: CR_PROMPT_ZH, en: CR_PROMPT_EN },
1988
- "new-branch": {
1989
- zh: NEW_BRANCH_PROMPT_ZH,
1990
- en: NEW_BRANCH_PROMPT_EN,
1991
- labelZh: NEW_BRANCH_LABEL_ZH,
1992
- labelEn: NEW_BRANCH_LABEL_EN
1993
- },
1994
- skillify: {
1995
- zh: SKILLIFY_PROMPT_ZH,
1996
- en: SKILLIFY_PROMPT_EN,
1997
- labelZh: SKILLIFY_LABEL_ZH,
1998
- labelEn: SKILLIFY_LABEL_EN
1999
- }
2035
+ "new-branch": { zh: NEW_BRANCH_PROMPT_ZH, en: NEW_BRANCH_PROMPT_EN },
2036
+ skillify: { zh: SKILLIFY_PROMPT_ZH, en: SKILLIFY_PROMPT_EN }
2000
2037
  };
2001
2038
  var BUILTIN_SKILLS_DIR = join(COCKPIT_DIR, "skills");
2002
2039
  function deriveBaseUrl() {
@@ -2025,17 +2062,18 @@ function resolveCommandPrompt(prompt, language = "en", _req) {
2025
2062
  });
2026
2063
  const baseUrl = deriveBaseUrl();
2027
2064
  const resolved = steps.map((s) => resolveStep(s, lang, baseUrl, userSkills));
2065
+ const then = lang === "zh" ? "\u7136\u540E\uFF1A" : "Then: ";
2028
2066
  if (resolved.length === 1 && resolved[0].marker === "/" && !preamble) {
2029
2067
  const r = resolved[0];
2030
2068
  return r.body ? `${r.pointer}
2031
2069
 
2032
- ${r.label}${r.body}` : r.pointer;
2070
+ ${then}${r.body}` : r.pointer;
2033
2071
  }
2034
2072
  const intro = lang === "zh" ? "\u8BF7\u6309\u4EE5\u4E0B\u6B65\u9AA4\u4F9D\u6B21\u5B8C\u6210\uFF1A" : "Complete the following steps in order:";
2035
2073
  const blocks = resolved.map((r, idx) => {
2036
2074
  const where = stepHeader(idx + 1, r.marker, lang);
2037
2075
  const bodyPart = r.body ? `
2038
- ${r.label}${r.body}` : "";
2076
+ ${then}${r.body}` : "";
2039
2077
  return `${where}
2040
2078
  ${r.pointer}${bodyPart}`;
2041
2079
  });
@@ -2047,13 +2085,13 @@ ${r.pointer}${bodyPart}`;
2047
2085
  function resolveStep(step, lang, baseUrl, userSkills) {
2048
2086
  const skill = userSkills.find((s) => s.name === step.cmd);
2049
2087
  if (skill) {
2050
- return { marker: step.marker, body: step.body, label: "", pointer: readSkillPointer(skill.path, lang) };
2088
+ return { marker: step.marker, body: step.body, pointer: readSkillPointer(skill.path, lang) };
2051
2089
  }
2052
2090
  const entry = COMMAND_CONTENT[step.cmd];
2053
2091
  const content = entry[lang].replaceAll("{{BASE_URL}}", baseUrl);
2054
2092
  const skillPath = writeBuiltinSkill(step.cmd, content);
2055
2093
  const pointer = skillPath ? readSkillPointer(skillPath, lang) : content;
2056
- return { marker: step.marker, body: step.body, label: labelFor(entry, lang), pointer };
2094
+ return { marker: step.marker, body: step.body, pointer };
2057
2095
  }
2058
2096
  function readSkillPointer(skillPath, lang) {
2059
2097
  return lang === "zh" ? `\u8BF7\u8BFB\u53D6\u8FD9\u4E2A skill \u6587\u4EF6\uFF1A
@@ -2102,11 +2140,6 @@ function writeBuiltinSkill(cmd, content) {
2102
2140
  return null;
2103
2141
  }
2104
2142
  }
2105
- function labelFor(entry, lang) {
2106
- const custom2 = lang === "zh" ? entry.labelZh : entry.labelEn;
2107
- if (custom2) return custom2;
2108
- return lang === "zh" ? "\u95EE\u9898\uFF1A" : "Question: ";
2109
- }
2110
2143
 
2111
2144
  // packages/feature/agent/src/server/engines/orchestrator.ts
2112
2145
  import { randomUUID } from "crypto";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@surething/cockpit",
3
- "version": "1.0.246",
3
+ "version": "1.0.248",
4
4
  "description": "The open-source Claude Code GUI — an IDE-like workbench for parallel AI coding. Drive Claude (default), Codex, DeepSeek, Kimi, or local Ollama in tabs. Terminal, browser & DB bubbles, code review. Self-host on a shared dev box — a seat for every teammate. Local-first, MIT.",
5
5
  "author": "Robert",
6
6
  "license": "MIT",
@@ -173,6 +173,7 @@
173
173
  "@types/web-push": "^3.6.4",
174
174
  "@types/ws": "^8.18.1",
175
175
  "@vscode/tree-sitter-wasm": "^0.3.1",
176
+ "esbuild": "^0.28.1",
176
177
  "eslint": "^9",
177
178
  "eslint-config-next": "16.1.6",
178
179
  "sharp": "^0.34.5",
@@ -1,4 +1,4 @@
1
- "use strict";(()=>{var gm=Object.create;var Ls=Object.defineProperty;var mm=Object.getOwnPropertyDescriptor;var pm=Object.getOwnPropertyNames;var ym=Object.getPrototypeOf,vm=Object.prototype.hasOwnProperty;var Rt=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Sm=(t,e,l,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of pm(e))!vm.call(t,n)&&n!==l&&Ls(t,n,{get:()=>e[n],enumerable:!(a=mm(e,n))||a.enumerable});return t};var dt=(t,e,l)=>(l=t!=null?gm(ym(t)):{},Sm(e||!t||!t.__esModule?Ls(l,"default",{value:t,enumerable:!0}):l,t));var Zs=Rt($=>{"use strict";function Lu(t,e){var l=t.length;t.push(e);t:for(;0<l;){var a=l-1>>>1,n=t[a];if(0<Qn(n,e))t[a]=e,t[l]=n,l=a;else break t}}function ue(t){return t.length===0?null:t[0]}function Kn(t){if(t.length===0)return null;var e=t[0],l=t.pop();if(l!==e){t[0]=l;t:for(var a=0,n=t.length,i=n>>>1;a<i;){var u=2*(a+1)-1,c=t[u],f=u+1,s=t[f];if(0>Qn(c,l))f<n&&0>Qn(s,c)?(t[a]=s,t[f]=l,a=f):(t[a]=c,t[u]=l,a=u);else if(f<n&&0>Qn(s,l))t[a]=s,t[f]=l,a=f;else break t}}return e}function Qn(t,e){var l=t.sortIndex-e.sortIndex;return l!==0?l:t.id-e.id}$.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(Hs=performance,$.unstable_now=function(){return Hs.now()}):(Mu=Date,js=Mu.now(),$.unstable_now=function(){return Mu.now()-js});var Hs,Mu,js,pe=[],je=[],bm=1,Qt=null,vt=3,Hu=!1,La=!1,Ha=!1,ju=!1,Ys=typeof setTimeout=="function"?setTimeout:null,Vs=typeof clearTimeout=="function"?clearTimeout:null,Bs=typeof setImmediate<"u"?setImmediate:null;function Zn(t){for(var e=ue(je);e!==null;){if(e.callback===null)Kn(je);else if(e.startTime<=t)Kn(je),e.sortIndex=e.expirationTime,Lu(pe,e);else break;e=ue(je)}}function Bu(t){if(Ha=!1,Zn(t),!La)if(ue(pe)!==null)La=!0,Bl||(Bl=!0,jl());else{var e=ue(je);e!==null&&qu(Bu,e.startTime-t)}}var Bl=!1,ja=-1,Gs=5,Xs=-1;function Qs(){return ju?!0:!($.unstable_now()-Xs<Gs)}function Ru(){if(ju=!1,Bl){var t=$.unstable_now();Xs=t;var e=!0;try{t:{La=!1,Ha&&(Ha=!1,Vs(ja),ja=-1),Hu=!0;var l=vt;try{e:{for(Zn(t),Qt=ue(pe);Qt!==null&&!(Qt.expirationTime>t&&Qs());){var a=Qt.callback;if(typeof a=="function"){Qt.callback=null,vt=Qt.priorityLevel;var n=a(Qt.expirationTime<=t);if(t=$.unstable_now(),typeof n=="function"){Qt.callback=n,Zn(t),e=!0;break e}Qt===ue(pe)&&Kn(pe),Zn(t)}else Kn(pe);Qt=ue(pe)}if(Qt!==null)e=!0;else{var i=ue(je);i!==null&&qu(Bu,i.startTime-t),e=!1}}break t}finally{Qt=null,vt=l,Hu=!1}e=void 0}}finally{e?jl():Bl=!1}}}var jl;typeof Bs=="function"?jl=function(){Bs(Ru)}:typeof MessageChannel<"u"?(Uu=new MessageChannel,qs=Uu.port2,Uu.port1.onmessage=Ru,jl=function(){qs.postMessage(null)}):jl=function(){Ys(Ru,0)};var Uu,qs;function qu(t,e){ja=Ys(function(){t($.unstable_now())},e)}$.unstable_IdlePriority=5;$.unstable_ImmediatePriority=1;$.unstable_LowPriority=4;$.unstable_NormalPriority=3;$.unstable_Profiling=null;$.unstable_UserBlockingPriority=2;$.unstable_cancelCallback=function(t){t.callback=null};$.unstable_forceFrameRate=function(t){0>t||125<t?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Gs=0<t?Math.floor(1e3/t):5};$.unstable_getCurrentPriorityLevel=function(){return vt};$.unstable_next=function(t){switch(vt){case 1:case 2:case 3:var e=3;break;default:e=vt}var l=vt;vt=e;try{return t()}finally{vt=l}};$.unstable_requestPaint=function(){ju=!0};$.unstable_runWithPriority=function(t,e){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var l=vt;vt=t;try{return e()}finally{vt=l}};$.unstable_scheduleCallback=function(t,e,l){var a=$.unstable_now();switch(typeof l=="object"&&l!==null?(l=l.delay,l=typeof l=="number"&&0<l?a+l:a):l=a,t){case 1:var n=-1;break;case 2:n=250;break;case 5:n=1073741823;break;case 4:n=1e4;break;default:n=5e3}return n=l+n,t={id:bm++,callback:e,priorityLevel:t,startTime:l,expirationTime:n,sortIndex:-1},l>a?(t.sortIndex=l,Lu(je,t),ue(pe)===null&&t===ue(je)&&(Ha?(Vs(ja),ja=-1):Ha=!0,qu(Bu,l-a))):(t.sortIndex=n,Lu(pe,t),La||Hu||(La=!0,Bl||(Bl=!0,jl()))),t};$.unstable_shouldYield=Qs;$.unstable_wrapCallback=function(t){var e=vt;return function(){var l=vt;vt=e;try{return t.apply(this,arguments)}finally{vt=l}}}});var Js=Rt((f1,Ks)=>{"use strict";Ks.exports=Zs()});var ao=Rt(D=>{"use strict";var Gu=Symbol.for("react.transitional.element"),Em=Symbol.for("react.portal"),Om=Symbol.for("react.fragment"),Tm=Symbol.for("react.strict_mode"),xm=Symbol.for("react.profiler"),Am=Symbol.for("react.consumer"),zm=Symbol.for("react.context"),Nm=Symbol.for("react.forward_ref"),_m=Symbol.for("react.suspense"),Dm=Symbol.for("react.memo"),Ws=Symbol.for("react.lazy"),Cm=Symbol.for("react.activity"),ws=Symbol.iterator;function Mm(t){return t===null||typeof t!="object"?null:(t=ws&&t[ws]||t["@@iterator"],typeof t=="function"?t:null)}var Is={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ps=Object.assign,to={};function Yl(t,e,l){this.props=t,this.context=e,this.refs=to,this.updater=l||Is}Yl.prototype.isReactComponent={};Yl.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};Yl.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function eo(){}eo.prototype=Yl.prototype;function Xu(t,e,l){this.props=t,this.context=e,this.refs=to,this.updater=l||Is}var Qu=Xu.prototype=new eo;Qu.constructor=Xu;Ps(Qu,Yl.prototype);Qu.isPureReactComponent=!0;var $s=Array.isArray;function Vu(){}var Z={H:null,A:null,T:null,S:null},lo=Object.prototype.hasOwnProperty;function Zu(t,e,l){var a=l.ref;return{$$typeof:Gu,type:t,key:e,ref:a!==void 0?a:null,props:l}}function Rm(t,e){return Zu(t.type,e,t.props)}function Ku(t){return typeof t=="object"&&t!==null&&t.$$typeof===Gu}function Um(t){var e={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(l){return e[l]})}var Fs=/\/+/g;function Yu(t,e){return typeof t=="object"&&t!==null&&t.key!=null?Um(""+t.key):e.toString(36)}function Lm(t){switch(t.status){case"fulfilled":return t.value;case"rejected":throw t.reason;default:switch(typeof t.status=="string"?t.then(Vu,Vu):(t.status="pending",t.then(function(e){t.status==="pending"&&(t.status="fulfilled",t.value=e)},function(e){t.status==="pending"&&(t.status="rejected",t.reason=e)})),t.status){case"fulfilled":return t.value;case"rejected":throw t.reason}}throw t}function ql(t,e,l,a,n){var i=typeof t;(i==="undefined"||i==="boolean")&&(t=null);var u=!1;if(t===null)u=!0;else switch(i){case"bigint":case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case Gu:case Em:u=!0;break;case Ws:return u=t._init,ql(u(t._payload),e,l,a,n)}}if(u)return n=n(t),u=a===""?"."+Yu(t,0):a,$s(n)?(l="",u!=null&&(l=u.replace(Fs,"$&/")+"/"),ql(n,e,l,"",function(s){return s})):n!=null&&(Ku(n)&&(n=Rm(n,l+(n.key==null||t&&t.key===n.key?"":(""+n.key).replace(Fs,"$&/")+"/")+u)),e.push(n)),1;u=0;var c=a===""?".":a+":";if($s(t))for(var f=0;f<t.length;f++)a=t[f],i=c+Yu(a,f),u+=ql(a,e,l,i,n);else if(f=Mm(t),typeof f=="function")for(t=f.call(t),f=0;!(a=t.next()).done;)a=a.value,i=c+Yu(a,f++),u+=ql(a,e,l,i,n);else if(i==="object"){if(typeof t.then=="function")return ql(Lm(t),e,l,a,n);throw e=String(t),Error("Objects are not valid as a React child (found: "+(e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)+"). If you meant to render a collection of children, use an array instead.")}return u}function Jn(t,e,l){if(t==null)return t;var a=[],n=0;return ql(t,a,"","",function(i){return e.call(l,i,n++)}),a}function Hm(t){if(t._status===-1){var e=t._result;e=e(),e.then(function(l){(t._status===0||t._status===-1)&&(t._status=1,t._result=l)},function(l){(t._status===0||t._status===-1)&&(t._status=2,t._result=l)}),t._status===-1&&(t._status=0,t._result=e)}if(t._status===1)return t._result.default;throw t._result}var ks=typeof reportError=="function"?reportError:function(t){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var e=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof t=="object"&&t!==null&&typeof t.message=="string"?String(t.message):String(t),error:t});if(!window.dispatchEvent(e))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",t);return}console.error(t)},jm={map:Jn,forEach:function(t,e,l){Jn(t,function(){e.apply(this,arguments)},l)},count:function(t){var e=0;return Jn(t,function(){e++}),e},toArray:function(t){return Jn(t,function(e){return e})||[]},only:function(t){if(!Ku(t))throw Error("React.Children.only expected to receive a single React element child.");return t}};D.Activity=Cm;D.Children=jm;D.Component=Yl;D.Fragment=Om;D.Profiler=xm;D.PureComponent=Xu;D.StrictMode=Tm;D.Suspense=_m;D.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Z;D.__COMPILER_RUNTIME={__proto__:null,c:function(t){return Z.H.useMemoCache(t)}};D.cache=function(t){return function(){return t.apply(null,arguments)}};D.cacheSignal=function(){return null};D.cloneElement=function(t,e,l){if(t==null)throw Error("The argument must be a React element, but you passed "+t+".");var a=Ps({},t.props),n=t.key;if(e!=null)for(i in e.key!==void 0&&(n=""+e.key),e)!lo.call(e,i)||i==="key"||i==="__self"||i==="__source"||i==="ref"&&e.ref===void 0||(a[i]=e[i]);var i=arguments.length-2;if(i===1)a.children=l;else if(1<i){for(var u=Array(i),c=0;c<i;c++)u[c]=arguments[c+2];a.children=u}return Zu(t.type,n,a)};D.createContext=function(t){return t={$$typeof:zm,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null},t.Provider=t,t.Consumer={$$typeof:Am,_context:t},t};D.createElement=function(t,e,l){var a,n={},i=null;if(e!=null)for(a in e.key!==void 0&&(i=""+e.key),e)lo.call(e,a)&&a!=="key"&&a!=="__self"&&a!=="__source"&&(n[a]=e[a]);var u=arguments.length-2;if(u===1)n.children=l;else if(1<u){for(var c=Array(u),f=0;f<u;f++)c[f]=arguments[f+2];n.children=c}if(t&&t.defaultProps)for(a in u=t.defaultProps,u)n[a]===void 0&&(n[a]=u[a]);return Zu(t,i,n)};D.createRef=function(){return{current:null}};D.forwardRef=function(t){return{$$typeof:Nm,render:t}};D.isValidElement=Ku;D.lazy=function(t){return{$$typeof:Ws,_payload:{_status:-1,_result:t},_init:Hm}};D.memo=function(t,e){return{$$typeof:Dm,type:t,compare:e===void 0?null:e}};D.startTransition=function(t){var e=Z.T,l={};Z.T=l;try{var a=t(),n=Z.S;n!==null&&n(l,a),typeof a=="object"&&a!==null&&typeof a.then=="function"&&a.then(Vu,ks)}catch(i){ks(i)}finally{e!==null&&l.types!==null&&(e.types=l.types),Z.T=e}};D.unstable_useCacheRefresh=function(){return Z.H.useCacheRefresh()};D.use=function(t){return Z.H.use(t)};D.useActionState=function(t,e,l){return Z.H.useActionState(t,e,l)};D.useCallback=function(t,e){return Z.H.useCallback(t,e)};D.useContext=function(t){return Z.H.useContext(t)};D.useDebugValue=function(){};D.useDeferredValue=function(t,e){return Z.H.useDeferredValue(t,e)};D.useEffect=function(t,e){return Z.H.useEffect(t,e)};D.useEffectEvent=function(t){return Z.H.useEffectEvent(t)};D.useId=function(){return Z.H.useId()};D.useImperativeHandle=function(t,e,l){return Z.H.useImperativeHandle(t,e,l)};D.useInsertionEffect=function(t,e){return Z.H.useInsertionEffect(t,e)};D.useLayoutEffect=function(t,e){return Z.H.useLayoutEffect(t,e)};D.useMemo=function(t,e){return Z.H.useMemo(t,e)};D.useOptimistic=function(t,e){return Z.H.useOptimistic(t,e)};D.useReducer=function(t,e,l){return Z.H.useReducer(t,e,l)};D.useRef=function(t){return Z.H.useRef(t)};D.useState=function(t){return Z.H.useState(t)};D.useSyncExternalStore=function(t,e,l){return Z.H.useSyncExternalStore(t,e,l)};D.useTransition=function(){return Z.H.useTransition()};D.version="19.2.3"});var St=Rt((o1,no)=>{"use strict";no.exports=ao()});var uo=Rt(Et=>{"use strict";var Bm=St();function io(t){var e="https://react.dev/errors/"+t;if(1<arguments.length){e+="?args[]="+encodeURIComponent(arguments[1]);for(var l=2;l<arguments.length;l++)e+="&args[]="+encodeURIComponent(arguments[l])}return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function Be(){}var bt={d:{f:Be,r:function(){throw Error(io(522))},D:Be,C:Be,L:Be,m:Be,X:Be,S:Be,M:Be},p:0,findDOMNode:null},qm=Symbol.for("react.portal");function Ym(t,e,l){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:qm,key:a==null?null:""+a,children:t,containerInfo:e,implementation:l}}var Ba=Bm.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function wn(t,e){if(t==="font")return"";if(typeof e=="string")return e==="use-credentials"?e:""}Et.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=bt;Et.createPortal=function(t,e){var l=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)throw Error(io(299));return Ym(t,e,null,l)};Et.flushSync=function(t){var e=Ba.T,l=bt.p;try{if(Ba.T=null,bt.p=2,t)return t()}finally{Ba.T=e,bt.p=l,bt.d.f()}};Et.preconnect=function(t,e){typeof t=="string"&&(e?(e=e.crossOrigin,e=typeof e=="string"?e==="use-credentials"?e:"":void 0):e=null,bt.d.C(t,e))};Et.prefetchDNS=function(t){typeof t=="string"&&bt.d.D(t)};Et.preinit=function(t,e){if(typeof t=="string"&&e&&typeof e.as=="string"){var l=e.as,a=wn(l,e.crossOrigin),n=typeof e.integrity=="string"?e.integrity:void 0,i=typeof e.fetchPriority=="string"?e.fetchPriority:void 0;l==="style"?bt.d.S(t,typeof e.precedence=="string"?e.precedence:void 0,{crossOrigin:a,integrity:n,fetchPriority:i}):l==="script"&&bt.d.X(t,{crossOrigin:a,integrity:n,fetchPriority:i,nonce:typeof e.nonce=="string"?e.nonce:void 0})}};Et.preinitModule=function(t,e){if(typeof t=="string")if(typeof e=="object"&&e!==null){if(e.as==null||e.as==="script"){var l=wn(e.as,e.crossOrigin);bt.d.M(t,{crossOrigin:l,integrity:typeof e.integrity=="string"?e.integrity:void 0,nonce:typeof e.nonce=="string"?e.nonce:void 0})}}else e==null&&bt.d.M(t)};Et.preload=function(t,e){if(typeof t=="string"&&typeof e=="object"&&e!==null&&typeof e.as=="string"){var l=e.as,a=wn(l,e.crossOrigin);bt.d.L(t,l,{crossOrigin:a,integrity:typeof e.integrity=="string"?e.integrity:void 0,nonce:typeof e.nonce=="string"?e.nonce:void 0,type:typeof e.type=="string"?e.type:void 0,fetchPriority:typeof e.fetchPriority=="string"?e.fetchPriority:void 0,referrerPolicy:typeof e.referrerPolicy=="string"?e.referrerPolicy:void 0,imageSrcSet:typeof e.imageSrcSet=="string"?e.imageSrcSet:void 0,imageSizes:typeof e.imageSizes=="string"?e.imageSizes:void 0,media:typeof e.media=="string"?e.media:void 0})}};Et.preloadModule=function(t,e){if(typeof t=="string")if(e){var l=wn(e.as,e.crossOrigin);bt.d.m(t,{as:typeof e.as=="string"&&e.as!=="script"?e.as:void 0,crossOrigin:l,integrity:typeof e.integrity=="string"?e.integrity:void 0})}else bt.d.m(t)};Et.requestFormReset=function(t){bt.d.r(t)};Et.unstable_batchedUpdates=function(t,e){return t(e)};Et.useFormState=function(t,e,l){return Ba.H.useFormState(t,e,l)};Et.useFormStatus=function(){return Ba.H.useHostTransitionStatus()};Et.version="19.2.3"});var so=Rt((d1,fo)=>{"use strict";function co(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(co)}catch(t){console.error(t)}}co(),fo.exports=uo()});var Og=Rt(vu=>{"use strict";var ct=Js(),jr=St(),Vm=so();function S(t){var e="https://react.dev/errors/"+t;if(1<arguments.length){e+="?args[]="+encodeURIComponent(arguments[1]);for(var l=2;l<arguments.length;l++)e+="&args[]="+encodeURIComponent(arguments[l])}return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function Br(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function xn(t){var e=t,l=t;if(t.alternate)for(;e.return;)e=e.return;else{t=e;do e=t,(e.flags&4098)!==0&&(l=e.return),t=e.return;while(t)}return e.tag===3?l:null}function qr(t){if(t.tag===13){var e=t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e.dehydrated}return null}function Yr(t){if(t.tag===31){var e=t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e.dehydrated}return null}function oo(t){if(xn(t)!==t)throw Error(S(188))}function Gm(t){var e=t.alternate;if(!e){if(e=xn(t),e===null)throw Error(S(188));return e!==t?null:t}for(var l=t,a=e;;){var n=l.return;if(n===null)break;var i=n.alternate;if(i===null){if(a=n.return,a!==null){l=a;continue}break}if(n.child===i.child){for(i=n.child;i;){if(i===l)return oo(n),t;if(i===a)return oo(n),e;i=i.sibling}throw Error(S(188))}if(l.return!==a.return)l=n,a=i;else{for(var u=!1,c=n.child;c;){if(c===l){u=!0,l=n,a=i;break}if(c===a){u=!0,a=n,l=i;break}c=c.sibling}if(!u){for(c=i.child;c;){if(c===l){u=!0,l=i,a=n;break}if(c===a){u=!0,a=i,l=n;break}c=c.sibling}if(!u)throw Error(S(189))}}if(l.alternate!==a)throw Error(S(190))}if(l.tag!==3)throw Error(S(188));return l.stateNode.current===l?t:e}function Vr(t){var e=t.tag;if(e===5||e===26||e===27||e===6)return t;for(t=t.child;t!==null;){if(e=Vr(t),e!==null)return e;t=t.sibling}return null}var w=Object.assign,Xm=Symbol.for("react.element"),$n=Symbol.for("react.transitional.element"),Ka=Symbol.for("react.portal"),Kl=Symbol.for("react.fragment"),Gr=Symbol.for("react.strict_mode"),Ac=Symbol.for("react.profiler"),Xr=Symbol.for("react.consumer"),xe=Symbol.for("react.context"),Ef=Symbol.for("react.forward_ref"),zc=Symbol.for("react.suspense"),Nc=Symbol.for("react.suspense_list"),Of=Symbol.for("react.memo"),qe=Symbol.for("react.lazy"),_c=Symbol.for("react.activity"),Qm=Symbol.for("react.memo_cache_sentinel"),ro=Symbol.iterator;function qa(t){return t===null||typeof t!="object"?null:(t=ro&&t[ro]||t["@@iterator"],typeof t=="function"?t:null)}var Zm=Symbol.for("react.client.reference");function Dc(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===Zm?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case Kl:return"Fragment";case Ac:return"Profiler";case Gr:return"StrictMode";case zc:return"Suspense";case Nc:return"SuspenseList";case _c:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case Ka:return"Portal";case xe:return t.displayName||"Context";case Xr:return(t._context.displayName||"Context")+".Consumer";case Ef:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Of:return e=t.displayName||null,e!==null?e:Dc(t.type)||"Memo";case qe:e=t._payload,t=t._init;try{return Dc(t(e))}catch{}}return null}var Ja=Array.isArray,T=jr.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,B=Vm.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,yl={pending:!1,data:null,method:null,action:null},Cc=[],Jl=-1;function re(t){return{current:t}}function rt(t){0>Jl||(t.current=Cc[Jl],Cc[Jl]=null,Jl--)}function Q(t,e){Jl++,Cc[Jl]=t.current,t.current=e}var oe=re(null),on=re(null),Fe=re(null),Ni=re(null);function _i(t,e){switch(Q(Fe,e),Q(on,t),Q(oe,null),e.nodeType){case 9:case 11:t=(t=e.documentElement)&&(t=t.namespaceURI)?Sr(t):0;break;default:if(t=e.tagName,e=e.namespaceURI)e=Sr(e),t=fg(e,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}rt(oe),Q(oe,t)}function oa(){rt(oe),rt(on),rt(Fe)}function Mc(t){t.memoizedState!==null&&Q(Ni,t);var e=oe.current,l=fg(e,t.type);e!==l&&(Q(on,t),Q(oe,l))}function Di(t){on.current===t&&(rt(oe),rt(on)),Ni.current===t&&(rt(Ni),En._currentValue=yl)}var Ju,ho;function hl(t){if(Ju===void 0)try{throw Error()}catch(l){var e=l.stack.trim().match(/\n( *(at )?)/);Ju=e&&e[1]||"",ho=-1<l.stack.indexOf(`
1
+ "use strict";(()=>{var gm=Object.create;var Ls=Object.defineProperty;var mm=Object.getOwnPropertyDescriptor;var pm=Object.getOwnPropertyNames;var ym=Object.getPrototypeOf,vm=Object.prototype.hasOwnProperty;var Rt=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(l){throw e=0,l}};var Sm=(t,e,l,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of pm(e))!vm.call(t,n)&&n!==l&&Ls(t,n,{get:()=>e[n],enumerable:!(a=mm(e,n))||a.enumerable});return t};var dt=(t,e,l)=>(l=t!=null?gm(ym(t)):{},Sm(e||!t||!t.__esModule?Ls(l,"default",{value:t,enumerable:!0}):l,t));var Zs=Rt($=>{"use strict";function Lu(t,e){var l=t.length;t.push(e);t:for(;0<l;){var a=l-1>>>1,n=t[a];if(0<Qn(n,e))t[a]=e,t[l]=n,l=a;else break t}}function ue(t){return t.length===0?null:t[0]}function Kn(t){if(t.length===0)return null;var e=t[0],l=t.pop();if(l!==e){t[0]=l;t:for(var a=0,n=t.length,i=n>>>1;a<i;){var u=2*(a+1)-1,c=t[u],f=u+1,s=t[f];if(0>Qn(c,l))f<n&&0>Qn(s,c)?(t[a]=s,t[f]=l,a=f):(t[a]=c,t[u]=l,a=u);else if(f<n&&0>Qn(s,l))t[a]=s,t[f]=l,a=f;else break t}}return e}function Qn(t,e){var l=t.sortIndex-e.sortIndex;return l!==0?l:t.id-e.id}$.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(Hs=performance,$.unstable_now=function(){return Hs.now()}):(Mu=Date,js=Mu.now(),$.unstable_now=function(){return Mu.now()-js});var Hs,Mu,js,pe=[],je=[],bm=1,Qt=null,vt=3,Hu=!1,La=!1,Ha=!1,ju=!1,Ys=typeof setTimeout=="function"?setTimeout:null,Vs=typeof clearTimeout=="function"?clearTimeout:null,Bs=typeof setImmediate<"u"?setImmediate:null;function Zn(t){for(var e=ue(je);e!==null;){if(e.callback===null)Kn(je);else if(e.startTime<=t)Kn(je),e.sortIndex=e.expirationTime,Lu(pe,e);else break;e=ue(je)}}function Bu(t){if(Ha=!1,Zn(t),!La)if(ue(pe)!==null)La=!0,Bl||(Bl=!0,jl());else{var e=ue(je);e!==null&&qu(Bu,e.startTime-t)}}var Bl=!1,ja=-1,Gs=5,Xs=-1;function Qs(){return ju?!0:!($.unstable_now()-Xs<Gs)}function Ru(){if(ju=!1,Bl){var t=$.unstable_now();Xs=t;var e=!0;try{t:{La=!1,Ha&&(Ha=!1,Vs(ja),ja=-1),Hu=!0;var l=vt;try{e:{for(Zn(t),Qt=ue(pe);Qt!==null&&!(Qt.expirationTime>t&&Qs());){var a=Qt.callback;if(typeof a=="function"){Qt.callback=null,vt=Qt.priorityLevel;var n=a(Qt.expirationTime<=t);if(t=$.unstable_now(),typeof n=="function"){Qt.callback=n,Zn(t),e=!0;break e}Qt===ue(pe)&&Kn(pe),Zn(t)}else Kn(pe);Qt=ue(pe)}if(Qt!==null)e=!0;else{var i=ue(je);i!==null&&qu(Bu,i.startTime-t),e=!1}}break t}finally{Qt=null,vt=l,Hu=!1}e=void 0}}finally{e?jl():Bl=!1}}}var jl;typeof Bs=="function"?jl=function(){Bs(Ru)}:typeof MessageChannel<"u"?(Uu=new MessageChannel,qs=Uu.port2,Uu.port1.onmessage=Ru,jl=function(){qs.postMessage(null)}):jl=function(){Ys(Ru,0)};var Uu,qs;function qu(t,e){ja=Ys(function(){t($.unstable_now())},e)}$.unstable_IdlePriority=5;$.unstable_ImmediatePriority=1;$.unstable_LowPriority=4;$.unstable_NormalPriority=3;$.unstable_Profiling=null;$.unstable_UserBlockingPriority=2;$.unstable_cancelCallback=function(t){t.callback=null};$.unstable_forceFrameRate=function(t){0>t||125<t?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Gs=0<t?Math.floor(1e3/t):5};$.unstable_getCurrentPriorityLevel=function(){return vt};$.unstable_next=function(t){switch(vt){case 1:case 2:case 3:var e=3;break;default:e=vt}var l=vt;vt=e;try{return t()}finally{vt=l}};$.unstable_requestPaint=function(){ju=!0};$.unstable_runWithPriority=function(t,e){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var l=vt;vt=t;try{return e()}finally{vt=l}};$.unstable_scheduleCallback=function(t,e,l){var a=$.unstable_now();switch(typeof l=="object"&&l!==null?(l=l.delay,l=typeof l=="number"&&0<l?a+l:a):l=a,t){case 1:var n=-1;break;case 2:n=250;break;case 5:n=1073741823;break;case 4:n=1e4;break;default:n=5e3}return n=l+n,t={id:bm++,callback:e,priorityLevel:t,startTime:l,expirationTime:n,sortIndex:-1},l>a?(t.sortIndex=l,Lu(je,t),ue(pe)===null&&t===ue(je)&&(Ha?(Vs(ja),ja=-1):Ha=!0,qu(Bu,l-a))):(t.sortIndex=n,Lu(pe,t),La||Hu||(La=!0,Bl||(Bl=!0,jl()))),t};$.unstable_shouldYield=Qs;$.unstable_wrapCallback=function(t){var e=vt;return function(){var l=vt;vt=e;try{return t.apply(this,arguments)}finally{vt=l}}}});var Js=Rt((f1,Ks)=>{"use strict";Ks.exports=Zs()});var ao=Rt(D=>{"use strict";var Gu=Symbol.for("react.transitional.element"),Em=Symbol.for("react.portal"),Om=Symbol.for("react.fragment"),Tm=Symbol.for("react.strict_mode"),xm=Symbol.for("react.profiler"),Am=Symbol.for("react.consumer"),zm=Symbol.for("react.context"),Nm=Symbol.for("react.forward_ref"),_m=Symbol.for("react.suspense"),Dm=Symbol.for("react.memo"),Ws=Symbol.for("react.lazy"),Cm=Symbol.for("react.activity"),ws=Symbol.iterator;function Mm(t){return t===null||typeof t!="object"?null:(t=ws&&t[ws]||t["@@iterator"],typeof t=="function"?t:null)}var Is={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ps=Object.assign,to={};function Yl(t,e,l){this.props=t,this.context=e,this.refs=to,this.updater=l||Is}Yl.prototype.isReactComponent={};Yl.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};Yl.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function eo(){}eo.prototype=Yl.prototype;function Xu(t,e,l){this.props=t,this.context=e,this.refs=to,this.updater=l||Is}var Qu=Xu.prototype=new eo;Qu.constructor=Xu;Ps(Qu,Yl.prototype);Qu.isPureReactComponent=!0;var $s=Array.isArray;function Vu(){}var Z={H:null,A:null,T:null,S:null},lo=Object.prototype.hasOwnProperty;function Zu(t,e,l){var a=l.ref;return{$$typeof:Gu,type:t,key:e,ref:a!==void 0?a:null,props:l}}function Rm(t,e){return Zu(t.type,e,t.props)}function Ku(t){return typeof t=="object"&&t!==null&&t.$$typeof===Gu}function Um(t){var e={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(l){return e[l]})}var Fs=/\/+/g;function Yu(t,e){return typeof t=="object"&&t!==null&&t.key!=null?Um(""+t.key):e.toString(36)}function Lm(t){switch(t.status){case"fulfilled":return t.value;case"rejected":throw t.reason;default:switch(typeof t.status=="string"?t.then(Vu,Vu):(t.status="pending",t.then(function(e){t.status==="pending"&&(t.status="fulfilled",t.value=e)},function(e){t.status==="pending"&&(t.status="rejected",t.reason=e)})),t.status){case"fulfilled":return t.value;case"rejected":throw t.reason}}throw t}function ql(t,e,l,a,n){var i=typeof t;(i==="undefined"||i==="boolean")&&(t=null);var u=!1;if(t===null)u=!0;else switch(i){case"bigint":case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case Gu:case Em:u=!0;break;case Ws:return u=t._init,ql(u(t._payload),e,l,a,n)}}if(u)return n=n(t),u=a===""?"."+Yu(t,0):a,$s(n)?(l="",u!=null&&(l=u.replace(Fs,"$&/")+"/"),ql(n,e,l,"",function(s){return s})):n!=null&&(Ku(n)&&(n=Rm(n,l+(n.key==null||t&&t.key===n.key?"":(""+n.key).replace(Fs,"$&/")+"/")+u)),e.push(n)),1;u=0;var c=a===""?".":a+":";if($s(t))for(var f=0;f<t.length;f++)a=t[f],i=c+Yu(a,f),u+=ql(a,e,l,i,n);else if(f=Mm(t),typeof f=="function")for(t=f.call(t),f=0;!(a=t.next()).done;)a=a.value,i=c+Yu(a,f++),u+=ql(a,e,l,i,n);else if(i==="object"){if(typeof t.then=="function")return ql(Lm(t),e,l,a,n);throw e=String(t),Error("Objects are not valid as a React child (found: "+(e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)+"). If you meant to render a collection of children, use an array instead.")}return u}function Jn(t,e,l){if(t==null)return t;var a=[],n=0;return ql(t,a,"","",function(i){return e.call(l,i,n++)}),a}function Hm(t){if(t._status===-1){var e=t._result;e=e(),e.then(function(l){(t._status===0||t._status===-1)&&(t._status=1,t._result=l)},function(l){(t._status===0||t._status===-1)&&(t._status=2,t._result=l)}),t._status===-1&&(t._status=0,t._result=e)}if(t._status===1)return t._result.default;throw t._result}var ks=typeof reportError=="function"?reportError:function(t){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var e=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof t=="object"&&t!==null&&typeof t.message=="string"?String(t.message):String(t),error:t});if(!window.dispatchEvent(e))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",t);return}console.error(t)},jm={map:Jn,forEach:function(t,e,l){Jn(t,function(){e.apply(this,arguments)},l)},count:function(t){var e=0;return Jn(t,function(){e++}),e},toArray:function(t){return Jn(t,function(e){return e})||[]},only:function(t){if(!Ku(t))throw Error("React.Children.only expected to receive a single React element child.");return t}};D.Activity=Cm;D.Children=jm;D.Component=Yl;D.Fragment=Om;D.Profiler=xm;D.PureComponent=Xu;D.StrictMode=Tm;D.Suspense=_m;D.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Z;D.__COMPILER_RUNTIME={__proto__:null,c:function(t){return Z.H.useMemoCache(t)}};D.cache=function(t){return function(){return t.apply(null,arguments)}};D.cacheSignal=function(){return null};D.cloneElement=function(t,e,l){if(t==null)throw Error("The argument must be a React element, but you passed "+t+".");var a=Ps({},t.props),n=t.key;if(e!=null)for(i in e.key!==void 0&&(n=""+e.key),e)!lo.call(e,i)||i==="key"||i==="__self"||i==="__source"||i==="ref"&&e.ref===void 0||(a[i]=e[i]);var i=arguments.length-2;if(i===1)a.children=l;else if(1<i){for(var u=Array(i),c=0;c<i;c++)u[c]=arguments[c+2];a.children=u}return Zu(t.type,n,a)};D.createContext=function(t){return t={$$typeof:zm,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null},t.Provider=t,t.Consumer={$$typeof:Am,_context:t},t};D.createElement=function(t,e,l){var a,n={},i=null;if(e!=null)for(a in e.key!==void 0&&(i=""+e.key),e)lo.call(e,a)&&a!=="key"&&a!=="__self"&&a!=="__source"&&(n[a]=e[a]);var u=arguments.length-2;if(u===1)n.children=l;else if(1<u){for(var c=Array(u),f=0;f<u;f++)c[f]=arguments[f+2];n.children=c}if(t&&t.defaultProps)for(a in u=t.defaultProps,u)n[a]===void 0&&(n[a]=u[a]);return Zu(t,i,n)};D.createRef=function(){return{current:null}};D.forwardRef=function(t){return{$$typeof:Nm,render:t}};D.isValidElement=Ku;D.lazy=function(t){return{$$typeof:Ws,_payload:{_status:-1,_result:t},_init:Hm}};D.memo=function(t,e){return{$$typeof:Dm,type:t,compare:e===void 0?null:e}};D.startTransition=function(t){var e=Z.T,l={};Z.T=l;try{var a=t(),n=Z.S;n!==null&&n(l,a),typeof a=="object"&&a!==null&&typeof a.then=="function"&&a.then(Vu,ks)}catch(i){ks(i)}finally{e!==null&&l.types!==null&&(e.types=l.types),Z.T=e}};D.unstable_useCacheRefresh=function(){return Z.H.useCacheRefresh()};D.use=function(t){return Z.H.use(t)};D.useActionState=function(t,e,l){return Z.H.useActionState(t,e,l)};D.useCallback=function(t,e){return Z.H.useCallback(t,e)};D.useContext=function(t){return Z.H.useContext(t)};D.useDebugValue=function(){};D.useDeferredValue=function(t,e){return Z.H.useDeferredValue(t,e)};D.useEffect=function(t,e){return Z.H.useEffect(t,e)};D.useEffectEvent=function(t){return Z.H.useEffectEvent(t)};D.useId=function(){return Z.H.useId()};D.useImperativeHandle=function(t,e,l){return Z.H.useImperativeHandle(t,e,l)};D.useInsertionEffect=function(t,e){return Z.H.useInsertionEffect(t,e)};D.useLayoutEffect=function(t,e){return Z.H.useLayoutEffect(t,e)};D.useMemo=function(t,e){return Z.H.useMemo(t,e)};D.useOptimistic=function(t,e){return Z.H.useOptimistic(t,e)};D.useReducer=function(t,e,l){return Z.H.useReducer(t,e,l)};D.useRef=function(t){return Z.H.useRef(t)};D.useState=function(t){return Z.H.useState(t)};D.useSyncExternalStore=function(t,e,l){return Z.H.useSyncExternalStore(t,e,l)};D.useTransition=function(){return Z.H.useTransition()};D.version="19.2.3"});var St=Rt((o1,no)=>{"use strict";no.exports=ao()});var uo=Rt(Et=>{"use strict";var Bm=St();function io(t){var e="https://react.dev/errors/"+t;if(1<arguments.length){e+="?args[]="+encodeURIComponent(arguments[1]);for(var l=2;l<arguments.length;l++)e+="&args[]="+encodeURIComponent(arguments[l])}return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function Be(){}var bt={d:{f:Be,r:function(){throw Error(io(522))},D:Be,C:Be,L:Be,m:Be,X:Be,S:Be,M:Be},p:0,findDOMNode:null},qm=Symbol.for("react.portal");function Ym(t,e,l){var a=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:qm,key:a==null?null:""+a,children:t,containerInfo:e,implementation:l}}var Ba=Bm.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function wn(t,e){if(t==="font")return"";if(typeof e=="string")return e==="use-credentials"?e:""}Et.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=bt;Et.createPortal=function(t,e){var l=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)throw Error(io(299));return Ym(t,e,null,l)};Et.flushSync=function(t){var e=Ba.T,l=bt.p;try{if(Ba.T=null,bt.p=2,t)return t()}finally{Ba.T=e,bt.p=l,bt.d.f()}};Et.preconnect=function(t,e){typeof t=="string"&&(e?(e=e.crossOrigin,e=typeof e=="string"?e==="use-credentials"?e:"":void 0):e=null,bt.d.C(t,e))};Et.prefetchDNS=function(t){typeof t=="string"&&bt.d.D(t)};Et.preinit=function(t,e){if(typeof t=="string"&&e&&typeof e.as=="string"){var l=e.as,a=wn(l,e.crossOrigin),n=typeof e.integrity=="string"?e.integrity:void 0,i=typeof e.fetchPriority=="string"?e.fetchPriority:void 0;l==="style"?bt.d.S(t,typeof e.precedence=="string"?e.precedence:void 0,{crossOrigin:a,integrity:n,fetchPriority:i}):l==="script"&&bt.d.X(t,{crossOrigin:a,integrity:n,fetchPriority:i,nonce:typeof e.nonce=="string"?e.nonce:void 0})}};Et.preinitModule=function(t,e){if(typeof t=="string")if(typeof e=="object"&&e!==null){if(e.as==null||e.as==="script"){var l=wn(e.as,e.crossOrigin);bt.d.M(t,{crossOrigin:l,integrity:typeof e.integrity=="string"?e.integrity:void 0,nonce:typeof e.nonce=="string"?e.nonce:void 0})}}else e==null&&bt.d.M(t)};Et.preload=function(t,e){if(typeof t=="string"&&typeof e=="object"&&e!==null&&typeof e.as=="string"){var l=e.as,a=wn(l,e.crossOrigin);bt.d.L(t,l,{crossOrigin:a,integrity:typeof e.integrity=="string"?e.integrity:void 0,nonce:typeof e.nonce=="string"?e.nonce:void 0,type:typeof e.type=="string"?e.type:void 0,fetchPriority:typeof e.fetchPriority=="string"?e.fetchPriority:void 0,referrerPolicy:typeof e.referrerPolicy=="string"?e.referrerPolicy:void 0,imageSrcSet:typeof e.imageSrcSet=="string"?e.imageSrcSet:void 0,imageSizes:typeof e.imageSizes=="string"?e.imageSizes:void 0,media:typeof e.media=="string"?e.media:void 0})}};Et.preloadModule=function(t,e){if(typeof t=="string")if(e){var l=wn(e.as,e.crossOrigin);bt.d.m(t,{as:typeof e.as=="string"&&e.as!=="script"?e.as:void 0,crossOrigin:l,integrity:typeof e.integrity=="string"?e.integrity:void 0})}else bt.d.m(t)};Et.requestFormReset=function(t){bt.d.r(t)};Et.unstable_batchedUpdates=function(t,e){return t(e)};Et.useFormState=function(t,e,l){return Ba.H.useFormState(t,e,l)};Et.useFormStatus=function(){return Ba.H.useHostTransitionStatus()};Et.version="19.2.3"});var so=Rt((d1,fo)=>{"use strict";function co(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(co)}catch(t){console.error(t)}}co(),fo.exports=uo()});var Og=Rt(vu=>{"use strict";var ct=Js(),jr=St(),Vm=so();function S(t){var e="https://react.dev/errors/"+t;if(1<arguments.length){e+="?args[]="+encodeURIComponent(arguments[1]);for(var l=2;l<arguments.length;l++)e+="&args[]="+encodeURIComponent(arguments[l])}return"Minified React error #"+t+"; visit "+e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function Br(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function xn(t){var e=t,l=t;if(t.alternate)for(;e.return;)e=e.return;else{t=e;do e=t,(e.flags&4098)!==0&&(l=e.return),t=e.return;while(t)}return e.tag===3?l:null}function qr(t){if(t.tag===13){var e=t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e.dehydrated}return null}function Yr(t){if(t.tag===31){var e=t.memoizedState;if(e===null&&(t=t.alternate,t!==null&&(e=t.memoizedState)),e!==null)return e.dehydrated}return null}function oo(t){if(xn(t)!==t)throw Error(S(188))}function Gm(t){var e=t.alternate;if(!e){if(e=xn(t),e===null)throw Error(S(188));return e!==t?null:t}for(var l=t,a=e;;){var n=l.return;if(n===null)break;var i=n.alternate;if(i===null){if(a=n.return,a!==null){l=a;continue}break}if(n.child===i.child){for(i=n.child;i;){if(i===l)return oo(n),t;if(i===a)return oo(n),e;i=i.sibling}throw Error(S(188))}if(l.return!==a.return)l=n,a=i;else{for(var u=!1,c=n.child;c;){if(c===l){u=!0,l=n,a=i;break}if(c===a){u=!0,a=n,l=i;break}c=c.sibling}if(!u){for(c=i.child;c;){if(c===l){u=!0,l=i,a=n;break}if(c===a){u=!0,a=i,l=n;break}c=c.sibling}if(!u)throw Error(S(189))}}if(l.alternate!==a)throw Error(S(190))}if(l.tag!==3)throw Error(S(188));return l.stateNode.current===l?t:e}function Vr(t){var e=t.tag;if(e===5||e===26||e===27||e===6)return t;for(t=t.child;t!==null;){if(e=Vr(t),e!==null)return e;t=t.sibling}return null}var w=Object.assign,Xm=Symbol.for("react.element"),$n=Symbol.for("react.transitional.element"),Ka=Symbol.for("react.portal"),Kl=Symbol.for("react.fragment"),Gr=Symbol.for("react.strict_mode"),Ac=Symbol.for("react.profiler"),Xr=Symbol.for("react.consumer"),xe=Symbol.for("react.context"),Ef=Symbol.for("react.forward_ref"),zc=Symbol.for("react.suspense"),Nc=Symbol.for("react.suspense_list"),Of=Symbol.for("react.memo"),qe=Symbol.for("react.lazy"),_c=Symbol.for("react.activity"),Qm=Symbol.for("react.memo_cache_sentinel"),ro=Symbol.iterator;function qa(t){return t===null||typeof t!="object"?null:(t=ro&&t[ro]||t["@@iterator"],typeof t=="function"?t:null)}var Zm=Symbol.for("react.client.reference");function Dc(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===Zm?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case Kl:return"Fragment";case Ac:return"Profiler";case Gr:return"StrictMode";case zc:return"Suspense";case Nc:return"SuspenseList";case _c:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case Ka:return"Portal";case xe:return t.displayName||"Context";case Xr:return(t._context.displayName||"Context")+".Consumer";case Ef:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Of:return e=t.displayName||null,e!==null?e:Dc(t.type)||"Memo";case qe:e=t._payload,t=t._init;try{return Dc(t(e))}catch{}}return null}var Ja=Array.isArray,T=jr.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,B=Vm.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,yl={pending:!1,data:null,method:null,action:null},Cc=[],Jl=-1;function re(t){return{current:t}}function rt(t){0>Jl||(t.current=Cc[Jl],Cc[Jl]=null,Jl--)}function Q(t,e){Jl++,Cc[Jl]=t.current,t.current=e}var oe=re(null),on=re(null),Fe=re(null),Ni=re(null);function _i(t,e){switch(Q(Fe,e),Q(on,t),Q(oe,null),e.nodeType){case 9:case 11:t=(t=e.documentElement)&&(t=t.namespaceURI)?Sr(t):0;break;default:if(t=e.tagName,e=e.namespaceURI)e=Sr(e),t=fg(e,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}rt(oe),Q(oe,t)}function oa(){rt(oe),rt(on),rt(Fe)}function Mc(t){t.memoizedState!==null&&Q(Ni,t);var e=oe.current,l=fg(e,t.type);e!==l&&(Q(on,t),Q(oe,l))}function Di(t){on.current===t&&(rt(oe),rt(on)),Ni.current===t&&(rt(Ni),En._currentValue=yl)}var Ju,ho;function hl(t){if(Ju===void 0)try{throw Error()}catch(l){var e=l.stack.trim().match(/\n( *(at )?)/);Ju=e&&e[1]||"",ho=-1<l.stack.indexOf(`
2
2
  at`)?" (<anonymous>)":-1<l.stack.indexOf("@")?"@unknown:0:0":""}return`
3
3
  `+Ju+t+ho}var wu=!1;function $u(t,e){if(!t||wu)return"";wu=!0;var l=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var a={DetermineComponentFrameRoot:function(){try{if(e){var h=function(){throw Error()};if(Object.defineProperty(h.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(h,[])}catch(m){var d=m}Reflect.construct(t,[],h)}else{try{h.call()}catch(m){d=m}t.call(h.prototype)}}else{try{throw Error()}catch(m){d=m}(h=t())&&typeof h.catch=="function"&&h.catch(function(){})}}catch(m){if(m&&d&&typeof m.stack=="string")return[m.stack,d.stack]}return[null,null]}};a.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var n=Object.getOwnPropertyDescriptor(a.DetermineComponentFrameRoot,"name");n&&n.configurable&&Object.defineProperty(a.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var i=a.DetermineComponentFrameRoot(),u=i[0],c=i[1];if(u&&c){var f=u.split(`
4
4
  `),s=c.split(`