@actions/languageserver 0.3.35 → 0.3.37

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.
@@ -4118,18 +4118,18 @@ var require_main2 = __commonJS({
4118
4118
  }
4119
4119
  DocumentSymbol2.is = is;
4120
4120
  })(DocumentSymbol = exports3.DocumentSymbol || (exports3.DocumentSymbol = {}));
4121
- var CodeActionKind;
4122
- (function(CodeActionKind2) {
4123
- CodeActionKind2.Empty = "";
4124
- CodeActionKind2.QuickFix = "quickfix";
4125
- CodeActionKind2.Refactor = "refactor";
4126
- CodeActionKind2.RefactorExtract = "refactor.extract";
4127
- CodeActionKind2.RefactorInline = "refactor.inline";
4128
- CodeActionKind2.RefactorRewrite = "refactor.rewrite";
4129
- CodeActionKind2.Source = "source";
4130
- CodeActionKind2.SourceOrganizeImports = "source.organizeImports";
4131
- CodeActionKind2.SourceFixAll = "source.fixAll";
4132
- })(CodeActionKind = exports3.CodeActionKind || (exports3.CodeActionKind = {}));
4121
+ var CodeActionKind3;
4122
+ (function(CodeActionKind4) {
4123
+ CodeActionKind4.Empty = "";
4124
+ CodeActionKind4.QuickFix = "quickfix";
4125
+ CodeActionKind4.Refactor = "refactor";
4126
+ CodeActionKind4.RefactorExtract = "refactor.extract";
4127
+ CodeActionKind4.RefactorInline = "refactor.inline";
4128
+ CodeActionKind4.RefactorRewrite = "refactor.rewrite";
4129
+ CodeActionKind4.Source = "source";
4130
+ CodeActionKind4.SourceOrganizeImports = "source.organizeImports";
4131
+ CodeActionKind4.SourceFixAll = "source.fixAll";
4132
+ })(CodeActionKind3 = exports3.CodeActionKind || (exports3.CodeActionKind = {}));
4133
4133
  var CodeActionTriggerKind;
4134
4134
  (function(CodeActionTriggerKind2) {
4135
4135
  CodeActionTriggerKind2.Invoked = 1;
@@ -4154,8 +4154,8 @@ var require_main2 = __commonJS({
4154
4154
  }
4155
4155
  CodeActionContext2.is = is;
4156
4156
  })(CodeActionContext = exports3.CodeActionContext || (exports3.CodeActionContext = {}));
4157
- var CodeAction;
4158
- (function(CodeAction2) {
4157
+ var CodeAction2;
4158
+ (function(CodeAction3) {
4159
4159
  function create(title, kindOrCommandOrEdit, kind) {
4160
4160
  var result = { title };
4161
4161
  var checkKind = true;
@@ -4172,13 +4172,13 @@ var require_main2 = __commonJS({
4172
4172
  }
4173
4173
  return result;
4174
4174
  }
4175
- CodeAction2.create = create;
4175
+ CodeAction3.create = create;
4176
4176
  function is(value) {
4177
4177
  var candidate = value;
4178
4178
  return candidate && Is.string(candidate.title) && (candidate.diagnostics === void 0 || Is.typedArray(candidate.diagnostics, Diagnostic.is)) && (candidate.kind === void 0 || Is.string(candidate.kind)) && (candidate.edit !== void 0 || candidate.command !== void 0) && (candidate.command === void 0 || Command.is(candidate.command)) && (candidate.isPreferred === void 0 || Is.boolean(candidate.isPreferred)) && (candidate.edit === void 0 || WorkspaceEdit.is(candidate.edit));
4179
4179
  }
4180
- CodeAction2.is = is;
4181
- })(CodeAction = exports3.CodeAction || (exports3.CodeAction = {}));
4180
+ CodeAction3.is = is;
4181
+ })(CodeAction2 = exports3.CodeAction || (exports3.CodeAction = {}));
4182
4182
  var CodeLens;
4183
4183
  (function(CodeLens2) {
4184
4184
  function create(range, data) {
@@ -18091,8 +18091,9 @@ var ErrorType;
18091
18091
  ErrorType2[ErrorType2["ErrorExceededMaxLength"] = 4] = "ErrorExceededMaxLength";
18092
18092
  ErrorType2[ErrorType2["ErrorTooFewParameters"] = 5] = "ErrorTooFewParameters";
18093
18093
  ErrorType2[ErrorType2["ErrorTooManyParameters"] = 6] = "ErrorTooManyParameters";
18094
- ErrorType2[ErrorType2["ErrorUnrecognizedContext"] = 7] = "ErrorUnrecognizedContext";
18095
- ErrorType2[ErrorType2["ErrorUnrecognizedFunction"] = 8] = "ErrorUnrecognizedFunction";
18094
+ ErrorType2[ErrorType2["ErrorEvenParameters"] = 7] = "ErrorEvenParameters";
18095
+ ErrorType2[ErrorType2["ErrorUnrecognizedContext"] = 8] = "ErrorUnrecognizedContext";
18096
+ ErrorType2[ErrorType2["ErrorUnrecognizedFunction"] = 9] = "ErrorUnrecognizedFunction";
18096
18097
  })(ErrorType || (ErrorType = {}));
18097
18098
  var ExpressionError = class extends Error {
18098
18099
  constructor(typ, tok) {
@@ -18118,6 +18119,8 @@ function errorDescription(typ) {
18118
18119
  return "Too few parameters supplied";
18119
18120
  case ErrorType.ErrorTooManyParameters:
18120
18121
  return "Too many parameters supplied";
18122
+ case ErrorType.ErrorEvenParameters:
18123
+ return "Even number of parameters supplied, requires an odd number of parameters";
18121
18124
  case ErrorType.ErrorUnrecognizedContext:
18122
18125
  return "Unrecognized named-value";
18123
18126
  case ErrorType.ErrorUnrecognizedFunction:
@@ -18129,6 +18132,26 @@ function errorDescription(typ) {
18129
18132
  var ExpressionEvaluationError = class extends Error {
18130
18133
  };
18131
18134
 
18135
+ // ../expressions/dist/funcs/case.js
18136
+ var caseFunc = {
18137
+ name: "case",
18138
+ description: "`case( pred1, val1, pred2, val2, ..., default )`\n\nEvaluates predicates in order and returns the value corresponding to the first predicate that evaluates to `true`. If no predicate matches, it returns the last argument as the default value.",
18139
+ minArgs: 3,
18140
+ maxArgs: Number.MAX_SAFE_INTEGER,
18141
+ call: (...args) => {
18142
+ for (let i = 0; i < args.length - 1; i += 2) {
18143
+ const predicate = args[i];
18144
+ if (predicate.kind !== Kind.Boolean) {
18145
+ throw new Error("case predicate must evaluate to a boolean value");
18146
+ }
18147
+ if (predicate.value) {
18148
+ return args[i + 1];
18149
+ }
18150
+ }
18151
+ return args[args.length - 1];
18152
+ }
18153
+ };
18154
+
18132
18155
  // ../expressions/dist/result.js
18133
18156
  function falsy(d) {
18134
18157
  switch (d.kind) {
@@ -18510,6 +18533,7 @@ var tojson = {
18510
18533
 
18511
18534
  // ../expressions/dist/funcs.js
18512
18535
  var wellKnownFunctions = {
18536
+ case: caseFunc,
18513
18537
  contains,
18514
18538
  endswith,
18515
18539
  format,
@@ -18537,6 +18561,9 @@ function validateFunction(context, identifier, argCount) {
18537
18561
  if (argCount > f.maxArgs) {
18538
18562
  throw new ExpressionError(ErrorType.ErrorTooManyParameters, identifier);
18539
18563
  }
18564
+ if (name === "case" && argCount % 2 === 0) {
18565
+ throw new ExpressionError(ErrorType.ErrorEvenParameters, identifier);
18566
+ }
18540
18567
  }
18541
18568
 
18542
18569
  // ../expressions/dist/idxHelper.js
@@ -18730,6 +18757,40 @@ function objectAccess(obj, idx) {
18730
18757
  return new Null();
18731
18758
  }
18732
18759
 
18760
+ // ../expressions/dist/features.js
18761
+ var allFeatureKeys = [
18762
+ "missingInputsQuickfix",
18763
+ "blockScalarChompingWarning",
18764
+ "actionScaffoldingSnippets",
18765
+ "allowCaseFunction"
18766
+ ];
18767
+ var FeatureFlags = class {
18768
+ constructor(features) {
18769
+ this.features = features ?? {};
18770
+ }
18771
+ /**
18772
+ * Check if an experimental feature is enabled.
18773
+ *
18774
+ * Resolution order:
18775
+ * 1. Explicit feature flag (if set)
18776
+ * 2. `all` flag (if set)
18777
+ * 3. false (default)
18778
+ */
18779
+ isEnabled(feature) {
18780
+ const explicit = this.features[feature];
18781
+ if (explicit !== void 0) {
18782
+ return explicit;
18783
+ }
18784
+ return this.features.all ?? false;
18785
+ }
18786
+ /**
18787
+ * Returns list of all enabled experimental features.
18788
+ */
18789
+ getEnabledFeatures() {
18790
+ return allFeatureKeys.filter((key) => this.isEnabled(key));
18791
+ }
18792
+ };
18793
+
18733
18794
  // ../expressions/dist/parser.js
18734
18795
  var Parser = class {
18735
18796
  /**
@@ -18991,7 +19052,7 @@ var Parser = class {
18991
19052
  };
18992
19053
 
18993
19054
  // ../expressions/dist/completion.js
18994
- function complete(input, context, extensionFunctions, functions) {
19055
+ function complete(input, context, extensionFunctions, functions, featureFlags) {
18995
19056
  const lexer = new Lexer(input);
18996
19057
  const lexResult = lexer.lex();
18997
19058
  const tokenInputVector = trimTokenVector(lexResult.tokens);
@@ -19008,7 +19069,7 @@ function complete(input, context, extensionFunctions, functions) {
19008
19069
  }
19009
19070
  if (tokenIdx < 0) {
19010
19071
  const result2 = contextKeys(context);
19011
- result2.push(...functionItems(extensionFunctions));
19072
+ result2.push(...functionItems(extensionFunctions, featureFlags));
19012
19073
  return result2;
19013
19074
  }
19014
19075
  const pathTokenVector = tokenInputVector.slice(0, tokenIdx);
@@ -19019,9 +19080,13 @@ function complete(input, context, extensionFunctions, functions) {
19019
19080
  const result = ev.evaluate();
19020
19081
  return contextKeys(result);
19021
19082
  }
19022
- function functionItems(extensionFunctions) {
19083
+ function functionItems(extensionFunctions, featureFlags) {
19023
19084
  const result = [];
19085
+ const flags = featureFlags ?? new FeatureFlags();
19024
19086
  for (const fdef of [...Object.values(wellKnownFunctions), ...extensionFunctions]) {
19087
+ if (fdef.name === "case" && !flags.isEnabled("allowCaseFunction")) {
19088
+ continue;
19089
+ }
19025
19090
  result.push({
19026
19091
  label: fdef.name,
19027
19092
  description: fdef.description,
@@ -19109,39 +19174,6 @@ var DescriptionDictionary = class extends Dictionary {
19109
19174
  }
19110
19175
  };
19111
19176
 
19112
- // ../expressions/dist/features.js
19113
- var allFeatureKeys = [
19114
- "missingInputsQuickfix",
19115
- "blockScalarChompingWarning",
19116
- "actionScaffoldingSnippets"
19117
- ];
19118
- var FeatureFlags = class {
19119
- constructor(features) {
19120
- this.features = features ?? {};
19121
- }
19122
- /**
19123
- * Check if an experimental feature is enabled.
19124
- *
19125
- * Resolution order:
19126
- * 1. Explicit feature flag (if set)
19127
- * 2. `all` flag (if set)
19128
- * 3. false (default)
19129
- */
19130
- isEnabled(feature) {
19131
- const explicit = this.features[feature];
19132
- if (explicit !== void 0) {
19133
- return explicit;
19134
- }
19135
- return this.features.all ?? false;
19136
- }
19137
- /**
19138
- * Returns list of all enabled experimental features.
19139
- */
19140
- getEnabledFeatures() {
19141
- return allFeatureKeys.filter((key) => this.isEnabled(key));
19142
- }
19143
- };
19144
-
19145
19177
  // ../workflow-parser/dist/templates/tokens/types.js
19146
19178
  var TokenType2;
19147
19179
  (function(TokenType3) {
@@ -23214,12 +23246,12 @@ runs:
23214
23246
  # fs.appendFileSync(process.env.GITHUB_OUTPUT, \\\`greeting=\\\${greeting}\\\\n\\\`);
23215
23247
  `;
23216
23248
  var ACTION_SNIPPET_NODEJS_USING = `# For more on JavaScript actions (including @actions/toolkit), see:
23217
- # https://docs.github.com/en/actions/sharing-automations/creating-actions/creating-a-javascript-action
23218
- using: node24
23219
- main: index.js
23220
- # Sample index.js (vanilla JS, no build required):
23221
- #
23222
- # console.log('Hello World');
23249
+ # https://docs.github.com/en/actions/sharing-automations/creating-actions/creating-a-javascript-action
23250
+ using: node24
23251
+ main: index.js
23252
+ # Sample index.js (vanilla JS, no build required):
23253
+ #
23254
+ # console.log('Hello World');
23223
23255
  `;
23224
23256
  var ACTION_SNIPPET_COMPOSITE_FULL = `name: '\${1:Action Name}'
23225
23257
  description: '\${2:What this action does}'
@@ -23275,11 +23307,11 @@ runs:
23275
23307
  echo "greeting=$GREETING" >> $GITHUB_OUTPUT
23276
23308
  `;
23277
23309
  var ACTION_SNIPPET_COMPOSITE_USING = `# For more on composite actions, see:
23278
- # https://docs.github.com/en/actions/sharing-automations/creating-actions/creating-a-composite-action
23279
- using: composite
23280
- steps:
23281
- - shell: bash
23282
- run: echo "Hello World"
23310
+ # https://docs.github.com/en/actions/sharing-automations/creating-actions/creating-a-composite-action
23311
+ using: composite
23312
+ steps:
23313
+ - shell: bash
23314
+ run: echo "Hello World"
23283
23315
  `;
23284
23316
  var ACTION_SNIPPET_DOCKER_FULL = `name: '\${1:Action Name}'
23285
23317
  description: '\${2:What this action does}'
@@ -23337,14 +23369,14 @@ runs:
23337
23369
  echo "greeting=$GREETING" >> $GITHUB_OUTPUT
23338
23370
  `;
23339
23371
  var ACTION_SNIPPET_DOCKER_USING = `# For more on Docker actions, see:
23340
- # https://docs.github.com/en/actions/sharing-automations/creating-actions/creating-a-docker-container-action
23341
- using: docker
23342
- # 'docker://image:tag' uses pre-built image, 'Dockerfile' builds locally
23343
- image: '\${1:docker://alpine:3.20}'
23344
- entrypoint: '\${2:sh}'
23345
- args:
23346
- - -c
23347
- - echo "Hello World"
23372
+ # https://docs.github.com/en/actions/sharing-automations/creating-actions/creating-a-docker-container-action
23373
+ using: docker
23374
+ # 'docker://image:tag' uses pre-built image, 'Dockerfile' builds locally
23375
+ image: '\${1:docker://alpine:3.20}'
23376
+ entrypoint: '\${2:sh}'
23377
+ args:
23378
+ - -c
23379
+ - echo "Hello World"
23348
23380
  `;
23349
23381
  function filterActionRunsCompletions(values, path, root) {
23350
23382
  let runsMapping;
@@ -23383,7 +23415,7 @@ function filterActionRunsCompletions(values, path, root) {
23383
23415
  if (!usingValue) {
23384
23416
  return values.map((v) => {
23385
23417
  if (v.label.toLowerCase() === "using") {
23386
- return { ...v, sortText: "0_using" };
23418
+ return { ...v, sortText: "9_using" };
23387
23419
  }
23388
23420
  return v;
23389
23421
  });
@@ -23421,9 +23453,9 @@ function getActionScaffoldingSnippets(root, path, position) {
23421
23453
  const isDirectlyInsideRuns = runsMappingIndex !== -1 && runsMappingIndex === path.length - 1;
23422
23454
  if (isDirectlyInsideRuns) {
23423
23455
  return [
23424
- createSnippetCompletion("Node.js Action", "Scaffold a Node.js action", ACTION_SNIPPET_NODEJS_USING, position, "1_nodejs"),
23425
- createSnippetCompletion("Composite Action", "Scaffold a composite action", ACTION_SNIPPET_COMPOSITE_USING, position, "2_composite"),
23426
- createSnippetCompletion("Docker Action", "Scaffold a Docker action", ACTION_SNIPPET_DOCKER_USING, position, "3_docker")
23456
+ createSnippetCompletion("Node.js Action", "Scaffold a Node.js action", ACTION_SNIPPET_NODEJS_USING, position, "0_nodejs"),
23457
+ createSnippetCompletion("Composite Action", "Scaffold a composite action", ACTION_SNIPPET_COMPOSITE_USING, position, "1_composite"),
23458
+ createSnippetCompletion("Docker Action", "Scaffold a Docker action", ACTION_SNIPPET_DOCKER_USING, position, "2_docker")
23427
23459
  ];
23428
23460
  }
23429
23461
  const isAtRoot = path.length === 0 || path.length === 1 && path[0] === root;
@@ -25570,7 +25602,7 @@ async function complete2(textDocument, position, config) {
25570
25602
  if (token && (isBasicExpression(token) || isPotentiallyExpression(token))) {
25571
25603
  const allowedContext = token.definitionInfo?.allowedContext || [];
25572
25604
  const context = isAction ? getActionExpressionContext(allowedContext, config?.contextProviderConfig, actionContext, Mode.Completion) : await getWorkflowExpressionContext(allowedContext, config?.contextProviderConfig, workflowContext, Mode.Completion);
25573
- return getExpressionCompletionItems(token, context, newPos);
25605
+ return getExpressionCompletionItems(token, context, newPos, config?.featureFlags);
25574
25606
  }
25575
25607
  const indentation = guessIndentation(newDoc, 2, true);
25576
25608
  const indentString = " ".repeat(indentation.tabSize);
@@ -25797,7 +25829,7 @@ function getExistingValues(token, parent) {
25797
25829
  return mapKeys;
25798
25830
  }
25799
25831
  }
25800
- function getExpressionCompletionItems(token, context, pos) {
25832
+ function getExpressionCompletionItems(token, context, pos, featureFlags) {
25801
25833
  if (!token.range) {
25802
25834
  return [];
25803
25835
  }
@@ -25811,7 +25843,7 @@ function getExpressionCompletionItems(token, context, pos) {
25811
25843
  const cursorOffset = getOffsetInContent(token.range, currentInput, pos);
25812
25844
  const expressionInput = (getExpressionInput(currentInput, cursorOffset) || "").trim();
25813
25845
  try {
25814
- return complete(expressionInput, context, [], validatorFunctions).map((item) => mapExpressionCompletionItem(item, currentInput[cursorOffset]));
25846
+ return complete(expressionInput, context, [], validatorFunctions, featureFlags).map((item) => mapExpressionCompletionItem(item, currentInput[cursorOffset]));
25815
25847
  } catch (e) {
25816
25848
  error(`Error while completing expression: '${e?.message || "<no details>"}'`);
25817
25849
  return [];
@@ -26746,6 +26778,9 @@ var ValidationEvaluator = class extends Evaluator {
26746
26778
 
26747
26779
  // ../languageservice/dist/validate-action-reference.js
26748
26780
  var import_vscode_languageserver_types4 = __toESM(require_main2(), 1);
26781
+ var DiagnosticCode = {
26782
+ MissingRequiredInputs: "missing-required-inputs"
26783
+ };
26749
26784
  async function validateActionReference(diagnostics, stepToken, step, config) {
26750
26785
  if (!isMapping(stepToken) || !step || !isActionStep(step) || !config?.actionsMetadataProvider) {
26751
26786
  return;
@@ -26802,10 +26837,19 @@ async function validateActionReference(diagnostics, stepToken, step, config) {
26802
26837
  const missingRequiredInputs = Object.entries(actionInputs).filter(([inputName, input]) => input.required && !stepInputs.has(inputName) && input.default === void 0);
26803
26838
  if (missingRequiredInputs.length > 0) {
26804
26839
  const message = missingRequiredInputs.length === 1 ? `Missing required input \`${missingRequiredInputs[0][0]}\`` : `Missing required inputs: ${missingRequiredInputs.map((input) => `\`${input[0]}\``).join(", ")}`;
26840
+ const diagnosticData = {
26841
+ action,
26842
+ missingInputs: missingRequiredInputs.map(([name, input]) => ({
26843
+ name,
26844
+ default: input.default
26845
+ }))
26846
+ };
26805
26847
  diagnostics.push({
26806
26848
  severity: import_vscode_languageserver_types4.DiagnosticSeverity.Error,
26807
26849
  range: mapRange((withKey || stepToken).range),
26808
- message
26850
+ message,
26851
+ code: DiagnosticCode.MissingRequiredInputs,
26852
+ data: diagnosticData
26809
26853
  });
26810
26854
  }
26811
26855
  }
@@ -27616,6 +27660,201 @@ function validateBlockScalarChomping(diagnostics, token, parent, key, ancestors)
27616
27660
  });
27617
27661
  }
27618
27662
 
27663
+ // ../languageservice/dist/code-actions/code-actions.js
27664
+ var import_vscode_languageserver_types7 = __toESM(require_main2(), 1);
27665
+
27666
+ // ../languageservice/dist/code-actions/quickfix/add-missing-inputs.js
27667
+ var addMissingInputsProvider = {
27668
+ diagnosticCodes: [DiagnosticCode.MissingRequiredInputs],
27669
+ createCodeAction(context, diagnostic) {
27670
+ const data = diagnostic.data;
27671
+ if (!data) {
27672
+ return void 0;
27673
+ }
27674
+ const stepInfo = getStepInfo(context, diagnostic.range.start);
27675
+ if (!stepInfo) {
27676
+ return void 0;
27677
+ }
27678
+ const edits = createInputEdits(data.missingInputs, stepInfo);
27679
+ if (!edits || edits.length === 0) {
27680
+ return void 0;
27681
+ }
27682
+ const inputNames = data.missingInputs.map((i) => i.name).join(", ");
27683
+ return {
27684
+ title: `Add missing input${data.missingInputs.length > 1 ? "s" : ""}: ${inputNames}`,
27685
+ edit: {
27686
+ changes: {
27687
+ [context.uri]: edits
27688
+ }
27689
+ }
27690
+ };
27691
+ }
27692
+ };
27693
+ function getStepInfo(context, diagnosticPosition) {
27694
+ const file = { name: context.uri, content: context.documentContent };
27695
+ const parseResult = getOrParseWorkflow(file, context.uri);
27696
+ if (!parseResult.value) {
27697
+ error("Failed to parse workflow for missing inputs quickfix");
27698
+ return void 0;
27699
+ }
27700
+ const { path } = findToken(diagnosticPosition, parseResult.value);
27701
+ const stepToken = findStepInPath(path);
27702
+ if (!stepToken) {
27703
+ error("Could not find step token for missing inputs quickfix");
27704
+ return void 0;
27705
+ }
27706
+ return extractStepInfo(stepToken);
27707
+ }
27708
+ function findStepInPath(path) {
27709
+ for (let i = path.length - 1; i >= 0; i--) {
27710
+ if (path[i].definition?.key === "regular-step" && isMapping(path[i])) {
27711
+ return path[i];
27712
+ }
27713
+ }
27714
+ return void 0;
27715
+ }
27716
+ function extractStepInfo(stepToken) {
27717
+ if (!stepToken.range) {
27718
+ return void 0;
27719
+ }
27720
+ let stepKeyColumn = stepToken.range.start.column;
27721
+ if (stepToken.count > 0) {
27722
+ const firstEntry = stepToken.get(0);
27723
+ if (firstEntry?.key.range) {
27724
+ stepKeyColumn = firstEntry.key.range.start.column;
27725
+ }
27726
+ }
27727
+ let withKey;
27728
+ let withToken;
27729
+ for (const { key, value } of stepToken) {
27730
+ if (key.toString() === "with") {
27731
+ withKey = key;
27732
+ withToken = value;
27733
+ break;
27734
+ }
27735
+ }
27736
+ let indentSize = 2;
27737
+ let withInfo;
27738
+ if (withKey?.range && withToken?.range) {
27739
+ const hasChildren = isMapping(withToken) && withToken.count > 0;
27740
+ let firstChildColumn;
27741
+ if (hasChildren) {
27742
+ const firstChild = withToken.get(0);
27743
+ if (firstChild?.key.range) {
27744
+ firstChildColumn = firstChild.key.range.start.column;
27745
+ indentSize = firstChildColumn - withKey.range.start.column;
27746
+ }
27747
+ }
27748
+ withInfo = {
27749
+ keyColumn: withKey.range.start.column,
27750
+ keyEndLine: withKey.range.end.line,
27751
+ valueEndLine: withToken.range.end.line,
27752
+ hasChildren,
27753
+ firstChildColumn
27754
+ };
27755
+ } else {
27756
+ const zeroIndexedCol = stepKeyColumn - 1;
27757
+ if (zeroIndexedCol >= 10) {
27758
+ indentSize = 4;
27759
+ }
27760
+ }
27761
+ return {
27762
+ stepKeyColumn,
27763
+ stepEndLine: stepToken.range.end.line,
27764
+ indentSize,
27765
+ withInfo
27766
+ };
27767
+ }
27768
+ function createInputEdits(missingInputs, stepInfo) {
27769
+ const formatInputLines = (indent) => missingInputs.map((input) => {
27770
+ const value = input.default ?? '""';
27771
+ return `${indent}${input.name}: ${value}`;
27772
+ });
27773
+ if (stepInfo.withInfo) {
27774
+ const withIndent = stepInfo.withInfo.keyColumn - 1;
27775
+ const inputIndentSize = stepInfo.withInfo.firstChildColumn ? stepInfo.withInfo.firstChildColumn - stepInfo.withInfo.keyColumn : stepInfo.indentSize;
27776
+ const inputIndent = " ".repeat(withIndent + inputIndentSize);
27777
+ const inputLines = formatInputLines(inputIndent);
27778
+ let insertLine;
27779
+ if (stepInfo.withInfo.hasChildren) {
27780
+ insertLine = stepInfo.withInfo.valueEndLine - 1;
27781
+ } else {
27782
+ insertLine = stepInfo.withInfo.keyEndLine;
27783
+ }
27784
+ const insertPosition = {
27785
+ line: insertLine,
27786
+ character: 0
27787
+ };
27788
+ return [
27789
+ {
27790
+ range: { start: insertPosition, end: insertPosition },
27791
+ newText: inputLines.map((line) => line + "\n").join("")
27792
+ }
27793
+ ];
27794
+ } else {
27795
+ const withKeyIndent = stepInfo.stepKeyColumn - 1;
27796
+ const withIndent = " ".repeat(withKeyIndent);
27797
+ const inputIndent = " ".repeat(withKeyIndent + stepInfo.indentSize);
27798
+ const inputLines = formatInputLines(inputIndent);
27799
+ const newText = `${withIndent}with:
27800
+ ` + inputLines.map((line) => `${line}
27801
+ `).join("");
27802
+ const insertPosition = {
27803
+ line: stepInfo.stepEndLine - 1,
27804
+ character: 0
27805
+ };
27806
+ return [
27807
+ {
27808
+ range: { start: insertPosition, end: insertPosition },
27809
+ newText
27810
+ }
27811
+ ];
27812
+ }
27813
+ }
27814
+
27815
+ // ../languageservice/dist/code-actions/quickfix/quickfix-providers.js
27816
+ function getQuickfixProviders(featureFlags) {
27817
+ const providers = [];
27818
+ if (featureFlags?.isEnabled("missingInputsQuickfix")) {
27819
+ providers.push(addMissingInputsProvider);
27820
+ }
27821
+ return providers;
27822
+ }
27823
+
27824
+ // ../languageservice/dist/code-actions/code-actions.js
27825
+ function getCodeActions(params) {
27826
+ const actions = [];
27827
+ const context = {
27828
+ uri: params.uri,
27829
+ documentContent: params.documentContent,
27830
+ featureFlags: params.featureFlags
27831
+ };
27832
+ const providersByKind = /* @__PURE__ */ new Map([
27833
+ [import_vscode_languageserver_types7.CodeActionKind.QuickFix, getQuickfixProviders(params.featureFlags)]
27834
+ // [CodeActionKind.Refactor, getRefactorProviders(params.featureFlags)],
27835
+ // [CodeActionKind.Source, getSourceProviders(params.featureFlags)],
27836
+ // etc
27837
+ ]);
27838
+ const requestedKinds = params.only;
27839
+ const kindsToCheck = requestedKinds ? [...providersByKind.keys()].filter((kind) => requestedKinds.some((requested) => kind.startsWith(requested))) : [...providersByKind.keys()];
27840
+ for (const diagnostic of params.diagnostics) {
27841
+ for (const kind of kindsToCheck) {
27842
+ const providers = providersByKind.get(kind) ?? [];
27843
+ for (const provider of providers) {
27844
+ if (provider.diagnosticCodes.includes(diagnostic.code)) {
27845
+ const action = provider.createCodeAction(context, diagnostic);
27846
+ if (action) {
27847
+ action.kind = kind;
27848
+ action.diagnostics = [diagnostic];
27849
+ actions.push(action);
27850
+ }
27851
+ }
27852
+ }
27853
+ }
27854
+ }
27855
+ return actions;
27856
+ }
27857
+
27619
27858
  // src/connection.ts
27620
27859
  var import_vscode_languageserver = __toESM(require_main7(), 1);
27621
27860
  var import_vscode_languageserver_textdocument2 = __toESM(require_main8(), 1);
@@ -31989,7 +32228,10 @@ function initConnection(connection) {
31989
32228
  documentLinkProvider: {
31990
32229
  resolveProvider: false
31991
32230
  },
31992
- inlayHintProvider: true
32231
+ inlayHintProvider: true,
32232
+ codeActionProvider: {
32233
+ codeActionKinds: [import_vscode_languageserver.CodeActionKind.QuickFix]
32234
+ }
31993
32235
  }
31994
32236
  };
31995
32237
  if (hasWorkspaceFolderCapability) {
@@ -32070,6 +32312,16 @@ function initConnection(connection) {
32070
32312
  return getInlayHints(getDocument(documents, textDocument));
32071
32313
  });
32072
32314
  });
32315
+ connection.onCodeAction((params) => {
32316
+ const document = getDocument(documents, params.textDocument);
32317
+ return getCodeActions({
32318
+ uri: params.textDocument.uri,
32319
+ documentContent: document.getText(),
32320
+ diagnostics: params.context.diagnostics,
32321
+ only: params.context.only,
32322
+ featureFlags
32323
+ });
32324
+ });
32073
32325
  documents.listen(connection);
32074
32326
  connection.listen();
32075
32327
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,UAAU,EAcX,MAAM,uBAAuB,CAAC;AAgB/B,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,QAqJpD"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAWA,OAAO,EAKL,UAAU,EAcX,MAAM,uBAAuB,CAAC;AAgB/B,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,QAmKpD"}
@@ -1,7 +1,7 @@
1
- import { documentLinks, getInlayHints, hover, validate } from "@actions/languageservice";
1
+ import { documentLinks, getCodeActions, getInlayHints, hover, validate } from "@actions/languageservice";
2
2
  import { registerLogger, setLogLevel } from "@actions/languageservice/log";
3
3
  import { clearCache, clearCacheEntry } from "@actions/languageservice/utils/workflow-cache";
4
- import { TextDocuments, TextDocumentSyncKind } from "vscode-languageserver";
4
+ import { CodeActionKind, TextDocuments, TextDocumentSyncKind } from "vscode-languageserver";
5
5
  import { TextDocument } from "vscode-languageserver-textdocument";
6
6
  import { getClient } from "./client.js";
7
7
  import { Commands } from "./commands.js";
@@ -49,7 +49,10 @@ export function initConnection(connection) {
49
49
  documentLinkProvider: {
50
50
  resolveProvider: false
51
51
  },
52
- inlayHintProvider: true
52
+ inlayHintProvider: true,
53
+ codeActionProvider: {
54
+ codeActionKinds: [CodeActionKind.QuickFix]
55
+ }
53
56
  }
54
57
  };
55
58
  if (hasWorkspaceFolderCapability) {
@@ -122,6 +125,16 @@ export function initConnection(connection) {
122
125
  return getInlayHints(getDocument(documents, textDocument));
123
126
  });
124
127
  });
128
+ connection.onCodeAction((params) => {
129
+ const document = getDocument(documents, params.textDocument);
130
+ return getCodeActions({
131
+ uri: params.textDocument.uri,
132
+ documentContent: document.getText(),
133
+ diagnostics: params.context.diagnostics,
134
+ only: params.context.only,
135
+ featureFlags
136
+ });
137
+ });
125
138
  // Make the text document manager listen on the connection
126
139
  // for open, change and close text document events
127
140
  documents.listen(connection);
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@actions/languageserver",
3
- "version": "0.3.35",
3
+ "version": "0.3.37",
4
4
  "description": "Language server for GitHub Actions",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -48,8 +48,8 @@
48
48
  "actions-languageserver": "./bin/actions-languageserver"
49
49
  },
50
50
  "dependencies": {
51
- "@actions/languageservice": "^0.3.35",
52
- "@actions/workflow-parser": "^0.3.35",
51
+ "@actions/languageservice": "^0.3.37",
52
+ "@actions/workflow-parser": "^0.3.37",
53
53
  "@octokit/rest": "^21.1.1",
54
54
  "@octokit/types": "^9.0.0",
55
55
  "vscode-languageserver": "^8.0.2",
@@ -78,5 +78,5 @@
78
78
  "ts-jest": "^29.0.3",
79
79
  "typescript": "^4.8.4"
80
80
  },
81
- "gitHead": "1baa74a67edfb7d408f60973333cca930e8a5044"
81
+ "gitHead": "2a203ec7425872a205972fca00460edea09f0b6b"
82
82
  }