fallow 3.16.0 → 3.18.0
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/README.md +1 -1
- package/capabilities.json +30 -16
- package/issue-registry.json +2 -2
- package/package.json +10 -10
- package/schema.json +4 -4
- package/scripts/lazy-verify.js +16 -1
- package/scripts/lazy-verify.test.js +79 -100
- package/scripts/run-binary.js +30 -10
- package/scripts/run-binary.test.js +22 -1
- package/scripts/sentinel-path.test.js +9 -2
- package/scripts/verify-binary.test.js +50 -4
- package/skills/fallow/SKILL.md +10 -14
- package/skills/fallow/references/cli-reference.md +5 -5
- package/skills/fallow/references/gotchas.md +1 -1
- package/skills/fallow/references/mcp.md +24 -1
- package/skills/fallow/references/patterns.md +2 -2
- package/types/output-contract.d.ts +164 -46
|
@@ -102,7 +102,7 @@ kind: "type-aware-status"
|
|
|
102
102
|
/**
|
|
103
103
|
* Schema projection for the audit envelope's exact version.
|
|
104
104
|
*/
|
|
105
|
-
export type AuditSchemaVersion =
|
|
105
|
+
export type AuditSchemaVersion = 10
|
|
106
106
|
/**
|
|
107
107
|
* Fallow CLI version that produced this envelope. Renders to the JSON wire as
|
|
108
108
|
* a bare string (e.g. `"2.74.0"`).
|
|
@@ -144,7 +144,7 @@ export type SemanticCompletenessRequirement = ("best-effort" | "complete")
|
|
|
144
144
|
/**
|
|
145
145
|
* Stable reason why semantic evidence is partial or unavailable.
|
|
146
146
|
*/
|
|
147
|
-
export type SemanticGapReason = ("no-project" | "ambiguous-project" | "blocking-diagnostics" | "unknown-symbol" | "unknown-entry-point" | "evidence-limit" | "dynamic-behavior" | "virtual-dispatch" | "dynamic-member-access" | "decorated-declaration" | "optional-contract" | "accessor-pair" | "overload-set" | "attached-comment" | "abstract-declaration" | "incomplete-project-coverage" | "framework-contract-provenance" | "capacity" | "unsupported-syntax")
|
|
147
|
+
export type SemanticGapReason = ("no-project" | "ambiguous-project" | "blocking-diagnostics" | "svelte-virtual-module-exports" | "unknown-symbol" | "unknown-entry-point" | "evidence-limit" | "dynamic-behavior" | "virtual-dispatch" | "dynamic-member-access" | "decorated-declaration" | "optional-contract" | "accessor-pair" | "overload-set" | "attached-comment" | "abstract-declaration" | "incomplete-project-coverage" | "framework-contract-provenance" | "capacity" | "unsupported-syntax")
|
|
148
148
|
/**
|
|
149
149
|
* Value or type namespace for one exact declaration or reference.
|
|
150
150
|
*/
|
|
@@ -184,7 +184,7 @@ export type TypeAwareAbstentionReason = ("no-project" | "ambiguous-project" | "b
|
|
|
184
184
|
/**
|
|
185
185
|
* Schema projection for the dead-code envelope's exact version.
|
|
186
186
|
*/
|
|
187
|
-
export type CheckSchemaVersion =
|
|
187
|
+
export type CheckSchemaVersion = 9
|
|
188
188
|
/**
|
|
189
189
|
* A suggested action attached to a finding in the JSON output. Each finding
|
|
190
190
|
* carries an `actions` array; consumers (agents, IDE clients, CI bots) can
|
|
@@ -363,9 +363,9 @@ type: "jsdoc_tag"
|
|
|
363
363
|
*/
|
|
364
364
|
export type DependencyOverrideSource = ("pnpm-workspace.yaml" | "package.json")
|
|
365
365
|
/**
|
|
366
|
-
* Why a dependency-override entry is misconfigured.
|
|
367
|
-
*
|
|
368
|
-
* them statically catches the issue
|
|
366
|
+
* Why a dependency-override entry is misconfigured. The active package
|
|
367
|
+
* manager may fail at install time or silently no-op on these entries;
|
|
368
|
+
* surfacing them statically catches the issue first.
|
|
369
369
|
*/
|
|
370
370
|
export type DependencyOverrideMisconfigReason = ("unparsable-key" | "empty-value")
|
|
371
371
|
/**
|
|
@@ -441,6 +441,12 @@ kind: "skipped-minified-file"
|
|
|
441
441
|
*/
|
|
442
442
|
error: string
|
|
443
443
|
kind: "source-read-failure"
|
|
444
|
+
} | {
|
|
445
|
+
kind: "bun-lockb-override-resolution-skipped"
|
|
446
|
+
} | {
|
|
447
|
+
kind: "bun-lock-override-resolution-skipped"
|
|
448
|
+
} | {
|
|
449
|
+
kind: "bun-resolutions-shadowed-by-overrides"
|
|
444
450
|
})
|
|
445
451
|
/**
|
|
446
452
|
* Discriminant for [`CloneGroupAction::kind`]. Mirrors the action types
|
|
@@ -782,7 +788,7 @@ export type GitLabReviewPositionType = "text"
|
|
|
782
788
|
/**
|
|
783
789
|
* Schema-version discriminator for the review envelope.
|
|
784
790
|
*/
|
|
785
|
-
export type ReviewEnvelopeSchema = ("fallow-review-envelope/v1" | "fallow-review-envelope/v2")
|
|
791
|
+
export type ReviewEnvelopeSchema = ("fallow-review-envelope/v1" | "fallow-review-envelope/v2" | "fallow-review-envelope/v3")
|
|
786
792
|
/**
|
|
787
793
|
* Review-envelope provider tag.
|
|
788
794
|
*/
|
|
@@ -821,7 +827,7 @@ export type CoverageSetupRuntimeTarget = ("node" | "browser")
|
|
|
821
827
|
/**
|
|
822
828
|
* Schema-version discriminator for [`CoverageAnalyzeOutput`].
|
|
823
829
|
*/
|
|
824
|
-
export type CoverageAnalyzeSchemaVersion = "1"
|
|
830
|
+
export type CoverageAnalyzeSchemaVersion = ("1" | "2")
|
|
825
831
|
/**
|
|
826
832
|
* Discovery outcome for a [`LogicalGroup`].
|
|
827
833
|
*/
|
|
@@ -829,7 +835,7 @@ export type LogicalGroupStatus = ("ok" | "empty" | "invalid_path")
|
|
|
829
835
|
/**
|
|
830
836
|
* Exact schema version for [`HealthOutput`].
|
|
831
837
|
*/
|
|
832
|
-
export type HealthSchemaVersion =
|
|
838
|
+
export type HealthSchemaVersion = 11
|
|
833
839
|
/**
|
|
834
840
|
* Resolver mode label for grouped envelopes (dead-code, dupes, health).
|
|
835
841
|
*
|
|
@@ -842,7 +848,7 @@ export type GroupByMode = ("owner" | "directory" | "package" | "section")
|
|
|
842
848
|
* Schema projection for the duplication envelope's CLI and programmatic
|
|
843
849
|
* version lineages.
|
|
844
850
|
*/
|
|
845
|
-
export type DupesSchemaVersion = (
|
|
851
|
+
export type DupesSchemaVersion = (3 | 9)
|
|
846
852
|
/**
|
|
847
853
|
* Wire-version discriminator for [`ImpactReport`]. Independent from the global
|
|
848
854
|
* `SchemaVersion` (the impact report versions on its own cadence) and from the
|
|
@@ -851,7 +857,7 @@ export type DupesSchemaVersion = (2 | 8)
|
|
|
851
857
|
* it, matching the other independently-versioned envelopes (e.g.
|
|
852
858
|
* `CoverageAnalyzeSchemaVersion`).
|
|
853
859
|
*/
|
|
854
|
-
export type ImpactReportSchemaVersion = "1"
|
|
860
|
+
export type ImpactReportSchemaVersion = ("1" | "2")
|
|
855
861
|
/**
|
|
856
862
|
* Why Impact tracking is (or is not) active for a project. `Project` = an
|
|
857
863
|
* explicit per-repo `enable`; `User` = the user-global default with no per-repo
|
|
@@ -867,12 +873,12 @@ export type ImpactTrendDirection = ("improving" | "declining" | "stable")
|
|
|
867
873
|
* versions separately from the per-project `ImpactReportSchemaVersion` and the
|
|
868
874
|
* on-disk `STORE_SCHEMA_VERSION`).
|
|
869
875
|
*/
|
|
870
|
-
export type CrossRepoImpactSchemaVersion = "1"
|
|
876
|
+
export type CrossRepoImpactSchemaVersion = ("1" | "2")
|
|
871
877
|
/**
|
|
872
878
|
* The `fallow security --format json` schema version. Independently versioned
|
|
873
879
|
* from the main contract, mirroring `ImpactReportSchemaVersion`.
|
|
874
880
|
*/
|
|
875
|
-
export type SecuritySchemaVersion = ("1" | "2" | "3" | "4" | "5" | "6" | "7")
|
|
881
|
+
export type SecuritySchemaVersion = ("1" | "2" | "3" | "4" | "5" | "6" | "7" | "8")
|
|
876
882
|
/**
|
|
877
883
|
* Severity level for rules.
|
|
878
884
|
*
|
|
@@ -954,7 +960,7 @@ export type SecurityBlindSpotsSchemaVersion = "1"
|
|
|
954
960
|
/**
|
|
955
961
|
* Schema projection for the combined envelope's exact version.
|
|
956
962
|
*/
|
|
957
|
-
export type CombinedSchemaVersion =
|
|
963
|
+
export type CombinedSchemaVersion = 11
|
|
958
964
|
/**
|
|
959
965
|
* Schema projection for the feature-flags envelope's exact version.
|
|
960
966
|
*/
|
|
@@ -975,7 +981,7 @@ export type FeatureFlagActionType = ("investigate-flag" | "suppress-line")
|
|
|
975
981
|
* Independently-versioned wire-version newtype for the brief envelope.
|
|
976
982
|
* Serializes as the integer `REVIEW_BRIEF_SCHEMA_VERSION`.
|
|
977
983
|
*/
|
|
978
|
-
export type ReviewBriefSchemaVersion =
|
|
984
|
+
export type ReviewBriefSchemaVersion = 7
|
|
979
985
|
/**
|
|
980
986
|
* The exactly-three shippable decision categories (the SOLID-3). No cut category
|
|
981
987
|
* (abstraction / deletion / convention / irreversibility) is representable: this
|
|
@@ -1940,6 +1946,11 @@ ambiguous_project: number
|
|
|
1940
1946
|
* Candidates retained because structural diagnostics block scanning.
|
|
1941
1947
|
*/
|
|
1942
1948
|
blocking_diagnostics: number
|
|
1949
|
+
/**
|
|
1950
|
+
* Candidates retained because the raw TypeScript-Go host cannot expose
|
|
1951
|
+
* named exports from Svelte virtual modules.
|
|
1952
|
+
*/
|
|
1953
|
+
svelte_virtual_module_exports: number
|
|
1943
1954
|
/**
|
|
1944
1955
|
* Candidates whose exact declaration identity could not be resolved.
|
|
1945
1956
|
*/
|
|
@@ -2278,20 +2289,23 @@ empty_catalog_groups?: EmptyCatalogGroupFinding[]
|
|
|
2278
2289
|
*/
|
|
2279
2290
|
unresolved_catalog_references?: UnresolvedCatalogReferenceFinding[]
|
|
2280
2291
|
/**
|
|
2281
|
-
* Entries in pnpm-workspace.yaml's overrides
|
|
2282
|
-
* pnpm.overrides block, or
|
|
2292
|
+
* Entries in pnpm-workspace.yaml's overrides section, package.json's
|
|
2293
|
+
* pnpm.overrides block, npm or Bun's top-level overrides object, or Bun's
|
|
2294
|
+
* top-level resolutions object,
|
|
2283
2295
|
* whose target package is not declared by any workspace package and is
|
|
2284
|
-
* not present in pnpm-lock.yaml
|
|
2285
|
-
* is warn because projects without a
|
|
2286
|
-
* manifest-only checks; the hint field
|
|
2296
|
+
* not present in pnpm-lock.yaml, package-lock.json, npm-shrinkwrap.json,
|
|
2297
|
+
* or bun.lock. Default severity is warn because projects without a
|
|
2298
|
+
* readable lockfile fall back to manifest-only checks; the hint field
|
|
2299
|
+
* flags those conservative cases. When the only lockfile is bun's binary
|
|
2300
|
+
* bun.lockb, resolution cannot be read and the check emits nothing.
|
|
2287
2301
|
* Wrapped in [`UnusedDependencyOverrideFinding`].
|
|
2288
2302
|
*/
|
|
2289
2303
|
unused_dependency_overrides?: UnusedDependencyOverrideFinding[]
|
|
2290
2304
|
/**
|
|
2291
|
-
*
|
|
2292
|
-
* parse
|
|
2293
|
-
* selector, unbalanced parent matcher). The package manager
|
|
2294
|
-
* these at install time. Default severity is error. Wrapped in
|
|
2305
|
+
* Package-manager override or resolution entries whose key or value does
|
|
2306
|
+
* not parse in the declaration source's grammar (empty key, empty value,
|
|
2307
|
+
* malformed selector, unbalanced parent matcher). The package manager may
|
|
2308
|
+
* reject or ignore these at install time. Default severity is error. Wrapped in
|
|
2295
2309
|
* [`MisconfiguredDependencyOverrideFinding`].
|
|
2296
2310
|
*/
|
|
2297
2311
|
misconfigured_dependency_overrides?: MisconfiguredDependencyOverrideFinding[]
|
|
@@ -2449,7 +2463,24 @@ regression?: (RegressionResult | null)
|
|
|
2449
2463
|
*/
|
|
2450
2464
|
_meta?: (Meta | null)
|
|
2451
2465
|
/**
|
|
2452
|
-
*
|
|
2466
|
+
* Non-fatal diagnostics about the project itself, from all three stages
|
|
2467
|
+
* that record them (issue #473):
|
|
2468
|
+
*
|
|
2469
|
+
* - workspace discovery, at config load: `undeclared-workspace`,
|
|
2470
|
+
* `malformed-package-json`, `glob-matched-no-package-json`,
|
|
2471
|
+
* `malformed-tsconfig`, `tsconfig-reference-dir-missing`;
|
|
2472
|
+
* - source discovery, during the file walk: `skipped-large-file`,
|
|
2473
|
+
* `skipped-minified-file`, `source-read-failure`;
|
|
2474
|
+
* - dead-code analysis, from the dependency-catalog and override
|
|
2475
|
+
* detectors: `malformed-pnpm-workspace-yaml`,
|
|
2476
|
+
* `bun-lockb-override-resolution-skipped`.
|
|
2477
|
+
*
|
|
2478
|
+
* Analysis-stage kinds therefore reach only the envelopes whose run
|
|
2479
|
+
* includes a dead-code analyze pass, never a standalone
|
|
2480
|
+
* `fallow dupes --format json`. `path` is project-root-relative with
|
|
2481
|
+
* forward slashes; the array is omitted when empty. The same list is
|
|
2482
|
+
* repeated on each top-level command's envelope so single-command
|
|
2483
|
+
* consumers see it without having to look at a separate top-level field.
|
|
2453
2484
|
*/
|
|
2454
2485
|
workspace_diagnostics?: WorkspaceDiagnostic[]
|
|
2455
2486
|
/**
|
|
@@ -2633,12 +2664,12 @@ empty_catalog_groups: number
|
|
|
2633
2664
|
*/
|
|
2634
2665
|
unresolved_catalog_references: number
|
|
2635
2666
|
/**
|
|
2636
|
-
*
|
|
2637
|
-
* workspace package and not present in the lockfile.
|
|
2667
|
+
* Package-manager overrides whose target package is not declared by any
|
|
2668
|
+
* workspace package and not present in the active readable lockfile.
|
|
2638
2669
|
*/
|
|
2639
2670
|
unused_dependency_overrides: number
|
|
2640
2671
|
/**
|
|
2641
|
-
*
|
|
2672
|
+
* Package-manager overrides whose key or value cannot be parsed.
|
|
2642
2673
|
*/
|
|
2643
2674
|
misconfigured_dependency_overrides: number
|
|
2644
2675
|
/**
|
|
@@ -3881,7 +3912,7 @@ parent_package?: (string | null)
|
|
|
3881
3912
|
*/
|
|
3882
3913
|
version_constraint?: (string | null)
|
|
3883
3914
|
/**
|
|
3884
|
-
* The right-hand side of the entry: the version
|
|
3915
|
+
* The right-hand side of the entry: the version the package manager should force.
|
|
3885
3916
|
*/
|
|
3886
3917
|
version_range: string
|
|
3887
3918
|
source: DependencyOverrideSource
|
|
@@ -9031,6 +9062,18 @@ is_used: boolean
|
|
|
9031
9062
|
* Files that reference this export directly.
|
|
9032
9063
|
*/
|
|
9033
9064
|
direct_references: ExportReference[]
|
|
9065
|
+
/**
|
|
9066
|
+
* Reachable direct references grouped by namespace. This is additive to
|
|
9067
|
+
* `namespace` and `direct_references`, whose winning-lane meaning remains
|
|
9068
|
+
* unchanged for backwards compatibility.
|
|
9069
|
+
*/
|
|
9070
|
+
direct_references_by_namespace?: NamespacedExportReferences[]
|
|
9071
|
+
/**
|
|
9072
|
+
* A star-export collision that makes the traced name ambiguous. When
|
|
9073
|
+
* present, `is_used: false` is an abstention rather than an unused-code
|
|
9074
|
+
* verdict.
|
|
9075
|
+
*/
|
|
9076
|
+
star_export_ambiguity?: (StarExportAmbiguity | null)
|
|
9034
9077
|
/**
|
|
9035
9078
|
* Re-export chains that pass through this export.
|
|
9036
9079
|
*/
|
|
@@ -9057,6 +9100,36 @@ from_file: string
|
|
|
9057
9100
|
*/
|
|
9058
9101
|
kind: string
|
|
9059
9102
|
}
|
|
9103
|
+
/**
|
|
9104
|
+
* Direct references that credit one namespace of an export binding.
|
|
9105
|
+
*/
|
|
9106
|
+
export interface NamespacedExportReferences {
|
|
9107
|
+
namespace: SemanticNamespace
|
|
9108
|
+
/**
|
|
9109
|
+
* Number of reachable references in this namespace.
|
|
9110
|
+
*/
|
|
9111
|
+
reference_count: number
|
|
9112
|
+
/**
|
|
9113
|
+
* Reachable references in deterministic graph order.
|
|
9114
|
+
*/
|
|
9115
|
+
references: ExportReference[]
|
|
9116
|
+
}
|
|
9117
|
+
/**
|
|
9118
|
+
* The `export *` collision that keeps a name from being exported.
|
|
9119
|
+
*/
|
|
9120
|
+
export interface StarExportAmbiguity {
|
|
9121
|
+
/**
|
|
9122
|
+
* Files that each declare a colliding declaration under the traced name
|
|
9123
|
+
* (project-root-relative), sorted. These are the origins to fix: keep one,
|
|
9124
|
+
* rename or explicitly re-export the rest.
|
|
9125
|
+
*/
|
|
9126
|
+
sources: string[]
|
|
9127
|
+
/**
|
|
9128
|
+
* The namespaces the collision occurs in, type before value. A name can
|
|
9129
|
+
* collide in type space, value space, or both.
|
|
9130
|
+
*/
|
|
9131
|
+
namespaces: SemanticNamespace[]
|
|
9132
|
+
}
|
|
9060
9133
|
/**
|
|
9061
9134
|
* A re-export chain showing how an export is propagated.
|
|
9062
9135
|
*/
|
|
@@ -9100,6 +9173,7 @@ member_kind: string
|
|
|
9100
9173
|
* The export that declares this member (the class / enum / store name).
|
|
9101
9174
|
*/
|
|
9102
9175
|
owner_export: string
|
|
9176
|
+
owner_namespace?: SemanticNamespace
|
|
9103
9177
|
/**
|
|
9104
9178
|
* Whether the owning export is considered used.
|
|
9105
9179
|
*/
|
|
@@ -9366,6 +9440,14 @@ callees?: (ChainHop[] | null)
|
|
|
9366
9440
|
* Present only when `--callees` was requested.
|
|
9367
9441
|
*/
|
|
9368
9442
|
unresolved_callees?: (UnresolvedCallee[] | null)
|
|
9443
|
+
/**
|
|
9444
|
+
* Set when the name is unresolvable because two different `export *`
|
|
9445
|
+
* sources of this file supply it. `symbol_found` is `false` in that case
|
|
9446
|
+
* for the same reason it is false for an unknown name (the file exports
|
|
9447
|
+
* nothing under it per ECMA-262 ResolveExport), so this field is the only
|
|
9448
|
+
* thing that separates a barrel mistake from a typo.
|
|
9449
|
+
*/
|
|
9450
|
+
star_export_ambiguity?: (StarExportAmbiguity | null)
|
|
9369
9451
|
/**
|
|
9370
9452
|
* A human-readable summary of the trace outcome.
|
|
9371
9453
|
*/
|
|
@@ -9547,7 +9629,8 @@ comments: number
|
|
|
9547
9629
|
*/
|
|
9548
9630
|
current_fingerprints: number
|
|
9549
9631
|
/**
|
|
9550
|
-
* Distinct fingerprints
|
|
9632
|
+
* Distinct fingerprints with an open Fallow lifecycle, including
|
|
9633
|
+
* provider-resolved discussions not yet closed by a Fallow marker.
|
|
9551
9634
|
*/
|
|
9552
9635
|
existing_fingerprints: number
|
|
9553
9636
|
/**
|
|
@@ -9555,7 +9638,7 @@ existing_fingerprints: number
|
|
|
9555
9638
|
*/
|
|
9556
9639
|
new_fingerprints: number
|
|
9557
9640
|
/**
|
|
9558
|
-
* Fingerprints
|
|
9641
|
+
* Fingerprints with open Fallow lifecycles whose findings no longer exist.
|
|
9559
9642
|
*/
|
|
9560
9643
|
stale_fingerprints: number
|
|
9561
9644
|
/**
|
|
@@ -9575,7 +9658,7 @@ provider_warning?: (string | null)
|
|
|
9575
9658
|
*/
|
|
9576
9659
|
resolution_comments_posted: number
|
|
9577
9660
|
/**
|
|
9578
|
-
*
|
|
9661
|
+
* Provider discussion threads resolved or re-closed.
|
|
9579
9662
|
*/
|
|
9580
9663
|
threads_resolved: number
|
|
9581
9664
|
/**
|
|
@@ -9885,8 +9968,10 @@ workspace_count: number
|
|
|
9885
9968
|
workspaces: WorkspaceInfo[]
|
|
9886
9969
|
/**
|
|
9887
9970
|
* Workspace discovery diagnostics produced while reading workspace
|
|
9888
|
-
* declarations.
|
|
9889
|
-
*
|
|
9971
|
+
* declarations. Paths are project-root-relative and use forward slashes,
|
|
9972
|
+
* like `workspaces[].path` and like the `workspace_diagnostics[]` array on
|
|
9973
|
+
* the analysis envelopes. Present for compatibility with the current wire
|
|
9974
|
+
* contract, even when empty.
|
|
9890
9975
|
*/
|
|
9891
9976
|
workspace_diagnostics: WorkspaceDiagnostic[]
|
|
9892
9977
|
}
|
|
@@ -10061,7 +10146,10 @@ groups?: (HealthGroup[] | null)
|
|
|
10061
10146
|
*/
|
|
10062
10147
|
_meta?: (Meta | null)
|
|
10063
10148
|
/**
|
|
10064
|
-
* Workspace-discovery
|
|
10149
|
+
* Workspace-discovery, source-discovery, and analysis-stage diagnostics
|
|
10150
|
+
* for the run. See `CheckOutput::workspace_diagnostics` for the full
|
|
10151
|
+
* contract: the kinds each stage records, project-root-relative paths,
|
|
10152
|
+
* omitted when empty.
|
|
10065
10153
|
*/
|
|
10066
10154
|
workspace_diagnostics?: WorkspaceDiagnostic[]
|
|
10067
10155
|
/**
|
|
@@ -10210,11 +10298,13 @@ groups?: (DuplicationGroup[] | null)
|
|
|
10210
10298
|
*/
|
|
10211
10299
|
_meta?: (Meta | null)
|
|
10212
10300
|
/**
|
|
10213
|
-
* Workspace-discovery diagnostics
|
|
10301
|
+
* Workspace-discovery and source-discovery diagnostics for the run
|
|
10214
10302
|
* (issue #473). See `CheckOutput::workspace_diagnostics` for the full
|
|
10215
10303
|
* contract; the same list is repeated on each top-level command's
|
|
10216
10304
|
* envelope so single-command consumers see it without having to look at
|
|
10217
|
-
* a separate top-level field.
|
|
10305
|
+
* a separate top-level field. A standalone `fallow dupes` run has no
|
|
10306
|
+
* dead-code analyze pass, so the two analysis-stage kinds never appear
|
|
10307
|
+
* here.
|
|
10218
10308
|
*/
|
|
10219
10309
|
workspace_diagnostics?: WorkspaceDiagnostic[]
|
|
10220
10310
|
/**
|
|
@@ -10563,20 +10653,23 @@ empty_catalog_groups?: EmptyCatalogGroupFinding[]
|
|
|
10563
10653
|
*/
|
|
10564
10654
|
unresolved_catalog_references?: UnresolvedCatalogReferenceFinding[]
|
|
10565
10655
|
/**
|
|
10566
|
-
* Entries in pnpm-workspace.yaml's overrides
|
|
10567
|
-
* pnpm.overrides block, or
|
|
10656
|
+
* Entries in pnpm-workspace.yaml's overrides section, package.json's
|
|
10657
|
+
* pnpm.overrides block, npm or Bun's top-level overrides object, or Bun's
|
|
10658
|
+
* top-level resolutions object,
|
|
10568
10659
|
* whose target package is not declared by any workspace package and is
|
|
10569
|
-
* not present in pnpm-lock.yaml
|
|
10570
|
-
* is warn because projects without a
|
|
10571
|
-
* manifest-only checks; the hint field
|
|
10660
|
+
* not present in pnpm-lock.yaml, package-lock.json, npm-shrinkwrap.json,
|
|
10661
|
+
* or bun.lock. Default severity is warn because projects without a
|
|
10662
|
+
* readable lockfile fall back to manifest-only checks; the hint field
|
|
10663
|
+
* flags those conservative cases. When the only lockfile is bun's binary
|
|
10664
|
+
* bun.lockb, resolution cannot be read and the check emits nothing.
|
|
10572
10665
|
* Wrapped in [`UnusedDependencyOverrideFinding`].
|
|
10573
10666
|
*/
|
|
10574
10667
|
unused_dependency_overrides?: UnusedDependencyOverrideFinding[]
|
|
10575
10668
|
/**
|
|
10576
|
-
*
|
|
10577
|
-
* parse
|
|
10578
|
-
* selector, unbalanced parent matcher). The package manager
|
|
10579
|
-
* these at install time. Default severity is error. Wrapped in
|
|
10669
|
+
* Package-manager override or resolution entries whose key or value does
|
|
10670
|
+
* not parse in the declaration source's grammar (empty key, empty value,
|
|
10671
|
+
* malformed selector, unbalanced parent matcher). The package manager may
|
|
10672
|
+
* reject or ignore these at install time. Default severity is error. Wrapped in
|
|
10580
10673
|
* [`MisconfiguredDependencyOverrideFinding`].
|
|
10581
10674
|
*/
|
|
10582
10675
|
misconfigured_dependency_overrides?: MisconfiguredDependencyOverrideFinding[]
|
|
@@ -10993,6 +11086,10 @@ _meta?: (Meta | null)
|
|
|
10993
11086
|
* distinguish "gate ran and passed" from "gate did not run" (absent).
|
|
10994
11087
|
*/
|
|
10995
11088
|
gate?: (SecurityGate | null)
|
|
11089
|
+
/**
|
|
11090
|
+
* Diagnostics owned by this security analysis run.
|
|
11091
|
+
*/
|
|
11092
|
+
workspace_diagnostics?: WorkspaceDiagnostic[]
|
|
10996
11093
|
/**
|
|
10997
11094
|
* Security candidates. Paths are project-root-relative, forward-slash.
|
|
10998
11095
|
*/
|
|
@@ -11610,6 +11707,10 @@ _meta?: (Meta | null)
|
|
|
11610
11707
|
* Gate verdict, present only when `--gate <mode>` was set.
|
|
11611
11708
|
*/
|
|
11612
11709
|
gate?: (SecurityGate | null)
|
|
11710
|
+
/**
|
|
11711
|
+
* Diagnostics owned by the full security analysis summarized here.
|
|
11712
|
+
*/
|
|
11713
|
+
workspace_diagnostics?: WorkspaceDiagnostic[]
|
|
11613
11714
|
summary: SecuritySummary
|
|
11614
11715
|
}
|
|
11615
11716
|
/**
|
|
@@ -11729,6 +11830,10 @@ export interface SecuritySurvivorsOutput {
|
|
|
11729
11830
|
schema_version: SecuritySurvivorsSchemaVersion
|
|
11730
11831
|
version: ToolVersion
|
|
11731
11832
|
elapsed_ms: ElapsedMs
|
|
11833
|
+
/**
|
|
11834
|
+
* Diagnostics preserved from the candidate security report.
|
|
11835
|
+
*/
|
|
11836
|
+
workspace_diagnostics?: WorkspaceDiagnostic[]
|
|
11732
11837
|
summary: SecuritySurvivorsSummary
|
|
11733
11838
|
/**
|
|
11734
11839
|
* Verifier-retained candidates keyed by finding id.
|
|
@@ -11811,6 +11916,10 @@ export interface SecurityBlindSpotsOutput {
|
|
|
11811
11916
|
schema_version: SecurityBlindSpotsSchemaVersion
|
|
11812
11917
|
version: ToolVersion
|
|
11813
11918
|
elapsed_ms: ElapsedMs
|
|
11919
|
+
/**
|
|
11920
|
+
* Diagnostics owned by the security analysis used for this view.
|
|
11921
|
+
*/
|
|
11922
|
+
workspace_diagnostics?: WorkspaceDiagnostic[]
|
|
11814
11923
|
summary: SecurityBlindSpotsSummary
|
|
11815
11924
|
/**
|
|
11816
11925
|
* Grouped unresolved callee diagnostics, derived from existing samples.
|
|
@@ -11889,6 +11998,15 @@ dupes?: (DupesReportPayload | null)
|
|
|
11889
11998
|
* Health section of the combined run.
|
|
11890
11999
|
*/
|
|
11891
12000
|
health?: (HealthReport | null)
|
|
12001
|
+
/**
|
|
12002
|
+
* Workspace-discovery, source-discovery, and analysis-stage diagnostics
|
|
12003
|
+
* for the run (issue #2366). See `CheckOutput::workspace_diagnostics` for
|
|
12004
|
+
* the full contract: root-relative paths, omitted when empty. The
|
|
12005
|
+
* combined envelope carries them here rather than inside a section, so a
|
|
12006
|
+
* run that skips a section (`--skip check`, `--only health`,
|
|
12007
|
+
* `--only dupes`) still reports every diagnostic its analyses recorded.
|
|
12008
|
+
*/
|
|
12009
|
+
workspace_diagnostics?: WorkspaceDiagnostic[]
|
|
11892
12010
|
/**
|
|
11893
12011
|
* Read-only follow-up commands aggregated across the combined run's
|
|
11894
12012
|
* findings. See `CheckOutput::next_steps` for the contract.
|