+ mkdir /usr/src/.npm-global
+ npm config set prefix /usr/src/.npm-global
+ npm install -g @aikidosec/safe-chain
added 58 packages in 7s
6 packages are looking for funding
run `npm fund` for details
+ PATH=/usr/src/.npm-global/bin:/usr/bin:/bin:/usr/local/bin
+ cd /usr/src/build
+ rm tools/server/public/index.html.gz
+ cd tools/server/webui
+ aikido-npm ci --ignore-scripts
added 547 packages, and audited 548 packages in 28s
218 packages are looking for funding
run `npm fund` for details
6 vulnerabilities (1 low, 1 moderate, 4 high)
To address all issues, run:
npm audit fix
Run `npm audit` for details.
ℹ Safe-chain: Some package versions were suppressed due to minimum age requirement.
To disable this check, use: --safe-chain-skip-minimum-package-age
+ aikido-npm audit --audit-level=critical fix
added 12 packages, removed 1 package, changed 8 packages, and audited 559 packages in 26s
227 packages are looking for funding
run `npm fund` for details
# npm audit report
cookie <0.7.0
cookie accepts cookie name, path, and domain with out of bounds characters - https://github.com/advisories/GHSA-pxg6-pf52-xh8x
fix available via `npm audit fix --force`
Will install @sveltejs/kit@0.0.30, which is a breaking change
node_modules/cookie
@sveltejs/kit >=1.0.0-next.0
Depends on vulnerable versions of cookie
node_modules/@sveltejs/kit
@sveltejs/adapter-static >=1.0.0-next.0
Depends on vulnerable versions of @sveltejs/kit
node_modules/@sveltejs/adapter-static
runed >=0.32.0
Depends on vulnerable versions of @sveltejs/kit
node_modules/bits-ui/node_modules/runed
bits-ui >=2.11.8
Depends on vulnerable versions of runed
Depends on vulnerable versions of svelte-toolbelt
node_modules/bits-ui
svelte-toolbelt >=0.10.6
Depends on vulnerable versions of runed
node_modules/bits-ui/node_modules/svelte-toolbelt
6 low severity vulnerabilities
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
ℹ Safe-chain: Some package versions were suppressed due to minimum age requirement.
To disable this check, use: --safe-chain-skip-minimum-package-age
+ du -sh node_modules
407M node_modules
+ npm run build
> webui@1.0.0 build
> vite build && ./scripts/post-build.sh
▲ [WARNING] Cannot find base config file "./.svelte-kit/tsconfig.json" [tsconfig.json]
tsconfig.json:2:12:
2 │ "extends": "./.svelte-kit/tsconfig.json",
╵ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
│
▲ Failed to load preset:
│ "file:/usr/src/build/tools/server/webui/node_modules/@storybook/builder-vite/dist/preset.js"
│
■ Error [ERR_MODULE_NOT_FOUND]: Cannot find module
│ './node_modules/@storybook/builder-vite/dist/preset.js' imported from
│ ./node_modules/storybook/dist/_node-chunks/chunk-C6KVY6VB.js
│ at finalizeResolution (node:internal/modules/esm/resolve:274:11)
│ at moduleResolve (node:internal/modules/esm/resolve:859:10)
│ at defaultResolve (node:internal/modules/esm/resolve:983:11)
│ at nextResolve (node:internal/modules/esm/hooks:748:28)
│ at o
│ (file://./node_modules/@tailwindcss/node/dist/esm-cache.loader.mjs:1:69)
│ at nextResolve (node:internal/modules/esm/hooks:748:28)
│ at Hooks.resolve (node:internal/modules/esm/hooks:240:30)
│ at handleMessage (node:internal/modules/esm/worker:199:24)
│ at Immediate.checkForMessages
│ (node:internal/modules/esm/worker:141:28)
│ at process.processImmediate (node:internal/timers:485:21)
vite v7.2.2 building ssr environment for production...
transforming...
5:14:02 AM [vite-plugin-svelte] src/lib/components/app/chat/ChatForm/ChatForm.svelte:60:22 This reference only captures the initial value of `initialMessage`. Did you mean to reference it inside a closure instead?
https://svelte.dev/e/state_referenced_locally
58: let fileInputRef: ChatFormFileInputInvisible | undefined = $state(undefined);
59: let isRecording = $state(false);
60: let message = $state(initialMessage);
^
61: let pasteLongTextToFileLength = $derived.by(() => {
62: const n = Number(currentConfig.pasteLongTextToFileLen);
5:14:02 AM [vite-plugin-svelte] src/lib/components/app/chat/ChatForm/ChatForm.svelte:65:32 This reference only captures the initial value of `isLoading`. Did you mean to reference it inside a closure instead?
https://svelte.dev/e/state_referenced_locally
63: return Number.isNaN(n) ? Number(SETTING_CONFIG_DEFAULT.pasteLongTextToFileLen) : n;
64: });
65: let previousIsLoading = $state(isLoading);
^
66: let previousInitialMessage = $state(initialMessage);
67: let recordingSupported = $state(false);
5:14:02 AM [vite-plugin-svelte] src/lib/components/app/chat/ChatForm/ChatForm.svelte:66:37 This reference only captures the initial value of `initialMessage`. Did you mean to reference it inside a closure instead?
https://svelte.dev/e/state_referenced_locally
64: });
65: let previousIsLoading = $state(isLoading);
66: let previousInitialMessage = $state(initialMessage);
^
67: let recordingSupported = $state(false);
68: let textareaRef: ChatFormTextarea | undefined = $state(undefined);
5:14:02 AM [vite-plugin-svelte] src/lib/components/app/chat/ChatMessages/ChatMessage.svelte:64:28 This reference only captures the initial value of `message`. Did you mean to reference it inside a derived instead?
https://svelte.dev/e/state_referenced_locally
62: messageTypes: string[];
63: } | null>(null);
64: let editedContent = $state(message.content);
^
65: let editedExtras = $state<DatabaseMessageExtra[]>(message.extra ? [...message.extra] : []);
66: let editedUploadedFiles = $state<ChatUploadedFile[]>([]);
5:14:02 AM [vite-plugin-svelte] src/lib/components/app/chat/ChatMessages/ChatMessage.svelte:65:51 This reference only captures the initial value of `message`. Did you mean to reference it inside a derived instead?
https://svelte.dev/e/state_referenced_locally
63: } | null>(null);
64: let editedContent = $state(message.content);
65: let editedExtras = $state<DatabaseMessageExtra[]>(message.extra ? [...message.extra] : []);
^
66: let editedUploadedFiles = $state<ChatUploadedFile[]>([]);
67: let isEditing = $state(false);
5:14:02 AM [vite-plugin-svelte] src/lib/components/app/chat/ChatMessages/ChatMessage.svelte:65:71 This reference only captures the initial value of `message`. Did you mean to reference it inside a derived instead?
https://svelte.dev/e/state_referenced_locally
63: } | null>(null);
64: let editedContent = $state(message.content);
65: let editedExtras = $state<DatabaseMessageExtra[]>(message.extra ? [...message.extra] : []);
^
66: let editedUploadedFiles = $state<ChatUploadedFile[]>([]);
67: let isEditing = $state(false);
5:14:02 AM [vite-plugin-svelte] src/lib/components/app/chat/ChatMessages/ChatMessageStatistics.svelte:30:47 This reference only captures the initial value of `initialView`. Did you mean to reference it inside a closure instead?
https://svelte.dev/e/state_referenced_locally
28: }: Props = $props();
29:
30: let activeView: ChatMessageStatsView = $state(initialView);
^
31: let hasAutoSwitchedToGeneration = $state(false);
32:
DEPRECATION WARNING [import]: Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0.
More info and automated migrator: https://sass-lang.com/d/import
╷
17 │ @import 'katex/src/styles/katex.scss';
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
╵
src/styles/katex-custom.scss 17:9 root stylesheet
DEPRECATION WARNING [import]: Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0.
More info and automated migrator: https://sass-lang.com/d/import
╷
2 │ @import "./fonts.scss";
│ ^^^^^^^^^^^^^^
╵
node_modules/katex/src/styles/katex.scss 2:9 @import
src/styles/katex-custom.scss 17:9 root stylesheet
DEPRECATION WARNING [global-builtin]: Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.
Use list.append instead.
More info and automated migrator: https://sass-lang.com/d/import
╷
9 │ $src: append($src, url('#{$font-folder}/KaTeX_#{$family}-#{$family-suffix}.woff2') format('woff2'), comma);
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
╵
node_modules/katex/src/styles/fonts.scss 9:15 generate-src()
node_modules/katex/src/styles/fonts.scss 42:11 font-face()
node_modules/katex/src/styles/fonts.scss 52:1 @import
node_modules/katex/src/styles/katex.scss 2:9 @import
src/styles/katex-custom.scss 17:9 root stylesheet
DEPRECATION WARNING [global-builtin]: Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.
Use list.length instead.
More info and automated migrator: https://sass-lang.com/d/import
╷
344 │ @for $from from 1 through length($sizes) {
│ ^^^^^^^^^^^^^^
╵
node_modules/katex/src/styles/katex.scss 344:35 @import
src/styles/katex-custom.scss 17:9 root stylesheet
DEPRECATION WARNING [global-builtin]: Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.
Use list.length instead.
More info and automated migrator: https://sass-lang.com/d/import
╷
345 │ @for $to from 1 through length($sizes) {
│ ^^^^^^^^^^^^^^
╵
node_modules/katex/src/styles/katex.scss 345:37 @import
src/styles/katex-custom.scss 17:9 root stylesheet
DEPRECATION WARNING [global-builtin]: Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.
Use list.nth instead.
More info and automated migrator: https://sass-lang.com/d/import
╷
348 │ font-size: calc((nth($sizes, $to) / nth($sizes, $from)) * 1em);
│ ^^^^^^^^^^^^^^^^
╵
node_modules/katex/src/styles/katex.scss 348:38 @import
src/styles/katex-custom.scss 17:9 root stylesheet
DEPRECATION WARNING [global-builtin]: Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.
Use list.nth instead.
More info and automated migrator: https://sass-lang.com/d/import
╷
348 │ font-size: calc((nth($sizes, $to) / nth($sizes, $from)) * 1em);
│ ^^^^^^^^^^^^^^^^^^
╵
node_modules/katex/src/styles/katex.scss 348:57 @import
src/styles/katex-custom.scss 17:9 root stylesheet
"default" is imported from external module "highlight.js" but never used in "src/lib/components/app/misc/SyntaxHighlightedCode.svelte".
✓ 4637 modules transformed.
Export "getJsonHeaders" of module "src/lib/utils/api-headers.ts" was reexported through module "src/lib/utils/index.ts" while both modules are dependencies of each other and will end up in different chunks by current Rollup settings. This scenario is not well supported at the moment as it will produce a circular dependency between chunks and will likely lead to broken execution order.
Either change the import in "src/lib/services/models.ts" to point directly to the exporting module or reconfigure "output.manualChunks" to ensure these modules end up in the same chunk.
Export "getJsonHeaders" of module "src/lib/utils/api-headers.ts" was reexported through module "src/lib/utils/index.ts" while both modules are dependencies of each other and will end up in different chunks by current Rollup settings. This scenario is not well supported at the moment as it will produce a circular dependency between chunks and will likely lead to broken execution order.
Either change the import in "src/lib/services/chat.ts" to point directly to the exporting module or reconfigure "output.manualChunks" to ensure these modules end up in the same chunk.
rendering chunks...
│
▲ Failed to load preset:
│ "file:/usr/src/build/tools/server/webui/node_modules/@storybook/builder-vite/dist/preset.js"
│
■ Error [ERR_MODULE_NOT_FOUND]: Cannot find module
│ './node_modules/@storybook/builder-vite/dist/preset.js' imported from
│ ./node_modules/storybook/dist/_node-chunks/chunk-C6KVY6VB.js
│ at finalizeResolution (node:internal/modules/esm/resolve:274:11)
│ at moduleResolve (node:internal/modules/esm/resolve:859:10)
│ at defaultResolve (node:internal/modules/esm/resolve:983:11)
│ at nextResolve (node:internal/modules/esm/hooks:748:28)
│ at o
│ (file://./node_modules/@tailwindcss/node/dist/esm-cache.loader.mjs:1:69)
│ at nextResolve (node:internal/modules/esm/hooks:748:28)
│ at Hooks.resolve (node:internal/modules/esm/hooks:240:30)
│ at handleMessage (node:internal/modules/esm/worker:199:24)
│ at Immediate.checkForMessages
│ (node:internal/modules/esm/worker:141:28)
│ at process.processImmediate (node:internal/timers:485:21)
vite v7.2.2 building client environment for production...
transforming...
5:14:10 AM [vite-plugin-svelte] src/lib/components/app/chat/ChatForm/ChatForm.svelte:60:22 This reference only captures the initial value of `initialMessage`. Did you mean to reference it inside a closure instead?
https://svelte.dev/e/state_referenced_locally
58: let fileInputRef: ChatFormFileInputInvisible | undefined = $state(undefined);
59: let isRecording = $state(false);
60: let message = $state(initialMessage);
^
61: let pasteLongTextToFileLength = $derived.by(() => {
62: const n = Number(currentConfig.pasteLongTextToFileLen);
5:14:10 AM [vite-plugin-svelte] src/lib/components/app/chat/ChatForm/ChatForm.svelte:65:32 This reference only captures the initial value of `isLoading`. Did you mean to reference it inside a closure instead?
https://svelte.dev/e/state_referenced_locally
63: return Number.isNaN(n) ? Number(SETTING_CONFIG_DEFAULT.pasteLongTextToFileLen) : n;
64: });
65: let previousIsLoading = $state(isLoading);
^
66: let previousInitialMessage = $state(initialMessage);
67: let recordingSupported = $state(false);
5:14:10 AM [vite-plugin-svelte] src/lib/components/app/chat/ChatForm/ChatForm.svelte:66:37 This reference only captures the initial value of `initialMessage`. Did you mean to reference it inside a closure instead?
https://svelte.dev/e/state_referenced_locally
64: });
65: let previousIsLoading = $state(isLoading);
66: let previousInitialMessage = $state(initialMessage);
^
67: let recordingSupported = $state(false);
68: let textareaRef: ChatFormTextarea | undefined = $state(undefined);
5:14:10 AM [vite-plugin-svelte] src/lib/components/app/chat/ChatMessages/ChatMessage.svelte:64:28 This reference only captures the initial value of `message`. Did you mean to reference it inside a derived instead?
https://svelte.dev/e/state_referenced_locally
62: messageTypes: string[];
63: } | null>(null);
64: let editedContent = $state(message.content);
^
65: let editedExtras = $state<DatabaseMessageExtra[]>(message.extra ? [...message.extra] : []);
66: let editedUploadedFiles = $state<ChatUploadedFile[]>([]);
5:14:10 AM [vite-plugin-svelte] src/lib/components/app/chat/ChatMessages/ChatMessage.svelte:65:51 This reference only captures the initial value of `message`. Did you mean to reference it inside a derived instead?
https://svelte.dev/e/state_referenced_locally
63: } | null>(null);
64: let editedContent = $state(message.content);
65: let editedExtras = $state<DatabaseMessageExtra[]>(message.extra ? [...message.extra] : []);
^
66: let editedUploadedFiles = $state<ChatUploadedFile[]>([]);
67: let isEditing = $state(false);
5:14:10 AM [vite-plugin-svelte] src/lib/components/app/chat/ChatMessages/ChatMessage.svelte:65:71 This reference only captures the initial value of `message`. Did you mean to reference it inside a derived instead?
https://svelte.dev/e/state_referenced_locally
63: } | null>(null);
64: let editedContent = $state(message.content);
65: let editedExtras = $state<DatabaseMessageExtra[]>(message.extra ? [...message.extra] : []);
^
66: let editedUploadedFiles = $state<ChatUploadedFile[]>([]);
67: let isEditing = $state(false);
5:14:10 AM [vite-plugin-svelte] src/lib/components/app/chat/ChatMessages/ChatMessageStatistics.svelte:30:47 This reference only captures the initial value of `initialView`. Did you mean to reference it inside a closure instead?
https://svelte.dev/e/state_referenced_locally
28: }: Props = $props();
29:
30: let activeView: ChatMessageStatsView = $state(initialView);
^
31: let hasAutoSwitchedToGeneration = $state(false);
32:
DEPRECATION WARNING [import]: Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0.
More info and automated migrator: https://sass-lang.com/d/import
╷
17 │ @import 'katex/src/styles/katex.scss';
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
╵
src/styles/katex-custom.scss 17:9 root stylesheet
DEPRECATION WARNING [import]: Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0.
More info and automated migrator: https://sass-lang.com/d/import
╷
2 │ @import "./fonts.scss";
│ ^^^^^^^^^^^^^^
╵
node_modules/katex/src/styles/katex.scss 2:9 @import
src/styles/katex-custom.scss 17:9 root stylesheet
DEPRECATION WARNING [global-builtin]: Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.
Use list.append instead.
More info and automated migrator: https://sass-lang.com/d/import
╷
9 │ $src: append($src, url('#{$font-folder}/KaTeX_#{$family}-#{$family-suffix}.woff2') format('woff2'), comma);
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
╵
node_modules/katex/src/styles/fonts.scss 9:15 generate-src()
node_modules/katex/src/styles/fonts.scss 42:11 font-face()
node_modules/katex/src/styles/fonts.scss 52:1 @import
node_modules/katex/src/styles/katex.scss 2:9 @import
src/styles/katex-custom.scss 17:9 root stylesheet
DEPRECATION WARNING [global-builtin]: Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.
Use list.length instead.
More info and automated migrator: https://sass-lang.com/d/import
╷
344 │ @for $from from 1 through length($sizes) {
│ ^^^^^^^^^^^^^^
╵
node_modules/katex/src/styles/katex.scss 344:35 @import
src/styles/katex-custom.scss 17:9 root stylesheet
DEPRECATION WARNING [global-builtin]: Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.
Use list.length instead.
More info and automated migrator: https://sass-lang.com/d/import
╷
345 │ @for $to from 1 through length($sizes) {
│ ^^^^^^^^^^^^^^
╵
node_modules/katex/src/styles/katex.scss 345:37 @import
src/styles/katex-custom.scss 17:9 root stylesheet
DEPRECATION WARNING [global-builtin]: Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.
Use list.nth instead.
More info and automated migrator: https://sass-lang.com/d/import
╷
348 │ font-size: calc((nth($sizes, $to) / nth($sizes, $from)) * 1em);
│ ^^^^^^^^^^^^^^^^
╵
node_modules/katex/src/styles/katex.scss 348:38 @import
src/styles/katex-custom.scss 17:9 root stylesheet
DEPRECATION WARNING [global-builtin]: Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.
Use list.nth instead.
More info and automated migrator: https://sass-lang.com/d/import
╷
348 │ font-size: calc((nth($sizes, $to) / nth($sizes, $from)) * 1em);
│ ^^^^^^^^^^^^^^^^^^
╵
node_modules/katex/src/styles/katex.scss 348:57 @import
src/styles/katex-custom.scss 17:9 root stylesheet
✓ 5368 modules transformed.
rendering chunks...
computing gzip size...
.svelte-kit/output/client/_app/version.json 0.03 kB │ gzip: 0.05 kB
.svelte-kit/output/client/.vite/manifest.json 0.33 kB │ gzip: 0.19 kB
.svelte-kit/output/client/_app/immutable/assets/style.DXqLu93h.css 484.73 kB │ gzip: 286.45 kB
.svelte-kit/output/client/_app/immutable/bundle.BE6Kqhhx.js 3,791.27 kB │ gzip: 1,122.18 kB
(!) Some chunks are larger than 3072 kB after minification. Consider:
- Using dynamic import() to code-split the application
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
✓ built in 11.33s
.svelte-kit/output/server/.vite/manifest.json 5.75 kB
.svelte-kit/output/server/_app/immutable/assets/style.eK-nbzvn.css 484.45 kB
.svelte-kit/output/server/chunks/environment.js 0.07 kB
.svelte-kit/output/server/chunks/api-key-validation.js 0.14 kB
.svelte-kit/output/server/entries/pages/_page.ts.js 0.21 kB
.svelte-kit/output/server/entries/pages/chat/_id_/_page.ts.js 0.22 kB
.svelte-kit/output/server/chunks/server.js 0.22 kB
.svelte-kit/output/server/chunks/browser-only.js 0.31 kB
.svelte-kit/output/server/internal.js 0.35 kB
.svelte-kit/output/server/chunks/utils.js 0.63 kB
.svelte-kit/output/server/entries/pages/_page.svelte.js 0.99 kB
.svelte-kit/output/server/entries/pages/chat/_id_/_page.svelte.js 1.00 kB
.svelte-kit/output/server/chunks/label.js 2.20 kB
.svelte-kit/output/server/chunks/exports.js 3.06 kB
.svelte-kit/output/server/chunks/supported-file-types.js 4.32 kB
.svelte-kit/output/server/entries/pages/_error.svelte.js 8.38 kB
.svelte-kit/output/server/remote-entry.js 8.59 kB
.svelte-kit/output/server/chunks/internal.js 9.67 kB
.svelte-kit/output/server/chunks/shared.js 11.22 kB
.svelte-kit/output/server/chunks/index.js 28.70 kB
.svelte-kit/output/server/entries/pages/_layout.svelte.js 33.29 kB
.svelte-kit/output/server/index.js 52.95 kB
.svelte-kit/output/server/chunks/SyntaxHighlightedCode.svelte_svelte_type_style_lang.js 87.17 kB
.svelte-kit/output/server/chunks/DialogConfirmation.js 112.36 kB
.svelte-kit/output/server/chunks/ServerLoadingSplash.js 216.58 kB
✓ built in 20.86s
Run npm run preview to preview your production build locally.
> Using @sveltejs/adapter-static
Overwriting ../public/index.html with fallback page. Consider using a different name for the fallback.
Wrote site to "../public"
✔ done
✓ Inlined favicon.svg as base64 data URL
✓ Created index.html.gz