@microsoft/sarif-multitool-darwin 5.0.0 → 5.0.2
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/Sarif.Converters.pdb +0 -0
- package/Sarif.Driver.pdb +0 -0
- package/Sarif.Multitool +0 -0
- package/Sarif.Multitool.Library.pdb +0 -0
- package/Sarif.Multitool.Library.xml +261 -14
- package/Sarif.Multitool.pdb +0 -0
- package/Sarif.WorkItems.pdb +0 -0
- package/Sarif.pdb +0 -0
- package/Sarif.xml +8 -0
- package/WorkItems.pdb +0 -0
- package/package.json +1 -1
package/Sarif.Converters.pdb
CHANGED
|
Binary file
|
package/Sarif.Driver.pdb
CHANGED
|
Binary file
|
package/Sarif.Multitool
CHANGED
|
Binary file
|
|
Binary file
|
|
@@ -4,6 +4,39 @@
|
|
|
4
4
|
<name>Sarif.Multitool.Library</name>
|
|
5
5
|
</assembly>
|
|
6
6
|
<members>
|
|
7
|
+
<member name="T:Microsoft.CodeAnalysis.Sarif.Multitool.AddInvocationCommand">
|
|
8
|
+
<summary>
|
|
9
|
+
Implements <c>multitool add-invocation</c>: appends a fully-formed SARIF invocation
|
|
10
|
+
JSON to <c><output>.wip.jsonl</c>.
|
|
11
|
+
</summary>
|
|
12
|
+
<remarks>
|
|
13
|
+
<para>The verb performs no schema validation on the invocation payload beyond "must be
|
|
14
|
+
a JSON object" — SARIF §3.20 makes every field on <c>Invocation</c> optional, and AI
|
|
15
|
+
producers vary widely in which fields they have meaningful values for (a daemon may
|
|
16
|
+
know its <c>startTimeUtc</c> but not its <c>exitCode</c>; a one-shot scanner may know
|
|
17
|
+
both). Full-log validation belongs in <c>emit-finalize --validate</c>, not at receipt.</para>
|
|
18
|
+
<para>Invocations are replayed in event order to <c>run.invocations[]</c>. Subsequent
|
|
19
|
+
<c>execution-notification</c> and <c>configuration-notification</c> events attach to
|
|
20
|
+
the most recent invocation, so emitting a fresh invocation event MAY be used to start
|
|
21
|
+
a new notification group within the same scan.</para>
|
|
22
|
+
</remarks>
|
|
23
|
+
</member>
|
|
24
|
+
<member name="T:Microsoft.CodeAnalysis.Sarif.Multitool.AddInvocationOptions">
|
|
25
|
+
<summary>
|
|
26
|
+
Options for <c>add-invocation</c>, which appends a fully-formed SARIF <c>invocation</c>
|
|
27
|
+
object to a staged event log (<c><output>.wip.jsonl</c>) created by
|
|
28
|
+
<c>emit-init-run</c>.
|
|
29
|
+
</summary>
|
|
30
|
+
<remarks>
|
|
31
|
+
The invocation is supplied as a JSON document (file via <c>--input</c> or piped on
|
|
32
|
+
stdin). <see cref="!:SarifEventReplayer"/> strips any <c>invocations</c> array carried on
|
|
33
|
+
the run header — invocations must arrive as their own events — so this verb is the
|
|
34
|
+
only path a producer has to populate <c>run.invocations[]</c>. Subsequent
|
|
35
|
+
<c>add-notification</c> events attach to the most recent invocation in event order,
|
|
36
|
+
so producers MAY append additional invocations to start a new notification group
|
|
37
|
+
(e.g., to model a re-run within the same scan).
|
|
38
|
+
</remarks>
|
|
39
|
+
</member>
|
|
7
40
|
<member name="T:Microsoft.CodeAnalysis.Sarif.Multitool.AddNotificationCommand">
|
|
8
41
|
<summary>
|
|
9
42
|
Implements <c>multitool add-notification</c>: appends a fully-formed SARIF notification
|
|
@@ -138,7 +171,7 @@
|
|
|
138
171
|
<para>Inside an ADO pipeline three states are possible:</para>
|
|
139
172
|
<list type="bullet">
|
|
140
173
|
<item><see cref="F:Microsoft.CodeAnalysis.Sarif.Multitool.AdoPipelineContext.DetectionState.Complete"/> — every required logical variable is present
|
|
141
|
-
and well-formed; <see cref="
|
|
174
|
+
and well-formed; <see cref="!:ApplyTo(Run)"/> writes <c>automationDetails.id</c> plus the
|
|
142
175
|
four <c>azuredevops/pipeline/build/*</c> property keys that ADO ingestion validates.</item>
|
|
143
176
|
<item><see cref="F:Microsoft.CodeAnalysis.Sarif.Multitool.AdoPipelineContext.DetectionState.None"/> — no required variables are populated; nothing is
|
|
144
177
|
stamped (e.g. a manual local invocation that happens to have <c>TF_BUILD</c> set without
|
|
@@ -150,6 +183,18 @@
|
|
|
150
183
|
</list>
|
|
151
184
|
</remarks>
|
|
152
185
|
</member>
|
|
186
|
+
<member name="P:Microsoft.CodeAnalysis.Sarif.Multitool.AdoPipelineContext.RepositoryUri">
|
|
187
|
+
<summary>
|
|
188
|
+
Absolute URL identifier of the source repository. Lifted from
|
|
189
|
+
<c>BUILD_REPOSITORY_URI</c> when present and well-formed; otherwise null.
|
|
190
|
+
</summary>
|
|
191
|
+
</member>
|
|
192
|
+
<member name="P:Microsoft.CodeAnalysis.Sarif.Multitool.AdoPipelineContext.RevisionId">
|
|
193
|
+
<summary>
|
|
194
|
+
The commit identifier (typically a 40-character SHA-1) the pipeline is building.
|
|
195
|
+
Lifted from <c>BUILD_SOURCEVERSION</c> when present and well-formed; otherwise null.
|
|
196
|
+
</summary>
|
|
197
|
+
</member>
|
|
153
198
|
<member name="M:Microsoft.CodeAnalysis.Sarif.Multitool.AdoPipelineContext.TryDetect(Microsoft.CodeAnalysis.Sarif.Multitool.IEnvironmentVariableGetter,Microsoft.CodeAnalysis.Sarif.Multitool.AdoPipelineContext@,System.String@)">
|
|
154
199
|
<summary>
|
|
155
200
|
Reads ADO predefined environment variables via <paramref name="environment"/> and
|
|
@@ -159,11 +204,59 @@
|
|
|
159
204
|
<param name="context">Populated context when state is <see cref="F:Microsoft.CodeAnalysis.Sarif.Multitool.AdoPipelineContext.DetectionState.Complete"/>; otherwise <c>null</c>.</param>
|
|
160
205
|
<param name="errorMessage">Human-readable description of present/missing/malformed variables when state is <see cref="F:Microsoft.CodeAnalysis.Sarif.Multitool.AdoPipelineContext.DetectionState.Partial"/>; otherwise <c>null</c>.</param>
|
|
161
206
|
</member>
|
|
162
|
-
<member name="M:Microsoft.CodeAnalysis.Sarif.Multitool.AdoPipelineContext.
|
|
207
|
+
<member name="M:Microsoft.CodeAnalysis.Sarif.Multitool.AdoPipelineContext.TryApplyTo(Microsoft.CodeAnalysis.Sarif.Run,System.String@)">
|
|
163
208
|
<summary>
|
|
164
|
-
Stamps the detected pipeline identity onto <paramref name="run"
|
|
165
|
-
|
|
166
|
-
<c>
|
|
209
|
+
Stamps the detected pipeline identity onto <paramref name="run"/>, returning
|
|
210
|
+
<c>true</c> when no conflict was detected. When the run already carries a
|
|
211
|
+
non-conflicting <c>automationDetails.id</c> or any of the four
|
|
212
|
+
<c>azuredevops/pipeline/build/*</c> property values, the existing values are
|
|
213
|
+
preserved. When the run carries a conflicting value, this method returns
|
|
214
|
+
<c>false</c> with a diagnostic on <paramref name="conflictError"/> and leaves
|
|
215
|
+
the run unchanged.
|
|
216
|
+
</summary>
|
|
217
|
+
<remarks>
|
|
218
|
+
<para>The "stamp only when absent, fail on conflict" contract is required because
|
|
219
|
+
callers (notably <c>emit-init-run</c>'s JSON-payload contract) may supply these
|
|
220
|
+
fields directly. An unconditional overwrite would silently clobber a producer's
|
|
221
|
+
declared identity; a conflict is a misconfiguration signal that we want to surface
|
|
222
|
+
at the verb rather than ship in the run.</para>
|
|
223
|
+
<para>Producer-supplied <see cref="P:Microsoft.CodeAnalysis.Sarif.RunAutomationDetails.Guid"/> and
|
|
224
|
+
<see cref="P:Microsoft.CodeAnalysis.Sarif.RunAutomationDetails.CorrelationGuid"/> fields are never touched —
|
|
225
|
+
they name a different scope (run / run-equivalence-class identity) than the
|
|
226
|
+
pipeline identity stamped here.</para>
|
|
227
|
+
</remarks>
|
|
228
|
+
</member>
|
|
229
|
+
<member name="M:Microsoft.CodeAnalysis.Sarif.Multitool.AdoPipelineContext.BuildCanonicalAutomationId">
|
|
230
|
+
<summary>
|
|
231
|
+
Computes the canonical <c>automationDetails.id</c>
|
|
232
|
+
(<c>azuredevops/pipeline/build/<org>/<projectId>/<buildDefId>/<phaseId>/<branch>/<buildId></c>)
|
|
233
|
+
for this pipeline context. Exposed so JSON-direct callers can stamp the id without
|
|
234
|
+
constructing a typed <see cref="T:Microsoft.CodeAnalysis.Sarif.Run"/>.
|
|
235
|
+
</summary>
|
|
236
|
+
</member>
|
|
237
|
+
<member name="M:Microsoft.CodeAnalysis.Sarif.Multitool.AdoPipelineContext.GetPipelinePropertyValues">
|
|
238
|
+
<summary>
|
|
239
|
+
Returns the four <c>azuredevops/pipeline/build/*</c> property name/value pairs
|
|
240
|
+
validated by <c>GHAzDO1019</c>. Exposed so JSON-direct callers can stamp them
|
|
241
|
+
without constructing a typed <see cref="T:Microsoft.CodeAnalysis.Sarif.Run"/>.
|
|
242
|
+
</summary>
|
|
243
|
+
</member>
|
|
244
|
+
<member name="P:Microsoft.CodeAnalysis.Sarif.Multitool.AdoPipelineContext.HasVcpFields">
|
|
245
|
+
<summary>
|
|
246
|
+
True when this context carries at least one <c>versionControlProvenance</c>
|
|
247
|
+
field (repository URI, revision id, or branch ref) lifted from the pipeline
|
|
248
|
+
environment. False indicates the VCP enrichment path is a no-op for this
|
|
249
|
+
context and callers should leave any caller-supplied VCP untouched.
|
|
250
|
+
</summary>
|
|
251
|
+
</member>
|
|
252
|
+
<member name="M:Microsoft.CodeAnalysis.Sarif.Multitool.AdoPipelineContext.GetVcpFieldValues">
|
|
253
|
+
<summary>
|
|
254
|
+
Returns the non-null <c>versionControlProvenance</c> field name/value pairs
|
|
255
|
+
for this pipeline context. Pairs are ordered <c>repositoryUri</c>,
|
|
256
|
+
<c>revisionId</c>, <c>branch</c>; absent fields are omitted (the caller
|
|
257
|
+
should treat the list as the set we know about). Exposed so JSON-direct
|
|
258
|
+
callers can enrich without constructing a typed
|
|
259
|
+
<see cref="T:Microsoft.CodeAnalysis.Sarif.VersionControlDetails"/>.
|
|
167
260
|
</summary>
|
|
168
261
|
</member>
|
|
169
262
|
<member name="T:Microsoft.CodeAnalysis.Sarif.Multitool.EmitEventLogHelpers">
|
|
@@ -251,10 +344,17 @@
|
|
|
251
344
|
<member name="T:Microsoft.CodeAnalysis.Sarif.Multitool.EmitInitRunCommand">
|
|
252
345
|
<summary>
|
|
253
346
|
Implements <c>multitool emit-init-run</c>: creates an append-only SARIF event log
|
|
254
|
-
(<c><output>.wip.jsonl</c>) seeded with a <c>run-header</c> event built from
|
|
255
|
-
supplied
|
|
347
|
+
(<c><output>.wip.jsonl</c>) seeded with a <c>run-header</c> event built from a
|
|
348
|
+
caller-supplied SARIF <c>Run</c> JSON document (file via <c>--input</c> or stdin).
|
|
256
349
|
</summary>
|
|
257
350
|
<remarks>
|
|
351
|
+
<para>The JSON-payload contract matches the other emit verbs (<c>add-result</c>,
|
|
352
|
+
<c>add-notification</c>, <c>add-reporting-descriptor</c>). The supplied <c>Run</c> may
|
|
353
|
+
carry any subset of the partial-Run shape the replayer accepts (<c>tool</c>,
|
|
354
|
+
<c>language</c>, <c>columnKind</c>, <c>defaultEncoding</c>, <c>defaultSourceLanguage</c>,
|
|
355
|
+
<c>originalUriBaseIds</c>, <c>versionControlProvenance</c>, <c>automationDetails</c>,
|
|
356
|
+
<c>baselineGuid</c>, <c>redactionTokens</c>, …). <c>results</c>, <c>invocations</c>, and
|
|
357
|
+
notifications on the header are ignored at replay; those belong in their own events.</para>
|
|
258
358
|
<para>State table:</para>
|
|
259
359
|
<list type="table">
|
|
260
360
|
<listheader>
|
|
@@ -285,20 +385,167 @@
|
|
|
285
385
|
</list>
|
|
286
386
|
</remarks>
|
|
287
387
|
</member>
|
|
388
|
+
<member name="M:Microsoft.CodeAnalysis.Sarif.Multitool.EmitInitRunCommand.TryRequireOptionalObject(Newtonsoft.Json.Linq.JObject,System.String,Newtonsoft.Json.Linq.JObject@)">
|
|
389
|
+
<summary>
|
|
390
|
+
If <paramref name="parent"/> carries a token at <paramref name="key"/>, requires it to
|
|
391
|
+
be a JSON object and returns it via <paramref name="value"/>. Returns true when the key
|
|
392
|
+
is absent (or explicitly null) without surfacing an error; returns false with a clear
|
|
393
|
+
AI-consumable diagnostic when the key is present but the wrong shape (e.g.
|
|
394
|
+
<c>"tool": "x"</c>). Walking parent shapes up front prevents JValue indexer accesses
|
|
395
|
+
further down the validator chain from throwing InvalidOperationException.
|
|
396
|
+
</summary>
|
|
397
|
+
</member>
|
|
398
|
+
<member name="M:Microsoft.CodeAnalysis.Sarif.Multitool.EmitInitRunCommand.TryStampAdoContext(Newtonsoft.Json.Linq.JObject,Microsoft.CodeAnalysis.Sarif.Multitool.AdoPipelineContext,System.String@)">
|
|
399
|
+
<summary>
|
|
400
|
+
Stamps ADO pipeline identity directly onto the JSON payload. Mutating the JObject
|
|
401
|
+
rather than round-tripping through the typed <see cref="M:Microsoft.CodeAnalysis.Sarif.Multitool.EmitInitRunCommand.Run(Microsoft.CodeAnalysis.Sarif.Multitool.EmitInitRunOptions,Microsoft.CodeAnalysis.Sarif.IFileSystem)"/> model preserves any
|
|
402
|
+
SARIF Run fields the typed model doesn't surface (e.g., <c>redactionTokens</c>) in
|
|
403
|
+
the wip line. (The replayer materializes a typed <c>Run</c> at finalize time, so
|
|
404
|
+
non-typed fields are durable only up to that boundary.)
|
|
405
|
+
</summary>
|
|
406
|
+
</member>
|
|
407
|
+
<member name="M:Microsoft.CodeAnalysis.Sarif.Multitool.EmitInitRunCommand.TryStampVcp(Newtonsoft.Json.Linq.JObject,System.Uri,System.String,System.String,System.String@)">
|
|
408
|
+
<summary>
|
|
409
|
+
Enriches <c>versionControlProvenance</c> on the JSON payload with the resolved
|
|
410
|
+
repository URI / revision id / branch ref fields (sourced from the pipeline
|
|
411
|
+
environment via <see cref="M:Microsoft.CodeAnalysis.Sarif.Multitool.EmitInitRunCommand.TryResolveVcpFields(Microsoft.CodeAnalysis.Sarif.Multitool.AdoPipelineContext,Microsoft.CodeAnalysis.Sarif.Multitool.GitHubActionsContext,System.Uri@,System.String@,System.String@,System.String@)"/>). Three input shapes:
|
|
412
|
+
<list type="bullet">
|
|
413
|
+
<item>VCP absent or empty array → append a synthesized entry with the fields we have
|
|
414
|
+
(only when a repository URI is known; branch/revision without a repo URI anchor is
|
|
415
|
+
informationally thin and cannot bind to a repo downstream).</item>
|
|
416
|
+
<item>VCP contains exactly one entry → enrich missing fields; fail on disagreement.</item>
|
|
417
|
+
<item>VCP contains multiple entries → leave untouched (caller declared a multi-repo
|
|
418
|
+
shape; we don't pick which entry names the pipeline's source repo).</item>
|
|
419
|
+
</list>
|
|
420
|
+
<para>This method is the env-driven stamper. The verb supports a layered set of
|
|
421
|
+
VCP sources:</para>
|
|
422
|
+
<list type="number">
|
|
423
|
+
<item>ADO pipeline environment — <c>TF_BUILD=True</c> plus the
|
|
424
|
+
<c>BUILD_REPOSITORY_URI</c> / <c>BUILD_SOURCEVERSION</c> /
|
|
425
|
+
<c>BUILD_SOURCEBRANCH</c> vars supply repo URI / revision / branch directly.</item>
|
|
426
|
+
<item>GitHub Actions environment — <c>GITHUB_ACTIONS=true</c> plus
|
|
427
|
+
<c>GITHUB_SERVER_URL</c> / <c>GITHUB_REPOSITORY</c> / <c>GITHUB_SHA</c> /
|
|
428
|
+
<c>GITHUB_REF</c> supply the same fields. When both ADO and GHA vars are
|
|
429
|
+
populated, the sources must agree on every field they both publish.</item>
|
|
430
|
+
<item>Caller-supplied — if neither CI env is present, the producer populates
|
|
431
|
+
<c>versionControlProvenance</c> entries directly in the run-header JSON and the
|
|
432
|
+
verb passes them through after shape validation. Callers running outside a
|
|
433
|
+
supported CI environment can shell out to <c>git</c> themselves and either
|
|
434
|
+
populate the entry directly or stage the corresponding env vars before invoking
|
|
435
|
+
the verb.</item>
|
|
436
|
+
</list>
|
|
437
|
+
</summary>
|
|
438
|
+
</member>
|
|
439
|
+
<member name="M:Microsoft.CodeAnalysis.Sarif.Multitool.EmitInitRunCommand.TryResolveVcpFields(Microsoft.CodeAnalysis.Sarif.Multitool.AdoPipelineContext,Microsoft.CodeAnalysis.Sarif.Multitool.GitHubActionsContext,System.Uri@,System.String@,System.String@,System.String@)">
|
|
440
|
+
<summary>
|
|
441
|
+
Resolves the three VCP fields (<c>repositoryUri</c>, <c>revisionId</c>,
|
|
442
|
+
<c>branch</c>) from the ADO and GitHub Actions environment contexts. ADO is the
|
|
443
|
+
higher-priority source: where ADO supplies a value it wins; GHA fills gaps where
|
|
444
|
+
ADO is silent. When both sources publish the same field, the values must agree
|
|
445
|
+
(case-insensitive URI equality for <c>repositoryUri</c>, ordinal for the rest) or
|
|
446
|
+
the method returns false with a diagnostic naming both sources.
|
|
447
|
+
</summary>
|
|
448
|
+
</member>
|
|
288
449
|
<member name="T:Microsoft.CodeAnalysis.Sarif.Multitool.EmitInitRunOptions">
|
|
289
450
|
<summary>
|
|
290
451
|
Options for <c>emit-init-run</c>, which opens an append-only event log
|
|
291
|
-
(<c><output>.wip.jsonl</c>) seeded with a <c>run-header</c> event
|
|
292
|
-
|
|
293
|
-
via <c>multitool emit-finalize</c>.
|
|
452
|
+
(<c><output>.wip.jsonl</c>) seeded with a <c>run-header</c> event built from a
|
|
453
|
+
caller-supplied SARIF <c>Run</c> JSON document. Subsequent producers append events to the
|
|
454
|
+
log via the SARIF emit API and finalize via <c>multitool emit-finalize</c>.
|
|
294
455
|
</summary>
|
|
295
456
|
<remarks>
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
<c>
|
|
299
|
-
|
|
457
|
+
<para>The run JSON is supplied as a JSON document (file via <c>--input</c> or piped on
|
|
458
|
+
stdin), matching the contract used by <c>add-result</c>, <c>add-notification</c>, and
|
|
459
|
+
<c>add-reporting-descriptor</c>. SARIF <c>Run</c> is by far the richest object in the
|
|
460
|
+
schema; modeling each field as a CLI flag would require a sprawling and ever-expanding
|
|
461
|
+
surface that still could not express the legal partial-<c>Run</c> shape the replayer
|
|
462
|
+
accepts (multiple <c>versionControlProvenance</c> entries, <c>properties</c> bags,
|
|
463
|
+
<c>language</c>, <c>columnKind</c>, <c>defaultEncoding</c>, <c>redactionTokens</c>, …).
|
|
464
|
+
The JSON-payload contract keeps the verb generic and lets an AI producer emit
|
|
465
|
+
arbitrarily-rich run headers without losing fidelity.</para>
|
|
466
|
+
<para>Profile-essential defects are validated at receipt: <c>tool.driver.name</c> must
|
|
467
|
+
be a non-empty string; <c>tool.driver.informationUri</c> and
|
|
468
|
+
<c>versionControlProvenance[*].repositoryUri</c> must be <c>https</c>;
|
|
469
|
+
<c>originalUriBaseIds["SRCROOT"].uri</c> must be <c>https</c> or <c>file</c>;
|
|
470
|
+
<c>automationDetails.guid</c> / <c>correlationGuid</c> must be canonical 8-4-4-4-12
|
|
471
|
+
GUIDs; <c>properties["ai/origin"]</c> must be <c>generated</c>, <c>annotated</c>, or
|
|
472
|
+
<c>synthesized</c>. The verb also rejects a SARIF <em>log</em> accidentally supplied in
|
|
473
|
+
place of a <c>Run</c>.</para>
|
|
300
474
|
</remarks>
|
|
301
475
|
</member>
|
|
476
|
+
<member name="T:Microsoft.CodeAnalysis.Sarif.Multitool.GitHubActionsContext">
|
|
477
|
+
<summary>
|
|
478
|
+
Detects a GitHub Actions execution context from environment variables and surfaces the
|
|
479
|
+
<c>versionControlProvenance</c> fields the workflow runner publishes
|
|
480
|
+
(<c>GITHUB_SERVER_URL</c>/<c>GITHUB_REPOSITORY</c> compose the repository URI;
|
|
481
|
+
<c>GITHUB_SHA</c> supplies the revision; <c>GITHUB_REF</c> supplies the branch
|
|
482
|
+
ref).
|
|
483
|
+
</summary>
|
|
484
|
+
<remarks>
|
|
485
|
+
<para>This context is VCP-scoped: it does not stamp <c>automationDetails</c> for GitHub
|
|
486
|
+
Actions. The runner exposes <c>GITHUB_RUN_ID</c> / <c>GITHUB_WORKFLOW</c> / etc., but
|
|
487
|
+
downstream ingestion conventions for the GitHub-side automationDetails shape are out of
|
|
488
|
+
scope for this verb today.</para>
|
|
489
|
+
<para>Detection is gated on the standard runner sentinel <c>GITHUB_ACTIONS=true</c>. When
|
|
490
|
+
not inside a GitHub Actions workflow, <see cref="F:Microsoft.CodeAnalysis.Sarif.Multitool.GitHubActionsContext.DetectionState.None"/> is returned and no
|
|
491
|
+
stamping occurs. Inside a workflow three states are possible:</para>
|
|
492
|
+
<list type="bullet">
|
|
493
|
+
<item><see cref="F:Microsoft.CodeAnalysis.Sarif.Multitool.GitHubActionsContext.DetectionState.Complete"/> — the runner is active and every populated
|
|
494
|
+
VCP variable parses cleanly. Absent VCP variables are tolerated: in that case the context
|
|
495
|
+
is Complete but <see cref="P:Microsoft.CodeAnalysis.Sarif.Multitool.GitHubActionsContext.HasVcpFields"/> returns <c>false</c> and the verb's VCP
|
|
496
|
+
stamping is a no-op for this source.</item>
|
|
497
|
+
<item><see cref="F:Microsoft.CodeAnalysis.Sarif.Multitool.GitHubActionsContext.DetectionState.Partial"/> — one or more present VCP variables are
|
|
498
|
+
malformed (e.g. a non-hex <c>GITHUB_SHA</c>, an unparseable
|
|
499
|
+
<c>GITHUB_SERVER_URL</c>); the verb should fail loudly rather than stamp a half-derived
|
|
500
|
+
VCP entry.</item>
|
|
501
|
+
<item><see cref="F:Microsoft.CodeAnalysis.Sarif.Multitool.GitHubActionsContext.DetectionState.None"/> — <c>GITHUB_ACTIONS</c> is unset or not
|
|
502
|
+
truthy.</item>
|
|
503
|
+
</list>
|
|
504
|
+
</remarks>
|
|
505
|
+
</member>
|
|
506
|
+
<member name="P:Microsoft.CodeAnalysis.Sarif.Multitool.GitHubActionsContext.RepositoryUri">
|
|
507
|
+
<summary>
|
|
508
|
+
Absolute URL of the source repository, composed from <c>GITHUB_SERVER_URL</c> and
|
|
509
|
+
<c>GITHUB_REPOSITORY</c> when both are present and well-formed; otherwise null.
|
|
510
|
+
</summary>
|
|
511
|
+
</member>
|
|
512
|
+
<member name="P:Microsoft.CodeAnalysis.Sarif.Multitool.GitHubActionsContext.RevisionId">
|
|
513
|
+
<summary>
|
|
514
|
+
The commit identifier (typically a 40-character SHA-1) the workflow run is building.
|
|
515
|
+
Lifted from <c>GITHUB_SHA</c> when present and well-formed; otherwise null.
|
|
516
|
+
</summary>
|
|
517
|
+
</member>
|
|
518
|
+
<member name="P:Microsoft.CodeAnalysis.Sarif.Multitool.GitHubActionsContext.BranchRef">
|
|
519
|
+
<summary>
|
|
520
|
+
The branch ref (e.g. <c>refs/heads/main</c>, <c>refs/pull/42/merge</c>) that
|
|
521
|
+
triggered the workflow. Lifted from <c>GITHUB_REF</c> when present; null when
|
|
522
|
+
absent. Pass-through with no normalization — the value is whatever the runner
|
|
523
|
+
(or hand-built env) published.
|
|
524
|
+
</summary>
|
|
525
|
+
</member>
|
|
526
|
+
<member name="M:Microsoft.CodeAnalysis.Sarif.Multitool.GitHubActionsContext.TryDetect(Microsoft.CodeAnalysis.Sarif.Multitool.IEnvironmentVariableGetter,Microsoft.CodeAnalysis.Sarif.Multitool.GitHubActionsContext@,System.String@)">
|
|
527
|
+
<summary>
|
|
528
|
+
Reads GitHub Actions predefined environment variables via
|
|
529
|
+
<paramref name="environment"/> and returns one of <see cref="T:Microsoft.CodeAnalysis.Sarif.Multitool.GitHubActionsContext.DetectionState"/>.
|
|
530
|
+
</summary>
|
|
531
|
+
<param name="environment">Env getter (test seam).</param>
|
|
532
|
+
<param name="context">Populated context when state is <see cref="F:Microsoft.CodeAnalysis.Sarif.Multitool.GitHubActionsContext.DetectionState.Complete"/>; otherwise <c>null</c>.</param>
|
|
533
|
+
<param name="errorMessage">Human-readable description of present/malformed variables when state is <see cref="F:Microsoft.CodeAnalysis.Sarif.Multitool.GitHubActionsContext.DetectionState.Partial"/>; otherwise <c>null</c>.</param>
|
|
534
|
+
</member>
|
|
535
|
+
<member name="P:Microsoft.CodeAnalysis.Sarif.Multitool.GitHubActionsContext.HasVcpFields">
|
|
536
|
+
<summary>
|
|
537
|
+
True when this context carries at least one <c>versionControlProvenance</c> field
|
|
538
|
+
(repository URI, revision id, or branch ref) lifted from the workflow
|
|
539
|
+
environment. False indicates the VCP enrichment path is a no-op for this context.
|
|
540
|
+
</summary>
|
|
541
|
+
</member>
|
|
542
|
+
<member name="M:Microsoft.CodeAnalysis.Sarif.Multitool.GitHubActionsContext.GetVcpFieldValues">
|
|
543
|
+
<summary>
|
|
544
|
+
Returns the non-null <c>versionControlProvenance</c> field name/value pairs for this
|
|
545
|
+
workflow context. Pairs are ordered <c>repositoryUri</c>, <c>revisionId</c>,
|
|
546
|
+
<c>branch</c>; absent fields are omitted.
|
|
547
|
+
</summary>
|
|
548
|
+
</member>
|
|
302
549
|
<member name="T:Microsoft.CodeAnalysis.Sarif.Multitool.FileWorkItemsCommand">
|
|
303
550
|
<summary>
|
|
304
551
|
A class that drives SARIF work item filing. This class is responsible for
|
package/Sarif.Multitool.pdb
CHANGED
|
Binary file
|
package/Sarif.WorkItems.pdb
CHANGED
|
Binary file
|
package/Sarif.pdb
CHANGED
|
Binary file
|
package/Sarif.xml
CHANGED
|
@@ -9274,6 +9274,14 @@
|
|
|
9274
9274
|
</summary>
|
|
9275
9275
|
<param name="underlyingStream"></param>
|
|
9276
9276
|
</member>
|
|
9277
|
+
<member name="T:Microsoft.CodeAnalysis.Sarif.RuleKind">
|
|
9278
|
+
<summary>
|
|
9279
|
+
Identifies the validator family that applies a SARIF reporting-descriptor rule.
|
|
9280
|
+
</summary>
|
|
9281
|
+
<remarks>
|
|
9282
|
+
Not a <c>[Flags]</c> enum; combinations are expressed via <see cref="T:Microsoft.CodeAnalysis.Sarif.RuleKindSet"/>.
|
|
9283
|
+
</remarks>
|
|
9284
|
+
</member>
|
|
9277
9285
|
<member name="F:Microsoft.CodeAnalysis.Sarif.SarifConstants.SarifFileExtension">
|
|
9278
9286
|
<summary>
|
|
9279
9287
|
The standard file extension for SARIF files.
|
package/WorkItems.pdb
CHANGED
|
Binary file
|