mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-12 17:57:37 +02:00
Trois défauts sans rapport entre eux, tous visibles à l'écran. Jauge de contexte bloquée à « 0 / N (0 %) » : le comptage exact vient de usage.prompt_tokens (include_usage), qu'un llama-server récent a cessé de renvoyer. On note désormais si l'usage est arrivé ; sinon la fin de tour publie l'estimation qui pilote déjà la compaction — approximative, mais jamais absente. Et la souscription envoie la valeur courante juste après le rattrapage : une page rechargée affichait zéro sur une discussion pourtant pleine, faute d'événement ctx_used dans la fenêtre rejouée. Espace disque : « il ne reste que 11,9 Go » sur un partage Unraid qui en a des centaines. /mnt/user est servi par shfs, un FUSE qui agrège plusieurs disques — statfs y renvoie l'espace d'un seul, et ce chiffre REFUSAIT l'installation du modèle. Les systèmes de fichiers qui approximent (FUSE, overlay, NFS, CIFS, Ceph, Gluster) sont reconnus par leur magie : leur chiffre reste affiché, précédé d'un « ~ », mais ne bloque plus rien. Panneau Fichiers : le panneau entier défilait, emportant vers le haut l'en-tête, le fil d'Ariane et le pied (occupation disque, bouton .zip) dès qu'il y avait quelques fichiers. Seule la liste défile maintenant ; le pied reste en bas et l'état vide se centre. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
178 lines
4.2 KiB
TypeScript
178 lines
4.2 KiB
TypeScript
declare namespace postcssValueParser {
|
||
interface BaseNode {
|
||
/**
|
||
* The offset, inclusive, inside the CSS value at which the node starts.
|
||
*/
|
||
sourceIndex: number;
|
||
|
||
/**
|
||
* The offset, exclusive, inside the CSS value at which the node ends.
|
||
*/
|
||
sourceEndIndex: number;
|
||
|
||
/**
|
||
* The node's characteristic value
|
||
*/
|
||
value: string;
|
||
}
|
||
|
||
interface ClosableNode {
|
||
/**
|
||
* Whether the parsed CSS value ended before the node was properly closed
|
||
*/
|
||
unclosed?: true;
|
||
}
|
||
|
||
interface AdjacentAwareNode {
|
||
/**
|
||
* The token at the start of the node
|
||
*/
|
||
before: string;
|
||
|
||
/**
|
||
* The token at the end of the node
|
||
*/
|
||
after: string;
|
||
}
|
||
|
||
interface CommentNode extends BaseNode, ClosableNode {
|
||
type: "comment";
|
||
}
|
||
|
||
interface DivNode extends BaseNode, AdjacentAwareNode {
|
||
type: "div";
|
||
}
|
||
|
||
interface FunctionNode extends BaseNode, ClosableNode, AdjacentAwareNode {
|
||
type: "function";
|
||
|
||
/**
|
||
* Nodes inside the function
|
||
*/
|
||
nodes: Node[];
|
||
}
|
||
|
||
interface SpaceNode extends BaseNode {
|
||
type: "space";
|
||
}
|
||
|
||
interface StringNode extends BaseNode, ClosableNode {
|
||
type: "string";
|
||
|
||
/**
|
||
* The quote type delimiting the string
|
||
*/
|
||
quote: '"' | "'";
|
||
}
|
||
|
||
interface UnicodeRangeNode extends BaseNode {
|
||
type: "unicode-range";
|
||
}
|
||
|
||
interface WordNode extends BaseNode {
|
||
type: "word";
|
||
}
|
||
|
||
/**
|
||
* Any node parsed from a CSS value
|
||
*/
|
||
type Node =
|
||
| CommentNode
|
||
| DivNode
|
||
| FunctionNode
|
||
| SpaceNode
|
||
| StringNode
|
||
| UnicodeRangeNode
|
||
| WordNode;
|
||
|
||
interface CustomStringifierCallback {
|
||
/**
|
||
* @param node The node to stringify
|
||
* @returns The serialized CSS representation of the node
|
||
*/
|
||
(nodes: Node): string | undefined;
|
||
}
|
||
|
||
interface WalkCallback {
|
||
/**
|
||
* @param node The currently visited node
|
||
* @param index The index of the node in the series of parsed nodes
|
||
* @param nodes The series of parsed nodes
|
||
* @returns Returning `false` will prevent traversal of descendant nodes (only applies if `bubble` was set to `true` in the `walk()` call)
|
||
*/
|
||
(node: Node, index: number, nodes: Node[]): void | boolean;
|
||
}
|
||
|
||
/**
|
||
* A CSS dimension, decomposed into its numeric and unit parts
|
||
*/
|
||
interface Dimension {
|
||
number: string;
|
||
unit: string;
|
||
}
|
||
|
||
/**
|
||
* A wrapper around a parsed CSS value that allows for inspecting and walking nodes
|
||
*/
|
||
interface ParsedValue {
|
||
/**
|
||
* The series of parsed nodes
|
||
*/
|
||
nodes: Node[];
|
||
|
||
/**
|
||
* Walk all parsed nodes, applying a callback
|
||
*
|
||
* @param callback A visitor callback that will be executed for each node
|
||
* @param bubble When set to `true`, walking will be done inside-out instead of outside-in
|
||
*/
|
||
walk(callback: WalkCallback, bubble?: boolean): this;
|
||
}
|
||
|
||
interface ValueParser {
|
||
/**
|
||
* Decompose a CSS dimension into its numeric and unit part
|
||
*
|
||
* @param value The dimension to decompose
|
||
* @returns An object representing `number` and `unit` part of the dimension or `false` if the decomposing fails
|
||
*/
|
||
unit(value: string): Dimension | false;
|
||
|
||
/**
|
||
* Serialize a series of nodes into a CSS value
|
||
*
|
||
* @param nodes The nodes to stringify
|
||
* @param custom A custom stringifier callback
|
||
* @returns The generated CSS value
|
||
*/
|
||
stringify(nodes: Node | Node[], custom?: CustomStringifierCallback): string;
|
||
|
||
/**
|
||
* Walk a series of nodes, applying a callback
|
||
*
|
||
* @param nodes The nodes to walk
|
||
* @param callback A visitor callback that will be executed for each node
|
||
* @param bubble When set to `true`, walking will be done inside-out instead of outside-in
|
||
*/
|
||
walk(nodes: Node[], callback: WalkCallback, bubble?: boolean): void;
|
||
|
||
/**
|
||
* Parse a CSS value into a series of nodes to operate on
|
||
*
|
||
* @param value The value to parse
|
||
*/
|
||
new (value: string): ParsedValue;
|
||
|
||
/**
|
||
* Parse a CSS value into a series of nodes to operate on
|
||
*
|
||
* @param value The value to parse
|
||
*/
|
||
(value: string): ParsedValue;
|
||
}
|
||
}
|
||
|
||
declare const postcssValueParser: postcssValueParser.ValueParser;
|
||
|
||
export = postcssValueParser;
|