@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.
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>&lt;output&gt;.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>&lt;output&gt;.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="M:Microsoft.CodeAnalysis.Sarif.Multitool.AdoPipelineContext.ApplyTo(Microsoft.CodeAnalysis.Sarif.Run)"/> writes <c>automationDetails.id</c> plus the
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.ApplyTo(Microsoft.CodeAnalysis.Sarif.Run)">
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
- Creates <see cref="P:Microsoft.CodeAnalysis.Sarif.Run.AutomationDetails"/> if absent; does not overwrite
166
- <c>Guid</c> or <c>CorrelationGuid</c> fields populated from other sources.
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/&lt;org&gt;/&lt;projectId&gt;/&lt;buildDefId&gt;/&lt;phaseId&gt;/&lt;branch&gt;/&lt;buildId&gt;</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>&lt;output&gt;.wip.jsonl</c>) seeded with a <c>run-header</c> event built from the
255
- supplied tool / repo flags.
347
+ (<c>&lt;output&gt;.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>&lt;output&gt;.wip.jsonl</c>) seeded with a <c>run-header</c> event for the supplied
292
- tool. Subsequent producers append events to the log via the SARIF emit API and finalize
293
- via <c>multitool emit-finalize</c>.
452
+ (<c>&lt;output&gt;.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
- CLI flags mirror the SARIF interior paths they populate (e.g., <c>--tool-driver-name</c>
297
- populates <c>run.tool.driver.name</c>; <c>--vcp-revisionid</c> populates
298
- <c>run.versionControlProvenance[0].revisionId</c>). This trades verbosity for a one-to-one
299
- mapping that a SARIF-literate user can read without a help page.
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
Binary file
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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@microsoft/sarif-multitool-darwin",
3
3
  "description": "SARIF Multitool for MacOS (Darwin)",
4
- "version": "5.0.0",
4
+ "version": "5.0.2",
5
5
  "scripts": {
6
6
  "postinstall": "chmod u+x Sarif.Multitool"
7
7
  },