mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-16 03:39:29 +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>
85 lines
1.8 KiB
JavaScript
85 lines
1.8 KiB
JavaScript
/**
|
|
* @import {State} from 'mdast-util-to-markdown'
|
|
* @import {FlowChildren, FlowParents, TrackFields} from '../types.js'
|
|
*/
|
|
|
|
/**
|
|
* @param {FlowParents} parent
|
|
* Parent of flow nodes.
|
|
* @param {State} state
|
|
* Info passed around about the current state.
|
|
* @param {TrackFields} info
|
|
* Info on where we are in the document we are generating.
|
|
* @returns {string}
|
|
* Serialized children, joined by (blank) lines.
|
|
*/
|
|
export function containerFlow(parent, state, info) {
|
|
const indexStack = state.indexStack
|
|
const children = parent.children || []
|
|
const tracker = state.createTracker(info)
|
|
/** @type {Array<string>} */
|
|
const results = []
|
|
let index = -1
|
|
|
|
indexStack.push(-1)
|
|
|
|
while (++index < children.length) {
|
|
const child = children[index]
|
|
|
|
indexStack[indexStack.length - 1] = index
|
|
|
|
results.push(
|
|
tracker.move(
|
|
state.handle(child, parent, state, {
|
|
before: '\n',
|
|
after: '\n',
|
|
...tracker.current()
|
|
})
|
|
)
|
|
)
|
|
|
|
if (child.type !== 'list') {
|
|
state.bulletLastUsed = undefined
|
|
}
|
|
|
|
if (index < children.length - 1) {
|
|
results.push(
|
|
tracker.move(between(child, children[index + 1], parent, state))
|
|
)
|
|
}
|
|
}
|
|
|
|
indexStack.pop()
|
|
|
|
return results.join('')
|
|
}
|
|
|
|
/**
|
|
* @param {FlowChildren} left
|
|
* @param {FlowChildren} right
|
|
* @param {FlowParents} parent
|
|
* @param {State} state
|
|
* @returns {string}
|
|
*/
|
|
function between(left, right, parent, state) {
|
|
let index = state.join.length
|
|
|
|
while (index--) {
|
|
const result = state.join[index](left, right, parent, state)
|
|
|
|
if (result === true || result === 1) {
|
|
break
|
|
}
|
|
|
|
if (typeof result === 'number') {
|
|
return '\n'.repeat(1 + result)
|
|
}
|
|
|
|
if (result === false) {
|
|
return '\n\n<!---->\n\n'
|
|
}
|
|
}
|
|
|
|
return '\n\n'
|
|
}
|