diff --git a/apps/aitino/src/app.pcss b/apps/aitino/src/app.pcss index 908d43c5b..6c345d917 100644 --- a/apps/aitino/src/app.pcss +++ b/apps/aitino/src/app.pcss @@ -3,6 +3,38 @@ @tailwind utilities; @layer base { + /* Universal */ + --md-sys-color-primary: 69 223 164; + --md-sys-color-on-primary: 0 56 37; + --md-sys-color-primary-container: 0 81 55; + --md-sys-color-on-primary-container: 104 252 191; + --md-sys-color-secondary: 60 221 199; + --md-sys-color-on-secondary: 0 55 49; + --md-sys-color-secondary-container: 0 80 71; + --md-sys-color-on-secondary-container: 98 250 227; + --md-sys-color-tertiary: 255 175 211; + --md-sys-color-on-tertiary: 98 0 64; + --md-sys-color-tertiary-container: 133 20 90; + --md-sys-color-on-tertiary-container: 255 216 231; + --md-sys-color-error: 255 180 171; + --md-sys-color-error-container: 147 0 10; + --md-sys-color-on-error: 105 0 5; + --md-sys-color-on-error-container: 255 218 214; + --md-sys-color-background: 23 25 25; + --md-sys-color-on-background: 225 227 223; + --md-sys-color-surface: 30 30 30; + --md-sys-color-on-surface: 225 227 223; + --md-sys-color-surface-variant: 64 73 67; + --md-sys-color-on-surface-variant: 191 201 193; + --md-sys-color-outline: 138 147 140; + --md-sys-color-inverse-on-surface: 25 28 26; + --md-sys-color-inverse-surface: 225 227 223; + --md-sys-color-inverse-primary: 0 108 75; + --md-sys-color-shadow: 0 0 0; + --md-sys-color-surface-tint: 69 223 164; + --md-sys-color-outline-variant: 64 73 67; + --md-sys-color-scrim: 0 0 0; + :root { --background: 255 255 255; --foreground: 13 13 13; @@ -26,7 +58,7 @@ --radius: 0.5rem; } .dark { - --background: 9 16 16; + --background: 23 25 25; --foreground: 248 250 252; --card: 13 13 13; --card-foreground: 249 249 249; @@ -35,7 +67,7 @@ --primary: 69 223 164; --primary-foreground: 0 56 37; --secondary: 60 221 199; - --secondary-foreground: 249 249 249; + --secondary-foreground: 0 55 49; --muted: 45 45 45; --muted-foreground: 166 166 166; --accent: 255 175 211; @@ -43,8 +75,8 @@ --destructive: 251 113 133; --destructive-foreground: 249 249 249; --border: 45 45 45; - --input: 30 41 59; - --ring: 123 123 123; + --input: 0 81 55; + --ring: 69 223 164; --radius: 0.5rem; } } diff --git a/apps/aitino/src/lib/api-client.ts b/apps/aitino/src/lib/api-client.ts index abdc10731..6eff1bfe1 100644 --- a/apps/aitino/src/lib/api-client.ts +++ b/apps/aitino/src/lib/api-client.ts @@ -2,6 +2,7 @@ import { supabase } from "$lib/supabase"; import type { TablesInsert } from "$lib/supabase.types"; export async function saveMaeveNodes(data: TablesInsert<"maeve_nodes">) { + localStorage.setItem("currentMeaveId", data.id); return supabase.from("maeve_nodes").upsert(data); } diff --git a/apps/aitino/src/lib/components/ChatRoom.svelte b/apps/aitino/src/lib/components/ChatRoom.svelte index 11622433d..4ec1e3588 100644 --- a/apps/aitino/src/lib/components/ChatRoom.svelte +++ b/apps/aitino/src/lib/components/ChatRoom.svelte @@ -1,44 +1,25 @@
@@ -80,15 +116,39 @@ {#each messages as message}
- {#if !message.fromUser} + {#if message.data && "content" in message.data && message.data.role === "user"}
- {#if message.content.startsWith("```") || message.content.includes("<")} - + {#if message.data && "content" in message.data && message.data.content === "CONTINUE"} + {#if !showReplyField} + {message.data.content} + {/if} + {#if showReplyField} +
+ +
+ + {#if state !== "idle"} + + {/if} + +
+
+ {/if} + {:else if message.data.content.startsWith("```") || message.data.content.includes("<")} + {:else} -

- {message.content} +

+ {message.data.content}

{/if}
@@ -103,36 +163,40 @@

- {message.full_name} - Agent + {message.data.name} - Agent

- sent: {message.time} + sent: {formatDate(message.data.created_at)}

{:else}
- - - {#if message.content.startsWith("```") || message.content.includes("<")} - - {:else} -

- {message.content} + {#if message.data && "content" in message.data} + + + {#if message.data && "content" in message.data && message.data.content !== "undefined" && message.data.content.startsWith("```")} + + {:else} +

+ {message.data.content} +

+ {/if} +
+
+ {/if} + {#if message.data && "created_at" in message.data} + + +

you

+

+ sent: {message.data.created_at}

- {/if} -
-
- - -

you

-

- sent: {message.time} -

-
-
+ + + {/if}
{/if}
@@ -151,7 +215,7 @@ -
+
-
+ diff --git a/apps/aitino/src/lib/components/ui/textarea/textarea.svelte b/apps/aitino/src/lib/components/ui/textarea/textarea.svelte index 302b3ff6c..61ff4d6e5 100644 --- a/apps/aitino/src/lib/components/ui/textarea/textarea.svelte +++ b/apps/aitino/src/lib/components/ui/textarea/textarea.svelte @@ -1,19 +1,25 @@ + + + {/if} + + diff --git a/apps/aitino/src/routes/app/sessions/Message.svelte b/apps/aitino/src/routes/app/sessions/Message.svelte new file mode 100644 index 000000000..e229e9720 --- /dev/null +++ b/apps/aitino/src/routes/app/sessions/Message.svelte @@ -0,0 +1,34 @@ + + +
+
+ +
+

{formatName(message.name)}

+

+ {message.created_at.toString().split(".")[0]} +

+
+
+ +
diff --git a/apps/aitino/theme/color.cjs b/apps/aitino/theme/color.cjs index 27d44c95f..b9af33bb1 100644 --- a/apps/aitino/theme/color.cjs +++ b/apps/aitino/theme/color.cjs @@ -1,4 +1,96 @@ const colors = { + // Primary tones + nprimary: { + DEFAULT: "rgb(var(--md-sys-color-primary))", + on: { + DEFAULT: "rgb(var(--md-sys-color-on-primary))" + }, + container: { + DEFAULT: "rgb(var(--md-sys-color-primary-container))", + on: { + DEFAULT: "rgb(var(--md-sys-color-on-primary-container))" + } + }, + inverse: { + DEFAULT: "rgb(var(--md-sys-color-inverse-primary))" + } + }, + + // Secondary tones + nsecondary: { + DEFAULT: "rgb(var(--md-sys-color-secondary))", + on: { + DEFAULT: "rgb(var(--md-sys-color-on-secondary))" + }, + container: { + DEFAULT: "rgb(var(--md-sys-color-secondary-container))", + on: { + DEFAULT: "rgb(var(--md-sys-color-on-secondary-container))" + } + } + }, + + // Tertiary tones + tertiary: { + DEFAULT: "rgb(var(--md-sys-color-tertiary))", + on: { + DEFAULT: "rgb(var(--md-sys-color-on-tertiary))" + }, + container: { + DEFAULT: "rgb(var(--md-sys-color-tertiary-container))", + on: { + DEFAULT: "rgb(var(--md-sys-color-on-tertiary-container))" + } + } + }, + + // Neutral tones (md3 names them as 'surface') + surface: { + DEFAULT: "rgb(var(--md-sys-color-surface))", + on: { + DEFAULT: "rgb(var(--md-sys-color-on-surface))", + inverse: { + DEFAULT: "rgb(var(--md-sys-color-inverse-on-surface))" + } + }, + // Neutral variant tones + variant: { + DEFAULT: "rgb(var(--md-sys-color-surface-variant))", + on: { + DEFAULT: "rgb(var(--md-sys-color-on-surface-variant))" + } + } + }, + + // Background tones + nbackground: { + DEFAULT: "rgb(var(--md-sys-color-background))", + on: { + DEFAULT: "rgb(var(--md-sys-color-on-background))" + } + }, + + outline: { + DEFAULT: "rgb(var(--md-sys-color-outline))", + variant: { + DEFAULT: "rgb(var(--md-sys-color-outline-variant))" + } + }, + + // On Error tones + error: { + DEFAULT: "rgb(var(--md-sys-color-error))", + on: { + DEFAULT: "rgb(var(--md-sys-color-on-error))" + }, + container: { + DEFAULT: "rgb(var(--md-sys-color-error-container))", + on: { + DEFAULT: "rgb(var(--md-sys-color-on-error-container))" + } + } + }, + border: "rgb(var(--primary) / 0.3)", input: "rgb(var(--input) )", ring: "rgb(var(--ring) )", diff --git a/apps/aitino/theme/typography.cjs b/apps/aitino/theme/typography.cjs index 9f2009da9..76d2e0fea 100644 --- a/apps/aitino/theme/typography.cjs +++ b/apps/aitino/theme/typography.cjs @@ -4,13 +4,13 @@ const typography = (colors, alpha) => { return { main: { css: { - "--tw-prose-body": colorConfig.foreground.replace(")", ") / 0.8 )"), // UNSTABLE METHOD! find a better way to do this using - "--tw-prose-headings": colorConfig.foreground, + "--tw-prose-body": colors.neutral[300], + "--tw-prose-headings": colors.white, "--tw-prose-lead": colors.neutral[400], - "--tw-prose-links": colorConfig.accent.DEFAULT, + "--tw-prose-links": colorConfig.tertiary.DEFAULT.replace(alpha, 1), "--tw-prose-bold": colors.white, "--tw-prose-counters": colors.neutral[400], - "--tw-prose-bullets": colorConfig.secondary.DEFAULT.replace(alpha, 0.4), + "--tw-prose-bullets": colorConfig.nsecondary.DEFAULT.replace(alpha, 0.4), "--tw-prose-hr": colors.neutral[700], "--tw-prose-quotes": colors.neutral[100], "--tw-prose-quote-borders": colorConfig.secondary.DEFAULT.replace(alpha, 0.3), diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f21b82127..ca49222da 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -187,14 +187,14 @@ importers: apps/anzelmo: dependencies: bits-ui: - specifier: ^0.17.0 - version: 0.17.0(svelte@5.0.0-next.31) + specifier: ^0.18.2 + version: 0.18.3(svelte@5.0.0-next.31) clsx: specifier: ^2.1.0 version: 2.1.0 lucide-svelte: - specifier: ^0.330.0 - version: 0.330.0(svelte@5.0.0-next.31) + specifier: ^0.341.0 + version: 0.341.0(svelte@5.0.0-next.31) mdsvex: specifier: ^0.11.0 version: 0.11.0(svelte@5.0.0-next.31) @@ -215,8 +215,8 @@ importers: specifier: ^3.0.0 version: 3.0.1(svelte@5.0.0-next.31)(vite@5.0.12) '@types/eslint': - specifier: 8.56.2 - version: 8.56.2 + specifier: 8.56.3 + version: 8.56.3 '@typescript-eslint/eslint-plugin': specifier: ^7.0.1 version: 7.0.1(@typescript-eslint/parser@7.0.1)(eslint@8.56.0)(typescript@5.3.3) @@ -287,8 +287,8 @@ importers: specifier: ^4.2.0 version: 4.2.0 lucide-svelte: - specifier: ^0.330.0 - version: 0.330.0(svelte@5.0.0-next.31) + specifier: ^0.341.0 + version: 0.341.0(svelte@5.0.0-next.31) mapbox-gl: specifier: ^3.1.2 version: 3.1.2 @@ -299,15 +299,15 @@ importers: specifier: ^2.2.0 version: 2.2.0 tailwind-variants: - specifier: ^0.1.20 - version: 0.1.20(tailwindcss@3.4.1) + specifier: ^0.2.0 + version: 0.2.0(tailwindcss@3.4.1) devDependencies: '@supabase/supabase-js': specifier: ^2.33.2 version: 2.39.2 '@sveltejs/adapter-vercel': - specifier: ^4.0.4 - version: 4.0.4(@sveltejs/kit@2.5.0) + specifier: ^5.1.0 + version: 5.1.0(@sveltejs/kit@2.5.0) '@sveltejs/kit': specifier: ^2.4.3 version: 2.5.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@5.0.0-next.31)(vite@5.0.12) @@ -318,17 +318,17 @@ importers: specifier: ^4.2.2 version: 4.2.2 '@types/eslint': - specifier: 8.56.2 - version: 8.56.2 + specifier: 8.56.3 + version: 8.56.3 '@types/mapbox-gl': - specifier: ^2.7.21 - version: 2.7.21 + specifier: ^3.1.0 + version: 3.1.0 '@typescript-eslint/eslint-plugin': - specifier: ^6.0.0 - version: 6.17.0(@typescript-eslint/parser@6.17.0)(eslint@8.56.0)(typescript@5.3.3) + specifier: ^7.1.0 + version: 7.1.0(@typescript-eslint/parser@7.1.0)(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/parser': - specifier: ^6.0.0 - version: 6.17.0(eslint@8.56.0)(typescript@5.3.3) + specifier: ^7.0.2 + version: 7.1.0(eslint@8.56.0)(typescript@5.3.3) autoprefixer: specifier: ^10.4.16 version: 10.4.16(postcss@8.4.33) @@ -624,7 +624,7 @@ importers: specifier: ^4.0.4 version: 4.0.4(@sveltejs/kit@2.5.0) '@sveltejs/kit': - specifier: ^2.0.0 + specifier: ^2.4.3 version: 2.5.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.9)(vite@5.0.12) '@sveltejs/vite-plugin-svelte': specifier: ^3.0.0 @@ -699,8 +699,8 @@ importers: specifier: ^2.1.0 version: 2.1.0 lucide-svelte: - specifier: ^0.330.0 - version: 0.330.0(svelte@5.0.0-next.31) + specifier: ^0.341.0 + version: 0.341.0(svelte@5.0.0-next.31) mdsvex: specifier: ^0.11.0 version: 0.11.0(svelte@5.0.0-next.31) @@ -708,8 +708,8 @@ importers: specifier: ^2.2.0 version: 2.2.0 tailwind-variants: - specifier: ^0.1.20 - version: 0.1.20(tailwindcss@3.4.1) + specifier: ^0.2.0 + version: 0.2.0(tailwindcss@3.4.1) devDependencies: '@sveltejs/adapter-auto': specifier: ^3.0.0 @@ -724,8 +724,8 @@ importers: specifier: ^3.0.0 version: 3.0.1(svelte@5.0.0-next.31)(vite@5.0.12) '@types/eslint': - specifier: 8.56.2 - version: 8.56.2 + specifier: 8.56.3 + version: 8.56.3 '@typescript-eslint/eslint-plugin': specifier: ^7.0.1 version: 7.0.1(@typescript-eslint/parser@7.0.1)(eslint@8.56.0)(typescript@5.3.3) @@ -787,8 +787,8 @@ importers: specifier: ^0.0.19 version: 0.0.19 bits-ui: - specifier: ^0.14.0 - version: 0.14.0(svelte@5.0.0-next.31) + specifier: ^0.18.3 + version: 0.18.3(svelte@5.0.0-next.31) clsx: specifier: ^2.1.0 version: 2.1.0 @@ -799,8 +799,8 @@ importers: specifier: ^1.0.1 version: 1.0.1 lucide-svelte: - specifier: ^0.330.0 - version: 0.330.0(svelte@5.0.0-next.31) + specifier: ^0.341.0 + version: 0.341.0(svelte@5.0.0-next.31) mdsvex: specifier: ^0.11.0 version: 0.11.0(svelte@5.0.0-next.31) @@ -815,8 +815,8 @@ importers: specifier: ^2.39.2 version: 2.39.2 '@sveltejs/adapter-vercel': - specifier: ^4.0.4 - version: 4.0.4(@sveltejs/kit@2.5.0) + specifier: ^5.1.0 + version: 5.1.0(@sveltejs/kit@2.5.0) '@sveltejs/kit': specifier: ^2.4.3 version: 2.5.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@5.0.0-next.31)(vite@5.0.12) @@ -836,8 +836,8 @@ importers: specifier: ^0.5.10 version: 0.5.10(tailwindcss@3.4.1) '@types/eslint': - specifier: 8.56.2 - version: 8.56.2 + specifier: 8.56.3 + version: 8.56.3 '@typescript-eslint/eslint-plugin': specifier: ^7.0.1 version: 7.0.1(@typescript-eslint/parser@7.0.1)(eslint@8.56.0)(typescript@5.3.3) @@ -914,8 +914,8 @@ importers: specifier: ^4.2.0 version: 4.2.0 lucide-svelte: - specifier: ^0.330.0 - version: 0.330.0(svelte@5.0.0-next.31) + specifier: ^0.341.0 + version: 0.341.0(svelte@5.0.0-next.31) mdsvex: specifier: ^0.11.0 version: 0.11.0(svelte@5.0.0-next.31) @@ -923,15 +923,15 @@ importers: specifier: ^2.2.0 version: 2.2.0 tailwind-variants: - specifier: ^0.1.20 - version: 0.1.20(tailwindcss@3.4.1) + specifier: ^0.2.0 + version: 0.2.0(tailwindcss@3.4.1) devDependencies: '@supabase/supabase-js': specifier: ^2.39.2 version: 2.39.2 '@sveltejs/adapter-vercel': - specifier: ^4.0.4 - version: 4.0.4(@sveltejs/kit@2.5.0) + specifier: ^5.1.0 + version: 5.1.0(@sveltejs/kit@2.5.0) '@sveltejs/kit': specifier: ^2.4.3 version: 2.5.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@5.0.0-next.31)(vite@5.0.12) @@ -951,8 +951,8 @@ importers: specifier: ^0.5.10 version: 0.5.10(tailwindcss@3.4.1) '@types/eslint': - specifier: 8.56.2 - version: 8.56.2 + specifier: 8.56.3 + version: 8.56.3 '@typescript-eslint/eslint-plugin': specifier: ^7.0.1 version: 7.0.1(@typescript-eslint/parser@7.0.1)(eslint@8.56.0)(typescript@5.3.3) @@ -1802,8 +1802,8 @@ packages: svelte: 4.2.9 dev: false - /@melt-ui/svelte@0.68.0(svelte@5.0.0-next.31): - resolution: {integrity: sha512-/QvA98hnYEodZtHJ71+ocum/WWp30hVNt3F8uiZKnNYwZDaiQYjlyR9AaGKYcZLCe6R68op1mfCzc0kTzJilyA==} + /@melt-ui/svelte@0.71.2(svelte@5.0.0-next.31): + resolution: {integrity: sha512-GDUErhAphEoEOLpcBjQ84BgzRR6M3344fQE4QYFffwT7aedWak7CvNsECgeig1Y5xvfDmeEaFnGlOQXIBucJYw==} peerDependencies: svelte: '>=3 <5' dependencies: @@ -1816,8 +1816,8 @@ packages: svelte: 5.0.0-next.31 dev: false - /@melt-ui/svelte@0.71.2(svelte@5.0.0-next.31): - resolution: {integrity: sha512-GDUErhAphEoEOLpcBjQ84BgzRR6M3344fQE4QYFffwT7aedWak7CvNsECgeig1Y5xvfDmeEaFnGlOQXIBucJYw==} + /@melt-ui/svelte@0.74.2(svelte@5.0.0-next.31): + resolution: {integrity: sha512-bIfZakPK4h6mOeoeqFnpksUGxkGp5JO2xtfhv/eXjG2rTogsSeVZRPe8eTtE7HoCbokP1+mVM9LqWxipsYTjUA==} peerDependencies: svelte: '>=3 <5' dependencies: @@ -1826,7 +1826,7 @@ packages: '@internationalized/date': 3.5.1 dequal: 2.0.3 focus-trap: 7.5.4 - nanoid: 5.0.4 + nanoid: 5.0.5 svelte: 5.0.0-next.31 dev: false @@ -2147,6 +2147,19 @@ packages: - encoding - supports-color + /@sveltejs/adapter-vercel@5.1.0(@sveltejs/kit@2.5.0): + resolution: {integrity: sha512-Z9yRJ4H2/7LcBlvN2/TKu1H0hWoRGonr8kPhP1GJ23LRW76IbiiX5gs/MLc6+ZGogCZYVJ4USmx6m+RFtvQTRw==} + peerDependencies: + '@sveltejs/kit': ^2.4.0 + dependencies: + '@sveltejs/kit': 2.5.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@5.0.0-next.31)(vite@5.0.12) + '@vercel/nft': 0.26.2 + esbuild: 0.19.11 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + /@sveltejs/kit@2.5.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@4.2.9)(vite@5.0.12): resolution: {integrity: sha512-1uyXvzC2Lu1FZa30T4y5jUAC21R309ZMRG0TPt+PPPbNUoDpy8zSmSNVWYaBWxYDqLGQ5oPNWvjvvF2IjJ1jmA==} engines: {node: '>=18.13'} @@ -2522,6 +2535,13 @@ packages: '@types/json-schema': 7.0.15 dev: true + /@types/eslint@8.56.3: + resolution: {integrity: sha512-PvSf1wfv2wJpVIFUMSb+i4PvqNYkB9Rkp9ZDO3oaWzq4SKhsQk4mrMBr3ZH06I0hKrVGLBacmgl8JM4WVjb9dg==} + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 + dev: true + /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} @@ -2544,8 +2564,8 @@ packages: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true - /@types/mapbox-gl@2.7.21: - resolution: {integrity: sha512-Dx9MuF2kKgT/N22LsMUB4b3acFZh9clVqz9zv1fomoiPoBrJolwYxpWA/9LPO/2N0xWbKi4V+pkjTaFkkx/4wA==} + /@types/mapbox-gl@3.1.0: + resolution: {integrity: sha512-hI6cQDjw1bkJw7MC/eHMqq5TWUamLwsujnUUeiIX2KDRjxRNSYMjnHz07+LATz9I9XIsKumOtUz4gRYnZOJ/FA==} dependencies: '@types/geojson': 7946.0.14 dev: true @@ -2680,6 +2700,35 @@ packages: - supports-color dev: true + /@typescript-eslint/eslint-plugin@7.1.0(@typescript-eslint/parser@7.1.0)(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-j6vT/kCulhG5wBmGtstKeiVr1rdXE4nk+DT1k6trYkwlrvW9eOF5ZbgKnd/YR6PcM4uTEXa0h6Fcvf6X7Dxl0w==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.1.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 7.1.0 + '@typescript-eslint/type-utils': 7.1.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 7.1.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 7.1.0 + debug: 4.3.4 + eslint: 8.56.0 + graphemer: 1.4.0 + ignore: 5.3.0 + natural-compare: 1.4.0 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/parser@6.17.0(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-C4bBaX2orvhK+LlwrY8oWGmSl4WolCfYm513gEccdWZj0CwGadbIADb0FtVEcI+WzUyjyoBj2JRP8g25E6IB8A==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2743,6 +2792,27 @@ packages: - supports-color dev: true + /@typescript-eslint/parser@7.1.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-V1EknKUubZ1gWFjiOZhDSNToOjs63/9O0puCgGS8aDOgpZY326fzFu15QAUjwaXzRZjf/qdsdBrckYdv9YxB8w==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 7.1.0 + '@typescript-eslint/types': 7.1.0 + '@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 7.1.0 + debug: 4.3.4 + eslint: 8.56.0 + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/scope-manager@5.62.0: resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2775,6 +2845,14 @@ packages: '@typescript-eslint/visitor-keys': 7.0.1 dev: true + /@typescript-eslint/scope-manager@7.1.0: + resolution: {integrity: sha512-6TmN4OJiohHfoOdGZ3huuLhpiUgOGTpgXNUPJgeZOZR3DnIpdSgtt83RS35OYNNXxM4TScVlpVKC9jyQSETR1A==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 7.1.0 + '@typescript-eslint/visitor-keys': 7.1.0 + dev: true + /@typescript-eslint/type-utils@6.17.0(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-hDXcWmnbtn4P2B37ka3nil3yi3VCQO2QEB9gBiHJmQp5wmyQWqnjA85+ZcE8c4FqnaB6lBwMrPkgd4aBYz3iNg==} engines: {node: ^16.0.0 || >=18.0.0} @@ -2835,6 +2913,26 @@ packages: - supports-color dev: true + /@typescript-eslint/type-utils@7.1.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-UZIhv8G+5b5skkcuhgvxYWHjk7FW7/JP5lPASMEUoliAPwIH/rxoUSQPia2cuOj9AmDZmwUl1usKm85t5VUMew==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3) + '@typescript-eslint/utils': 7.1.0(eslint@8.56.0)(typescript@5.3.3) + debug: 4.3.4 + eslint: 8.56.0 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/types@5.62.0: resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2855,6 +2953,11 @@ packages: engines: {node: ^16.0.0 || >=18.0.0} dev: true + /@typescript-eslint/types@7.1.0: + resolution: {integrity: sha512-qTWjWieJ1tRJkxgZYXx6WUYtWlBc48YRxgY2JN1aGeVpkhmnopq+SUC8UEVGNXIvWH7XyuTjwALfG6bFEgCkQA==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.3.3): resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2942,6 +3045,28 @@ packages: - supports-color dev: true + /@typescript-eslint/typescript-estree@7.1.0(typescript@5.3.3): + resolution: {integrity: sha512-k7MyrbD6E463CBbSpcOnwa8oXRdHzH1WiVzOipK3L5KSML92ZKgUBrTlehdi7PEIMT8k0bQixHUGXggPAlKnOQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 7.1.0 + '@typescript-eslint/visitor-keys': 7.1.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/utils@5.62.0(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3019,6 +3144,25 @@ packages: - typescript dev: true + /@typescript-eslint/utils@7.1.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-WUFba6PZC5OCGEmbweGpnNJytJiLG7ZvDBJJoUcX4qZYf1mGZ97mO2Mps6O2efxJcJdRNpqweCistDbZMwIVHw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^8.56.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.6 + '@typescript-eslint/scope-manager': 7.1.0 + '@typescript-eslint/types': 7.1.0 + '@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3) + eslint: 8.56.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /@typescript-eslint/visitor-keys@5.62.0: resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3051,6 +3195,14 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /@typescript-eslint/visitor-keys@7.1.0: + resolution: {integrity: sha512-FhUqNWluiGNzlvnDZiXad4mZRhtghdoKW6e98GoEOYSu5cND+E39rG5KwJMUzeENwm1ztYBRqof8wMLP+wNPIA==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 7.1.0 + eslint-visitor-keys: 3.4.3 + dev: true + /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true @@ -3559,17 +3711,6 @@ packages: svelte: 4.2.9 dev: false - /bits-ui@0.14.0(svelte@5.0.0-next.31): - resolution: {integrity: sha512-S1LNwp/Sge1Ro1g0iJ+msIUeJYmoNhXBFShnLDOUOKQe3JG1wd027KxZnVd7db6UWr1IqlJdd4/bbB7NYXeYDw==} - peerDependencies: - svelte: ^4.0.0 - dependencies: - '@internationalized/date': 3.5.1 - '@melt-ui/svelte': 0.68.0(svelte@5.0.0-next.31) - nanoid: 5.0.4 - svelte: 5.0.0-next.31 - dev: false - /bits-ui@0.15.1(svelte@4.2.9): resolution: {integrity: sha512-1Np8bT6W6SC2tKESfm0CySW+7+xU5S0GuUZqIxC41atZE3WIRiRlzXEYHxW88w6UaLFzZ51ns4E7pchkdV5XCQ==} peerDependencies: @@ -3592,24 +3733,24 @@ packages: svelte: 4.2.9 dev: false - /bits-ui@0.17.0(svelte@5.0.0-next.31): - resolution: {integrity: sha512-K73jjco1qPmvGXMQtTkZG6K36UmNrPR21u+C1jzoRWmF3NnUfDP4hPJnAci0LosUycfvOxtaHB1M4awvLvQXyQ==} + /bits-ui@0.18.1(svelte@5.0.0-next.31): + resolution: {integrity: sha512-6junivBQ3EIHeF9j8wDa5pgzegtOwaI61ny4X8F7h2SIJi4RJWwZknkT7O5qPLeGoIYNeYV7N6EOBrr1w9/Mxg==} peerDependencies: svelte: ^4.0.0 dependencies: '@internationalized/date': 3.5.1 '@melt-ui/svelte': 0.71.2(svelte@5.0.0-next.31) - nanoid: 5.0.4 + nanoid: 5.0.5 svelte: 5.0.0-next.31 dev: false - /bits-ui@0.18.1(svelte@5.0.0-next.31): - resolution: {integrity: sha512-6junivBQ3EIHeF9j8wDa5pgzegtOwaI61ny4X8F7h2SIJi4RJWwZknkT7O5qPLeGoIYNeYV7N6EOBrr1w9/Mxg==} + /bits-ui@0.18.3(svelte@5.0.0-next.31): + resolution: {integrity: sha512-kcEJWiOHlHv1R3EAmkVDdTnvucT3A5VL4h5ORkJjGUDrpCtPFoMO7jDF6P9XwpD3qVfIVQhN4OldPRNMXW9/RQ==} peerDependencies: svelte: ^4.0.0 dependencies: '@internationalized/date': 3.5.1 - '@melt-ui/svelte': 0.71.2(svelte@5.0.0-next.31) + '@melt-ui/svelte': 0.74.2(svelte@5.0.0-next.31) nanoid: 5.0.5 svelte: 5.0.0-next.31 dev: false @@ -5968,8 +6109,8 @@ packages: svelte: 4.2.9 dev: false - /lucide-svelte@0.330.0(svelte@5.0.0-next.31): - resolution: {integrity: sha512-HDsc2a+MhCEtBUU6JTQMlqk2liukjR/bHS61EtYjP2dPx0fywP5rmr6y592MFx/o4xXzFM93ANrHDayxQKzSvQ==} + /lucide-svelte@0.341.0(svelte@5.0.0-next.31): + resolution: {integrity: sha512-RdLUlxgm97pKGS5dKchdhLuxmYBpwpcLvZ5XQH3HPO5rZZU8JvfzFs8vnbZH/tsDeA0UeSzdzZyOYbWkOAbarA==} peerDependencies: svelte: ^3 || ^4 || ^5.0.0-next.42 dependencies: diff --git a/shell.nix b/shell.nix new file mode 100644 index 000000000..790ce6c9c --- /dev/null +++ b/shell.nix @@ -0,0 +1,13 @@ +{ pkgs ? import {} }: + +pkgs.mkShell { + buildInputs = with pkgs; [ + nodejs + nodePackages.pnpm + ]; + + shellHook = '' + fish + export NODE_PATH=$NODE_PATH:$(npm root -g) + ''; +}