@actions/languageservice 0.3.30 → 0.3.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/complete.d.ts.map +1 -1
- package/dist/complete.js +57 -40
- package/dist/complete.js.map +1 -1
- package/dist/context/action-context.d.ts +30 -0
- package/dist/context/action-context.d.ts.map +1 -0
- package/dist/context/action-context.js +86 -0
- package/dist/context/action-context.js.map +1 -0
- package/dist/context/workflow-context.d.ts +10 -0
- package/dist/context/workflow-context.d.ts.map +1 -1
- package/dist/context/workflow-context.js +10 -0
- package/dist/context/workflow-context.js.map +1 -1
- package/dist/context-providers/default.d.ts +10 -1
- package/dist/context-providers/default.d.ts.map +1 -1
- package/dist/context-providers/default.js +125 -27
- package/dist/context-providers/default.js.map +1 -1
- package/dist/context-providers/descriptions.min.json +1 -1
- package/dist/context-providers/github.d.ts +4 -1
- package/dist/context-providers/github.d.ts.map +1 -1
- package/dist/context-providers/github.js +6 -0
- package/dist/context-providers/github.js.map +1 -1
- package/dist/context-providers/job.d.ts +3 -0
- package/dist/context-providers/job.d.ts.map +1 -1
- package/dist/context-providers/job.js +23 -25
- package/dist/context-providers/job.js.map +1 -1
- package/dist/description-providers/reusable-job-inputs.d.ts +8 -0
- package/dist/description-providers/reusable-job-inputs.d.ts.map +1 -1
- package/dist/description-providers/reusable-job-inputs.js +8 -0
- package/dist/description-providers/reusable-job-inputs.js.map +1 -1
- package/dist/document-links.d.ts +3 -0
- package/dist/document-links.d.ts.map +1 -1
- package/dist/document-links.js +48 -3
- package/dist/document-links.js.map +1 -1
- package/dist/hover.d.ts +5 -1
- package/dist/hover.d.ts.map +1 -1
- package/dist/hover.js +81 -43
- package/dist/hover.js.map +1 -1
- package/dist/inlay-hints.d.ts.map +1 -1
- package/dist/inlay-hints.js +7 -2
- package/dist/inlay-hints.js.map +1 -1
- package/dist/utils/document-type.d.ts +22 -0
- package/dist/utils/document-type.d.ts.map +1 -0
- package/dist/utils/document-type.js +41 -0
- package/dist/utils/document-type.js.map +1 -0
- package/dist/utils/transform.d.ts +18 -0
- package/dist/utils/transform.d.ts.map +1 -1
- package/dist/utils/transform.js +18 -2
- package/dist/utils/transform.js.map +1 -1
- package/dist/utils/workflow-cache.d.ts +19 -6
- package/dist/utils/workflow-cache.d.ts.map +1 -1
- package/dist/utils/workflow-cache.js +51 -11
- package/dist/utils/workflow-cache.js.map +1 -1
- package/dist/validate-action-reference.d.ts +9 -0
- package/dist/validate-action-reference.d.ts.map +1 -0
- package/dist/validate-action-reference.js +82 -0
- package/dist/validate-action-reference.js.map +1 -0
- package/dist/validate-action.d.ts +12 -3
- package/dist/validate-action.d.ts.map +1 -1
- package/dist/validate-action.js +75 -57
- package/dist/validate-action.js.map +1 -1
- package/dist/validate.d.ts +1 -1
- package/dist/validate.d.ts.map +1 -1
- package/dist/validate.js +21 -8
- package/dist/validate.js.map +1 -1
- package/dist/value-providers/config.d.ts +2 -2
- package/dist/value-providers/config.d.ts.map +1 -1
- package/dist/value-providers/definition.d.ts +3 -1
- package/dist/value-providers/definition.d.ts.map +1 -1
- package/dist/value-providers/definition.js +12 -13
- package/dist/value-providers/definition.js.map +1 -1
- package/package.json +5 -5
- package/dist/context-providers/strategy.d.ts +0 -4
- package/dist/context-providers/strategy.d.ts.map +0 -1
- package/dist/context-providers/strategy.js +0 -40
- package/dist/context-providers/strategy.js.map +0 -1
package/dist/complete.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complete.d.ts","sourceRoot":"","sources":["../src/complete.ts"],"names":[],"mappings":"
|
|
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;AAqND;;;;;;;;;;;;;;;;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 {
|
|
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 {
|
|
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
|
-
|
|
49
|
-
|
|
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
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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
|
-
|
|
70
|
-
|
|
71
|
-
//
|
|
72
|
-
|
|
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
|
-
|
|
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
|
-
|
|
146
|
-
if (
|
|
147
|
-
const
|
|
148
|
-
if (
|
|
149
|
-
|
|
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
|
|
@@ -275,7 +294,6 @@ function getEscapeHatchCompletions(token, keyToken, indentation, position) {
|
|
|
275
294
|
results.push({
|
|
276
295
|
label: "(switch to list)",
|
|
277
296
|
sortText: "zzz_switch_1",
|
|
278
|
-
filterText: keyName,
|
|
279
297
|
textEdit: {
|
|
280
298
|
range: editRange,
|
|
281
299
|
newText: `${keyName}:\n${indentation}- `
|
|
@@ -286,7 +304,6 @@ function getEscapeHatchCompletions(token, keyToken, indentation, position) {
|
|
|
286
304
|
results.push({
|
|
287
305
|
label: "(switch to mapping)",
|
|
288
306
|
sortText: "zzz_switch_2",
|
|
289
|
-
filterText: keyName,
|
|
290
307
|
textEdit: {
|
|
291
308
|
range: editRange,
|
|
292
309
|
newText: `${keyName}:\n${indentation}`
|
package/dist/complete.js.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
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;
|
|
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"}
|