@usefragments/core 1.7.0 → 1.8.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/dist/chunk-MZ4SW3TP.js +375 -0
- package/dist/chunk-MZ4SW3TP.js.map +1 -0
- package/dist/{chunk-WNMWKUYG.js → chunk-UUREQ4HD.js} +318 -6
- package/dist/chunk-UUREQ4HD.js.map +1 -0
- package/dist/codes/index.d.ts +1 -1
- package/dist/codes/index.js +1 -2
- package/dist/compiled-types/index.d.ts +1 -1
- package/dist/generate/index.d.ts +1 -1
- package/dist/governance-telemetry.d.ts +316 -0
- package/dist/governance-telemetry.js +11 -0
- package/dist/governance-telemetry.js.map +1 -0
- package/dist/{index-hZAlYCli.d.ts → index-Cxk3SOQP.d.ts} +1005 -1005
- package/dist/index.d.ts +529 -477
- package/dist/index.js +78 -37
- package/dist/index.js.map +1 -1
- package/dist/react-types.d.ts +1 -1
- package/dist/registry.d.ts +146 -146
- package/dist/schemas/index.d.ts +1 -1
- package/dist/schemas/index.js +3 -1
- package/dist/test-utils.d.ts +1 -1
- package/package.json +5 -1
- package/src/component-contract.ts +12 -0
- package/src/contract-parser.ts +2 -0
- package/src/governance-telemetry.test.ts +18 -0
- package/src/governance-telemetry.ts +398 -0
- package/src/index.ts +17 -0
- package/src/rules/index.ts +5 -1
- package/src/rules/tokens-css-vars-must-be-defined.test.ts +66 -1
- package/src/rules/tokens-css-vars-must-be-defined.ts +88 -16
- package/src/schemas/index.ts +4 -0
- package/src/schemas/normalize-finding.test.ts +50 -0
- package/dist/chunk-WNMWKUYG.js.map +0 -1
- package/dist/chunk-ZHS52OT4.js +0 -317
- package/dist/chunk-ZHS52OT4.js.map +0 -1
- package/dist/{governance-D9KtH-vg.d.ts → governance-eEzCyfes.d.ts} +154 -154
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public disclosure contract for `fragments-governance-report:v1`.
|
|
3
|
+
*
|
|
4
|
+
* Brace groups enumerate closed sibling fields without hiding additions behind
|
|
5
|
+
* `*`. The three named placeholder fields are the only intentionally open
|
|
6
|
+
* records: configured ignore reasons, configured categories, and rule-specific
|
|
7
|
+
* evidence facts.
|
|
8
|
+
*/
|
|
9
|
+
type GovernanceTelemetryCarriage = "none" | "derived" | "source-literal" | "structured-source";
|
|
10
|
+
interface GovernanceTelemetryField {
|
|
11
|
+
path: string;
|
|
12
|
+
type: string;
|
|
13
|
+
purpose: string;
|
|
14
|
+
carriage: GovernanceTelemetryCarriage;
|
|
15
|
+
topLevelField: GovernanceTelemetryTopLevelField;
|
|
16
|
+
}
|
|
17
|
+
declare const GOVERNANCE_TELEMETRY_TOP_LEVEL_FIELDS: readonly ["contractHash", "schemaVersion", "generatedAt", "root", "hook", "git", "summary", "groups", "suppressions", "bypassEvents", "hookEvents", "packageVocabularies", "adoption", "health", "topology", "source", "gateRung", "diffOnly", "failOnWarnings"];
|
|
18
|
+
type GovernanceTelemetryTopLevelField = (typeof GOVERNANCE_TELEMETRY_TOP_LEVEL_FIELDS)[number];
|
|
19
|
+
declare const GOVERNANCE_TELEMETRY_FIELDS: readonly [{
|
|
20
|
+
readonly path: "schemaVersion";
|
|
21
|
+
readonly type: "\"fragments-governance-report:v1\"";
|
|
22
|
+
readonly purpose: "Pins the accepted wire shape and compatibility policy.";
|
|
23
|
+
readonly carriage: "none";
|
|
24
|
+
readonly topLevelField: "schemaVersion";
|
|
25
|
+
}, {
|
|
26
|
+
readonly path: "generatedAt";
|
|
27
|
+
readonly type: "ISO-8601 string";
|
|
28
|
+
readonly purpose: "Records when the CLI produced the report.";
|
|
29
|
+
readonly carriage: "none";
|
|
30
|
+
readonly topLevelField: "generatedAt";
|
|
31
|
+
}, {
|
|
32
|
+
readonly path: "root.{workspaceRoot,packageRoot,packageName}";
|
|
33
|
+
readonly type: "string fields";
|
|
34
|
+
readonly purpose: "Identifies the scanned workspace and package roots.";
|
|
35
|
+
readonly carriage: "none";
|
|
36
|
+
readonly topLevelField: "root";
|
|
37
|
+
}, {
|
|
38
|
+
readonly path: "hook.{installedAt,mode,agents[]}";
|
|
39
|
+
readonly type: "installation metadata";
|
|
40
|
+
readonly purpose: "Describes the local hook installation that produced evidence.";
|
|
41
|
+
readonly carriage: "none";
|
|
42
|
+
readonly topLevelField: "hook";
|
|
43
|
+
}, {
|
|
44
|
+
readonly path: "git.{baseRef,headSha,branch,repoFullName,pullRequestNumber}";
|
|
45
|
+
readonly type: "Git and provider identifiers";
|
|
46
|
+
readonly purpose: "Attaches results to the correct repository, commit and pull request.";
|
|
47
|
+
readonly carriage: "none";
|
|
48
|
+
readonly topLevelField: "git";
|
|
49
|
+
}, {
|
|
50
|
+
readonly path: "summary.{filesScanned,rulesActive,presetsLoaded[],groupCount,occurrenceCount,ignoredCount,classnamesScanned,classnamesDynamic,classnamesResolved,totalFindings,errorCount,warnCount,infoCount,passed}";
|
|
51
|
+
readonly type: "counts, verdict and active preset names";
|
|
52
|
+
readonly purpose: "Reports scan volume and result totals without finding rows.";
|
|
53
|
+
readonly carriage: "derived";
|
|
54
|
+
readonly topLevelField: "summary";
|
|
55
|
+
}, {
|
|
56
|
+
readonly path: "summary.ignoredByReason.{reason}";
|
|
57
|
+
readonly type: "configured reason name → count";
|
|
58
|
+
readonly purpose: "Counts ignored findings by the reason configured by the repository.";
|
|
59
|
+
readonly carriage: "derived";
|
|
60
|
+
readonly topLevelField: "summary";
|
|
61
|
+
}, {
|
|
62
|
+
readonly path: "summary.countsBySeverity.{error,warn,info}";
|
|
63
|
+
readonly type: "severity counts";
|
|
64
|
+
readonly purpose: "Counts findings in each fixed severity bucket.";
|
|
65
|
+
readonly carriage: "derived";
|
|
66
|
+
readonly topLevelField: "summary";
|
|
67
|
+
}, {
|
|
68
|
+
readonly path: "summary.countsByCategory.{category}";
|
|
69
|
+
readonly type: "configured category name → count";
|
|
70
|
+
readonly purpose: "Counts findings by the rule categories present in the scan.";
|
|
71
|
+
readonly carriage: "derived";
|
|
72
|
+
readonly topLevelField: "summary";
|
|
73
|
+
}, {
|
|
74
|
+
readonly path: "summary.integrity.{status,declared,fatalForCi,blockingCapable,summary}";
|
|
75
|
+
readonly type: "governance-integrity verdict";
|
|
76
|
+
readonly purpose: "Explains whether the resolved policy is capable of enforcement.";
|
|
77
|
+
readonly carriage: "derived";
|
|
78
|
+
readonly topLevelField: "summary";
|
|
79
|
+
}, {
|
|
80
|
+
readonly path: "summary.integrity.families[].{id,armed,reason,remediation}";
|
|
81
|
+
readonly type: "integrity-family status";
|
|
82
|
+
readonly purpose: "Explains the enforcement readiness of each governance family.";
|
|
83
|
+
readonly carriage: "derived";
|
|
84
|
+
readonly topLevelField: "summary";
|
|
85
|
+
}, {
|
|
86
|
+
readonly path: "summary.integrity.families[].rules[]";
|
|
87
|
+
readonly type: "rule identifiers";
|
|
88
|
+
readonly purpose: "Names the active rules contributing to an integrity family.";
|
|
89
|
+
readonly carriage: "derived";
|
|
90
|
+
readonly topLevelField: "summary";
|
|
91
|
+
}, {
|
|
92
|
+
readonly path: "summary.integrity.armed[]";
|
|
93
|
+
readonly type: "integrity-family identifiers";
|
|
94
|
+
readonly purpose: "Names the governance families capable of enforcement.";
|
|
95
|
+
readonly carriage: "derived";
|
|
96
|
+
readonly topLevelField: "summary";
|
|
97
|
+
}, {
|
|
98
|
+
readonly path: "summary.integrity.remediations[]";
|
|
99
|
+
readonly type: "remediation messages";
|
|
100
|
+
readonly purpose: "Explains how to make an inert or degraded policy effective.";
|
|
101
|
+
readonly carriage: "derived";
|
|
102
|
+
readonly topLevelField: "summary";
|
|
103
|
+
}, {
|
|
104
|
+
readonly path: "summary.integrity.configDiagnostics[].{code,kind,severity,path,message}";
|
|
105
|
+
readonly type: "configuration diagnostics";
|
|
106
|
+
readonly purpose: "Reports inert or conflicting authored governance configuration.";
|
|
107
|
+
readonly carriage: "structured-source";
|
|
108
|
+
readonly topLevelField: "summary";
|
|
109
|
+
}, {
|
|
110
|
+
readonly path: "summary.integrity.roster.{configured,active,inert}";
|
|
111
|
+
readonly type: "rule roster counts";
|
|
112
|
+
readonly purpose: "Counts configured, active and inert governance rules.";
|
|
113
|
+
readonly carriage: "derived";
|
|
114
|
+
readonly topLevelField: "summary";
|
|
115
|
+
}, {
|
|
116
|
+
readonly path: "summary.countsByBaselineState.{baselined,new}";
|
|
117
|
+
readonly type: "baseline-state counts";
|
|
118
|
+
readonly purpose: "Separates accepted baseline debt from newly introduced findings.";
|
|
119
|
+
readonly carriage: "derived";
|
|
120
|
+
readonly topLevelField: "summary";
|
|
121
|
+
}, {
|
|
122
|
+
readonly path: "groups[].{groupId,ruleId,category,severity,packageRoot,filePath}";
|
|
123
|
+
readonly type: "finding group metadata";
|
|
124
|
+
readonly purpose: "Identifies each grouped rule failure and repository-relative path.";
|
|
125
|
+
readonly carriage: "none";
|
|
126
|
+
readonly topLevelField: "groups";
|
|
127
|
+
}, {
|
|
128
|
+
readonly path: "groups[].message";
|
|
129
|
+
readonly type: "string";
|
|
130
|
+
readonly purpose: "Explains the failure and may quote the offending source literal.";
|
|
131
|
+
readonly carriage: "source-literal";
|
|
132
|
+
readonly topLevelField: "groups";
|
|
133
|
+
}, {
|
|
134
|
+
readonly path: "groups[].normalizedOffense.kind";
|
|
135
|
+
readonly type: "normalized-offense category";
|
|
136
|
+
readonly purpose: "Names the kind of source offense represented by the group.";
|
|
137
|
+
readonly carriage: "derived";
|
|
138
|
+
readonly topLevelField: "groups";
|
|
139
|
+
}, {
|
|
140
|
+
readonly path: "groups[].normalizedOffense.raw";
|
|
141
|
+
readonly type: "normalized source offense";
|
|
142
|
+
readonly purpose: "Carries the exact offending source substring.";
|
|
143
|
+
readonly carriage: "source-literal";
|
|
144
|
+
readonly topLevelField: "groups";
|
|
145
|
+
}, {
|
|
146
|
+
readonly path: "groups[].normalizedOffense.canonical";
|
|
147
|
+
readonly type: "normalized source offense";
|
|
148
|
+
readonly purpose: "Carries the derived canonical representation of the offense.";
|
|
149
|
+
readonly carriage: "derived";
|
|
150
|
+
readonly topLevelField: "groups";
|
|
151
|
+
}, {
|
|
152
|
+
readonly path: "groups[].occurrences[].occurrenceId";
|
|
153
|
+
readonly type: "stable occurrence identifier";
|
|
154
|
+
readonly purpose: "Identifies one occurrence within a finding group.";
|
|
155
|
+
readonly carriage: "derived";
|
|
156
|
+
readonly topLevelField: "groups";
|
|
157
|
+
}, {
|
|
158
|
+
readonly path: "groups[].occurrences[].location.{file,line,column,endLine,endColumn}";
|
|
159
|
+
readonly type: "repository-relative location";
|
|
160
|
+
readonly purpose: "Places each occurrence at its exact file/line/column range.";
|
|
161
|
+
readonly carriage: "none";
|
|
162
|
+
readonly topLevelField: "groups";
|
|
163
|
+
}, {
|
|
164
|
+
readonly path: "groups[].occurrences[].area.{areaId,areaName,criticality,owners[],matchedGlob}";
|
|
165
|
+
readonly type: "area identifiers, owners and criticality";
|
|
166
|
+
readonly purpose: "Carries the configured product-area classification for the file.";
|
|
167
|
+
readonly carriage: "structured-source";
|
|
168
|
+
readonly topLevelField: "groups";
|
|
169
|
+
}, {
|
|
170
|
+
readonly path: "groups[].occurrences[].evidence[].factId";
|
|
171
|
+
readonly type: "fact identifier";
|
|
172
|
+
readonly purpose: "Links the occurrence to the extracted fact supporting it.";
|
|
173
|
+
readonly carriage: "derived";
|
|
174
|
+
readonly topLevelField: "groups";
|
|
175
|
+
}, {
|
|
176
|
+
readonly path: "groups[].occurrences[].evidence[].fact.kind";
|
|
177
|
+
readonly type: "fact discriminator";
|
|
178
|
+
readonly purpose: "Names the extracted rule-fact shape.";
|
|
179
|
+
readonly carriage: "none";
|
|
180
|
+
readonly topLevelField: "groups";
|
|
181
|
+
}, {
|
|
182
|
+
readonly path: "groups[].occurrences[].evidence[].fact.location.{file,line,column,endLine,endColumn}";
|
|
183
|
+
readonly type: "repository-relative location";
|
|
184
|
+
readonly purpose: "Locates the source-backed fact used as evidence.";
|
|
185
|
+
readonly carriage: "none";
|
|
186
|
+
readonly topLevelField: "groups";
|
|
187
|
+
}, {
|
|
188
|
+
readonly path: "groups[].occurrences[].evidence[].fact.{ruleSpecificField}";
|
|
189
|
+
readonly type: "extensible rule-specific fact fields";
|
|
190
|
+
readonly purpose: "Carries rule-specific parsed facts; fields may include selectors, properties and source values.";
|
|
191
|
+
readonly carriage: "structured-source";
|
|
192
|
+
readonly topLevelField: "groups";
|
|
193
|
+
}, {
|
|
194
|
+
readonly path: "groups[].suggestedReplacement.{kind,from,to,certainty,reason}";
|
|
195
|
+
readonly type: "deterministic replacement";
|
|
196
|
+
readonly purpose: "Carries the deterministic replacement the CLI can apply.";
|
|
197
|
+
readonly carriage: "derived";
|
|
198
|
+
readonly topLevelField: "groups";
|
|
199
|
+
}, {
|
|
200
|
+
readonly path: "groups[].suggestedReplacement.edit.{file,start,end,replacement}";
|
|
201
|
+
readonly type: "deterministic edit range";
|
|
202
|
+
readonly purpose: "Locates and describes the exact edit the CLI can apply.";
|
|
203
|
+
readonly carriage: "derived";
|
|
204
|
+
readonly topLevelField: "groups";
|
|
205
|
+
}, {
|
|
206
|
+
readonly path: "suppressions[].{id,kind,file,line,column,code,expiresOn,attachedLine,attachedTo,directive}";
|
|
207
|
+
readonly type: "directive identity, location and attachment metadata";
|
|
208
|
+
readonly purpose: "Reports matched in-source governance directives.";
|
|
209
|
+
readonly carriage: "none";
|
|
210
|
+
readonly topLevelField: "suppressions";
|
|
211
|
+
}, {
|
|
212
|
+
readonly path: "suppressions[].reason";
|
|
213
|
+
readonly type: "authored directive reason";
|
|
214
|
+
readonly purpose: "Carries the repository-authored reason for the suppression.";
|
|
215
|
+
readonly carriage: "source-literal";
|
|
216
|
+
readonly topLevelField: "suppressions";
|
|
217
|
+
}, {
|
|
218
|
+
readonly path: "bypassEvents[].{code,file,line}";
|
|
219
|
+
readonly type: "rule code and source location";
|
|
220
|
+
readonly purpose: "Records directives that actually bypassed a finding in this run.";
|
|
221
|
+
readonly carriage: "none";
|
|
222
|
+
readonly topLevelField: "bypassEvents";
|
|
223
|
+
}, {
|
|
224
|
+
readonly path: "bypassEvents[].reason";
|
|
225
|
+
readonly type: "authored directive reason";
|
|
226
|
+
readonly purpose: "Carries the repository-authored reason for the bypass.";
|
|
227
|
+
readonly carriage: "source-literal";
|
|
228
|
+
readonly topLevelField: "bypassEvents";
|
|
229
|
+
}, {
|
|
230
|
+
readonly path: "bypassEvents[].area.{areaId,areaName,criticality,matchedGlob}";
|
|
231
|
+
readonly type: "configured product-area metadata";
|
|
232
|
+
readonly purpose: "Classifies the bypass by its configured product area.";
|
|
233
|
+
readonly carriage: "structured-source";
|
|
234
|
+
readonly topLevelField: "bypassEvents";
|
|
235
|
+
}, {
|
|
236
|
+
readonly path: "hookEvents[].{eventId,kind,ruleId,code,file,mode,agent,timestamp,reasonClass}";
|
|
237
|
+
readonly type: "bounded hook decision receipts";
|
|
238
|
+
readonly purpose: "Reports deny, downgrade, suppression and fail-open decisions.";
|
|
239
|
+
readonly carriage: "none";
|
|
240
|
+
readonly topLevelField: "hookEvents";
|
|
241
|
+
}, {
|
|
242
|
+
readonly path: "packageVocabularies[].{source,packageName,status,manifestPath,digest,commit}";
|
|
243
|
+
readonly type: "compiled canonical-package vocabulary records";
|
|
244
|
+
readonly purpose: "Publishes package vocabulary proposed by authoritative local discovery.";
|
|
245
|
+
readonly carriage: "structured-source";
|
|
246
|
+
readonly topLevelField: "packageVocabularies";
|
|
247
|
+
}, {
|
|
248
|
+
readonly path: "packageVocabularies[].roots[].{name,members[]}";
|
|
249
|
+
readonly type: "compiled component roots and members";
|
|
250
|
+
readonly purpose: "Publishes the canonical component vocabulary discovered from the package.";
|
|
251
|
+
readonly carriage: "structured-source";
|
|
252
|
+
readonly topLevelField: "packageVocabularies";
|
|
253
|
+
}, {
|
|
254
|
+
readonly path: "adoption.{metricVersion,adoptedUsages,ownableUsages}";
|
|
255
|
+
readonly type: "versioned component-identity usage counts";
|
|
256
|
+
readonly purpose: "Records the exact numerator and denominator used for adoption history.";
|
|
257
|
+
readonly carriage: "derived";
|
|
258
|
+
readonly topLevelField: "adoption";
|
|
259
|
+
}, {
|
|
260
|
+
readonly path: "adoption.shadows[].{componentKey,displayName,canonicalTarget,usageCount}";
|
|
261
|
+
readonly type: "bounded component-identity summaries";
|
|
262
|
+
readonly purpose: "Explains which shadow components are moving the adoption curve without uploading source.";
|
|
263
|
+
readonly carriage: "derived";
|
|
264
|
+
readonly topLevelField: "adoption";
|
|
265
|
+
}, {
|
|
266
|
+
readonly path: "health.{metricVersion,checkedSites,violatingSites}";
|
|
267
|
+
readonly type: "versioned contract-site counts";
|
|
268
|
+
readonly purpose: "Records how many sites contract-scope rules inspected and how many distinct sites carried a finding.";
|
|
269
|
+
readonly carriage: "derived";
|
|
270
|
+
readonly topLevelField: "health";
|
|
271
|
+
}, {
|
|
272
|
+
readonly path: "health.populations.{componentUsages,tokenReferences}";
|
|
273
|
+
readonly type: "per-population site counts";
|
|
274
|
+
readonly purpose: "Names the measured populations behind the checked-site denominator.";
|
|
275
|
+
readonly carriage: "derived";
|
|
276
|
+
readonly topLevelField: "health";
|
|
277
|
+
}, {
|
|
278
|
+
readonly path: "topology.areaImpact[].{areaId,areaName,beforeOpen,afterOpen,introduced,persistent,resolved}";
|
|
279
|
+
readonly type: "area identifiers and before/after counts";
|
|
280
|
+
readonly purpose: "Reports bounded product-area impact totals.";
|
|
281
|
+
readonly carriage: "derived";
|
|
282
|
+
readonly topLevelField: "topology";
|
|
283
|
+
}, {
|
|
284
|
+
readonly path: "contractHash";
|
|
285
|
+
readonly type: "64-character FCID";
|
|
286
|
+
readonly purpose: "Pins the exact compiled contract enforced by the run.";
|
|
287
|
+
readonly carriage: "derived";
|
|
288
|
+
readonly topLevelField: "contractHash";
|
|
289
|
+
}, {
|
|
290
|
+
readonly path: "source";
|
|
291
|
+
readonly type: "\"ci\"";
|
|
292
|
+
readonly purpose: "Identifies the report producer.";
|
|
293
|
+
readonly carriage: "none";
|
|
294
|
+
readonly topLevelField: "source";
|
|
295
|
+
}, {
|
|
296
|
+
readonly path: "gateRung";
|
|
297
|
+
readonly type: "\"ci\" | \"cli\"";
|
|
298
|
+
readonly purpose: "Identifies the enforcement rung that produced the verdict.";
|
|
299
|
+
readonly carriage: "none";
|
|
300
|
+
readonly topLevelField: "gateRung";
|
|
301
|
+
}, {
|
|
302
|
+
readonly path: "diffOnly";
|
|
303
|
+
readonly type: "boolean";
|
|
304
|
+
readonly purpose: "States whether the scan was restricted to changed files.";
|
|
305
|
+
readonly carriage: "none";
|
|
306
|
+
readonly topLevelField: "diffOnly";
|
|
307
|
+
}, {
|
|
308
|
+
readonly path: "failOnWarnings";
|
|
309
|
+
readonly type: "boolean";
|
|
310
|
+
readonly purpose: "States whether warnings were gating for this run.";
|
|
311
|
+
readonly carriage: "none";
|
|
312
|
+
readonly topLevelField: "failOnWarnings";
|
|
313
|
+
}];
|
|
314
|
+
declare const GOVERNANCE_TELEMETRY_SOURCE_DISCLOSURE = "The report carries source text in named fields: offending literals, messages that may quote them, structured rule facts, authored suppression and bypass reasons, and compiled package vocabulary. It never uploads whole files, whole source lines or function bodies.";
|
|
315
|
+
|
|
316
|
+
export { GOVERNANCE_TELEMETRY_FIELDS, GOVERNANCE_TELEMETRY_SOURCE_DISCLOSURE, GOVERNANCE_TELEMETRY_TOP_LEVEL_FIELDS, type GovernanceTelemetryCarriage, type GovernanceTelemetryField, type GovernanceTelemetryTopLevelField };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
GOVERNANCE_TELEMETRY_FIELDS,
|
|
3
|
+
GOVERNANCE_TELEMETRY_SOURCE_DISCLOSURE,
|
|
4
|
+
GOVERNANCE_TELEMETRY_TOP_LEVEL_FIELDS
|
|
5
|
+
} from "./chunk-MZ4SW3TP.js";
|
|
6
|
+
export {
|
|
7
|
+
GOVERNANCE_TELEMETRY_FIELDS,
|
|
8
|
+
GOVERNANCE_TELEMETRY_SOURCE_DISCLOSURE,
|
|
9
|
+
GOVERNANCE_TELEMETRY_TOP_LEVEL_FIELDS
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=governance-telemetry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|