@actions/languageservice 0.3.30 → 0.3.31

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.
Files changed (74) hide show
  1. package/dist/complete.d.ts.map +1 -1
  2. package/dist/complete.js +57 -38
  3. package/dist/complete.js.map +1 -1
  4. package/dist/context/action-context.d.ts +30 -0
  5. package/dist/context/action-context.d.ts.map +1 -0
  6. package/dist/context/action-context.js +86 -0
  7. package/dist/context/action-context.js.map +1 -0
  8. package/dist/context/workflow-context.d.ts +10 -0
  9. package/dist/context/workflow-context.d.ts.map +1 -1
  10. package/dist/context/workflow-context.js +10 -0
  11. package/dist/context/workflow-context.js.map +1 -1
  12. package/dist/context-providers/default.d.ts +10 -1
  13. package/dist/context-providers/default.d.ts.map +1 -1
  14. package/dist/context-providers/default.js +125 -27
  15. package/dist/context-providers/default.js.map +1 -1
  16. package/dist/context-providers/descriptions.min.json +1 -1
  17. package/dist/context-providers/github.d.ts +4 -1
  18. package/dist/context-providers/github.d.ts.map +1 -1
  19. package/dist/context-providers/github.js +6 -0
  20. package/dist/context-providers/github.js.map +1 -1
  21. package/dist/context-providers/job.d.ts +3 -0
  22. package/dist/context-providers/job.d.ts.map +1 -1
  23. package/dist/context-providers/job.js +23 -25
  24. package/dist/context-providers/job.js.map +1 -1
  25. package/dist/description-providers/reusable-job-inputs.d.ts +8 -0
  26. package/dist/description-providers/reusable-job-inputs.d.ts.map +1 -1
  27. package/dist/description-providers/reusable-job-inputs.js +8 -0
  28. package/dist/description-providers/reusable-job-inputs.js.map +1 -1
  29. package/dist/document-links.d.ts +3 -0
  30. package/dist/document-links.d.ts.map +1 -1
  31. package/dist/document-links.js +48 -3
  32. package/dist/document-links.js.map +1 -1
  33. package/dist/hover.d.ts +5 -1
  34. package/dist/hover.d.ts.map +1 -1
  35. package/dist/hover.js +81 -43
  36. package/dist/hover.js.map +1 -1
  37. package/dist/inlay-hints.d.ts.map +1 -1
  38. package/dist/inlay-hints.js +7 -2
  39. package/dist/inlay-hints.js.map +1 -1
  40. package/dist/utils/document-type.d.ts +22 -0
  41. package/dist/utils/document-type.d.ts.map +1 -0
  42. package/dist/utils/document-type.js +41 -0
  43. package/dist/utils/document-type.js.map +1 -0
  44. package/dist/utils/transform.d.ts +18 -0
  45. package/dist/utils/transform.d.ts.map +1 -1
  46. package/dist/utils/transform.js +18 -2
  47. package/dist/utils/transform.js.map +1 -1
  48. package/dist/utils/workflow-cache.d.ts +19 -6
  49. package/dist/utils/workflow-cache.d.ts.map +1 -1
  50. package/dist/utils/workflow-cache.js +51 -11
  51. package/dist/utils/workflow-cache.js.map +1 -1
  52. package/dist/validate-action-reference.d.ts +9 -0
  53. package/dist/validate-action-reference.d.ts.map +1 -0
  54. package/dist/validate-action-reference.js +82 -0
  55. package/dist/validate-action-reference.js.map +1 -0
  56. package/dist/validate-action.d.ts +12 -3
  57. package/dist/validate-action.d.ts.map +1 -1
  58. package/dist/validate-action.js +75 -57
  59. package/dist/validate-action.js.map +1 -1
  60. package/dist/validate.d.ts +1 -1
  61. package/dist/validate.d.ts.map +1 -1
  62. package/dist/validate.js +21 -8
  63. package/dist/validate.js.map +1 -1
  64. package/dist/value-providers/config.d.ts +2 -2
  65. package/dist/value-providers/config.d.ts.map +1 -1
  66. package/dist/value-providers/definition.d.ts +3 -1
  67. package/dist/value-providers/definition.d.ts.map +1 -1
  68. package/dist/value-providers/definition.js +12 -13
  69. package/dist/value-providers/definition.js.map +1 -1
  70. package/package.json +5 -5
  71. package/dist/context-providers/strategy.d.ts +0 -4
  72. package/dist/context-providers/strategy.d.ts.map +0 -1
  73. package/dist/context-providers/strategy.js +0 -40
  74. package/dist/context-providers/strategy.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"complete.d.ts","sourceRoot":"","sources":["../src/complete.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,aAAa,EAAC,MAAM,iDAAiD,CAAC;AAK9E,OAAO,EAAC,YAAY,EAAC,MAAM,kDAAkD,CAAC;AAE9E,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAC,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAC,cAAc,EAAyD,MAAM,6BAA6B,CAAC;AACnH,OAAO,EAAC,qBAAqB,EAAC,MAAM,+BAA+B,CAAC;AAWpE,OAAO,EAAQ,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AAIvE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAUrE;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,wBAAsB,QAAQ,CAC5B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,cAAc,EAAE,CAAC,CAiH3B;AAkND;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,EAAE,MAAM,EAAE,aAAa,2BAkCnF"}
1
+ {"version":3,"file":"complete.d.ts","sourceRoot":"","sources":["../src/complete.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,aAAa,EAAC,MAAM,iDAAiD,CAAC;AAK9E,OAAO,EAAC,YAAY,EAAC,MAAM,kDAAkD,CAAC;AAE9E,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAC,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAC,cAAc,EAAyD,MAAM,6BAA6B,CAAC;AACnH,OAAO,EAAC,qBAAqB,EAAC,MAAM,+BAA+B,CAAC;AAkBpE,OAAO,EAAQ,mBAAmB,EAAC,MAAM,6BAA6B,CAAC;AAIvE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAUrE;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,wBAAsB,QAAQ,CAC5B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,cAAc,EAAE,CAAC,CAmJ3B;AAuND;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,EAAE,MAAM,EAAE,aAAa,2BAkCnF"}
package/dist/complete.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { complete as completeExpression } from "@actions/expressions";
2
2
  import { isBasicExpression, isSequence, isString } from "@actions/workflow-parser";
3
+ import { getActionSchema } from "@actions/workflow-parser/actions/action-schema";
3
4
  import { ErrorPolicy } from "@actions/workflow-parser/model/convert";
4
5
  import { DefinitionType } from "@actions/workflow-parser/templates/schema/definition-type";
5
6
  import { OneOfDefinition } from "@actions/workflow-parser/templates/schema/one-of-definition";
@@ -7,16 +8,18 @@ import { OPEN_EXPRESSION } from "@actions/workflow-parser/templates/template-con
7
8
  import { TokenType } from "@actions/workflow-parser/templates/tokens/types";
8
9
  import { getWorkflowSchema } from "@actions/workflow-parser/workflows/workflow-schema";
9
10
  import { CompletionItemKind, CompletionItemTag, Range, TextEdit } from "vscode-languageserver-types";
10
- import { getContext, Mode } from "./context-providers/default.js";
11
+ import { getActionExpressionContext, getWorkflowExpressionContext, Mode } from "./context-providers/default.js";
12
+ import { getActionContext } from "./context/action-context.js";
11
13
  import { getWorkflowContext } from "./context/workflow-context.js";
12
14
  import { validatorFunctions } from "./expression-validation/functions.js";
13
15
  import { error } from "./log.js";
16
+ import { detectDocumentType } from "./utils/document-type.js";
14
17
  import { isPotentiallyExpression } from "./utils/expression-detection.js";
15
18
  import { findToken } from "./utils/find-token.js";
16
19
  import { guessIndentation } from "./utils/indentation-guesser.js";
17
20
  import { mapRange } from "./utils/range.js";
18
21
  import { isPlaceholder, transform } from "./utils/transform.js";
19
- import { fetchOrConvertWorkflowTemplate, fetchOrParseWorkflow } from "./utils/workflow-cache.js";
22
+ import { getOrConvertActionTemplate, getOrConvertWorkflowTemplate, getOrParseAction, getOrParseWorkflow } from "./utils/workflow-cache.js";
20
23
  import { defaultValueProviders } from "./value-providers/default.js";
21
24
  import { DefinitionValueMode, definitionValues } from "./value-providers/definition.js";
22
25
  export function getExpressionInput(input, pos) {
@@ -45,32 +48,45 @@ export async function complete(textDocument, position, config) {
45
48
  name: textDocument.uri,
46
49
  content: newDoc.getText()
47
50
  };
48
- const parsedWorkflow = fetchOrParseWorkflow(file, textDocument.uri, true);
49
- if (!parsedWorkflow.value) {
51
+ // Determine document type - unknown defaults to workflow (backwards compatibility)
52
+ const isAction = detectDocumentType(textDocument.uri) === "action";
53
+ // Parse the document
54
+ const parsedTemplate = isAction
55
+ ? getOrParseAction(file, textDocument.uri, true)
56
+ : getOrParseWorkflow(file, textDocument.uri, true);
57
+ if (!parsedTemplate.value) {
50
58
  return [];
51
59
  }
52
- const template = await fetchOrConvertWorkflowTemplate(parsedWorkflow.context, parsedWorkflow.value, textDocument.uri, config, {
53
- fetchReusableWorkflowDepth: config?.fileProvider ? 1 : 0,
54
- errorPolicy: ErrorPolicy.TryConversion
55
- });
56
- const { token, keyToken, parent, path } = findToken(newPos, parsedWorkflow.value);
57
- const workflowContext = getWorkflowContext(textDocument.uri, template, path);
58
- // If we are inside an expression, take a different code-path. The workflow parser does not correctly create
59
- // expression nodes for invalid expressions and during editing expressions are invalid most of the time.
60
- if (token) {
61
- if (isBasicExpression(token) || isPotentiallyExpression(token)) {
62
- const allowedContext = token.definitionInfo?.allowedContext || [];
63
- const context = await getContext(allowedContext, config?.contextProviderConfig, workflowContext, Mode.Completion);
64
- return getExpressionCompletionItems(token, context, newPos);
65
- }
60
+ const schema = isAction ? getActionSchema() : getWorkflowSchema();
61
+ const { token, keyToken, parent, path } = findToken(newPos, parsedTemplate.value);
62
+ // Build context for position-aware completions (e.g., steps.*, needs.*, inputs.*)
63
+ let workflowContext;
64
+ let actionContext;
65
+ if (isAction) {
66
+ const actionTemplate = getOrConvertActionTemplate(parsedTemplate.context, parsedTemplate.value, textDocument.uri, { errorPolicy: ErrorPolicy.TryConversion }, true);
67
+ actionContext = getActionContext(textDocument.uri, actionTemplate, path);
68
+ }
69
+ else {
70
+ const workflowTemplate = await getOrConvertWorkflowTemplate(parsedTemplate.context, parsedTemplate.value, textDocument.uri, config, {
71
+ fetchReusableWorkflowDepth: config?.fileProvider ? 1 : 0,
72
+ errorPolicy: ErrorPolicy.TryConversion
73
+ }, true);
74
+ workflowContext = workflowTemplate ? getWorkflowContext(textDocument.uri, workflowTemplate, path) : undefined;
75
+ }
76
+ // Expression completions
77
+ if (token && (isBasicExpression(token) || isPotentiallyExpression(token))) {
78
+ const allowedContext = token.definitionInfo?.allowedContext || [];
79
+ const context = isAction
80
+ ? getActionExpressionContext(allowedContext, config?.contextProviderConfig, actionContext, Mode.Completion)
81
+ : await getWorkflowExpressionContext(allowedContext, config?.contextProviderConfig, workflowContext, Mode.Completion);
82
+ return getExpressionCompletionItems(token, context, newPos);
66
83
  }
67
84
  const indentation = guessIndentation(newDoc, 2, true); // Use 2 spaces as default and most common for YAML
68
85
  const indentString = " ".repeat(indentation.tabSize);
69
- const values = await getValues(token, keyToken, parent, config?.valueProviderConfig, workflowContext, indentString);
70
- // Add escape hatch completions when completing an empty scalar value for a one-of field.
71
- // These provide a way out of "dead end" situations where no scalar completions exist
72
- // but alternative structural forms (list, mapping) are available.
73
- const escapeHatches = getEscapeHatchCompletions(token, keyToken, indentString, newPos);
86
+ // YAML key/value completions
87
+ const values = await getValues(token, keyToken, parent, config?.valueProviderConfig, workflowContext, indentString, schema);
88
+ // Offer "(switch to list)" / "(switch to mapping)" when the schema allows alternative forms
89
+ const escapeHatches = getEscapeHatchCompletions(token, keyToken, indentString, newPos, schema);
74
90
  values.push(...escapeHatches);
75
91
  // Figure out what text to replace when the user picks a completion.
76
92
  // For example, if they typed `runs-|` and pick `runs-on`, we need to replace `runs-`.
@@ -96,6 +112,7 @@ export async function complete(textDocument, position, config) {
96
112
  replaceRange = Range.create({ line: position.line, character: position.character - val }, position);
97
113
  }
98
114
  }
115
+ // Convert values to LSP CompletionItems
99
116
  return values.map(value => {
100
117
  const newText = value.insertText || value.label;
101
118
  // Escape hatches provide their own textEdit to restructure the YAML
@@ -111,7 +128,7 @@ export async function complete(textDocument, position, config) {
111
128
  }
112
129
  const item = {
113
130
  label: value.label,
114
- detail: value.detail,
131
+ labelDetails: value.labelDetail ? { description: value.labelDetail } : undefined,
115
132
  filterText: value.filterText,
116
133
  sortText: value.sortText,
117
134
  documentation: value.description && {
@@ -135,24 +152,27 @@ export async function complete(textDocument, position, config) {
135
152
  * The results are filtered to exclude duplicates (e.g., keys already defined in a mapping
136
153
  * or values already present in a sequence) and sorted alphabetically.
137
154
  */
138
- async function getValues(token, keyToken, parent, valueProviderConfig, workflowContext, indentation) {
155
+ async function getValues(token, keyToken, parent, valueProviderConfig, workflowContext, indentation, schema) {
139
156
  if (!parent) {
140
157
  return [];
141
158
  }
142
159
  const existingValues = getExistingValues(token, parent);
143
160
  // Use the value providers from the parent if the current key is null
144
161
  const valueProviderToken = keyToken || parent;
145
- const customValueProvider = valueProviderToken?.definition?.key && valueProviderConfig?.[valueProviderToken.definition.key];
146
- if (customValueProvider) {
147
- const customValues = await customValueProvider.get(workflowContext, existingValues);
148
- if (customValues) {
149
- return filterAndSortCompletionOptions(customValues, existingValues);
162
+ // Value providers require workflow context - only use them for workflows
163
+ if (workflowContext) {
164
+ const customValueProvider = valueProviderToken?.definition?.key && valueProviderConfig?.[valueProviderToken.definition.key];
165
+ if (customValueProvider) {
166
+ const customValues = await customValueProvider.get(workflowContext, existingValues);
167
+ if (customValues) {
168
+ return filterAndSortCompletionOptions(customValues, existingValues);
169
+ }
170
+ }
171
+ const defaultValueProvider = valueProviderToken?.definition?.key && defaultValueProviders[valueProviderToken.definition.key];
172
+ if (defaultValueProvider) {
173
+ const values = await defaultValueProvider.get(workflowContext, existingValues);
174
+ return filterAndSortCompletionOptions(values, existingValues);
150
175
  }
151
- }
152
- const defaultValueProvider = valueProviderToken?.definition?.key && defaultValueProviders[valueProviderToken.definition.key];
153
- if (defaultValueProvider) {
154
- const values = await defaultValueProvider.get(workflowContext, existingValues);
155
- return filterAndSortCompletionOptions(values, existingValues);
156
176
  }
157
177
  // Use the definition if there are no value providers
158
178
  const def = keyToken?.definition || parent.definition;
@@ -163,7 +183,7 @@ async function getValues(token, keyToken, parent, valueProviderConfig, workflowC
163
183
  // only suggest completions that match what the user has already started typing.
164
184
  // For example, if they've started a mapping, don't suggest string values.
165
185
  const tokenStructure = getTokenStructure(token);
166
- const values = definitionValues(def, indentation, keyToken ? DefinitionValueMode.Key : DefinitionValueMode.Parent, tokenStructure);
186
+ const values = definitionValues(def, indentation, keyToken ? DefinitionValueMode.Key : DefinitionValueMode.Parent, tokenStructure, schema);
167
187
  return filterAndSortCompletionOptions(values, existingValues);
168
188
  }
169
189
  /**
@@ -215,7 +235,7 @@ function getTokenStructure(token) {
215
235
  * - Value is empty (user hasn't committed to a structure yet)
216
236
  * - Definition allows sequence or mapping structure
217
237
  */
218
- function getEscapeHatchCompletions(token, keyToken, indentation, position) {
238
+ function getEscapeHatchCompletions(token, keyToken, indentation, position, schema) {
219
239
  // Only show escape hatches when value is empty
220
240
  const tokenStructure = getTokenStructure(token);
221
241
  if (tokenStructure !== undefined) {
@@ -227,7 +247,6 @@ function getEscapeHatchCompletions(token, keyToken, indentation, position) {
227
247
  }
228
248
  // Determine which structural types are available from the definition
229
249
  const def = keyToken.definition;
230
- const schema = getWorkflowSchema();
231
250
  const buckets = {
232
251
  sequence: false,
233
252
  mapping: false
@@ -1 +1 @@
1
- {"version":3,"file":"complete.js","sourceRoot":"","sources":["../src/complete.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"complete.js","sourceRoot":"","sources":["../src/complete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { ActionInputDefinition, ActionTemplate } from "@actions/workflow-parser/actions/action-template";
2
+ import { Step } from "@actions/workflow-parser/model/workflow-template";
3
+ import { TemplateToken } from "@actions/workflow-parser/templates/tokens/template-token";
4
+ /**
5
+ * Context information for an action.yml file, used to provide
6
+ * expression completion with action-specific values.
7
+ */
8
+ export interface ActionContext {
9
+ uri: string;
10
+ /** The converted action template */
11
+ template: ActionTemplate | undefined;
12
+ /** If the context is for a position within a composite step, this will be the step */
13
+ step?: Step;
14
+ }
15
+ /**
16
+ * Build context from a converted action template and token path.
17
+ * Similar to getWorkflowContext but for action files.
18
+ */
19
+ export declare function getActionContext(uri: string, template: ActionTemplate | undefined, tokenPath: TemplateToken[]): ActionContext;
20
+ /**
21
+ * Get input definitions from the action template.
22
+ */
23
+ export declare function getActionInputs(template: ActionTemplate | undefined): ActionInputDefinition[];
24
+ /**
25
+ * Get step IDs from composite action steps that appear before the current step.
26
+ * This is used for `steps.<id>` context completion - you can only reference
27
+ * steps that have already run.
28
+ */
29
+ export declare function getActionStepIdsBefore(context: ActionContext): string[];
30
+ //# sourceMappingURL=action-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-context.d.ts","sourceRoot":"","sources":["../../src/context/action-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,qBAAqB,EAAE,cAAc,EAAC,MAAM,kDAAkD,CAAC;AACvG,OAAO,EAAC,IAAI,EAAC,MAAM,kDAAkD,CAAC;AAGtE,OAAO,EAAC,aAAa,EAAC,MAAM,0DAA0D,CAAC;AAEvF;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IAEZ,oCAAoC;IACpC,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAC;IAErC,sFAAsF;IACtF,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,cAAc,GAAG,SAAS,EACpC,SAAS,EAAE,aAAa,EAAE,GACzB,aAAa,CAkCf;AAsBD;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,GAAG,qBAAqB,EAAE,CAE7F;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,EAAE,CAwBvE"}
@@ -0,0 +1,86 @@
1
+ import { isMapping } from "@actions/workflow-parser";
2
+ import { SequenceToken } from "@actions/workflow-parser/templates/tokens/sequence-token";
3
+ /**
4
+ * Build context from a converted action template and token path.
5
+ * Similar to getWorkflowContext but for action files.
6
+ */
7
+ export function getActionContext(uri, template, tokenPath) {
8
+ const context = { uri, template };
9
+ if (!template) {
10
+ return context;
11
+ }
12
+ // Only composite actions have steps
13
+ if (template.runs?.using !== "composite") {
14
+ return context;
15
+ }
16
+ const compositeRuns = template.runs;
17
+ if (!compositeRuns.steps?.length) {
18
+ return context;
19
+ }
20
+ // Find the current step from the token path
21
+ let stepsSequence;
22
+ let stepToken;
23
+ for (const token of tokenPath) {
24
+ const defKey = token.definition?.key;
25
+ if (defKey === "composite-steps" && token instanceof SequenceToken) {
26
+ stepsSequence = token;
27
+ }
28
+ else if ((defKey === "run-step" || defKey === "uses-step") && isMapping(token)) {
29
+ stepToken = token;
30
+ }
31
+ }
32
+ if (stepsSequence && stepToken) {
33
+ context.step = findStep(compositeRuns.steps, stepsSequence, stepToken);
34
+ }
35
+ return context;
36
+ }
37
+ /**
38
+ * Find the Step that corresponds to the given step token.
39
+ */
40
+ function findStep(steps, stepsSequence, stepToken) {
41
+ // Find the step by matching index in the sequence
42
+ let stepIndex = -1;
43
+ for (let i = 0; i < stepsSequence.count; i++) {
44
+ if (stepsSequence.get(i) === stepToken) {
45
+ stepIndex = i;
46
+ break;
47
+ }
48
+ }
49
+ if (stepIndex === -1 || stepIndex >= steps.length) {
50
+ return undefined;
51
+ }
52
+ return steps[stepIndex];
53
+ }
54
+ /**
55
+ * Get input definitions from the action template.
56
+ */
57
+ export function getActionInputs(template) {
58
+ return template?.inputs ?? [];
59
+ }
60
+ /**
61
+ * Get step IDs from composite action steps that appear before the current step.
62
+ * This is used for `steps.<id>` context completion - you can only reference
63
+ * steps that have already run.
64
+ */
65
+ export function getActionStepIdsBefore(context) {
66
+ const template = context.template;
67
+ if (!template || template.runs?.using !== "composite") {
68
+ return [];
69
+ }
70
+ const compositeRuns = template.runs;
71
+ const steps = compositeRuns.steps ?? [];
72
+ const currentStep = context.step;
73
+ const stepIds = [];
74
+ for (const step of steps) {
75
+ // Stop when we reach the current step
76
+ if (currentStep && step === currentStep) {
77
+ break;
78
+ }
79
+ // Only include steps with explicit IDs
80
+ if (step.id) {
81
+ stepIds.push(step.id);
82
+ }
83
+ }
84
+ return stepIds;
85
+ }
86
+ //# sourceMappingURL=action-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-context.js","sourceRoot":"","sources":["../../src/context/action-context.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import { WorkflowTemplate } from "@actions/workflow-parser";
2
2
  import { Job, ReusableWorkflowJob, Step } from "@actions/workflow-parser/model/workflow-template";
3
3
  import { TemplateToken } from "@actions/workflow-parser/templates/tokens/template-token";
4
+ /**
5
+ * Represents the contextual position within a workflow file.
6
+ * Used to determine which expression contexts are available at a given location.
7
+ */
4
8
  export interface WorkflowContext {
5
9
  uri: string;
6
10
  template: WorkflowTemplate | undefined;
@@ -11,5 +15,11 @@ export interface WorkflowContext {
11
15
  /** If the context is for a position within a step, this will be the step */
12
16
  step?: Step;
13
17
  }
18
+ /**
19
+ * Builds a WorkflowContext by walking the token path to identify the current job and step.
20
+ * @param uri - The URI of the workflow file
21
+ * @param template - The parsed workflow template
22
+ * @param tokenPath - The path of tokens from root to the current position
23
+ */
14
24
  export declare function getWorkflowContext(uri: string, template: WorkflowTemplate | undefined, tokenPath: TemplateToken[]): WorkflowContext;
15
25
  //# sourceMappingURL=workflow-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-context.d.ts","sourceRoot":"","sources":["../../src/context/workflow-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAC,MAAM,kDAAkD,CAAC;AAIhG,OAAO,EAAC,aAAa,EAAC,MAAM,0DAA0D,CAAC;AAEvF,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IAEZ,QAAQ,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAEvC,kFAAkF;IAClF,GAAG,CAAC,EAAE,GAAG,CAAC;IAEV,8GAA8G;IAC9G,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C,4EAA4E;IAC5E,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,gBAAgB,GAAG,SAAS,EACtC,SAAS,EAAE,aAAa,EAAE,GACzB,eAAe,CA8CjB"}
1
+ {"version":3,"file":"workflow-context.d.ts","sourceRoot":"","sources":["../../src/context/workflow-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAAC,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAC,MAAM,kDAAkD,CAAC;AAIhG,OAAO,EAAC,aAAa,EAAC,MAAM,0DAA0D,CAAC;AAEvF;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IAEZ,QAAQ,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAEvC,kFAAkF;IAClF,GAAG,CAAC,EAAE,GAAG,CAAC;IAEV,8GAA8G;IAC9G,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAE1C,4EAA4E;IAC5E,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,gBAAgB,GAAG,SAAS,EACtC,SAAS,EAAE,aAAa,EAAE,GACzB,eAAe,CA8CjB"}
@@ -1,5 +1,11 @@
1
1
  import { isMapping, isSequence } from "@actions/workflow-parser";
2
2
  import { isJob, isReusableWorkflowJob } from "@actions/workflow-parser/model/type-guards";
3
+ /**
4
+ * Builds a WorkflowContext by walking the token path to identify the current job and step.
5
+ * @param uri - The URI of the workflow file
6
+ * @param template - The parsed workflow template
7
+ * @param tokenPath - The path of tokens from root to the current position
8
+ */
3
9
  export function getWorkflowContext(uri, template, tokenPath) {
4
10
  const context = { uri: uri, template };
5
11
  if (!template) {
@@ -44,6 +50,10 @@ export function getWorkflowContext(uri, template, tokenPath) {
44
50
  }
45
51
  return context;
46
52
  }
53
+ /**
54
+ * Finds a Step by matching the step token's position in the steps sequence.
55
+ * Steps may not have IDs, so we locate them by index rather than by identifier.
56
+ */
47
57
  function findStep(steps, stepSequence, stepToken) {
48
58
  if (!steps || !stepSequence || !stepToken) {
49
59
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-context.js","sourceRoot":"","sources":["../../src/context/workflow-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,UAAU,EAAmB,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAC,KAAK,EAAE,qBAAqB,EAAC,MAAM,4CAA4C,CAAC;AAsBxF,MAAM,UAAU,kBAAkB,CAChC,GAAW,EACX,QAAsC,EACtC,SAA0B;IAE1B,MAAM,OAAO,GAAoB,EAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAC,CAAC;IACtD,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,OAAO,CAAC;KAChB;IAED,IAAI,aAAa,GAA8B,SAAS,CAAC;IACzD,IAAI,SAAS,GAA6B,SAAS,CAAC;IAEpD,0DAA0D;IAC1D,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;QAC7B,QAAQ,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE;YAC7B,KAAK,KAAK,CAAC,CAAC;gBACV,MAAM,KAAK,GAAI,KAAqB,CAAC,KAAK,CAAC;gBAC3C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;gBAC9D,IAAI,CAAC,GAAG,EAAE;oBACR,MAAM;iBACP;gBACD,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;oBACd,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;iBACnB;qBAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE;oBACrC,OAAO,CAAC,mBAAmB,GAAG,GAAG,CAAC;iBACnC;gBACD,MAAM;aACP;YACD,KAAK,OAAO,CAAC,CAAC;gBACZ,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;oBACrB,aAAa,GAAG,KAAK,CAAC;iBACvB;gBACD,MAAM;aACP;YACD,KAAK,cAAc,CAAC;YACpB,KAAK,UAAU,CAAC,CAAC;gBACf,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;oBACpB,SAAS,GAAG,KAAK,CAAC;iBACnB;gBACD,MAAM;aACP;SACF;KACF;IAED,IAAI,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACrC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;KACtE;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc,EAAE,YAA4B,EAAE,SAAwB;IACtF,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,EAAE;QACzC,OAAO,SAAS,CAAC;KAClB;IAED,wDAAwD;IACxD,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC3C,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;YACrC,SAAS,GAAG,CAAC,CAAC;YACd,MAAM;SACP;KACF;IAED,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE;QACjD,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"workflow-context.js","sourceRoot":"","sources":["../../src/context/workflow-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,UAAU,EAAmB,MAAM,0BAA0B,CAAC;AACjF,OAAO,EAAC,KAAK,EAAE,qBAAqB,EAAC,MAAM,4CAA4C,CAAC;AA0BxF;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAW,EACX,QAAsC,EACtC,SAA0B;IAE1B,MAAM,OAAO,GAAoB,EAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAC,CAAC;IACtD,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,OAAO,CAAC;KAChB;IAED,IAAI,aAAa,GAA8B,SAAS,CAAC;IACzD,IAAI,SAAS,GAA6B,SAAS,CAAC;IAEpD,0DAA0D;IAC1D,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;QAC7B,QAAQ,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE;YAC7B,KAAK,KAAK,CAAC,CAAC;gBACV,MAAM,KAAK,GAAI,KAAqB,CAAC,KAAK,CAAC;gBAC3C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;gBAC9D,IAAI,CAAC,GAAG,EAAE;oBACR,MAAM;iBACP;gBACD,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;oBACd,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;iBACnB;qBAAM,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE;oBACrC,OAAO,CAAC,mBAAmB,GAAG,GAAG,CAAC;iBACnC;gBACD,MAAM;aACP;YACD,KAAK,OAAO,CAAC,CAAC;gBACZ,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;oBACrB,aAAa,GAAG,KAAK,CAAC;iBACvB;gBACD,MAAM;aACP;YACD,KAAK,cAAc,CAAC;YACpB,KAAK,UAAU,CAAC,CAAC;gBACf,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;oBACpB,SAAS,GAAG,KAAK,CAAC;iBACnB;gBACD,MAAM;aACP;SACF;KACF;IAED,IAAI,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACrC,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;KACtE;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,SAAS,QAAQ,CAAC,KAAc,EAAE,YAA4B,EAAE,SAAwB;IACtF,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,SAAS,EAAE;QACzC,OAAO,SAAS,CAAC;KAClB;IAED,wDAAwD;IACxD,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAC3C,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;YACrC,SAAS,GAAG,CAAC,CAAC;YACd,MAAM;SACP;KACF;IAED,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE;QACjD,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC;AAC1B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { data, DescriptionDictionary } from "@actions/expressions";
2
+ import { ActionContext } from "../context/action-context.js";
2
3
  import { WorkflowContext } from "../context/workflow-context.js";
3
4
  import { ContextProviderConfig } from "./config.js";
4
5
  export type ContextValue = DescriptionDictionary | data.Null;
@@ -7,5 +8,13 @@ export declare enum Mode {
7
8
  Validation = 1,
8
9
  Hover = 2
9
10
  }
10
- export declare function getContext(names: string[], config: ContextProviderConfig | undefined, workflowContext: WorkflowContext, mode: Mode): Promise<DescriptionDictionary>;
11
+ /**
12
+ * Build expression context for workflow files (e.g., github.*, steps.*, needs.*)
13
+ */
14
+ export declare function getWorkflowExpressionContext(names: string[], config: ContextProviderConfig | undefined, workflowContext: WorkflowContext | undefined, mode: Mode): Promise<DescriptionDictionary>;
15
+ /**
16
+ * Get context for expression completion in action.yml files.
17
+ * Actions have a more limited set of contexts available compared to workflows.
18
+ */
19
+ export declare function getActionExpressionContext(names: string[], config: ContextProviderConfig | undefined, actionContext: ActionContext | undefined, mode: Mode): DescriptionDictionary;
11
20
  //# sourceMappingURL=default.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/context-providers/default.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,qBAAqB,EAAC,MAAM,aAAa,CAAC;AAelD,MAAM,MAAM,YAAY,GAAG,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC;AAE7D,oBAAY,IAAI;IACd,UAAU,IAAA;IACV,UAAU,IAAA;IACV,KAAK,IAAA;CACN;AAED,wBAAsB,UAAU,CAC9B,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,qBAAqB,GAAG,SAAS,EACzC,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,qBAAqB,CAAC,CA0BhC"}
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/context-providers/default.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAC,aAAa,EAA0C,MAAM,8BAA8B,CAAC;AACpG,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,qBAAqB,EAAC,MAAM,aAAa,CAAC;AAclD,MAAM,MAAM,YAAY,GAAG,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC;AAE7D,oBAAY,IAAI;IACd,UAAU,IAAA;IACV,UAAU,IAAA;IACV,KAAK,IAAA;CACN;AAED;;GAEG;AACH,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,qBAAqB,GAAG,SAAS,EACzC,eAAe,EAAE,eAAe,GAAG,SAAS,EAC5C,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,qBAAqB,CAAC,CA4BhC;AA2FD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,qBAAqB,GAAG,SAAS,EACzC,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,IAAI,EAAE,IAAI,GACT,qBAAqB,CAWvB"}