@h-rig/standard-plugin 0.0.6-alpha.142 → 0.0.6-alpha.144
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/src/blocker-classifier.d.ts +1 -0
- package/dist/src/blocker-classifier.js +18 -0
- package/dist/src/bundle.d.ts +6 -5
- package/dist/src/bundle.js +1554 -1305
- package/dist/src/cli-surface.d.ts +5 -0
- package/dist/src/cli-surface.js +55 -0
- package/dist/src/default-lifecycle.d.ts +2 -0
- package/dist/src/default-lifecycle.js +12 -0
- package/dist/src/dependency-graph.d.ts +1 -0
- package/dist/src/dependency-graph.js +22 -0
- package/dist/src/drift/metadata.d.ts +13 -0
- package/dist/src/drift/metadata.js +33 -0
- package/dist/src/drift/plugin.d.ts +4 -14
- package/dist/src/drift/plugin.js +4 -5
- package/dist/src/github-issues-source.js +73 -30
- package/dist/src/index.d.ts +7 -3
- package/dist/src/index.js +1636 -1397
- package/dist/src/lifecycle-closeout.d.ts +2 -0
- package/dist/src/lifecycle-closeout.js +6 -0
- package/dist/src/planning.d.ts +1 -0
- package/dist/src/planning.js +14 -0
- package/dist/src/plugin.d.ts +9 -11
- package/dist/src/plugin.js +1515 -1386
- package/dist/src/product-entrypoint.d.ts +3 -0
- package/dist/src/product-entrypoint.js +6 -0
- package/dist/src/product-plugin.d.ts +3 -0
- package/dist/src/product-plugin.js +18 -0
- package/dist/src/run-worker-panels.d.ts +15 -0
- package/dist/src/run-worker-panels.js +53 -0
- package/dist/src/supervisor.d.ts +1 -0
- package/dist/src/supervisor.js +12 -0
- package/dist/src/task-cli.d.ts +1 -0
- package/dist/src/task-cli.js +14 -0
- package/package.json +54 -8
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { RigPluginWithRuntime } from "@rig/core/config";
|
|
2
|
+
import type { CliCommandRegistration } from "@rig/contracts";
|
|
3
|
+
export declare const STANDARD_CLI_SURFACE_PLUGIN_NAME = "@rig/standard-plugin:cli-surface";
|
|
4
|
+
export declare const STANDARD_CLI_SURFACE_COMMAND_METADATA: readonly CliCommandRegistration[];
|
|
5
|
+
export declare const standardCliSurfacePlugin: RigPluginWithRuntime;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
// packages/standard-plugin/src/cli-surface.ts
|
|
3
|
+
var STANDARD_CLI_SURFACE_PLUGIN_NAME = "@rig/standard-plugin:cli-surface";
|
|
4
|
+
function standardCliCommand(family, options) {
|
|
5
|
+
return {
|
|
6
|
+
id: `${STANDARD_CLI_SURFACE_PLUGIN_NAME}:${family}`,
|
|
7
|
+
family,
|
|
8
|
+
description: options.description,
|
|
9
|
+
...options.usage ? { usage: options.usage } : {},
|
|
10
|
+
...options.aliases ? { aliases: [...options.aliases] } : {},
|
|
11
|
+
projectRequired: options.projectRequired ?? false
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
var STANDARD_CLI_SURFACE_COMMAND_METADATA = [
|
|
15
|
+
standardCliCommand("init", { description: "Initialize Rig project configuration." }),
|
|
16
|
+
standardCliCommand("setup", { description: "Install and inspect local Rig setup." }),
|
|
17
|
+
standardCliCommand("check", { description: "Run Rig setup checks.", usage: "rig check" }),
|
|
18
|
+
standardCliCommand("install", { description: "Install Rig distribution artifacts.", usage: "rig install [options]" }),
|
|
19
|
+
standardCliCommand("github", { description: "Manage GitHub auth and integration state." }),
|
|
20
|
+
standardCliCommand("doctor", { description: "Inspect Rig environment health." }),
|
|
21
|
+
standardCliCommand("repo", { description: "Manage repository state.", projectRequired: true }),
|
|
22
|
+
standardCliCommand("profile", { description: "Manage runtime profile settings." }),
|
|
23
|
+
standardCliCommand("review", { description: "Run review helpers.", projectRequired: true }),
|
|
24
|
+
standardCliCommand("git", { description: "Run Rig git automation.", projectRequired: true }),
|
|
25
|
+
standardCliCommand("harness", { description: "Inspect native harness integration." }),
|
|
26
|
+
standardCliCommand("pi", { description: "Inspect Pi/OMP runtime integration." }),
|
|
27
|
+
standardCliCommand("plugin", { description: "Inspect and run plugin compatibility commands." }),
|
|
28
|
+
standardCliCommand("queue", { description: "Inspect dispatch queue state.", projectRequired: true }),
|
|
29
|
+
standardCliCommand("agent", { description: "Run agent lifecycle helpers.", projectRequired: true }),
|
|
30
|
+
standardCliCommand("dist", { description: "Build and inspect Rig distributions." }),
|
|
31
|
+
standardCliCommand("workspace", { description: "Inspect workspace topology." }),
|
|
32
|
+
standardCliCommand("remote", { description: "Manage remote endpoints." }),
|
|
33
|
+
standardCliCommand("test", { description: "Run Rig test helpers." }),
|
|
34
|
+
standardCliCommand("inspect", { description: "Inspect live/project Rig state." }),
|
|
35
|
+
standardCliCommand("run", { description: "Dispatch and inspect runs.", projectRequired: true }),
|
|
36
|
+
standardCliCommand("task", { description: "List and inspect task-source tasks.", projectRequired: true }),
|
|
37
|
+
standardCliCommand("inbox", { description: "Inspect and resolve run inbox items.", projectRequired: true }),
|
|
38
|
+
standardCliCommand("stats", { description: "Inspect run statistics.", projectRequired: true }),
|
|
39
|
+
standardCliCommand("server", { description: "Manage selected local/remote execution server.", projectRequired: true }),
|
|
40
|
+
standardCliCommand("config", { description: "Inspect Rig configuration." }),
|
|
41
|
+
standardCliCommand("triage", { description: "Run issue triage helpers.", projectRequired: true })
|
|
42
|
+
];
|
|
43
|
+
var standardCliSurfacePlugin = {
|
|
44
|
+
name: STANDARD_CLI_SURFACE_PLUGIN_NAME,
|
|
45
|
+
version: "0.0.0-alpha.1",
|
|
46
|
+
contributes: {
|
|
47
|
+
capabilities: [{ id: "surface.cli", title: "Rig CLI surface", description: "Registry-dispatched command-line surface." }],
|
|
48
|
+
cliCommands: STANDARD_CLI_SURFACE_COMMAND_METADATA
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
export {
|
|
52
|
+
standardCliSurfacePlugin,
|
|
53
|
+
STANDARD_CLI_SURFACE_PLUGIN_NAME,
|
|
54
|
+
STANDARD_CLI_SURFACE_COMMAND_METADATA
|
|
55
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
// packages/standard-plugin/src/default-lifecycle.ts
|
|
3
|
+
import {
|
|
4
|
+
DEFAULT_LIFECYCLE_PLUGIN_ID,
|
|
5
|
+
createDefaultLifecyclePlugin,
|
|
6
|
+
defaultLifecyclePlugin
|
|
7
|
+
} from "@rig/bundle-default-lifecycle/plugin";
|
|
8
|
+
export {
|
|
9
|
+
defaultLifecyclePlugin,
|
|
10
|
+
createDefaultLifecyclePlugin,
|
|
11
|
+
DEFAULT_LIFECYCLE_PLUGIN_ID
|
|
12
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DEPENDENCY_GRAPH_CLI_ID, DEPENDENCY_GRAPH_PANEL_ID, EPICS_PANEL_ID, PEOPLE_PANEL_ID, WORKSPACE_STATUS_CLI_ID, WORKSPACE_SUMMARY_CLI_ID, createDependencyGraphPlugin, dependencyGraphPlugin, } from "@rig/dependency-graph-plugin/plugin";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
// packages/standard-plugin/src/dependency-graph.ts
|
|
3
|
+
import {
|
|
4
|
+
DEPENDENCY_GRAPH_CLI_ID,
|
|
5
|
+
DEPENDENCY_GRAPH_PANEL_ID,
|
|
6
|
+
EPICS_PANEL_ID,
|
|
7
|
+
PEOPLE_PANEL_ID,
|
|
8
|
+
WORKSPACE_STATUS_CLI_ID,
|
|
9
|
+
WORKSPACE_SUMMARY_CLI_ID,
|
|
10
|
+
createDependencyGraphPlugin,
|
|
11
|
+
dependencyGraphPlugin
|
|
12
|
+
} from "@rig/dependency-graph-plugin/plugin";
|
|
13
|
+
export {
|
|
14
|
+
dependencyGraphPlugin,
|
|
15
|
+
createDependencyGraphPlugin,
|
|
16
|
+
WORKSPACE_SUMMARY_CLI_ID,
|
|
17
|
+
WORKSPACE_STATUS_CLI_ID,
|
|
18
|
+
PEOPLE_PANEL_ID,
|
|
19
|
+
EPICS_PANEL_ID,
|
|
20
|
+
DEPENDENCY_GRAPH_PANEL_ID,
|
|
21
|
+
DEPENDENCY_GRAPH_CLI_ID
|
|
22
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type StageMutation, type ValidatorRegistration } from "@rig/contracts";
|
|
2
|
+
export interface DocsDriftPluginOptions {
|
|
3
|
+
readonly docsGlobs?: readonly string[];
|
|
4
|
+
readonly ignoreGlobs?: readonly string[];
|
|
5
|
+
readonly failOnDrift?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare const DOCS_DRIFT_VALIDATOR_ID = "std:docs-drift";
|
|
8
|
+
export declare const DOCS_DRIFT_CLI_ID = "std:drift";
|
|
9
|
+
export declare const DOCS_DRIFT_STAGE_ID = "docs-drift";
|
|
10
|
+
export declare const DOCS_DRIFT_CAPABILITY_ID = "std:docs-drift-capability";
|
|
11
|
+
export declare const DOCS_DRIFT_VALIDATOR: ValidatorRegistration;
|
|
12
|
+
export declare const DOCS_DRIFT_STAGE_MUTATION: StageMutation;
|
|
13
|
+
export declare const DOCS_DRIFT_CLI_COMMAND = "rig drift [--docs <csv>] [--ignore <csv>] [--fail-on-drift] [--json]";
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
// packages/standard-plugin/src/drift/metadata.ts
|
|
3
|
+
import { Schema } from "effect";
|
|
4
|
+
import { StageMutation as StageMutationSchema } from "@rig/contracts";
|
|
5
|
+
var DOCS_DRIFT_VALIDATOR_ID = "std:docs-drift";
|
|
6
|
+
var DOCS_DRIFT_CLI_ID = "std:drift";
|
|
7
|
+
var DOCS_DRIFT_STAGE_ID = "docs-drift";
|
|
8
|
+
var DOCS_DRIFT_CAPABILITY_ID = "std:docs-drift-capability";
|
|
9
|
+
var DOCS_DRIFT_VALIDATOR = {
|
|
10
|
+
id: DOCS_DRIFT_VALIDATOR_ID,
|
|
11
|
+
category: "regression",
|
|
12
|
+
description: "Detect documentation references that drifted from the source tree."
|
|
13
|
+
};
|
|
14
|
+
var DOCS_DRIFT_STAGE_MUTATION = Schema.decodeUnknownSync(StageMutationSchema)({
|
|
15
|
+
op: "insert",
|
|
16
|
+
stage: {
|
|
17
|
+
id: DOCS_DRIFT_STAGE_ID,
|
|
18
|
+
kind: "gate",
|
|
19
|
+
before: ["merge-gate"],
|
|
20
|
+
after: ["open-pr"]
|
|
21
|
+
},
|
|
22
|
+
contributedBy: DOCS_DRIFT_STAGE_ID
|
|
23
|
+
});
|
|
24
|
+
var DOCS_DRIFT_CLI_COMMAND = "rig drift [--docs <csv>] [--ignore <csv>] [--fail-on-drift] [--json]";
|
|
25
|
+
export {
|
|
26
|
+
DOCS_DRIFT_VALIDATOR_ID,
|
|
27
|
+
DOCS_DRIFT_VALIDATOR,
|
|
28
|
+
DOCS_DRIFT_STAGE_MUTATION,
|
|
29
|
+
DOCS_DRIFT_STAGE_ID,
|
|
30
|
+
DOCS_DRIFT_CLI_ID,
|
|
31
|
+
DOCS_DRIFT_CLI_COMMAND,
|
|
32
|
+
DOCS_DRIFT_CAPABILITY_ID
|
|
33
|
+
};
|
|
@@ -1,18 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { RegisteredValidator, RuntimeCliCommand, RuntimeCliContext, ValidatorResult } from "@rig/core";
|
|
1
|
+
import type { DriftFinding, DriftReport, StageResult, StageRun } from "@rig/contracts";
|
|
2
|
+
import type { RegisteredValidator, RuntimeCliCommand, RuntimeCliContext, ValidatorResult } from "@rig/core/config";
|
|
3
3
|
import { type DriftDetectOptions } from "./detect";
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
readonly ignoreGlobs?: readonly string[];
|
|
7
|
-
readonly failOnDrift?: boolean;
|
|
8
|
-
}
|
|
9
|
-
export declare const DOCS_DRIFT_VALIDATOR_ID = "std:docs-drift";
|
|
10
|
-
export declare const DOCS_DRIFT_CLI_ID = "std:drift";
|
|
11
|
-
export declare const DOCS_DRIFT_STAGE_ID = "docs-drift";
|
|
12
|
-
export declare const DOCS_DRIFT_CAPABILITY_ID = "std:docs-drift-capability";
|
|
13
|
-
export declare const DOCS_DRIFT_VALIDATOR: ValidatorRegistration;
|
|
14
|
-
export declare const DOCS_DRIFT_STAGE_MUTATION: StageMutation;
|
|
15
|
-
export declare const DOCS_DRIFT_CLI_COMMAND = "rig drift [--docs <csv>] [--ignore <csv>] [--fail-on-drift] [--json]";
|
|
4
|
+
export { DOCS_DRIFT_CAPABILITY_ID, DOCS_DRIFT_CLI_COMMAND, DOCS_DRIFT_CLI_ID, DOCS_DRIFT_STAGE_ID, DOCS_DRIFT_STAGE_MUTATION, DOCS_DRIFT_VALIDATOR, DOCS_DRIFT_VALIDATOR_ID, type DocsDriftPluginOptions, } from "./metadata";
|
|
5
|
+
import { type DocsDriftPluginOptions } from "./metadata";
|
|
16
6
|
export declare function highConfidenceDriftFindings(report: DriftReport): readonly DriftFinding[];
|
|
17
7
|
export declare function driftGateResult(report: DriftReport, mode?: "observe" | "enforce"): StageResult;
|
|
18
8
|
/**
|
package/dist/src/drift/plugin.js
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
// packages/standard-plugin/src/drift/plugin.ts
|
|
3
|
-
import { Schema } from "effect";
|
|
4
|
-
import { StageMutation as StageMutationSchema } from "@rig/contracts";
|
|
5
|
-
|
|
6
2
|
// packages/standard-plugin/src/drift/detect.ts
|
|
7
3
|
import { existsSync } from "fs";
|
|
8
4
|
import { readdir, readFile, stat } from "fs/promises";
|
|
@@ -297,7 +293,9 @@ async function detectDrift(options) {
|
|
|
297
293
|
};
|
|
298
294
|
}
|
|
299
295
|
|
|
300
|
-
// packages/standard-plugin/src/drift/
|
|
296
|
+
// packages/standard-plugin/src/drift/metadata.ts
|
|
297
|
+
import { Schema } from "effect";
|
|
298
|
+
import { StageMutation as StageMutationSchema } from "@rig/contracts";
|
|
301
299
|
var DOCS_DRIFT_VALIDATOR_ID = "std:docs-drift";
|
|
302
300
|
var DOCS_DRIFT_CLI_ID = "std:drift";
|
|
303
301
|
var DOCS_DRIFT_STAGE_ID = "docs-drift";
|
|
@@ -318,6 +316,7 @@ var DOCS_DRIFT_STAGE_MUTATION = Schema.decodeUnknownSync(StageMutationSchema)({
|
|
|
318
316
|
contributedBy: DOCS_DRIFT_STAGE_ID
|
|
319
317
|
});
|
|
320
318
|
var DOCS_DRIFT_CLI_COMMAND = "rig drift [--docs <csv>] [--ignore <csv>] [--fail-on-drift] [--json]";
|
|
319
|
+
// packages/standard-plugin/src/drift/plugin.ts
|
|
321
320
|
function highConfidenceDriftFindings(report) {
|
|
322
321
|
return report.findings.filter((finding) => finding.confidence === "high");
|
|
323
322
|
}
|
|
@@ -11,7 +11,7 @@ function createEnvGitHubCredentialProvider() {
|
|
|
11
11
|
return {
|
|
12
12
|
async resolveGitHubToken(input) {
|
|
13
13
|
if (input.purpose === "selected-repo") {
|
|
14
|
-
return { token: cleanToken(process.env.RIG_GITHUB_SELECTED_TOKEN ??
|
|
14
|
+
return { token: cleanToken(process.env.RIG_GITHUB_SELECTED_TOKEN ?? null) ?? "", source: "signed-in-user" };
|
|
15
15
|
}
|
|
16
16
|
const token = cleanToken(process.env.RIG_GITHUB_TOKEN ?? process.env.GH_TOKEN ?? process.env.GITHUB_TOKEN ?? null);
|
|
17
17
|
if (!token) {
|
|
@@ -22,15 +22,35 @@ function createEnvGitHubCredentialProvider() {
|
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
function createStateGitHubCredentialProvider(options = {}) {
|
|
25
|
+
const addCandidate = (candidates, path) => {
|
|
26
|
+
const trimmed = path?.trim();
|
|
27
|
+
if (!trimmed)
|
|
28
|
+
return;
|
|
29
|
+
const resolved = resolve(trimmed);
|
|
30
|
+
if (!candidates.includes(resolved))
|
|
31
|
+
candidates.push(resolved);
|
|
32
|
+
};
|
|
33
|
+
const addStateDir = (candidates, dir) => {
|
|
34
|
+
const trimmed = dir?.trim();
|
|
35
|
+
if (!trimmed)
|
|
36
|
+
return;
|
|
37
|
+
addCandidate(candidates, resolve(trimmed, "github-auth.json"));
|
|
38
|
+
};
|
|
39
|
+
const addProjectStateDir = (candidates, root) => {
|
|
40
|
+
const trimmed = root?.trim();
|
|
41
|
+
if (!trimmed)
|
|
42
|
+
return;
|
|
43
|
+
addStateDir(candidates, resolve(trimmed, ".rig", "state"));
|
|
44
|
+
};
|
|
25
45
|
const stateFileCandidates = () => {
|
|
26
46
|
const candidates = [];
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
47
|
+
addCandidate(candidates, options.stateFile ?? process.env.RIG_GITHUB_AUTH_STATE_FILE);
|
|
48
|
+
addStateDir(candidates, options.stateDir);
|
|
49
|
+
addStateDir(candidates, process.env.RIG_STATE_DIR);
|
|
50
|
+
addProjectStateDir(candidates, process.env.PROJECT_RIG_ROOT);
|
|
51
|
+
addProjectStateDir(candidates, process.env.RIG_PROJECT_ROOT);
|
|
52
|
+
addProjectStateDir(candidates, process.env.RIG_HOST_PROJECT_ROOT);
|
|
53
|
+
addProjectStateDir(candidates, process.cwd());
|
|
34
54
|
return candidates;
|
|
35
55
|
};
|
|
36
56
|
const readToken = () => {
|
|
@@ -50,7 +70,7 @@ function createStateGitHubCredentialProvider(options = {}) {
|
|
|
50
70
|
async resolveGitHubToken(input) {
|
|
51
71
|
const token = readToken();
|
|
52
72
|
if (input.purpose === "selected-repo") {
|
|
53
|
-
return { token: token ?? cleanToken(process.env.RIG_GITHUB_SELECTED_TOKEN ??
|
|
73
|
+
return { token: token ?? cleanToken(process.env.RIG_GITHUB_SELECTED_TOKEN ?? null) ?? "", source: "signed-in-user" };
|
|
54
74
|
}
|
|
55
75
|
if (token) {
|
|
56
76
|
return { token, source: "signed-in-user" };
|
|
@@ -90,23 +110,29 @@ function statusFor(issue) {
|
|
|
90
110
|
return "open";
|
|
91
111
|
}
|
|
92
112
|
function parseIssueRefs(raw) {
|
|
93
|
-
|
|
113
|
+
const refs = [...raw.matchAll(/(?:^|[^\w/.-])(?:[\w.-]+\/[\w.-]+#|#)?(\d+)\b/g)].map((match) => match[1]).filter((value) => Boolean(value));
|
|
114
|
+
return [...new Set(refs)];
|
|
94
115
|
}
|
|
95
|
-
function
|
|
116
|
+
function metadataKeyPattern(keys) {
|
|
117
|
+
return new RegExp(`^(?:${keys.map((key) => key.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join("|")}):\\s*(.*)$`, "i");
|
|
118
|
+
}
|
|
119
|
+
function parseMetadataList(body, keys) {
|
|
96
120
|
const block = body.match(/<!-- rig:metadata:start -->\s*([\s\S]*?)\s*<!-- rig:metadata:end -->/);
|
|
97
121
|
if (!block)
|
|
98
122
|
return [];
|
|
99
123
|
const lines = block[1].split(/\r?\n/);
|
|
100
124
|
const values = [];
|
|
125
|
+
const keyPattern = metadataKeyPattern(keys);
|
|
101
126
|
for (let index = 0;index < lines.length; index += 1) {
|
|
102
127
|
const line = lines[index];
|
|
103
|
-
const sameLine = line.match(
|
|
104
|
-
if (sameLine)
|
|
105
|
-
values.push(...parseIssueRefs(sameLine[1]));
|
|
128
|
+
const sameLine = line.match(keyPattern);
|
|
129
|
+
if (!sameLine)
|
|
106
130
|
continue;
|
|
107
|
-
|
|
108
|
-
if (
|
|
131
|
+
const inlineValue = sameLine[1]?.trim() ?? "";
|
|
132
|
+
if (inlineValue) {
|
|
133
|
+
values.push(...parseIssueRefs(inlineValue));
|
|
109
134
|
continue;
|
|
135
|
+
}
|
|
110
136
|
for (let cursor = index + 1;cursor < lines.length; cursor += 1) {
|
|
111
137
|
const item = lines[cursor].match(/^\s*-\s*(.+)$/);
|
|
112
138
|
if (!item)
|
|
@@ -116,15 +142,24 @@ function parseMetadataList(body, key) {
|
|
|
116
142
|
}
|
|
117
143
|
return [...new Set(values)];
|
|
118
144
|
}
|
|
145
|
+
function bodyWithoutRigMetadataBlock(body) {
|
|
146
|
+
return body.replace(/<!-- rig:metadata:start -->\s*[\s\S]*?\s*<!-- rig:metadata:end -->/g, "");
|
|
147
|
+
}
|
|
148
|
+
function parseBodyKeyRefs(body, keys) {
|
|
149
|
+
const keyPattern = metadataKeyPattern(keys);
|
|
150
|
+
const values = bodyWithoutRigMetadataBlock(body).split(/\r?\n/).flatMap((line) => {
|
|
151
|
+
const match = line.match(keyPattern);
|
|
152
|
+
return match?.[1] ? parseIssueRefs(match[1]) : [];
|
|
153
|
+
});
|
|
154
|
+
return [...new Set(values)];
|
|
155
|
+
}
|
|
119
156
|
function parseDeps(body) {
|
|
120
|
-
const
|
|
121
|
-
|
|
122
|
-
return [...new Set([...bodyRefs, ...parseMetadataList(body, "depends-on")])];
|
|
157
|
+
const keys = ["depends-on", "deps", "blocked-by", "blocked_by"];
|
|
158
|
+
return [...new Set([...parseBodyKeyRefs(body, keys), ...parseMetadataList(body, keys)])];
|
|
123
159
|
}
|
|
124
160
|
function parseParents(body) {
|
|
125
|
-
const
|
|
126
|
-
|
|
127
|
-
return [...new Set([...bodyRefs, ...parseMetadataList(body, "parents")])];
|
|
161
|
+
const keys = ["parents", "parent"];
|
|
162
|
+
return [...new Set([...parseBodyKeyRefs(body, keys), ...parseMetadataList(body, keys)])];
|
|
128
163
|
}
|
|
129
164
|
function issueTypeFor(issue) {
|
|
130
165
|
const labels = labelNamesFor(issue);
|
|
@@ -217,21 +252,29 @@ function isRigStickyStatusComment(body) {
|
|
|
217
252
|
return body.includes(RIG_STATUS_COMMENT_MARKER);
|
|
218
253
|
}
|
|
219
254
|
function ghSpawnOptions(extraEnv, timeoutMs) {
|
|
255
|
+
const env = {
|
|
256
|
+
...process.env,
|
|
257
|
+
...process.env.GH_TOKEN !== undefined ? { GH_TOKEN: process.env.GH_TOKEN } : {},
|
|
258
|
+
...process.env.GITHUB_TOKEN !== undefined ? { GITHUB_TOKEN: process.env.GITHUB_TOKEN } : {},
|
|
259
|
+
...process.env.RIG_GITHUB_TOKEN !== undefined ? { RIG_GITHUB_TOKEN: process.env.RIG_GITHUB_TOKEN } : {}
|
|
260
|
+
};
|
|
261
|
+
for (const [key, value] of Object.entries(extraEnv ?? {})) {
|
|
262
|
+
if (value === undefined)
|
|
263
|
+
delete env[key];
|
|
264
|
+
else
|
|
265
|
+
env[key] = value;
|
|
266
|
+
}
|
|
220
267
|
return {
|
|
221
268
|
encoding: "utf-8",
|
|
222
269
|
timeout: timeoutMs,
|
|
223
|
-
env
|
|
224
|
-
...process.env,
|
|
225
|
-
...process.env.GH_TOKEN !== undefined ? { GH_TOKEN: process.env.GH_TOKEN } : {},
|
|
226
|
-
...process.env.GITHUB_TOKEN !== undefined ? { GITHUB_TOKEN: process.env.GITHUB_TOKEN } : {},
|
|
227
|
-
...process.env.RIG_GITHUB_TOKEN !== undefined ? { RIG_GITHUB_TOKEN: process.env.RIG_GITHUB_TOKEN } : {},
|
|
228
|
-
...extraEnv ?? {}
|
|
229
|
-
}
|
|
270
|
+
env
|
|
230
271
|
};
|
|
231
272
|
}
|
|
232
273
|
function credentialEnv(token) {
|
|
233
274
|
const clean = token?.trim() ?? "";
|
|
234
|
-
|
|
275
|
+
if (clean)
|
|
276
|
+
return { GH_TOKEN: clean, GITHUB_TOKEN: clean, RIG_GITHUB_TOKEN: clean };
|
|
277
|
+
return { GH_TOKEN: undefined, GITHUB_TOKEN: undefined, RIG_GITHUB_TOKEN: undefined };
|
|
235
278
|
}
|
|
236
279
|
async function resolveCredentialEnv(opts, purpose) {
|
|
237
280
|
if (!opts.credentialProvider)
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
export
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
1
|
+
export { standardPlugins } from "./bundle";
|
|
2
|
+
export type { StandardPluginsOptions } from "./bundle";
|
|
3
|
+
export { DOCS_DRIFT_CAPABILITY_ID, DOCS_DRIFT_CLI_COMMAND, DOCS_DRIFT_CLI_ID, DOCS_DRIFT_STAGE_ID, DOCS_DRIFT_STAGE_MUTATION, DOCS_DRIFT_VALIDATOR, DOCS_DRIFT_VALIDATOR_ID, DOCS_HEALTH_PANEL_ID, createEnvGitHubCredentialProvider, createFilesTaskSource, createGitHubIssuesTaskSource, createStandardDocsDriftPlugin, createStandardProductEntrypointPlugin, createStandardTaskCliPlugin, createStandardTaskSourcesPlugin, createStateGitHubCredentialProvider, standardProductEntrypointPlugin, standardTaskCliPlugin, } from "./plugin";
|
|
4
|
+
export type { DocsDriftPluginOptions, DriftGit, DriftJudgeInput, DriftJudgeMismatch, DriftJudgeProvider, DriftReference, DriftReferenceKind, FilesTaskSourceOptions, GitHubIssuesOptions, StandardTaskSourcesPluginOptions, } from "./plugin";
|
|
5
|
+
export { RIG_CAPABILITY_PANEL_SLOT, RIG_RUN_STOP_PANEL_ACTION, RIG_SUPERVISOR_PANEL_ID, RUN_SUPERVISOR_PANEL_PRODUCER, RUN_SUPERVISOR_PANEL_REGISTRATION, RUN_WORKER_PANEL_PLUGIN, } from "./run-worker-panels";
|
|
6
|
+
export type { WorkerPanelProducerContext } from "./run-worker-panels";
|
|
7
|
+
export { STANDARD_CLI_SURFACE_COMMAND_METADATA, STANDARD_CLI_SURFACE_PLUGIN_NAME, standardCliSurfacePlugin, } from "./cli-surface";
|