synthesisui 0.16.382 → 0.16.384
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/baseline-craft.js +24 -3
- package/dist/commands/import.js +15 -3
- package/dist/commands/sync.js +13 -1
- package/dist/doctor/style-ledger.js +55 -10
- package/dist/install-marks.js +12 -1
- package/package.json +1 -1
package/dist/baseline-craft.js
CHANGED
|
@@ -27,9 +27,30 @@ export function craftLines(craft) {
|
|
|
27
27
|
if (craft.score === null) {
|
|
28
28
|
return bodyWrapped("No component of yours was read yet, so there is no line to draw. Your tokens came through - the components are next.").map(body);
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
/**
|
|
31
|
+
* O DENOMINADOR EM PALAVRAS, e ele existe para a nota não subir calada.
|
|
32
|
+
*
|
|
33
|
+
* Um componente sem receita nenhuma sai da média desde 06/09 - ninguém o escreveu ainda, e
|
|
34
|
+
* contá-lo como zero afirma que o código dele é ruim onde não há código. Mas uma nota que
|
|
35
|
+
* melhora sem explicação lê como régua afrouxada, então a frase diz sobre QUANTOS ela foi
|
|
36
|
+
* tirada.
|
|
37
|
+
*
|
|
38
|
+
* SÓ QUANDO EXISTE, e `unwritten` ausente é diferente de zero: um servidor anterior a esta
|
|
39
|
+
* versão não manda o campo, e afirmar "todos têm receita" ali seria inventar.
|
|
40
|
+
*/
|
|
41
|
+
const plural = craft.authored === 1 ? "" : "s";
|
|
42
|
+
const written = craft.unwritten === undefined ? null : craft.authored - craft.unwritten;
|
|
43
|
+
const apart = written !== null && craft.unwritten ? craft.unwritten : 0;
|
|
44
|
+
const lines = bodyWrapped(`${paint.strong(`${craft.score}/100`)} on ${apart ? `${written} of your ${craft.authored}` : `your ${craft.authored}`} component${plural} - never on our kit, never on a demo.`).map(body);
|
|
45
|
+
/**
|
|
46
|
+
* A LINHA PRÓPRIA, e não uma oração dentro da primeira.
|
|
47
|
+
*
|
|
48
|
+
* Escrita junto, a frase ocupava três linhas no terminal e o fato principal - a nota - ficava
|
|
49
|
+
* enterrado no meio da ressalva. A nota é o que ele veio ver; por que ela é sobre 49 e não 62 é
|
|
50
|
+
* a segunda pergunta, e ela merece a segunda linha.
|
|
51
|
+
*/
|
|
52
|
+
if (apart)
|
|
53
|
+
lines.push(...bodyWrapped(`${apart} have no recipe yet: counted apart, never against you.`).map((l) => body(paint.dim(l))));
|
|
33
54
|
/**
|
|
34
55
|
* OS RÓTULOS ALINHADOS PELO MAIS LONGO, e a largura é medida e não estimada: os nomes chegam do
|
|
35
56
|
* servidor, então um padding fixo desalinharia no dia em que uma lente for renomeada lá.
|
package/dist/commands/import.js
CHANGED
|
@@ -35,7 +35,7 @@ import { parseSchemeBlocks } from "../doctor/scheme-blocks.js";
|
|
|
35
35
|
import { describeSignals, emptySignals, finishSignals, readSignalsInto, } from "../doctor/signals.js";
|
|
36
36
|
import { sketchOf } from "../doctor/sketch.js";
|
|
37
37
|
import { describeForeign, readStyleIslands, } from "../doctor/style-island.js";
|
|
38
|
-
import { buildLedger, describeLedger, } from "../doctor/style-ledger.js";
|
|
38
|
+
import { buildLedger, describeLedger, sampledForUpload, } from "../doctor/style-ledger.js";
|
|
39
39
|
import { MUI_DEFAULT_SPACING, readStyledComponents, spacingOf, } from "../doctor/style-props.js";
|
|
40
40
|
import { buildTable } from "../doctor/tokens.js";
|
|
41
41
|
import { definitionSpan, parseClass, readInlineStyle, rootClasses, rootTag, transcribe, } from "../doctor/transcribe.js";
|
|
@@ -2802,7 +2802,10 @@ export async function takeCensus(root, opts) {
|
|
|
2802
2802
|
* A PROCEDÊNCIA, GRAVADA - ver `measured` no tipo. `basename` e não o caminho: o nome da pasta
|
|
2803
2803
|
* distingue dois monorepos parecidos sem mandar o diretório pessoal dele para o nosso servidor.
|
|
2804
2804
|
*/
|
|
2805
|
-
measured: {
|
|
2805
|
+
measured: {
|
|
2806
|
+
repo: repoNameOf(root, scopeLabel),
|
|
2807
|
+
at: new Date().toISOString(),
|
|
2808
|
+
},
|
|
2806
2809
|
...(scopeLabel ? { scope: scopeLabel } : {}),
|
|
2807
2810
|
/**
|
|
2808
2811
|
* O DENOMINADOR DO FORA - ver `outside-scope.ts`.
|
|
@@ -4492,8 +4495,17 @@ export async function runImport(opts) {
|
|
|
4492
4495
|
* ler `_synthesisui/ds/<slug>/.lock`, que num import não existe de qualquer forma. Todo campo do
|
|
4493
4496
|
* payload é opcional, então o que falta simplesmente não viaja - em vez de o conjunto todo faltar.
|
|
4494
4497
|
*/
|
|
4498
|
+
/**
|
|
4499
|
+
* O QUE SOBE É AMOSTRA; O QUE FICA NO REPOSITÓRIO DELE É INTEIRO - `INV-COLETA-18`.
|
|
4500
|
+
*
|
|
4501
|
+
* `sampledForUpload` aplica o teto AQUI, depois de o censo já ter sido gravado em
|
|
4502
|
+
* `_synthesisui/census.json`. O tamanho deste corpo não muda em byte nenhum - é o mesmo 4 096
|
|
4503
|
+
* de sempre -, e o que muda é que o arquivo dele deixou de ser podado por um limite nosso.
|
|
4504
|
+
*/
|
|
4495
4505
|
body: JSON.stringify({
|
|
4496
|
-
census
|
|
4506
|
+
census: census.ledger
|
|
4507
|
+
? { ...census, ledger: sampledForUpload(census.ledger) }
|
|
4508
|
+
: census,
|
|
4497
4509
|
name: chosen,
|
|
4498
4510
|
...(opts.group ? { group: opts.group } : {}),
|
|
4499
4511
|
...(repoAtImport ? { repo: repoAtImport } : {}),
|
package/dist/commands/sync.js
CHANGED
|
@@ -6,6 +6,7 @@ import { readToken, resolveRegistry } from "../config.js";
|
|
|
6
6
|
import { inherit, readDeclaredForms, } from "../doctor/declared-forms.js";
|
|
7
7
|
import { markSent, readEvents } from "../doctor/ledger.js";
|
|
8
8
|
import { checkableName, closeRequest, readRequests, verifyAndCloseRequests, } from "../doctor/requests.js";
|
|
9
|
+
import { sampledForUpload } from "../doctor/style-ledger.js";
|
|
9
10
|
import { describeDelta, fingerprintReadings, readSyncMark, writeSyncMark, } from "../last-sync.js";
|
|
10
11
|
import { measuredScope, rememberScope } from "../measured-scope.js";
|
|
11
12
|
import { fromCensus } from "../memory/observation.js";
|
|
@@ -556,7 +557,18 @@ export async function remeasure(args) {
|
|
|
556
557
|
"content-type": "application/json",
|
|
557
558
|
Authorization: `Bearer ${token}`,
|
|
558
559
|
},
|
|
559
|
-
|
|
560
|
+
/**
|
|
561
|
+
* O QUE SOBE É AMOSTRA; O QUE FICA NO REPOSITÓRIO DELE É INTEIRO - `INV-COLETA-18`.
|
|
562
|
+
*
|
|
563
|
+
* A gravação em `_synthesisui/census.json` acontece acima, e ela leva o ledger COMPLETO: é dali
|
|
564
|
+
* que `gaps` e a skill `sui-reader` tiram a forma, o lugar e o texto de cada declaração que
|
|
565
|
+
* nenhum leitor entendeu. O teto vale só para o nosso lado, e o tamanho deste corpo não muda.
|
|
566
|
+
*/
|
|
567
|
+
body: JSON.stringify({
|
|
568
|
+
census: census.ledger
|
|
569
|
+
? { ...census, ledger: sampledForUpload(census.ledger) }
|
|
570
|
+
: census,
|
|
571
|
+
}),
|
|
560
572
|
}).catch(() => null);
|
|
561
573
|
if (!res?.ok) {
|
|
562
574
|
console.log(body(res
|
|
@@ -291,12 +291,11 @@ declared) {
|
|
|
291
291
|
* declarado e um teto silencioso. Inverter as duas linhas devolve o defeito.
|
|
292
292
|
*/
|
|
293
293
|
group.distinctTexts.add(f.text);
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
});
|
|
294
|
+
group.unreadable.push({
|
|
295
|
+
file: f.file,
|
|
296
|
+
line: f.line,
|
|
297
|
+
text: f.text.replace(/\s+/g, " ").trim().slice(0, 400),
|
|
298
|
+
});
|
|
300
299
|
}
|
|
301
300
|
groups.set(key, group);
|
|
302
301
|
}
|
|
@@ -413,17 +412,27 @@ values) {
|
|
|
413
412
|
*
|
|
414
413
|
* O QUE ELA NÃO FAZ é prometer o desfecho - mesma correção que `shape-not-read` recebeu em
|
|
415
414
|
* 24/08. Ela diz quantos textos viajam e o que isso significa para um leitor que a gente
|
|
416
|
-
* publique depois
|
|
417
|
-
*
|
|
415
|
+
* publique depois.
|
|
416
|
+
*
|
|
417
|
+
* ─────────────────────────────────────────────────────────────────────────
|
|
418
|
+
* E EM 06/09 ELA TROCOU DE SENTIDO, porque o teto trocou de lado - `INV-COLETA-18`.
|
|
419
|
+
*
|
|
420
|
+
* A frase antiga dizia *"de N textos, 4096 viajam"* sobre um arquivo que TAMBÉM estava podado:
|
|
421
|
+
* o corte acontecia na construção, então o `census.json` dele levava os mesmos 4096. Agora o
|
|
422
|
+
* arquivo dele leva todos, e o que é amostrado é só o que sobe para nós.
|
|
423
|
+
*
|
|
424
|
+
* A CONDIÇÃO PASSOU A SER O TETO, e não `unreadable.length`: aquele campo agora vale `distinct`
|
|
425
|
+
* sempre, então a comparação antiga nunca seria verdadeira e a frase sumiria em silêncio - uma
|
|
426
|
+
* lacuna declarada virando lacuna calada por efeito colateral, que é o oposto da lei 8.
|
|
418
427
|
*/
|
|
419
|
-
if (g.distinct !== undefined && g.distinct >
|
|
428
|
+
if (g.distinct !== undefined && g.distinct > DISTINCT_CAP)
|
|
420
429
|
lines.push(
|
|
421
430
|
/**
|
|
422
431
|
* `census` ERA O NOSSO NOME NA TELA DELE - trocado por "the measurement we already have",
|
|
423
432
|
* que é o que a palavra significa do lado dele. Pego pela régua de `INV-VOC-05` no dia em
|
|
424
433
|
* que `doctor/` entrou nela (03/09).
|
|
425
434
|
*/
|
|
426
|
-
`
|
|
435
|
+
` all ${g.distinct} distinct texts stay in the measurement file in your repository - the ${g.distinct - DISTINCT_CAP} past the first ${DISTINCT_CAP} did not travel to us, so a reader we publish later reaches those only after another scan`);
|
|
427
436
|
for (const e of g.examples)
|
|
428
437
|
lines.push(` ${e.file}:${e.line} ${e.text.slice(0, 80)}`);
|
|
429
438
|
}
|
|
@@ -445,3 +454,39 @@ export function describeValueRuler(values) {
|
|
|
445
454
|
`Of the ${values.seen} class declarations on your components, ${values.structure} are structure (layout plumbing, not design decisions). Of the ${decisions} design decisions, ${closed} are interpreted${values.answered > 0 ? ` (${values.answered} of them answered by you)` : ""} - ${percent}%.`,
|
|
446
455
|
];
|
|
447
456
|
}
|
|
457
|
+
/**
|
|
458
|
+
* O CORTE, APLICADO DEPOIS DA BIFURCAÇÃO - fecha o `pending` de `INV-COLETA-18`.
|
|
459
|
+
*
|
|
460
|
+
* A REGRA, do dono (05/09): *"coisas que a gente não interpreta a gente continua enviando para o
|
|
461
|
+
* usuário, para o agente saber o que fazer"*. Falhar em ler degrada a NOSSA metade; nunca o insumo
|
|
462
|
+
* dele.
|
|
463
|
+
*
|
|
464
|
+
* O QUE ACONTECIA. `buildLedger` cortava em `DISTINCT_CAP` durante a CONSTRUÇÃO, e o objeto podado
|
|
465
|
+
* era o mesmo que ia para os dois lados: gravado em `_synthesisui/census.json` na máquina dele E
|
|
466
|
+
* enviado ao nosso banco. Um teto que existe pelo NOSSO custo de armazenamento estava podando o
|
|
467
|
+
* arquivo de onde o agente DELE tira a forma, o lugar e o texto. Medido em 03/09, com o teto solto:
|
|
468
|
+
*
|
|
469
|
+
* web-subscribe component-not-admitted 9 722 distintos, 4 096 viajavam 58% fora
|
|
470
|
+
* web-subscribe shape-not-read 8 016 distintos, 4 096 viajavam 49% fora
|
|
471
|
+
* frontend-hub/dashboard component-not-admitted 6 394 distintos, 4 096 viajavam 36% fora
|
|
472
|
+
*
|
|
473
|
+
* AGORA A CONSTRUÇÃO GUARDA TUDO e quem chama decide. O disco dele recebe o ledger inteiro; o corpo
|
|
474
|
+
* do POST passa por aqui. O tamanho do que sobe não muda em byte nenhum - é o mesmo 4 096 de antes.
|
|
475
|
+
*
|
|
476
|
+
* E `distinct` NÃO É RECALCULADO aqui, de propósito: ele conta os distintos que a MEDIÇÃO viu, e é
|
|
477
|
+
* exatamente a diferença entre ele e `unreadable.length` que diz ao servidor que a lista recebida é
|
|
478
|
+
* amostra. Recalcular apagaria a única evidência do corte - o defeito que `INV-COB-14` protege.
|
|
479
|
+
*
|
|
480
|
+
* O TETO DAS FORMAS entra junto porque responde à mesma pergunta e ao mesmo custo: `formsTotal`
|
|
481
|
+
* continua dizendo quantas existem.
|
|
482
|
+
*/
|
|
483
|
+
export function sampledForUpload(ledger) {
|
|
484
|
+
return {
|
|
485
|
+
...ledger,
|
|
486
|
+
unread: ledger.unread.map((group) => ({
|
|
487
|
+
...group,
|
|
488
|
+
unreadable: group.unreadable.slice(0, DISTINCT_CAP),
|
|
489
|
+
...(group.forms ? { forms: group.forms.slice(0, FORM_CAP) } : {}),
|
|
490
|
+
})),
|
|
491
|
+
};
|
|
492
|
+
}
|
package/dist/install-marks.js
CHANGED
|
@@ -680,7 +680,18 @@ export const CHECKER_SINCE = "0.16.378";
|
|
|
680
680
|
* posição de conteúdo. Um censo medido antes desta versão conta como deriva o que a folha do app
|
|
681
681
|
* nem alcança - e o número do cliente é a promessa.
|
|
682
682
|
*/
|
|
683
|
-
|
|
683
|
+
/**
|
|
684
|
+
* 0.16.381 -> 0.16.383 em 06/09: o censo produzido MUDA, e do lado DELE. `DISTINCT_CAP` cortava os
|
|
685
|
+
* textos durante a construção do ledger, então o mesmo objeto podado era gravado em
|
|
686
|
+
* `_synthesisui/census.json` na máquina dele e enviado para nós - um teto que existe pelo NOSSO
|
|
687
|
+
* custo podando o insumo DELE (`INV-COLETA-18`). Agora `buildLedger` guarda tudo e o corte é
|
|
688
|
+
* aplicado só no corpo do POST. Um censo medido antes desta versão tem o arquivo dele podado em
|
|
689
|
+
* todo grupo acima de 4 096 textos distintos, e só um `sync` traz o resto.
|
|
690
|
+
* QUEM NÃO É AFETADO: quem não tem nenhum grupo acima de 4 096 - o `sync` daquele repositório não
|
|
691
|
+
* muda um byte. Medido em 06/09: `frontend-hub/apps/web-dashboard` tem UM grupo acima (6 393), e
|
|
692
|
+
* `packages/ui` e `apps/web-review` nenhum.
|
|
693
|
+
*/
|
|
694
|
+
export const READER_SINCE = "0.16.383";
|
|
684
695
|
/**
|
|
685
696
|
* O QUE ESTÁ INSTALADO AQUI FICOU PARA TRÁS - e as DUAS condições que fazem isso ser verdade.
|
|
686
697
|
*
|
package/package.json
CHANGED