@callidescope/output 0.0.78 → 0.0.80
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/CHANGELOG.md +20 -0
- package/dist/src/index.d.ts +44 -63
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
## 0.0.80 (2026-11-12)
|
|
2
|
+
|
|
3
|
+
### 🧱 Updated Dependencies
|
|
4
|
+
|
|
5
|
+
- Updated callidescope-configuration to 0.0.81
|
|
6
|
+
- Updated callidescope-graph to 0.0.80
|
|
7
|
+
- Updated callidescope-core to 0.0.80
|
|
8
|
+
|
|
9
|
+
## 0.0.79 (2026-11-11)
|
|
10
|
+
|
|
11
|
+
### 🚀 Features
|
|
12
|
+
|
|
13
|
+
- **codometer:** ✨ tighten the comment budgets and shorten every comment over them ([#2262](https://github.com/organizzolini/codebase/pull/2262), [#2261](https://github.com/organizzolini/codebase/issues/2261))
|
|
14
|
+
|
|
15
|
+
### 🧱 Updated Dependencies
|
|
16
|
+
|
|
17
|
+
- Updated callidescope-configuration to 0.0.80
|
|
18
|
+
- Updated callidescope-graph to 0.0.79
|
|
19
|
+
- Updated callidescope-core to 0.0.79
|
|
20
|
+
|
|
1
21
|
## 0.0.78 (2026-11-10)
|
|
2
22
|
|
|
3
23
|
### 🚀 Features
|
package/dist/src/index.d.ts
CHANGED
|
@@ -37,10 +37,9 @@ export declare class AddressReportModule {
|
|
|
37
37
|
/**
|
|
38
38
|
* Renders `depth` and `breadth`'s findings for a terminal.
|
|
39
39
|
*
|
|
40
|
-
* Markdown by default
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* text. JSON carries the same data with nothing rendered.
|
|
40
|
+
* Markdown by default, mermaid on request, as `callidescope` prints them.
|
|
41
|
+
* Mermaid is paste-ready source; markdown reads well as terminal text.
|
|
42
|
+
* JSON carries the same data unrendered.
|
|
44
43
|
*/
|
|
45
44
|
export declare class AddressReportService {
|
|
46
45
|
private readonly mermaidReportService;
|
|
@@ -128,12 +127,10 @@ export declare interface FindOwnedFindingsArguments {
|
|
|
128
127
|
readonly reports: readonly ProjectReport[];
|
|
129
128
|
}
|
|
130
129
|
|
|
131
|
-
/** Start marker of
|
|
130
|
+
/** Start marker of an anchored block. Replacement stops at other blocks. */
|
|
132
131
|
export declare const FOREIGN_ANCHOR_PATTERN: RegExp;
|
|
133
132
|
|
|
134
|
-
/**
|
|
135
|
-
* Anything holding a frame list, such as a full `CallStack` or a path with no depth of its own.
|
|
136
|
-
*/
|
|
133
|
+
/** Anything holding a frame list, such as a `CallStack`. */
|
|
137
134
|
export declare interface FramedStack {
|
|
138
135
|
readonly frames: readonly StackFrame[];
|
|
139
136
|
}
|
|
@@ -147,7 +144,7 @@ export declare const HEADROOM_BUCKET_FOUR_PLUS = "4+";
|
|
|
147
144
|
/** Bucket holding the projects one frame from their own limit. */
|
|
148
145
|
export declare const HEADROOM_BUCKET_ONE = "1";
|
|
149
146
|
|
|
150
|
-
/**
|
|
147
|
+
/** Scoreboard bucket order, tightest first. Fixed, so empty ones still print. */
|
|
151
148
|
export declare const HEADROOM_BUCKET_ORDER: readonly ["over limit", "0 — at limit", "1", "2–3", "4+", "no stacks"];
|
|
152
149
|
|
|
153
150
|
/** Bucket holding the projects whose deepest stack broke their own limit. */
|
|
@@ -156,13 +153,10 @@ export declare const HEADROOM_BUCKET_OVER_LIMIT = "over limit";
|
|
|
156
153
|
/** Bucket holding the projects two or three frames from their own limit. */
|
|
157
154
|
export declare const HEADROOM_BUCKET_TWO_TO_THREE = "2\u20133";
|
|
158
155
|
|
|
159
|
-
/** Bucket for projects
|
|
156
|
+
/** Bucket for projects with no stack. Such a limit gates nothing. */
|
|
160
157
|
export declare const HEADROOM_BUCKET_UNMEASURED = "no stacks";
|
|
161
158
|
|
|
162
|
-
/**
|
|
163
|
-
* Values beside a log line rather than inside it: counts and durations change
|
|
164
|
-
* per occurrence, so they stay queryable fields.
|
|
165
|
-
*/
|
|
159
|
+
/** Values beside the log line, kept as queryable fields. */
|
|
166
160
|
declare interface LogData {
|
|
167
161
|
[key: string]: unknown;
|
|
168
162
|
/** How many things the operation handled. */
|
|
@@ -176,11 +170,10 @@ declare interface LogData {
|
|
|
176
170
|
}
|
|
177
171
|
|
|
178
172
|
/**
|
|
179
|
-
* Transient logger, so each injecting class gets its own instance.
|
|
180
|
-
*
|
|
181
|
-
*
|
|
182
|
-
*
|
|
183
|
-
* Varying values such as counts go in `data`, so messages stay groupable.
|
|
173
|
+
* Transient logger, so each injecting class gets its own instance. Consumers
|
|
174
|
+
* call `setContext(ClassName.name)`. Backed by pino: JSON in production,
|
|
175
|
+
* pretty-printed in development. Messages start with an emoji naming the subject,
|
|
176
|
+
* then a present or past-tense verb. Varying values such as counts go in `data`.
|
|
184
177
|
*/
|
|
185
178
|
declare @Injectable({ scope: Scope.TRANSIENT })
|
|
186
179
|
class LoggerService
|
|
@@ -198,7 +191,7 @@ implements LoggerServiceContract
|
|
|
198
191
|
private static readonly isProduction =
|
|
199
192
|
process.env["NODE_ENV"] === "production";
|
|
200
193
|
|
|
201
|
-
/** Built
|
|
194
|
+
/** Built lazily, so `logToStandardError` can still set the destination. */
|
|
202
195
|
private static rootLogger: pino.Logger | undefined;
|
|
203
196
|
|
|
204
197
|
/** Whether lines go to standard error instead of standard output. */
|
|
@@ -458,7 +451,7 @@ implements LoggerServiceContract
|
|
|
458
451
|
}
|
|
459
452
|
}
|
|
460
453
|
|
|
461
|
-
/**
|
|
454
|
+
/** Public logger shape, for test doubles without the service. */
|
|
462
455
|
declare interface LoggerServiceContract extends ConsoleLogger {
|
|
463
456
|
/** Normalizes unknown errors into a stable message and timestamped log line. */
|
|
464
457
|
buildErrorLogEntry(
|
|
@@ -473,10 +466,10 @@ declare interface LoggerServiceContract extends ConsoleLogger {
|
|
|
473
466
|
info(message: unknown, context?: string, data?: LogData): void;
|
|
474
467
|
}
|
|
475
468
|
|
|
476
|
-
/** Heading
|
|
469
|
+
/** Heading for stacks deeper than allowed, identical in both renderings. */
|
|
477
470
|
export declare const MARKDOWN_DEEP_STACKS_HEADING = "Call stacks over the depth limit";
|
|
478
471
|
|
|
479
|
-
/** How each anchored destination draws
|
|
472
|
+
/** How each anchored destination draws stacks. Keeps `mermaid` from printing trees. */
|
|
480
473
|
export declare const MARKDOWN_DESTINATION_RENDERINGS: readonly [readonly ["markdown", "tree"], readonly ["mermaid", "diagram"]];
|
|
481
474
|
|
|
482
475
|
/** Header of the depth-headroom scoreboard. */
|
|
@@ -497,9 +490,8 @@ export declare const MARKDOWN_WIDE_CALLABLES_HEADING = "Callables over the bread
|
|
|
497
490
|
/**
|
|
498
491
|
* Renders a run, or one project's slice of it, as markdown.
|
|
499
492
|
*
|
|
500
|
-
* Markdown
|
|
501
|
-
*
|
|
502
|
-
* project's own README — and only one of those can read anything else.
|
|
493
|
+
* Markdown serves a terminal, a report file, and a section spliced into a
|
|
494
|
+
* project's README alike. Only markdown reads well in all three.
|
|
503
495
|
*/
|
|
504
496
|
export declare class MarkdownReportService {
|
|
505
497
|
private readonly mermaidReportService;
|
|
@@ -558,19 +550,16 @@ export declare class MarkdownReportService {
|
|
|
558
550
|
renderStacks(args: RenderStacksArguments): string;
|
|
559
551
|
}
|
|
560
552
|
|
|
561
|
-
/** Callables a diagram draws
|
|
553
|
+
/** Callables a diagram draws, since GitHub caps mermaid at 50,000 characters. */
|
|
562
554
|
export declare const MAXIMUM_DIAGRAM_NODES = 300;
|
|
563
555
|
|
|
564
|
-
/** Opens every diagram
|
|
556
|
+
/** Opens every diagram left to right, the way a stack reads. */
|
|
565
557
|
export declare const MERMAID_FLOWCHART_HEADER = "flowchart LR";
|
|
566
558
|
|
|
567
559
|
/** What mermaid would read as syntax inside a node label. */
|
|
568
560
|
export declare const MERMAID_LABEL_ESCAPES: ReadonlyMap<string, string>;
|
|
569
561
|
|
|
570
|
-
/**
|
|
571
|
-
* A diagram under construction. Mutable on purpose, since nodes and edges accumulate across every
|
|
572
|
-
* stack drawn.
|
|
573
|
-
*/
|
|
562
|
+
/** A diagram under construction. Mutable, since stacks add nodes and edges. */
|
|
574
563
|
export declare interface MermaidDiagram {
|
|
575
564
|
readonly edges: Set<string>;
|
|
576
565
|
readonly identifiersByCallable: Map<CallableId, string>;
|
|
@@ -606,7 +595,7 @@ export declare class MermaidReportService {
|
|
|
606
595
|
}): string;
|
|
607
596
|
}
|
|
608
597
|
|
|
609
|
-
/**
|
|
598
|
+
/** Fewest frames a reported stack needs; one frame is a callable. */
|
|
610
599
|
export declare const MINIMUM_STACK_FRAMES = 2;
|
|
611
600
|
|
|
612
601
|
/** Raised when the anchor helper is asked to write a file nothing named. */
|
|
@@ -656,10 +645,9 @@ export declare class OutputMarkdownModule {
|
|
|
656
645
|
/**
|
|
657
646
|
* Splices a generated block into a markdown file, between two anchors.
|
|
658
647
|
*
|
|
659
|
-
* Staleness
|
|
660
|
-
*
|
|
661
|
-
*
|
|
662
|
-
* whether the block drifted or was never written.
|
|
648
|
+
* Staleness compares the extracted block with the regenerated one, byte for byte.
|
|
649
|
+
* A missing file or anchor counts as stale, not as an error, so check mode
|
|
650
|
+
* reports drift and absence alike.
|
|
663
651
|
*/
|
|
664
652
|
export declare class OutputMarkdownService {
|
|
665
653
|
private readonly logger;
|
|
@@ -701,13 +689,13 @@ export declare interface OwnedFindings {
|
|
|
701
689
|
readonly wideCallables: readonly WideCallableFinding[];
|
|
702
690
|
}
|
|
703
691
|
|
|
704
|
-
/**
|
|
692
|
+
/** Message split into emoji and the prose telemetry stores. */
|
|
705
693
|
declare interface ParsedLogMessage {
|
|
706
694
|
emoji: string | undefined;
|
|
707
695
|
text: string;
|
|
708
696
|
}
|
|
709
697
|
|
|
710
|
-
/** One project's row
|
|
698
|
+
/** One project's index row and the scoreboard's bucketing numbers. */
|
|
711
699
|
export declare interface ProjectIndexRow {
|
|
712
700
|
readonly deepest: number;
|
|
713
701
|
readonly headroom: number;
|
|
@@ -725,9 +713,8 @@ export declare class ProjectReportsModule {
|
|
|
725
713
|
/**
|
|
726
714
|
* Scopes a run's findings to the project each one came from.
|
|
727
715
|
*
|
|
728
|
-
* A
|
|
729
|
-
*
|
|
730
|
-
* project the entry point — or the reported callable — belongs to.
|
|
716
|
+
* A project's README section should describe that project, not the workspace it
|
|
717
|
+
* sits in, so everything is keyed on the owning project of the entry point or callable.
|
|
731
718
|
*/
|
|
732
719
|
export declare class ProjectReportsService {
|
|
733
720
|
private readonly pathsService;
|
|
@@ -806,9 +793,7 @@ declare interface RenderDepthReportsArguments {
|
|
|
806
793
|
readonly reports: readonly DepthReport[];
|
|
807
794
|
}
|
|
808
795
|
|
|
809
|
-
/**
|
|
810
|
-
* Arguments for rendering only the findings a gate weighs, not the whole run it measured.
|
|
811
|
-
*/
|
|
796
|
+
/** Arguments for rendering only the findings a gate weighs. */
|
|
812
797
|
export declare interface RenderFindingsArguments extends OwnedFindings {
|
|
813
798
|
readonly previewCount: number;
|
|
814
799
|
}
|
|
@@ -864,13 +849,11 @@ export declare class ReportFindingsModule {
|
|
|
864
849
|
}
|
|
865
850
|
|
|
866
851
|
/**
|
|
867
|
-
* Weighs every finding a run
|
|
868
|
-
* to gate.
|
|
852
|
+
* Weighs every finding a run produces, failing on the ones it gates.
|
|
869
853
|
*
|
|
870
|
-
* Kept
|
|
871
|
-
*
|
|
872
|
-
*
|
|
873
|
-
* the trace rather than weigh its output.
|
|
854
|
+
* Kept apart from `CallidescopeCommand`, as `RunPlanService` is: this service
|
|
855
|
+
* decides on its own what a run does with its findings, through `this.logger`,
|
|
856
|
+
* leaving the command to orchestrate the trace.
|
|
874
857
|
*/
|
|
875
858
|
export declare class ReportFindingsService {
|
|
876
859
|
private readonly logger;
|
|
@@ -938,19 +921,19 @@ export declare class ReportService {
|
|
|
938
921
|
}): string;
|
|
939
922
|
}
|
|
940
923
|
|
|
941
|
-
/**
|
|
924
|
+
/** Names the workspace root when it is a traced project. */
|
|
942
925
|
export declare const ROOT_PROJECT_LABEL = ".";
|
|
943
926
|
|
|
944
|
-
/**
|
|
927
|
+
/** Sentence break: a capital must follow, so `e.g.` does not split. */
|
|
945
928
|
export declare const SENTENCE_END_PATTERN: RegExp;
|
|
946
929
|
|
|
947
|
-
/**
|
|
930
|
+
/** Signature characters a frame prints before parameters collapse. */
|
|
948
931
|
export declare const SIGNATURE_LIMIT = 80;
|
|
949
932
|
|
|
950
|
-
/** How a report draws
|
|
933
|
+
/** How a report draws stacks. Excludes `json`, which is no drawing. */
|
|
951
934
|
export declare type StackRendering = "diagram" | "tree";
|
|
952
935
|
|
|
953
|
-
/**
|
|
936
|
+
/** Documentation characters a printed frame keeps. JSON keeps all of it. */
|
|
954
937
|
export declare const SUMMARY_LIMIT = 120;
|
|
955
938
|
|
|
956
939
|
/** Introduces the documentation line printed under a frame. */
|
|
@@ -982,10 +965,7 @@ export declare interface SyncJsonArguments extends BuildReportArguments {
|
|
|
982
965
|
readonly check: boolean;
|
|
983
966
|
}
|
|
984
967
|
|
|
985
|
-
/**
|
|
986
|
-
* Arguments for syncing the configured markdown destination. The markdown arrives already
|
|
987
|
-
* rendered; this only decides where it lands.
|
|
988
|
-
*/
|
|
968
|
+
/** Arguments for syncing the markdown destination, already rendered. */
|
|
989
969
|
export declare interface SyncMarkdownArguments {
|
|
990
970
|
readonly check: boolean;
|
|
991
971
|
readonly content: string;
|
|
@@ -1010,10 +990,11 @@ export declare interface SyncProjectSectionsArguments {
|
|
|
1010
990
|
export declare const TRUNCATION_SUFFIX = "\u2026";
|
|
1011
991
|
|
|
1012
992
|
/**
|
|
1013
|
-
* Renders what a whole run says about the projects in it
|
|
993
|
+
* Renders what a whole run says about the projects in it.
|
|
1014
994
|
*
|
|
1015
|
-
*
|
|
1016
|
-
* each has before its own limit stops it. Both key on each
|
|
995
|
+
* Two sections: the index and the scoreboard, showing which project holds what
|
|
996
|
+
* and how much room each has before its own limit stops it. Both key on each
|
|
997
|
+
* project's resolved limit.
|
|
1017
998
|
*/
|
|
1018
999
|
export declare class WorkspaceReportService {
|
|
1019
1000
|
constructor();
|
package/package.json
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
"url": "https://github.com/organizzolini/codebase/issues"
|
|
5
5
|
},
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@callidescope/configuration": "0.0.
|
|
8
|
-
"@callidescope/core": "0.0.
|
|
9
|
-
"@callidescope/graph": "0.0.
|
|
7
|
+
"@callidescope/configuration": "0.0.81",
|
|
8
|
+
"@callidescope/core": "0.0.80",
|
|
9
|
+
"@callidescope/graph": "0.0.80",
|
|
10
10
|
"@nestjs/common": "^11.1.21 || ^12.0.1",
|
|
11
11
|
"pino": "^10.3.1",
|
|
12
12
|
"pino-pretty": "^13.1.3",
|
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
"strict": true
|
|
64
64
|
},
|
|
65
65
|
"types": "./dist/src/index.d.ts",
|
|
66
|
-
"version": "0.0.
|
|
66
|
+
"version": "0.0.80"
|
|
67
67
|
}
|