+ 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
* feat: Enable adding System Prompt per-chat
* fix: Save draft message in Chat Form when adding System Prompt from new chat view
* fix: Proper system message deletion logic
* chore: Formatting
* chore: update webui build output
* Move dequant_model to after the text_config merge
Add new kimi-k2.5 keys to mtmd convert
Update V_MMPROJ tensor mapping for new mm_projector.proj keys
Update V_M_IMP_NORM for new mm_projector.pre_norm key
* Fix a couple of oversights
* Add image support for Kimi-K2.5
* Revert changes to KimiVLForConditionalGeneration
* Fix an assert crash
* Fix permute swapping w / h on accident
* Kimi-K2.5: Use merged QKV for vision
* Kimi-K2.5: pre-convert vision QK to use build_rope_2d
* Kimi-K2.5: support non-interleaved rope for vision
* Kimi-K2.5: fix min / max pixel
* Kimi-K2.5: remove v/o permutes, unnecessary
* Kimi-K2.5: update permute name to match
* Update convert_hf_to_gguf.py
Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
* Kimi-K2.5: replace build_rope_2d ggml_cont with ggml_view_3d pointers
---------
Co-authored-by: Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
* support qwen3.5 series
* remove deepstack for now, and some code clean
* code clean
* add FULL_ATTENTION_INTERVAL metadata
* code clean
* reorder v heads for linear attention to avoid expensive interleaved repeat
* completion : simplify batch (embd) processing
This commit simplifies the processing of embd by removing the for loop
that currently exists which uses params.n_batch as its increment. This
commit also removes the clamping of n_eval as the size of embd is always
at most the size of params.n_batch.
The motivation is to clarify the code as it is currently a little
confusing when looking at this for loop in isolation and thinking that
it can process multiple batches.
* add an assert to verify n_eval is not greater than n_batch
Experimenting with AI, my environment gets messy fast and it's not
always easy to know what model my software is trying to load. This helps
with troubleshooting.
before:
Error: {
code = 400,
message = "model not found",
type = "invalid_request_error"
}
After:
Error: {
code = 400,
message = "model 'toto' not found",
type = "invalid_request_error"
}
* add option --tensor-type-file to llama-quantize, but it raises an error.
* add error message when file not found
* quantize: update help menu, fix CI
Signed-off-by: Aaron Teo <aaron.teo1@ibm.com>
---------
Signed-off-by: Aaron Teo <aaron.teo1@ibm.com>
Co-authored-by: Your Name <you@example.com>
Co-authored-by: Aaron Teo <aaron.teo1@ibm.com>
* common : use two decimal places for float arg help messages
This commit updates the help messages for various command-line arguments
in arg.cpp to display floating-point default values with two decimal
places instead of one.
The motivation for this changes is that currently only having one decimal
place means that values generated using --help or llama-gen-docs will not
display the correct values.
For example, currently the value of top-p in tools/server/README.md is
`0.9`, but the default value is actually '0.95'. And running
llama-gen-docs does not update this value as it uses the output from the
help message, which shows only one decimal place, so the values look
like they are unchanged.
* docs : run llama-gen-docs to update docs
+ mkdir /usr/src/.npm-global
+ npm config set prefix /usr/src/.npm-global
+ npm install -g @aikidosec/safe-chain
added 57 packages in 6s
5 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 26s
218 packages are looking for funding
run `npm fund` for details
7 vulnerabilities (1 low, 1 moderate, 5 high)
To address all issues, run:
npm audit fix
Run `npm audit` for details.
+ aikido-npm audit --audit-level=critical fix
added 12 packages, removed 1 package, changed 8 packages, and audited 559 packages in 27s
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-OXJURHEN.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...
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
node_modules/@sveltejs/kit/src/runtime/client/client.js (333:26): "fork" is not exported by "node_modules/svelte/src/index-server.js", imported by "node_modules/@sveltejs/kit/src/runtime/client/client.js".
"default" is imported from external module "highlight.js" but never used in "src/lib/components/app/misc/SyntaxHighlightedCode.svelte".
✓ 4621 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-OXJURHEN.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...
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
node_modules/@sveltejs/kit/src/runtime/client/client.js (332:26): "fork" is not exported by "node_modules/svelte/src/index-client.js", imported by "node_modules/@sveltejs/kit/src/runtime/client/client.js".
✓ 5356 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.sWIT1xAp.css 482.64 kB │ gzip: 286.19 kB
.svelte-kit/output/client/_app/immutable/bundle.DxpKjihs.js 3,777.47 kB │ gzip: 1,118.20 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.56s
.svelte-kit/output/server/.vite/manifest.json 5.75 kB
.svelte-kit/output/server/_app/immutable/assets/style.BvrYRhgP.css 482.35 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.17 kB
.svelte-kit/output/server/entries/pages/chat/_id_/_page.ts.js 0.18 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.98 kB
.svelte-kit/output/server/entries/pages/chat/_id_/_page.svelte.js 1.00 kB
.svelte-kit/output/server/chunks/label.js 2.21 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/chunks/internal.js 6.02 kB
.svelte-kit/output/server/chunks/shared.js 7.48 kB
.svelte-kit/output/server/remote-entry.js 8.29 kB
.svelte-kit/output/server/entries/pages/_error.svelte.js 8.43 kB
.svelte-kit/output/server/chunks/index.js 21.41 kB
.svelte-kit/output/server/entries/pages/_layout.svelte.js 34.19 kB
.svelte-kit/output/server/index.js 56.23 kB
.svelte-kit/output/server/chunks/SyntaxHighlightedCode.svelte_svelte_type_style_lang.js 86.69 kB
.svelte-kit/output/server/chunks/DialogConfirmation.js 109.90 kB
.svelte-kit/output/server/chunks/ServerLoadingSplash.js 217.27 kB
✓ built in 21.04s
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
* Move `task_result_state::update_chat_msg` to match with header
* Move `server_task_result_cmpl_partial::to_json_anthropic()` to match with header
---------
Co-authored-by: openingnow <>
* from previous PR
* Make instruction(system) as first message
* Convert [input_message] (text/image/file)
* Rename convert_responses_to_chatcmpl(body) -> response_body
* Initial tool call support
* Erase instructions field from chatcmpl body
* Feed reasoning texts to chat template
* Use std::vector instead of opaque json array
* Make output_item.added events consistent
* Move `server_task_result_cmpl_partial::update` from header to source
* Match ID of output_item.added and .done events
* Add function_call only if there is no "fc_" prefix
* Add function call output at non-streaming API
* Test if ID is persistent
* Add doc
* Fix style - use trailing comma
* Rewrite state management
* catch up with upstream/master
* Fix style - "type" is the first item of SSE data
* Explicitly check "instructions" from response_body
* Make lambdas static
* Check if reasoning content exists
* Add `oai_resp_id` to task_result_state(also initialized at ctor), server_task_result_cmpl_partial, and server_task_result_cmpl_final
* Reject `input_file` since it is not supported by chatcmpl
* Add "fc_" prefix to non-straming function call id as coderabbit pointed out
---------
Co-authored-by: openingnow <>
* initial commit for branch
* simplify constants
* add params to `struct common_params_sampling`, add reference to PR
* explicitly clamp `min_target` and `max_target` to `[0.0, 1.0]`
* add args, rename `queue_size` -> `window_size`
* improved comments
* minor
* remove old unused code from algorithm
* minor
* add power law case to `common_sampler_init`, add sampler name mappings
* clarify behaviour when `window_size = 0`
* add missing enums
* remove `target_range` param, make `target == 1` no-op, cleanup code
* oops, straggler
* add missing parameters in `server-task.cpp`
* copy from author
ref:
https://gist.github.com/MrJackSpade/9be99c7efbba7b95a41377e123b7b069
* remove old debug log, style nit
* fix compiler warning, add commented-out logging per token
* re-write + change parameters + simplify
* oops forgot args.cpp
* fix leftover `window_size`
* add missing values to `common_params_sampling::print()`
* with logging
* does this fix it?
* no, but does this?
* update default decay
* optimize
* fix bad merge
my git skills are lacking
* silence `missing initializer for member`
* update default decay to 0.9
* fix logging
* format (double)
* add power law to the new `samplers` vector
* log sampler init values
* improve logging messages in llama_sampler_power_law
* remove extraneous logging
* simplify target computation
last commit with debug logging!
* remove debug logging, explicitly clamp params at init
* add `use_power_law` flag + logic, minor cleanup
* update `power-law` -> `adaptive-p`
* fix cold start EMA
- `ctx->weighted_sum` is now initialized and reset to `target / (1.0f -
clamped_decay)`
- `ctx->total_weight` is now initialized and reset to `1.0f / (1.0f -
clamped_decay)`
this fixes a "cold start" problem with the moving average
* update `SHARPNESS` constant to `10.0f`
* minor style fixes
no functional changes
* minor style fixes cont.
* update `llama_sampler_adaptive_p_i` for backend sampling (ref: #17004)
* separate into `apply` + `accept` functions
* `pending_token_idx`: switch from `llama_token` to `int32`
functionally identical (`llama.h` has `typedef int32_t llama_token;`),
but its more correct now
* don't transform logits <= -1e9f
* fix masking in backend top-p, min-p
* address review comments
* typo in comments `RND` -> `RNG`
* add docs
* add recommended values in completion docs
* address PR feedback
* remove trailing whitespace (for CI `editorconfig`)
* add to adaptive-p to `common_sampler_types_from_chars`
* server : make sure children tasks are scheduled to launch with parent
* fix
* add comment pointing to this PR
* fix
* clean up
* more debug messages
* add pop_deferred_task with specific ID version
* improve the logic
* simple approach
* no double move
* correct return type of launch_slots_with_parent_task