sunpeak 0.7.9 → 0.7.11

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 (79) hide show
  1. package/README.md +7 -10
  2. package/bin/commands/deploy.mjs +25 -9
  3. package/bin/commands/push.mjs +19 -14
  4. package/bin/sunpeak.js +16 -0
  5. package/dist/index.cjs +6 -0
  6. package/dist/index.cjs.map +1 -1
  7. package/dist/index.js +6 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/mcp/entry.cjs +1 -1
  10. package/dist/mcp/entry.js +1 -1
  11. package/dist/mcp/index.cjs +1 -1
  12. package/dist/mcp/index.js +1 -1
  13. package/dist/server-CziiHU7V.cjs +5066 -0
  14. package/dist/server-CziiHU7V.cjs.map +1 -0
  15. package/dist/server-D8kyzuiq.js +5067 -0
  16. package/dist/server-D8kyzuiq.js.map +1 -0
  17. package/dist/style.css +1 -1
  18. package/package.json +17 -17
  19. package/template/dist/albums.js +4 -4
  20. package/template/dist/albums.json +1 -1
  21. package/template/dist/carousel.js +8 -8
  22. package/template/dist/carousel.json +1 -1
  23. package/template/dist/counter.js +4 -4
  24. package/template/dist/counter.json +1 -1
  25. package/template/dist/map.js +4 -4
  26. package/template/dist/map.json +1 -1
  27. package/template/node_modules/.bin/tsx +2 -2
  28. package/template/node_modules/.bin/vite +2 -2
  29. package/template/node_modules/.bin/vitest +2 -2
  30. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Avatar.js +7 -7
  31. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Avatar.js.map +1 -1
  32. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Button.js +6 -6
  33. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Checkbox.js +6 -6
  34. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Checkbox.js.map +1 -1
  35. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Icon.js +3 -3
  36. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Input.js +3 -3
  37. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_SegmentedControl.js +8 -8
  38. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_SegmentedControl.js.map +1 -1
  39. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Select.js +20 -20
  40. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Select.js.map +1 -1
  41. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Textarea.js +5 -5
  42. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_components_Textarea.js.map +1 -1
  43. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_theme.js +2 -2
  44. package/template/node_modules/.vite/deps/@openai_apps-sdk-ui_theme.js.map +1 -1
  45. package/template/node_modules/.vite/deps/_metadata.json +56 -56
  46. package/template/node_modules/.vite/deps/{chunk-CQ3GYAYB.js → chunk-2DZGWGIP.js} +5 -5
  47. package/template/node_modules/.vite/deps/{chunk-CQ3GYAYB.js.map → chunk-2DZGWGIP.js.map} +1 -1
  48. package/template/node_modules/.vite/deps/{chunk-4TLBUCVB.js → chunk-BUOVMFCD.js} +6 -6
  49. package/template/node_modules/.vite/deps/{chunk-4TLBUCVB.js.map → chunk-BUOVMFCD.js.map} +2 -2
  50. package/template/node_modules/.vite/deps/{chunk-BAG6OO6S.js → chunk-DYQDWJMS.js} +5 -5
  51. package/template/node_modules/.vite/deps/{chunk-BAG6OO6S.js.map → chunk-DYQDWJMS.js.map} +1 -1
  52. package/template/node_modules/.vite/deps/{chunk-YOJ6QPGS.js → chunk-JAGHY6H6.js} +3 -3
  53. package/template/node_modules/.vite/deps/{chunk-YOJ6QPGS.js.map → chunk-JAGHY6H6.js.map} +1 -1
  54. package/template/node_modules/.vite/deps/{chunk-PTVT3RFX.js → chunk-JGVISENQ.js} +6 -6
  55. package/template/node_modules/.vite/deps/{chunk-PTVT3RFX.js.map → chunk-JGVISENQ.js.map} +1 -1
  56. package/template/node_modules/.vite/deps/{chunk-LR7NKCX5.js → chunk-N6DVYEXK.js} +38 -38
  57. package/template/node_modules/.vite/deps/{chunk-LR7NKCX5.js.map → chunk-N6DVYEXK.js.map} +1 -1
  58. package/template/node_modules/.vite/deps/{chunk-SGWD4VEU.js → chunk-TSEQUROC.js} +113 -107
  59. package/template/node_modules/.vite/deps/chunk-TSEQUROC.js.map +7 -0
  60. package/template/node_modules/.vite/deps/{chunk-XB525PXG.js → chunk-UM3ZGDFR.js} +747 -747
  61. package/template/node_modules/.vite/deps/{chunk-XB525PXG.js.map → chunk-UM3ZGDFR.js.map} +1 -1
  62. package/template/node_modules/.vite/deps/{chunk-KFGKZMLK.js → chunk-XZTIOEPG.js} +7 -7
  63. package/template/node_modules/.vite/deps/{chunk-KFGKZMLK.js.map → chunk-XZTIOEPG.js.map} +2 -2
  64. package/template/node_modules/.vite/deps/embla-carousel-react.js +3 -3
  65. package/template/node_modules/.vite/deps/embla-carousel-react.js.map +1 -1
  66. package/template/node_modules/.vite/deps/react-dom.js +2 -2
  67. package/template/node_modules/.vite/deps/react-dom_client.js +11 -11
  68. package/template/node_modules/.vite/deps/react-dom_client.js.map +2 -2
  69. package/template/node_modules/.vite/deps/react.js +1 -1
  70. package/template/node_modules/.vite/deps/react_jsx-dev-runtime.js +5 -5
  71. package/template/node_modules/.vite/deps/react_jsx-dev-runtime.js.map +1 -1
  72. package/template/node_modules/.vite/deps/react_jsx-runtime.js +2 -2
  73. package/template/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
  74. package/template/package.json +11 -11
  75. package/dist/server-BOYwNazb.cjs +0 -930
  76. package/dist/server-BOYwNazb.cjs.map +0 -1
  77. package/dist/server-C6vMGV6H.js +0 -931
  78. package/dist/server-C6vMGV6H.js.map +0 -1
  79. package/template/node_modules/.vite/deps/chunk-SGWD4VEU.js.map +0 -7
@@ -15,5 +15,5 @@
15
15
  ]
16
16
  }
17
17
  },
18
- "uri": "ui://map-mjhl94fw"
18
+ "uri": "ui://map-mjkeffk1"
19
19
  }
@@ -10,9 +10,9 @@ case `uname` in
10
10
  esac
11
11
 
12
12
  if [ -z "$NODE_PATH" ]; then
13
- export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/tsx@4.20.6/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules"
13
+ export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/tsx@4.21.0/node_modules/tsx/dist/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/tsx@4.21.0/node_modules/tsx/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/tsx@4.21.0/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules"
14
14
  else
15
- export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/dist/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/tsx@4.20.6/node_modules/tsx/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/tsx@4.20.6/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules:$NODE_PATH"
15
+ export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/tsx@4.21.0/node_modules/tsx/dist/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/tsx@4.21.0/node_modules/tsx/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/tsx@4.21.0/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules:$NODE_PATH"
16
16
  fi
17
17
  if [ -x "$basedir/node" ]; then
18
18
  exec "$basedir/node" "$basedir/../tsx/dist/cli.mjs" "$@"
@@ -10,9 +10,9 @@ case `uname` in
10
10
  esac
11
11
 
12
12
  if [ -z "$NODE_PATH" ]; then
13
- export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vite@5.4.21_@types+node@24.10.1_lightningcss@1.30.2/node_modules/vite/bin/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vite@5.4.21_@types+node@24.10.1_lightningcss@1.30.2/node_modules/vite/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vite@5.4.21_@types+node@24.10.1_lightningcss@1.30.2/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules"
13
+ export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vite@5.4.21_@types+node@22.19.3_lightningcss@1.30.2/node_modules/vite/bin/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vite@5.4.21_@types+node@22.19.3_lightningcss@1.30.2/node_modules/vite/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vite@5.4.21_@types+node@22.19.3_lightningcss@1.30.2/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules"
14
14
  else
15
- export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vite@5.4.21_@types+node@24.10.1_lightningcss@1.30.2/node_modules/vite/bin/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vite@5.4.21_@types+node@24.10.1_lightningcss@1.30.2/node_modules/vite/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vite@5.4.21_@types+node@24.10.1_lightningcss@1.30.2/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules:$NODE_PATH"
15
+ export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vite@5.4.21_@types+node@22.19.3_lightningcss@1.30.2/node_modules/vite/bin/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vite@5.4.21_@types+node@22.19.3_lightningcss@1.30.2/node_modules/vite/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vite@5.4.21_@types+node@22.19.3_lightningcss@1.30.2/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules:$NODE_PATH"
16
16
  fi
17
17
  if [ -x "$basedir/node" ]; then
18
18
  exec "$basedir/node" "$basedir/../vite/bin/vite.js" "$@"
@@ -10,9 +10,9 @@ case `uname` in
10
10
  esac
11
11
 
12
12
  if [ -z "$NODE_PATH" ]; then
13
- export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vitest@4.0.13_@types+debug@4.1.12_@types+node@24.10.1_jiti@2.6.1_jsdom@27.2.0_lightningcss@1.30.2_tsx@4.20.6/node_modules/vitest/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vitest@4.0.13_@types+debug@4.1.12_@types+node@24.10.1_jiti@2.6.1_jsdom@27.2.0_lightningcss@1.30.2_tsx@4.20.6/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules"
13
+ export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vitest@4.0.16_@types+node@22.19.3_jiti@2.6.1_jsdom@27.3.0_lightningcss@1.30.2_tsx@4.21.0/node_modules/vitest/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vitest@4.0.16_@types+node@22.19.3_jiti@2.6.1_jsdom@27.3.0_lightningcss@1.30.2_tsx@4.21.0/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules"
14
14
  else
15
- export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vitest@4.0.13_@types+debug@4.1.12_@types+node@24.10.1_jiti@2.6.1_jsdom@27.2.0_lightningcss@1.30.2_tsx@4.20.6/node_modules/vitest/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vitest@4.0.13_@types+debug@4.1.12_@types+node@24.10.1_jiti@2.6.1_jsdom@27.2.0_lightningcss@1.30.2_tsx@4.20.6/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules:$NODE_PATH"
15
+ export NODE_PATH="/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vitest@4.0.16_@types+node@22.19.3_jiti@2.6.1_jsdom@27.3.0_lightningcss@1.30.2_tsx@4.21.0/node_modules/vitest/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/vitest@4.0.16_@types+node@22.19.3_jiti@2.6.1_jsdom@27.3.0_lightningcss@1.30.2_tsx@4.21.0/node_modules:/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/node_modules:$NODE_PATH"
16
16
  fi
17
17
  if [ -x "$basedir/node" ]; then
18
18
  exec "$basedir/node" "$basedir/../vitest/vitest.mjs" "$@"
@@ -1,25 +1,25 @@
1
1
  import {
2
2
  toCssVariables
3
- } from "./chunk-BAG6OO6S.js";
3
+ } from "./chunk-DYQDWJMS.js";
4
4
  import "./chunk-EGRHWZRV.js";
5
5
  import {
6
6
  clsx_default
7
7
  } from "./chunk-CNYJBM5F.js";
8
8
  import {
9
9
  require_jsx_runtime
10
- } from "./chunk-PTVT3RFX.js";
10
+ } from "./chunk-JGVISENQ.js";
11
11
  import {
12
12
  require_react
13
- } from "./chunk-4TLBUCVB.js";
13
+ } from "./chunk-BUOVMFCD.js";
14
14
  import {
15
15
  __toESM
16
16
  } from "./chunk-ILHRZGIS.js";
17
17
 
18
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Avatar/Avatar.js
18
+ // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/Avatar/Avatar.js
19
19
  var import_jsx_runtime = __toESM(require_jsx_runtime());
20
20
  var import_react = __toESM(require_react());
21
21
  var import_react2 = __toESM(require_react());
22
- import s from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Avatar/Avatar.module.css";
22
+ import s from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/Avatar/Avatar.module.css";
23
23
  var Avatar = (props) => {
24
24
  const validImageUrl = validateImageUrl(props.imageUrl);
25
25
  return (0, import_react.createElement)(AvatarInner, { ...props, imageUrl: validImageUrl, key: validImageUrl });
@@ -79,10 +79,10 @@ var AvatarOverflowCount = ({ count }) => {
79
79
  return (0, import_jsx_runtime.jsxs)("span", { className: s.AvatarOverflowCount, "data-letter-count": formattedCount.length, children: [(0, import_jsx_runtime.jsx)("span", { className: s.AvatarOverflowCountSymbol, children: "+" }), formattedCount] });
80
80
  };
81
81
 
82
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Avatar/AvatarGroup.js
82
+ // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/Avatar/AvatarGroup.js
83
83
  var import_jsx_runtime2 = __toESM(require_jsx_runtime());
84
84
  var import_react3 = __toESM(require_react());
85
- import s2 from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Avatar/AvatarGroup.module.css";
85
+ import s2 from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/Avatar/AvatarGroup.module.css";
86
86
  var AvatarGroup = ({ className, stack = "start", size, children }) => {
87
87
  const childrenArray = import_react3.Children.toArray(children);
88
88
  const maybeReversedChildren = stack === "start" ? childrenArray.slice().reverse() : childrenArray;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/src/components/Avatar/Avatar.tsx", "../../../../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/src/components/Avatar/AvatarGroup.tsx"],
3
+ "sources": ["../../../../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/src/components/Avatar/Avatar.tsx", "../../../../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/src/components/Avatar/AvatarGroup.tsx"],
4
4
  "sourcesContent": ["\"use client\"\n\nimport clsx from \"clsx\"\nimport { useMemo, useState } from \"react\"\nimport { toCssVariables } from \"../../lib/helpers\"\nimport { type SemanticColors, type Variants } from \"../../types\"\nimport s from \"./Avatar.module.css\"\n\ntype ImageStatus = undefined | \"error\" | \"loaded\"\n\nexport type AvatarProps = {\n /** Class name applied to the avatar */\n className?: string\n /** Size of the avatar's width & height, in pixels. */\n size?: number\n /** Display a formatted count of overflow objects. */\n overflowCount?: number\n /** Name used to display initials from */\n name?: string\n /**\n * Color used for the avatar\n * @default secondary\n */\n color?: SemanticColors<\"primary\" | \"secondary\" | \"success\" | \"info\" | \"discovery\" | \"danger\">\n /**\n * Style variant of the avatar\n * @default soft\n */\n variant?: Variants<\"soft\" | \"solid\">\n /** URL of the image to display as the avatar */\n imageUrl?: string\n /** Icon to render in the avatar circle */\n Icon?: React.ComponentType<React.SVGProps<SVGSVGElement>>\n /** Optional click handler, which also enables semantic interactions */\n onClick?: () => void\n /** Optional pointer handler, which also enables semantic interactions */\n onPointerDown?: () => void\n}\n\nexport const Avatar = (props: AvatarProps) => {\n // Validate the image url before sending to the component\n const validImageUrl = validateImageUrl(props.imageUrl)\n\n // Keying off of imageUrl allows us to refresh imageStatus automatically through React rendering\n return <AvatarInner {...props} imageUrl={validImageUrl} key={validImageUrl} />\n}\n\nexport const AvatarInner = (props: AvatarProps) => {\n const {\n className,\n size,\n overflowCount,\n name,\n color = \"secondary\",\n variant = \"soft\",\n imageUrl,\n Icon,\n // asChild support\n ...restProps\n } = props\n const [imageStatus, setImageStatus] = useState<ImageStatus>()\n const isInteractive = !!(restProps.onPointerDown || restProps.onClick)\n const TagName = isInteractive ? \"button\" : \"span\"\n\n return (\n <TagName\n className={clsx(s.Avatar, className)}\n style={toCssVariables({\n \"avatar-size\": size,\n })}\n role={isInteractive ? undefined : \"presentation\"}\n data-color={color}\n data-variant={variant}\n type={isInteractive ? \"button\" : undefined}\n {...restProps}\n >\n {(() => {\n if (imageUrl && imageStatus !== \"error\") {\n return (\n <AvatarImage\n status={imageStatus}\n url={imageUrl}\n onError={() => setImageStatus(\"error\")}\n onLoad={() => setImageStatus(\"loaded\")}\n />\n )\n }\n if (Icon) {\n return <Icon className={s.AvatarIcon} />\n }\n return overflowCount ? (\n <AvatarOverflowCount count={overflowCount} />\n ) : (\n <AvatarInitial name={name} />\n )\n })()}\n </TagName>\n )\n}\n\nconst validateImageUrl = (imageUrl?: string): string | undefined => {\n if (!imageUrl) {\n return\n }\n\n // Avoid specific pattern of images from gravatar.com, which use a pair of initials, instead of a single initial.\n if (imageUrl.includes(\"gravatar.com\") && imageUrl.includes(\"cdn.auth0.com\")) {\n return\n }\n\n return imageUrl\n}\n\nconst AvatarImage = ({\n url,\n status,\n onLoad,\n onError,\n}: {\n url: string\n status: ImageStatus\n onLoad: () => void\n onError: () => void\n}) => {\n return (\n <span className={s.AvatarImageContainer}>\n <img\n src={url}\n className={s.AvatarImage}\n data-loaded={status === \"loaded\" ? \"\" : undefined}\n onLoad={onLoad}\n onError={onError}\n alt=\"\"\n role=\"presentation\"\n />\n </span>\n )\n}\n\nconst AvatarInitial = ({ name = \"\" }: { name?: string }) => {\n const firstInitial = useMemo(() => name.charAt(0).toUpperCase(), [name])\n\n return <span className={s.AvatarInitial}>{firstInitial}</span>\n}\n\nconst AvatarOverflowCount = ({ count }: { count: number }) => {\n const formattedCount = useMemo<string>(() => {\n return new Intl.NumberFormat(\"en\", {\n notation: \"compact\",\n compactDisplay: \"short\",\n maximumFractionDigits: 0,\n })\n .format(count)\n .toLocaleLowerCase()\n }, [count])\n\n return (\n <span className={s.AvatarOverflowCount} data-letter-count={formattedCount.length}>\n <span className={s.AvatarOverflowCountSymbol}>+</span>\n {formattedCount}\n </span>\n )\n}\n", "import clsx from \"clsx\"\nimport { Children, cloneElement, isValidElement, type ReactNode } from \"react\"\nimport { toCssVariables } from \"../../lib/helpers\"\nimport s from \"./AvatarGroup.module.css\"\n\nexport type AvatarGroupProps = {\n /** Class name passed to the group container */\n className?: string\n /**\n * Determines stacking layer order\n * @default start\n */\n stack?: \"start\" | \"end\"\n /** Size all avatars in the group, in pixels. */\n size?: number\n children: ReactNode\n}\n\nexport const AvatarGroup = ({ className, stack = \"start\", size, children }: AvatarGroupProps) => {\n const childrenArray = Children.toArray(children)\n // Conditionally reverse the array depending on desired stacking priority\n const maybeReversedChildren = stack === \"start\" ? childrenArray.slice().reverse() : childrenArray\n\n return (\n <div\n className={clsx(s.Group, className)}\n data-stack={stack}\n style={toCssVariables({\n \"avatar-size\": size,\n })}\n >\n {maybeReversedChildren.map((child) => (isValidElement(child) ? cloneElement(child) : child))}\n </div>\n )\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": ["import_react", "_createElement", "_jsx", "_jsxs", "import_react", "s", "_jsx"]
@@ -2,15 +2,15 @@ import {
2
2
  Button,
3
3
  ButtonLink,
4
4
  CopyButton
5
- } from "./chunk-LR7NKCX5.js";
6
- import "./chunk-YOJ6QPGS.js";
5
+ } from "./chunk-N6DVYEXK.js";
6
+ import "./chunk-JAGHY6H6.js";
7
7
  import "./chunk-QPJAV452.js";
8
- import "./chunk-BAG6OO6S.js";
8
+ import "./chunk-DYQDWJMS.js";
9
9
  import "./chunk-EGRHWZRV.js";
10
10
  import "./chunk-CNYJBM5F.js";
11
- import "./chunk-XB525PXG.js";
12
- import "./chunk-PTVT3RFX.js";
13
- import "./chunk-4TLBUCVB.js";
11
+ import "./chunk-UM3ZGDFR.js";
12
+ import "./chunk-JGVISENQ.js";
13
+ import "./chunk-BUOVMFCD.js";
14
14
  import "./chunk-ILHRZGIS.js";
15
15
  export {
16
16
  Button,
@@ -1,24 +1,24 @@
1
1
  import {
2
2
  dist_exports2 as dist_exports
3
- } from "./chunk-SGWD4VEU.js";
4
- import "./chunk-KFGKZMLK.js";
3
+ } from "./chunk-TSEQUROC.js";
4
+ import "./chunk-XZTIOEPG.js";
5
5
  import {
6
6
  clsx_default
7
7
  } from "./chunk-CNYJBM5F.js";
8
8
  import {
9
9
  require_jsx_runtime
10
- } from "./chunk-PTVT3RFX.js";
10
+ } from "./chunk-JGVISENQ.js";
11
11
  import {
12
12
  require_react
13
- } from "./chunk-4TLBUCVB.js";
13
+ } from "./chunk-BUOVMFCD.js";
14
14
  import {
15
15
  __toESM
16
16
  } from "./chunk-ILHRZGIS.js";
17
17
 
18
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Checkbox/Checkbox.js
18
+ // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/Checkbox/Checkbox.js
19
19
  var import_jsx_runtime = __toESM(require_jsx_runtime());
20
20
  var import_react = __toESM(require_react());
21
- import s from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Checkbox/Checkbox.module.css";
21
+ import s from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/Checkbox/Checkbox.module.css";
22
22
  var Checkbox = ({ className, label, id: propsId, disabled, orientation = "left", ...restProps }) => {
23
23
  const reactId = (0, import_react.useId)();
24
24
  const id = propsId ?? reactId;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/src/components/Checkbox/Checkbox.tsx"],
3
+ "sources": ["../../../../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/src/components/Checkbox/Checkbox.tsx"],
4
4
  "sourcesContent": ["\"use client\"\n\nimport clsx from \"clsx\"\nimport { Checkbox as RadixCheckbox } from \"radix-ui\"\nimport { type FocusEventHandler, type ReactNode, useId } from \"react\"\nimport s from \"./Checkbox.module.css\"\n\nexport type CheckboxProps = {\n /** The `id` of the checkbox. */\n id?: string\n /** The state of the checkbox when it is initially rendered. Use when you do not need to control its state. */\n defaultChecked?: boolean | \"indeterminate\"\n /** The controlled state of the checkbox. Must be used in conjunction with `onCheckedChange`. */\n checked?: boolean | \"indeterminate\"\n /** Optional accessible label rendered to the right of the checkbox. */\n label?: ReactNode\n /** Event handler called when the state of the checkbox changes. */\n onCheckedChange?: (nextState: boolean) => void\n /** Event handler called when the checkbox looses focus. */\n onBlur?: FocusEventHandler<HTMLButtonElement>\n /** Event handler called when the checkbox gains focus. */\n onFocus?: FocusEventHandler<HTMLButtonElement>\n /** When `true`, prevents the user from interacting with the checkbox. */\n disabled?: boolean\n /** When `true`, indicates that the user must check the checkbox before the owning form can be submitted. */\n required?: boolean\n /** The name of the checkbox. Submitted with its owning form as part of a name/value pair. */\n name?: string\n /** The value given as data when submitted with a `name`. */\n value?: string\n /** CSS classes applied to wrapper node */\n className?: string\n /**\n * The orientation of the checkbox relative to the label.\n *\n * @default \"left\"\n */\n orientation?: \"left\" | \"right\"\n}\n\nexport const Checkbox = ({\n className,\n label,\n id: propsId,\n disabled,\n orientation = \"left\",\n ...restProps\n}: CheckboxProps) => {\n const reactId = useId()\n const id = propsId ?? reactId\n\n return (\n <div\n data-disabled={disabled ? \"\" : undefined}\n data-has-label={label ? \"\" : undefined}\n data-orientation={orientation}\n className={clsx(className, s.Container)}\n >\n <RadixCheckbox.Root className={s.Checkbox} id={id} disabled={disabled} {...restProps}>\n <RadixCheckbox.Indicator className={s.CheckMark} />\n </RadixCheckbox.Root>\n {label && (\n <label\n htmlFor={id}\n className={s.Label}\n onMouseDown={(event) => {\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault()\n }}\n >\n {label}\n </label>\n )}\n </div>\n )\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;AAIA,mBAA8D;AAC9D,OAAO,OAAO;AAmCP,IAAM,WAAW,CAAC,EACvB,WACA,OACA,IAAI,SACJ,UACA,cAAc,QACd,GAAG,UAAS,MACM;AAClB,QAAM,cAAU,oBAAK;AACrB,QAAM,KAAK,WAAW;AAEtB,aACE,mBAAAA,MAAA,OAAA,EAAA,iBACiB,WAAW,KAAK,QAAS,kBACxB,QAAQ,KAAK,QAAS,oBACpB,aAClB,WAAW,aAAK,WAAW,EAAE,SAAS,GAAC,UAAA,KAEvC,mBAAAC,KAAC,aAAc,MAAI,EAAC,WAAW,EAAE,UAAU,IAAQ,UAAkB,GAAM,WAAS,cAClF,mBAAAA,KAAC,aAAc,WAAS,EAAC,WAAW,EAAE,UAAS,CAAA,EAAI,CAAA,GAEpD,aACC,mBAAAA,KAAA,SAAA,EACE,SAAS,IACT,WAAW,EAAE,OACb,aAAa,CAAC,UAAS;AACrB,QAAI,CAAC,MAAM,oBAAoB,MAAM,SAAS;AAAG,YAAM,eAAc;EACvE,GAAC,UAEA,MAAK,CAAA,CAET,EAAA,CAAA;AAGP;",
6
6
  "names": ["_jsxs", "_jsx"]
@@ -744,9 +744,9 @@ import {
744
744
  XXsCrossed_default,
745
745
  XXs_default,
746
746
  X_default
747
- } from "./chunk-XB525PXG.js";
748
- import "./chunk-PTVT3RFX.js";
749
- import "./chunk-4TLBUCVB.js";
747
+ } from "./chunk-UM3ZGDFR.js";
748
+ import "./chunk-JGVISENQ.js";
749
+ import "./chunk-BUOVMFCD.js";
750
750
  import "./chunk-ILHRZGIS.js";
751
751
  export {
752
752
  AddMember_default as AddMember,
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  Input
3
- } from "./chunk-CQ3GYAYB.js";
3
+ } from "./chunk-2DZGWGIP.js";
4
4
  import "./chunk-QPJAV452.js";
5
5
  import "./chunk-EGRHWZRV.js";
6
6
  import "./chunk-CNYJBM5F.js";
7
- import "./chunk-PTVT3RFX.js";
8
- import "./chunk-4TLBUCVB.js";
7
+ import "./chunk-JGVISENQ.js";
8
+ import "./chunk-BUOVMFCD.js";
9
9
  import "./chunk-ILHRZGIS.js";
10
10
  export {
11
11
  Input
@@ -1,32 +1,32 @@
1
1
  import {
2
2
  useResizeObserver
3
- } from "./chunk-YOJ6QPGS.js";
3
+ } from "./chunk-JAGHY6H6.js";
4
4
  import {
5
5
  handlePressableMouseEnter,
6
6
  waitForAnimationFrame
7
- } from "./chunk-BAG6OO6S.js";
7
+ } from "./chunk-DYQDWJMS.js";
8
8
  import "./chunk-EGRHWZRV.js";
9
9
  import {
10
10
  dist_exports4 as dist_exports
11
- } from "./chunk-SGWD4VEU.js";
12
- import "./chunk-KFGKZMLK.js";
11
+ } from "./chunk-TSEQUROC.js";
12
+ import "./chunk-XZTIOEPG.js";
13
13
  import {
14
14
  clsx_default
15
15
  } from "./chunk-CNYJBM5F.js";
16
16
  import {
17
17
  require_jsx_runtime
18
- } from "./chunk-PTVT3RFX.js";
18
+ } from "./chunk-JGVISENQ.js";
19
19
  import {
20
20
  require_react
21
- } from "./chunk-4TLBUCVB.js";
21
+ } from "./chunk-BUOVMFCD.js";
22
22
  import {
23
23
  __toESM
24
24
  } from "./chunk-ILHRZGIS.js";
25
25
 
26
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/SegmentedControl/SegmentedControl.js
26
+ // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/SegmentedControl/SegmentedControl.js
27
27
  var import_jsx_runtime = __toESM(require_jsx_runtime());
28
28
  var import_react = __toESM(require_react());
29
- import s from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/SegmentedControl/SegmentedControl.module.css";
29
+ import s from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/SegmentedControl/SegmentedControl.module.css";
30
30
  var SegmentedControl = ({ value, onChange, children, block, pill = true, size = "md", gutterSize, className, onClick, ...restProps }) => {
31
31
  const rootRef = (0, import_react.useRef)(null);
32
32
  const thumbRef = (0, import_react.useRef)(null);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/src/components/SegmentedControl/SegmentedControl.tsx"],
3
+ "sources": ["../../../../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/src/components/SegmentedControl/SegmentedControl.tsx"],
4
4
  "sourcesContent": ["\"use client\"\n\nimport clsx from \"clsx\"\nimport { ToggleGroup } from \"radix-ui\"\nimport { useCallback, useLayoutEffect, useRef } from \"react\"\nimport { useResizeObserver } from \"usehooks-ts\"\nimport { handlePressableMouseEnter, waitForAnimationFrame } from \"../../lib/helpers\"\nimport { type ControlSize, type Sizes } from \"../../types\"\nimport s from \"./SegmentedControl.module.css\"\n\nexport type SizeVariant = \"2xs\" | \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\"\n\nexport type SegmentedControlProps<T extends string> = {\n /**\n * Controlled value for the group\n */\n \"value\": T\n /** Callback for when a new value is selected */\n \"onChange\"?: (nextValue: T) => void\n /** Callback any time the control is clicked (even if a new value was not selected) */\n \"onClick\"?: () => void\n /**\n * Text read aloud to screen readers when the control is focused\n */\n \"aria-label\": string\n /**\n * Controls the size of the segmented control\n *\n * | 3xs | 2xs | xs | sm | md | lg | xl | 2xl | 3xl |\n * | ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- |\n * | `22px` | `24px` | `26px` | `28px` | `32px` | `36px` | `40px` | `44px` | `48px` |\n *\n * @default md\n */\n \"size\"?: ControlSize\n /**\n * Controls gutter on the edges of the button, defaults to value from `size`.\n *\n * | 2xs | xs | sm | md | lg | xl |\n * | ------ | ------ | ------ | ------ | ------ | ------ |\n * | `6px` | `8px` | `10px` | `12px` | `14px` | `16px` |\n */\n \"gutterSize\"?: Sizes<\"2xs\" | \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\">\n /** Disable the entire group */\n \"disabled\"?: boolean\n /**\n * Display the control as a block element with equal width segments\n * @default false\n */\n \"block\"?: boolean\n /**\n * Determines if the segment control, and its options, should be a fully rounded pill shape.\n * @default false\n */\n \"pill\"?: boolean\n \"className\"?: string\n \"children\": React.ReactNode\n}\n\nexport const SegmentedControl = <T extends string>({\n value,\n onChange,\n children,\n block,\n pill = true,\n size = \"md\",\n gutterSize,\n className,\n onClick,\n ...restProps\n}: SegmentedControlProps<T>) => {\n const rootRef = useRef<HTMLDivElement>(null)\n const thumbRef = useRef<HTMLDivElement>(null)\n\n const applyThumbSizing = useCallback((attemptScroll: boolean) => {\n const root = rootRef.current\n const thumb = thumbRef.current\n\n if (!root || !thumb) {\n return\n }\n\n // Get selected node\n const activeNode = root?.querySelector<HTMLDivElement>('[data-state=\"on\"]')\n\n // Impossible\n if (!activeNode) {\n return\n }\n\n const rootWidth = root.clientWidth\n let targetWidth = Math.floor(activeNode.clientWidth)\n const targetOffset = activeNode.offsetLeft\n\n // Detect if the thumb is moving too far to the edge of the container.\n // This would most commonly be due to subpixel widths adding up to excessive distance.\n if (rootWidth - (targetWidth + targetOffset) < 2) {\n targetWidth = targetWidth - 1\n }\n\n thumb.style.width = `${Math.floor(targetWidth)}px`\n thumb.style.transform = `translateX(${targetOffset}px)`\n\n // If the control is scrollable, ensure the active option is visible\n if (root.scrollWidth > rootWidth) {\n // Only scroll items near the edge, but not the inner 2/3.\n const buffer = rootWidth * 0.15\n const scrollLeft = root.scrollLeft\n const left = activeNode.offsetLeft\n const right = left + targetWidth\n if (left < scrollLeft + buffer || right > scrollLeft + rootWidth - buffer) {\n // Cheap trick to avoid unintentional scroll on mount - transition is set after mounting\n if (attemptScroll) {\n activeNode.scrollIntoView({ block: \"nearest\", inline: \"center\", behavior: \"smooth\" })\n }\n }\n }\n }, [])\n\n useResizeObserver({\n // @ts-expect-error(2322) -- bug in types: https://github.com/juliencrn/usehooks-ts/issues/663\n ref: rootRef,\n onResize: () => {\n const thumb = thumbRef.current\n\n if (!thumb) {\n return\n }\n\n // Perform the size update instantly\n const currentTransition = thumb.style.transition\n thumb.style.transition = \"\"\n applyThumbSizing(false)\n thumb.style.transition = currentTransition\n },\n })\n\n useLayoutEffect(() => {\n const root = rootRef.current\n const thumb = thumbRef.current\n\n if (!root || !thumb) {\n return\n }\n\n // Cheap trick to avoid unintentional scroll on mount - transition is set after mounting\n applyThumbSizing(!!thumb.style.transition)\n\n // Apply transition after initial calculation is set\n if (!thumb.style.transition) {\n waitForAnimationFrame(() => {\n thumb.style.transition =\n \"width 300ms var(--cubic-enter), transform 300ms var(--cubic-enter)\"\n })\n }\n }, [applyThumbSizing, value, size, gutterSize, pill])\n\n const handleValueChange = (nextValue: T) => {\n // Only trigger onChange when a value exists\n // Disallow toggling off enabled items\n if (nextValue && onChange) onChange(nextValue)\n }\n\n return (\n <ToggleGroup.Root\n ref={rootRef}\n className={clsx(s.SegmentedControl, className)}\n type=\"single\"\n value={value}\n loop={false}\n onValueChange={handleValueChange}\n onClick={onClick}\n data-block={block ? \"\" : undefined}\n data-pill={pill ? \"\" : undefined}\n data-size={size}\n data-gutter-size={gutterSize}\n {...restProps}\n >\n <div className={s.SegmentedControlThumb} ref={thumbRef} />\n {children}\n </ToggleGroup.Root>\n )\n}\n\ntype SegmentedControlOptionProps = {\n /**\n * Option value\n */\n \"value\": string\n /**\n * Text read aloud to screen readers when the option is focused\n */\n \"aria-label\"?: string\n /**\n * Content to render in the option\n */\n \"children\": React.ReactNode\n /**\n * Disable the individual option\n */\n \"disabled\"?: boolean\n}\n\nconst Segment = ({ children, ...restProps }: SegmentedControlOptionProps) => {\n return (\n <ToggleGroup.Item\n className={s.SegmentedControlOption}\n {...restProps}\n onPointerEnter={handlePressableMouseEnter}\n >\n <span className=\"relative\">{children}</span>\n </ToggleGroup.Item>\n )\n}\n\nSegmentedControl.Option = Segment\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAAqD;AAIrD,OAAO,OAAO;AAmDP,IAAM,mBAAmB,CAAmB,EACjD,OACA,UACA,UACA,OACA,OAAO,MACP,OAAO,MACP,YACA,WACA,SACA,GAAG,UAAS,MACiB;AAC7B,QAAM,cAAU,qBAAuB,IAAI;AAC3C,QAAM,eAAW,qBAAuB,IAAI;AAE5C,QAAM,uBAAmB,0BAAY,CAAC,kBAA0B;AAC9D,UAAM,OAAO,QAAQ;AACrB,UAAM,QAAQ,SAAS;AAEvB,QAAI,CAAC,QAAQ,CAAC,OAAO;AACnB;IACF;AAGA,UAAM,aAAa,6BAAM,cAA8B;AAGvD,QAAI,CAAC,YAAY;AACf;IACF;AAEA,UAAM,YAAY,KAAK;AACvB,QAAI,cAAc,KAAK,MAAM,WAAW,WAAW;AACnD,UAAM,eAAe,WAAW;AAIhC,QAAI,aAAa,cAAc,gBAAgB,GAAG;AAChD,oBAAc,cAAc;IAC9B;AAEA,UAAM,MAAM,QAAQ,GAAG,KAAK,MAAM,WAAW,CAAC;AAC9C,UAAM,MAAM,YAAY,cAAc,YAAY;AAGlD,QAAI,KAAK,cAAc,WAAW;AAEhC,YAAM,SAAS,YAAY;AAC3B,YAAM,aAAa,KAAK;AACxB,YAAM,OAAO,WAAW;AACxB,YAAM,QAAQ,OAAO;AACrB,UAAI,OAAO,aAAa,UAAU,QAAQ,aAAa,YAAY,QAAQ;AAEzE,YAAI,eAAe;AACjB,qBAAW,eAAe,EAAE,OAAO,WAAW,QAAQ,UAAU,UAAU,SAAQ,CAAE;QACtF;MACF;IACF;EACF,GAAG,CAAA,CAAE;AAEL,oBAAkB;;IAEhB,KAAK;IACL,UAAU,MAAK;AACb,YAAM,QAAQ,SAAS;AAEvB,UAAI,CAAC,OAAO;AACV;MACF;AAGA,YAAM,oBAAoB,MAAM,MAAM;AACtC,YAAM,MAAM,aAAa;AACzB,uBAAiB,KAAK;AACtB,YAAM,MAAM,aAAa;IAC3B;GACD;AAED,oCAAgB,MAAK;AACnB,UAAM,OAAO,QAAQ;AACrB,UAAM,QAAQ,SAAS;AAEvB,QAAI,CAAC,QAAQ,CAAC,OAAO;AACnB;IACF;AAGA,qBAAiB,CAAC,CAAC,MAAM,MAAM,UAAU;AAGzC,QAAI,CAAC,MAAM,MAAM,YAAY;AAC3B,4BAAsB,MAAK;AACzB,cAAM,MAAM,aACV;MACJ,CAAC;IACH;EACF,GAAG,CAAC,kBAAkB,OAAO,MAAM,YAAY,IAAI,CAAC;AAEpD,QAAM,oBAAoB,CAAC,cAAgB;AAGzC,QAAI,aAAa;AAAU,eAAS,SAAS;EAC/C;AAEA,aACE,mBAAAA,MAAC,aAAY,MAAI,EACf,KAAK,SACL,WAAW,aAAK,EAAE,kBAAkB,SAAS,GAC7C,MAAK,UACL,OACA,MAAM,OACN,eAAe,mBACf,SAAgB,cACJ,QAAQ,KAAK,QAAS,aACvB,OAAO,KAAK,QAAS,aACrB,MAAI,oBACG,YAAU,GACxB,WAAS,UAAA,KAEb,mBAAAC,KAAA,OAAA,EAAK,WAAW,EAAE,uBAAuB,KAAK,SAAQ,CAAA,GACrD,QAAQ,EAAA,CAAA;AAGf;AAqBA,IAAM,UAAU,CAAC,EAAE,UAAU,GAAG,UAAS,MAAmC;AAC1E,aACE,mBAAAA,KAAC,aAAY,MAAI,EACf,WAAW,EAAE,wBAAsB,GAC/B,WACJ,gBAAgB,2BAAyB,cAEzC,mBAAAA,KAAA,QAAA,EAAM,WAAU,YAAU,SAAU,CAAA,EAAQ,CAAA;AAGlD;AAEA,iBAAiB,SAAS;",
6
6
  "names": ["_jsxs", "_jsx"]
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  Input
3
- } from "./chunk-CQ3GYAYB.js";
3
+ } from "./chunk-2DZGWGIP.js";
4
4
  import {
5
5
  Button,
6
6
  LoadingIndicator,
7
7
  TransitionGroup
8
- } from "./chunk-LR7NKCX5.js";
8
+ } from "./chunk-N6DVYEXK.js";
9
9
  import {
10
10
  useTimeout
11
- } from "./chunk-YOJ6QPGS.js";
11
+ } from "./chunk-JAGHY6H6.js";
12
12
  import {
13
13
  o
14
14
  } from "./chunk-QPJAV452.js";
@@ -17,14 +17,14 @@ import {
17
17
  preventDefaultHandler,
18
18
  toCssVariables,
19
19
  waitForAnimationFrame
20
- } from "./chunk-BAG6OO6S.js";
20
+ } from "./chunk-DYQDWJMS.js";
21
21
  import "./chunk-EGRHWZRV.js";
22
22
  import {
23
23
  dist_exports,
24
24
  dist_exports3 as dist_exports2,
25
25
  dist_exports5 as dist_exports3
26
- } from "./chunk-SGWD4VEU.js";
27
- import "./chunk-KFGKZMLK.js";
26
+ } from "./chunk-TSEQUROC.js";
27
+ import "./chunk-XZTIOEPG.js";
28
28
  import {
29
29
  clsx_default
30
30
  } from "./chunk-CNYJBM5F.js";
@@ -35,25 +35,25 @@ import {
35
35
  Info_default,
36
36
  Search_default,
37
37
  X_default
38
- } from "./chunk-XB525PXG.js";
38
+ } from "./chunk-UM3ZGDFR.js";
39
39
  import {
40
40
  require_jsx_runtime
41
- } from "./chunk-PTVT3RFX.js";
41
+ } from "./chunk-JGVISENQ.js";
42
42
  import {
43
43
  require_react
44
- } from "./chunk-4TLBUCVB.js";
44
+ } from "./chunk-BUOVMFCD.js";
45
45
  import {
46
46
  __toESM
47
47
  } from "./chunk-ILHRZGIS.js";
48
48
 
49
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Select/Select.js
49
+ // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/Select/Select.js
50
50
  var import_jsx_runtime4 = __toESM(require_jsx_runtime());
51
51
  var import_react6 = __toESM(require_react());
52
52
 
53
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/hooks/useEscCloseStack.js
53
+ // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/hooks/useEscCloseStack.js
54
54
  var import_react2 = __toESM(require_react());
55
55
 
56
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/hooks/useLatestValue.js
56
+ // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/hooks/useLatestValue.js
57
57
  var import_react = __toESM(require_react());
58
58
  function useLatestValue(value) {
59
59
  const ref = (0, import_react.useRef)(value);
@@ -61,7 +61,7 @@ function useLatestValue(value) {
61
61
  return ref;
62
62
  }
63
63
 
64
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/hooks/useEscCloseStack.js
64
+ // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/hooks/useEscCloseStack.js
65
65
  var handlers = [];
66
66
  var listenerBound = false;
67
67
  var handleKeyDown = (evt) => {
@@ -104,10 +104,10 @@ var useEscCloseStack = (listening, cb) => {
104
104
  }, [id, listening, latestCallback]);
105
105
  };
106
106
 
107
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/SelectControl/SelectControl.js
107
+ // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/SelectControl/SelectControl.js
108
108
  var import_jsx_runtime = __toESM(require_jsx_runtime());
109
109
  var import_react3 = __toESM(require_react());
110
- import s from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/SelectControl/SelectControl.module.css";
110
+ import s from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/SelectControl/SelectControl.module.css";
111
111
  var SelectControl = ({ ref, onPointerDown, onKeyDown, onPointerEnter, onInteract, invalid, disabled, children, className, variant = "outline", size = "md", block, opticallyAlign, pill = true, loading, onClearClick, selected = false, StartIcon, dropdownIconType = "dropdown", ...restProps }) => {
112
112
  const controlRef = (0, import_react3.useRef)(null);
113
113
  const clearable = !!onClearClick;
@@ -209,14 +209,14 @@ var DropdownIcon = ({ iconType }) => {
209
209
  return iconType === "chevronDown" ? (0, import_jsx_runtime.jsx)(ChevronDownVector_default, { className: clsx_default(s.DropdownIcon, s.DropdownIconChevron) }) : (0, import_jsx_runtime.jsx)(DropdownVector_default, { className: s.DropdownIcon });
210
210
  };
211
211
 
212
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Tooltip/CopyTooltip.js
212
+ // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/Tooltip/CopyTooltip.js
213
213
  var import_jsx_runtime3 = __toESM(require_jsx_runtime());
214
214
  var import_react5 = __toESM(require_react());
215
215
 
216
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Tooltip/Tooltip.js
216
+ // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/Tooltip/Tooltip.js
217
217
  var import_jsx_runtime2 = __toESM(require_jsx_runtime());
218
218
  var import_react4 = __toESM(require_react());
219
- import s2 from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Tooltip/Tooltip.module.css";
219
+ import s2 from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/Tooltip/Tooltip.module.css";
220
220
  var Tooltip = (props) => {
221
221
  const { ref: forwardedRef, children, content, forceOpen = content === null ? false : void 0, maxWidth = 300, openDelay = 150, interactive = false, compact = false, preventUnintentionalClickToClose, align, alignOffset = 0, side, sideOffset = 5, gutterSize = "md", contentClassName, onPointerDown, onClick, ...restProps } = props;
222
222
  const [visible, setVisible] = (0, import_react4.useState)(false);
@@ -270,8 +270,8 @@ Tooltip.Content = Content;
270
270
  Tooltip.Trigger = Trigger;
271
271
  Tooltip.TriggerDecorator = TriggerDecorator;
272
272
 
273
- // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Select/Select.js
274
- import s3 from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.0_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._60630c8dcc43ec213b3e346c9e26579b/node_modules/@openai/apps-sdk-ui/dist/es/components/Select/Select.module.css";
273
+ // ../node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/Select/Select.js
274
+ import s3 from "/home/runner/work/sunpeak/sunpeak/node_modules/.pnpm/@openai+apps-sdk-ui@0.2.1_@types+react-dom@19.2.3_@types+react@19.2.7__@types+react@19._90324f97b7190ccfdbe40a9e8bef3385/node_modules/@openai/apps-sdk-ui/dist/es/components/Select/Select.module.css";
275
275
  var SelectContext = (0, import_react6.createContext)(null);
276
276
  var useSelectContext = () => {
277
277
  const context = (0, import_react6.use)(SelectContext);