@codyswann/lisa 2.294.0 → 2.295.1
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/cli/gate-commands.d.ts +1 -3
- package/dist/cli/gate-commands.d.ts.map +1 -1
- package/dist/cli/gate-commands.js +0 -26
- package/dist/cli/gate-commands.js.map +1 -1
- package/dist/cli/index.d.ts +7 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +43 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/update-check.d.ts +0 -8
- package/dist/cli/update-check.d.ts.map +1 -1
- package/dist/cli/update-check.js +2 -4
- package/dist/cli/update-check.js.map +1 -1
- package/dist/core/project-config.d.ts +0 -3
- package/dist/core/project-config.d.ts.map +1 -1
- package/dist/core/project-config.js +40 -4
- package/dist/core/project-config.js.map +1 -1
- package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
- package/dist/core/upstream-evidence-manifest.js +2 -28
- package/dist/core/upstream-evidence-manifest.js.map +1 -1
- package/dist/sync/registry.d.ts.map +1 -1
- package/dist/sync/registry.js +6 -3
- package/dist/sync/registry.js.map +1 -1
- package/package.json +1 -1
- package/plugins/lisa/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa/rules/eager/config-resolution.md +0 -9
- package/plugins/lisa/rules/reference/config-resolution.md +0 -59
- package/plugins/lisa-agy/plugin.json +1 -1
- package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-agy/plugin.json +1 -1
- package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-copilot/rules/eager/config-resolution.md +0 -9
- package/plugins/lisa-copilot/rules/reference/config-resolution.md +0 -59
- package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-cursor/rules/config-resolution-reference.mdc +0 -59
- package/plugins/lisa-cursor/rules/config-resolution.mdc +0 -9
- package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-agy/plugin.json +1 -1
- package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-agy/plugin.json +1 -1
- package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-agy/plugin.json +1 -1
- package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-agy/plugin.json +1 -1
- package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-agy/plugin.json +1 -1
- package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-agy/plugin.json +1 -1
- package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-agy/plugin.json +1 -1
- package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
- package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
- package/plugins/src/base/rules/eager/config-resolution.md +0 -9
- package/plugins/src/base/rules/reference/config-resolution.md +0 -59
- package/dist/cli/deploy-status-adapter-github.d.ts +0 -20
- package/dist/cli/deploy-status-adapter-github.d.ts.map +0 -1
- package/dist/cli/deploy-status-adapter-github.js +0 -167
- package/dist/cli/deploy-status-adapter-github.js.map +0 -1
- package/dist/cli/deploy-status-adapter-jira.d.ts +0 -18
- package/dist/cli/deploy-status-adapter-jira.d.ts.map +0 -1
- package/dist/cli/deploy-status-adapter-jira.js +0 -215
- package/dist/cli/deploy-status-adapter-jira.js.map +0 -1
- package/dist/cli/deploy-status-adapter-linear.d.ts +0 -16
- package/dist/cli/deploy-status-adapter-linear.d.ts.map +0 -1
- package/dist/cli/deploy-status-adapter-linear.js +0 -204
- package/dist/cli/deploy-status-adapter-linear.js.map +0 -1
- package/dist/cli/deploy-status-adapter-shared.d.ts +0 -57
- package/dist/cli/deploy-status-adapter-shared.d.ts.map +0 -1
- package/dist/cli/deploy-status-adapter-shared.js +0 -62
- package/dist/cli/deploy-status-adapter-shared.js.map +0 -1
- package/dist/cli/deploy-status-adapter.d.ts +0 -49
- package/dist/cli/deploy-status-adapter.d.ts.map +0 -1
- package/dist/cli/deploy-status-adapter.js +0 -87
- package/dist/cli/deploy-status-adapter.js.map +0 -1
- package/dist/cli/deploy-status-refs.d.ts +0 -70
- package/dist/cli/deploy-status-refs.d.ts.map +0 -1
- package/dist/cli/deploy-status-refs.js +0 -195
- package/dist/cli/deploy-status-refs.js.map +0 -1
- package/dist/cli/deploy-status-sync-cmd.d.ts +0 -23
- package/dist/cli/deploy-status-sync-cmd.d.ts.map +0 -1
- package/dist/cli/deploy-status-sync-cmd.js +0 -75
- package/dist/cli/deploy-status-sync-cmd.js.map +0 -1
- package/dist/cli/deploy-status-sync-engine.d.ts +0 -49
- package/dist/cli/deploy-status-sync-engine.d.ts.map +0 -1
- package/dist/cli/deploy-status-sync-engine.js +0 -214
- package/dist/cli/deploy-status-sync-engine.js.map +0 -1
- package/dist/cli/deploy-status-sync-exec.d.ts +0 -73
- package/dist/cli/deploy-status-sync-exec.d.ts.map +0 -1
- package/dist/cli/deploy-status-sync-exec.js +0 -95
- package/dist/cli/deploy-status-sync-exec.js.map +0 -1
- package/dist/cli/kane-commands.d.ts +0 -21
- package/dist/cli/kane-commands.d.ts.map +0 -1
- package/dist/cli/kane-commands.js +0 -44
- package/dist/cli/kane-commands.js.map +0 -1
- package/dist/core/config-field-validation.d.ts +0 -19
- package/dist/core/config-field-validation.d.ts.map +0 -1
- package/dist/core/config-field-validation.js +0 -69
- package/dist/core/config-field-validation.js.map +0 -1
- package/dist/core/deploy-status-sync.d.ts +0 -103
- package/dist/core/deploy-status-sync.d.ts.map +0 -1
- package/dist/core/deploy-status-sync.js +0 -339
- package/dist/core/deploy-status-sync.js.map +0 -1
- package/dist/core/deploy-status-transition.d.ts +0 -97
- package/dist/core/deploy-status-transition.d.ts.map +0 -1
- package/dist/core/deploy-status-transition.js +0 -134
- package/dist/core/deploy-status-transition.js.map +0 -1
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import { getAtPath } from "../sync/json-path.js";
|
|
2
|
-
import { createGithubAdapter } from "./deploy-status-adapter-github.js";
|
|
3
|
-
import { createJiraAdapter } from "./deploy-status-adapter-jira.js";
|
|
4
|
-
import { createLinearAdapter } from "./deploy-status-adapter-linear.js";
|
|
5
|
-
import { createExecGh, } from "./deploy-status-adapter-shared.js";
|
|
6
|
-
// Shared adapter surface lives in the leaf contract module (cycle-free:
|
|
7
|
-
// the vendor adapters import it directly); re-exported here so downstream
|
|
8
|
-
// importers (engine, cmd, refs, tests) keep a single import site.
|
|
9
|
-
export { createExec, createExecGh, deriveLabelState, } from "./deploy-status-adapter-shared.js";
|
|
10
|
-
/**
|
|
11
|
-
* Read a required string from config, failing decision-readably.
|
|
12
|
-
* @param config - Parsed config
|
|
13
|
-
* @param dotPath - Dot path of the key
|
|
14
|
-
* @returns The configured string
|
|
15
|
-
*/
|
|
16
|
-
function requireConfigString(config, dotPath) {
|
|
17
|
-
const value = getAtPath(config, dotPath);
|
|
18
|
-
if (typeof value !== "string" || value.length === 0) {
|
|
19
|
-
throw new Error(`Missing ${dotPath} in .lisa.config.json — required to reach the configured tracker`);
|
|
20
|
-
}
|
|
21
|
-
return value;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Read an optional string from config.
|
|
25
|
-
* @param config - Parsed config
|
|
26
|
-
* @param dotPath - Dot path of the key
|
|
27
|
-
* @returns The configured string, or undefined
|
|
28
|
-
*/
|
|
29
|
-
function optionalConfigString(config, dotPath) {
|
|
30
|
-
const value = getAtPath(config, dotPath);
|
|
31
|
-
return typeof value === "string" && value.length > 0 ? value : undefined;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Create the vendor adapter for the configured tracker.
|
|
35
|
-
* @param options - Tracker, parsed config, done vocabulary, cwd
|
|
36
|
-
* @param deps - Injectable transports (tests inject recorders)
|
|
37
|
-
* @returns The vendor adapter
|
|
38
|
-
*/
|
|
39
|
-
export function createTrackerAdapter(options, deps = {}) {
|
|
40
|
-
const { tracker, config, doneStatuses, cwd } = options;
|
|
41
|
-
if (tracker === "github") {
|
|
42
|
-
const org = requireConfigString(config, "github.org");
|
|
43
|
-
const repo = requireConfigString(config, "github.repo");
|
|
44
|
-
return createGithubAdapter({ repository: `${org}/${repo}`, doneStatuses }, { execGh: deps.execGh ?? createExecGh(cwd) });
|
|
45
|
-
}
|
|
46
|
-
if (tracker === "linear") {
|
|
47
|
-
return createLinearAdapter({
|
|
48
|
-
workspace: requireConfigString(config, "linear.workspace"),
|
|
49
|
-
doneStatuses,
|
|
50
|
-
}, deps);
|
|
51
|
-
}
|
|
52
|
-
const cloudId = optionalConfigString(config, "atlassian.cloudId");
|
|
53
|
-
const site = optionalConfigString(config, "atlassian.site");
|
|
54
|
-
const email = optionalConfigString(config, "atlassian.email");
|
|
55
|
-
return createJiraAdapter({
|
|
56
|
-
...(cloudId === undefined ? {} : { cloudId }),
|
|
57
|
-
...(site === undefined ? {} : { site }),
|
|
58
|
-
...(email === undefined ? {} : { email }),
|
|
59
|
-
}, deps);
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Wrap an adapter so reads pass through and writes are reported to the
|
|
63
|
-
* caller but never executed. The caller owns accumulation (the CLI prints
|
|
64
|
-
* planned writes as they occur; tests collect them), keeping this wrapper
|
|
65
|
-
* stateless. Used for `--dry-run` and as the unit-test write recorder.
|
|
66
|
-
* @param inner - Real adapter (only its reads are used)
|
|
67
|
-
* @param onWrite - Sink invoked once per suppressed write, in call order
|
|
68
|
-
* @returns Wrapped adapter with all writes suppressed
|
|
69
|
-
*/
|
|
70
|
-
export function withDryRun(inner, onWrite) {
|
|
71
|
-
return {
|
|
72
|
-
fetchItemState: ref => inner.fetchItemState(ref),
|
|
73
|
-
transitionToDone: (ref, doneStatus) => {
|
|
74
|
-
onWrite({ method: "transitionToDone", ref, detail: doneStatus });
|
|
75
|
-
return Promise.resolve();
|
|
76
|
-
},
|
|
77
|
-
upsertManagedComment: (ref, body) => {
|
|
78
|
-
onWrite({ method: "upsertManagedComment", ref, detail: body });
|
|
79
|
-
return Promise.resolve("created");
|
|
80
|
-
},
|
|
81
|
-
closeNatively: ref => {
|
|
82
|
-
onWrite({ method: "closeNatively", ref });
|
|
83
|
-
return Promise.resolve();
|
|
84
|
-
},
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=deploy-status-adapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-status-adapter.js","sourceRoot":"","sources":["../../src/cli/deploy-status-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Work-item ref extraction for deploy-status-sync (DSS-2, AC 1).
|
|
3
|
-
*
|
|
4
|
-
* Given a `base..head` commit range: union the `Work-Item:` trailer values
|
|
5
|
-
* of every commit (parsed by git's own trailer engine via the
|
|
6
|
-
* `%(trailers:key=Work-Item,valueonly)` pretty format) with the `Refs` /
|
|
7
|
-
* `Closes` lines of every merged PR associated with those commits (GitHub
|
|
8
|
-
* associated-PRs endpoint — no search-index lag), canonicalize each token
|
|
9
|
-
* against the configured tracker, and dedupe on the canonical form.
|
|
10
|
-
* Out-of-scope tokens are skipped with a reason, never an error.
|
|
11
|
-
* @module cli/deploy-status-refs
|
|
12
|
-
*/
|
|
13
|
-
import type { Tracker } from "../core/deploy-status-sync.js";
|
|
14
|
-
/** Injectable git/gh executors used by the extractor. */
|
|
15
|
-
export interface RefExtractionDeps {
|
|
16
|
-
/** Run git with fixed argv and return stdout */
|
|
17
|
-
readonly execGit: (args: readonly string[]) => Promise<string>;
|
|
18
|
-
/** Run gh with fixed argv and return stdout */
|
|
19
|
-
readonly execGh: (args: readonly string[]) => Promise<string>;
|
|
20
|
-
}
|
|
21
|
-
/** Extraction options. */
|
|
22
|
-
export interface ExtractRefsOptions {
|
|
23
|
-
/** Commit range in `base..head` form */
|
|
24
|
-
readonly range: string;
|
|
25
|
-
/** Tracker vendor the tokens canonicalize against */
|
|
26
|
-
readonly tracker: Tracker;
|
|
27
|
-
/** Configured `owner/repo` (binds bare `#N`; enables PR-body lookups) */
|
|
28
|
-
readonly repository?: string;
|
|
29
|
-
/** Jira project key / Linear team key for `KEY-N` canonicalization */
|
|
30
|
-
readonly projectKey?: string;
|
|
31
|
-
/** Repository working directory */
|
|
32
|
-
readonly cwd: string;
|
|
33
|
-
}
|
|
34
|
-
/** One out-of-scope token, reported instead of raised. */
|
|
35
|
-
export interface SkippedRef {
|
|
36
|
-
readonly token: string;
|
|
37
|
-
readonly reason: string;
|
|
38
|
-
}
|
|
39
|
-
/** Extraction result. */
|
|
40
|
-
export interface ExtractedRefs {
|
|
41
|
-
/** Canonical refs, deduped, in first-appearance order */
|
|
42
|
-
readonly refs: readonly string[];
|
|
43
|
-
/** Out-of-scope tokens with reasons */
|
|
44
|
-
readonly skipped: readonly SkippedRef[];
|
|
45
|
-
/** Resolved head SHA of the range */
|
|
46
|
-
readonly headSha: string;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Split items into consecutive chunks of at most `size` elements. Used to
|
|
50
|
-
* bound gh fan-out: chunks run sequentially, items within a chunk run
|
|
51
|
-
* concurrently.
|
|
52
|
-
* @param items - Items to split
|
|
53
|
-
* @param size - Maximum chunk size (must be positive)
|
|
54
|
-
* @returns Consecutive chunks in input order
|
|
55
|
-
*/
|
|
56
|
-
export declare function chunk<T>(items: readonly T[], size: number): readonly (readonly T[])[];
|
|
57
|
-
/**
|
|
58
|
-
* Build production deps over the shared fixed-argv executor factory.
|
|
59
|
-
* @param cwd - Repository working directory
|
|
60
|
-
* @returns Real git/gh executors
|
|
61
|
-
*/
|
|
62
|
-
export declare function defaultRefExtractionDeps(cwd: string): RefExtractionDeps;
|
|
63
|
-
/**
|
|
64
|
-
* Extract the deduped union of work-item refs for a commit range.
|
|
65
|
-
* @param options - Range, tracker scope, and working directory
|
|
66
|
-
* @param deps - Injectable executors (defaults to real git/gh)
|
|
67
|
-
* @returns Canonical refs, skipped tokens, and the resolved head SHA
|
|
68
|
-
*/
|
|
69
|
-
export declare function extractWorkItemRefs(options: ExtractRefsOptions, deps?: RefExtractionDeps): Promise<ExtractedRefs>;
|
|
70
|
-
//# sourceMappingURL=deploy-status-refs.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-status-refs.d.ts","sourceRoot":"","sources":["../../src/cli/deploy-status-refs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAG7D,yDAAyD;AACzD,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/D,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/D;AAED,0BAA0B;AAC1B,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,mCAAmC;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,0DAA0D;AAC1D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,yBAAyB;AACzB,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,uCAAuC;IACvC,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IACxC,qCAAqC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AASD;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,EACrB,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,IAAI,EAAE,MAAM,GACX,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAI3B;AAWD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAKvE;AA6ID;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,kBAAkB,EAC3B,IAAI,GAAE,iBAAyD,GAC9D,OAAO,CAAC,aAAa,CAAC,CA6ExB"}
|
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
import { createExec } from "./deploy-status-adapter.js";
|
|
2
|
-
const GITHUB_TOKEN_PATTERN = /^([A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+)?#([1-9]\d*)$/;
|
|
3
|
-
/** Git revision charset: branch names, SHAs, HEAD^/~ suffixes — nothing that
|
|
4
|
-
* could smuggle shell metacharacters or option-like payloads into argv. */
|
|
5
|
-
const REVISION_PATTERN = /^[\w./^~@-]+$/;
|
|
6
|
-
/** Maximum concurrent gh lookups during PR-token collection. */
|
|
7
|
-
const GH_CONCURRENCY = 8;
|
|
8
|
-
/**
|
|
9
|
-
* Split items into consecutive chunks of at most `size` elements. Used to
|
|
10
|
-
* bound gh fan-out: chunks run sequentially, items within a chunk run
|
|
11
|
-
* concurrently.
|
|
12
|
-
* @param items - Items to split
|
|
13
|
-
* @param size - Maximum chunk size (must be positive)
|
|
14
|
-
* @returns Consecutive chunks in input order
|
|
15
|
-
*/
|
|
16
|
-
export function chunk(items, size) {
|
|
17
|
-
return Array.from({ length: Math.ceil(items.length / size) }, (_, index) => items.slice(index * size, (index + 1) * size));
|
|
18
|
-
}
|
|
19
|
-
const KEY_TOKEN_PATTERN = /^([A-Za-z][A-Za-z0-9]{1,9})-([1-9]\d*)$/;
|
|
20
|
-
const REF_LINE_PATTERN = /^(?:refs|closes)\b(.*)$/i;
|
|
21
|
-
/**
|
|
22
|
-
* Build production deps over the shared fixed-argv executor factory.
|
|
23
|
-
* @param cwd - Repository working directory
|
|
24
|
-
* @returns Real git/gh executors
|
|
25
|
-
*/
|
|
26
|
-
export function defaultRefExtractionDeps(cwd) {
|
|
27
|
-
return {
|
|
28
|
-
execGit: createExec("git", cwd),
|
|
29
|
-
execGh: createExec("gh", cwd),
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Canonicalize one token against the configured tracker scope.
|
|
34
|
-
* @param token - Raw token from a trailer or PR body
|
|
35
|
-
* @param options - Extraction options (tracker, repository, project key)
|
|
36
|
-
* @returns Canonical ref or a skip reason
|
|
37
|
-
*/
|
|
38
|
-
function canonicalizeToken(token, options) {
|
|
39
|
-
if (options.tracker === "github") {
|
|
40
|
-
const match = GITHUB_TOKEN_PATTERN.exec(token);
|
|
41
|
-
if (match === null) {
|
|
42
|
-
return { token, reason: "not a GitHub work-item ref" };
|
|
43
|
-
}
|
|
44
|
-
if (options.repository === undefined) {
|
|
45
|
-
return { token, reason: "no github.org/github.repo configured" };
|
|
46
|
-
}
|
|
47
|
-
const repository = match[1];
|
|
48
|
-
if (repository !== undefined &&
|
|
49
|
-
repository.toLowerCase() !== options.repository.toLowerCase()) {
|
|
50
|
-
return {
|
|
51
|
-
token,
|
|
52
|
-
reason: `outside configured repository ${options.repository}`,
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
return { token, ref: `${options.repository}#${match[2] ?? ""}` };
|
|
56
|
-
}
|
|
57
|
-
const match = KEY_TOKEN_PATTERN.exec(token);
|
|
58
|
-
if (match === null) {
|
|
59
|
-
return { token, reason: `not a ${options.tracker} work-item ref` };
|
|
60
|
-
}
|
|
61
|
-
const key = (match[1] ?? "").toUpperCase();
|
|
62
|
-
if (key !== (options.projectKey ?? "").toUpperCase()) {
|
|
63
|
-
return {
|
|
64
|
-
token,
|
|
65
|
-
reason: `outside configured ${options.tracker} project ${options.projectKey ?? "(unset)"}`,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
return { token, ref: `${key}-${match[2] ?? ""}` };
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Collect Refs/Closes tokens from merged PRs associated with the commits.
|
|
72
|
-
* @param shas - Commit SHAs of the range
|
|
73
|
-
* @param repository - Configured `owner/repo`
|
|
74
|
-
* @param deps - Injectable executors
|
|
75
|
-
* @returns Raw tokens in appearance order
|
|
76
|
-
*/
|
|
77
|
-
async function collectPrTokens(shas, repository, deps) {
|
|
78
|
-
// Chunked fan-out: a large range must not open one gh process (and one
|
|
79
|
-
// API request) per SHA simultaneously.
|
|
80
|
-
const payloads = await chunk(shas, GH_CONCURRENCY).reduce(async (accumulated, group) => {
|
|
81
|
-
const previous = await accumulated;
|
|
82
|
-
const results = await Promise.all(group.map(sha => deps.execGh(["api", `repos/${repository}/commits/${sha}/pulls`])));
|
|
83
|
-
return [...previous, ...results];
|
|
84
|
-
}, Promise.resolve([]));
|
|
85
|
-
const pulls = payloads.flatMap(raw => {
|
|
86
|
-
const parsed = JSON.parse(raw.length > 0 ? raw : "[]");
|
|
87
|
-
return Array.isArray(parsed)
|
|
88
|
-
? parsed
|
|
89
|
-
: [];
|
|
90
|
-
});
|
|
91
|
-
const merged = pulls.filter(pull => pull.merged_at !== null && pull.merged_at !== undefined);
|
|
92
|
-
const unique = [...new Map(merged.map(pull => [pull.number, pull])).values()];
|
|
93
|
-
return unique.flatMap(pull => prBodyTokens(pull.body ?? ""));
|
|
94
|
-
}
|
|
95
|
-
/** Loose candidate shapes: contains a "#" or looks like KEY-N. A candidate
|
|
96
|
-
* that later fails canonicalization is reported in `skipped`, never dropped
|
|
97
|
-
* silently; plain prose words are not candidates. */
|
|
98
|
-
const CANDIDATE_PATTERN = /#|^[A-Za-z][A-Za-z0-9]*-\d/;
|
|
99
|
-
/** Punctuation stripped from the end of candidate tokens. */
|
|
100
|
-
const TRAILING_PUNCTUATION = new Set([".", ",", ";", ":", ")"]);
|
|
101
|
-
/**
|
|
102
|
-
* Strip trailing punctuation from a word in linear time (a quantified
|
|
103
|
-
* end-anchored regex would be flagged as super-linear).
|
|
104
|
-
* @param word - Raw word
|
|
105
|
-
* @returns The word without its trailing punctuation run
|
|
106
|
-
*/
|
|
107
|
-
function stripTrailingPunctuation(word) {
|
|
108
|
-
const characters = [...word];
|
|
109
|
-
const cutoff = characters.reduce((keep, character, index) => TRAILING_PUNCTUATION.has(character) ? keep : index + 1, 0);
|
|
110
|
-
return word.slice(0, cutoff);
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Collect candidate tokens from one PR body: Refs/Closes lines outside
|
|
114
|
-
* fenced code regions (triple-backtick blocks), with trailing punctuation
|
|
115
|
-
* stripped from each word so `Closes #102.` names #102.
|
|
116
|
-
* @param body - Raw PR body markdown
|
|
117
|
-
* @returns Candidate tokens in appearance order
|
|
118
|
-
*/
|
|
119
|
-
function prBodyTokens(body) {
|
|
120
|
-
const scanned = body.split("\n").reduce((state, rawLine) => {
|
|
121
|
-
const line = rawLine.trim();
|
|
122
|
-
if (line.startsWith("```")) {
|
|
123
|
-
return { ...state, inFence: !state.inFence };
|
|
124
|
-
}
|
|
125
|
-
const match = state.inFence ? null : REF_LINE_PATTERN.exec(line);
|
|
126
|
-
if (match === null)
|
|
127
|
-
return state;
|
|
128
|
-
const words = (match[1] ?? "")
|
|
129
|
-
.replace(/^[\s:]+/, "")
|
|
130
|
-
.split(/[\s,]+/)
|
|
131
|
-
.map(stripTrailingPunctuation)
|
|
132
|
-
.filter(word => CANDIDATE_PATTERN.test(word));
|
|
133
|
-
return { ...state, tokens: [...state.tokens, ...words] };
|
|
134
|
-
}, { inFence: false, tokens: [] });
|
|
135
|
-
return scanned.tokens;
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Extract the deduped union of work-item refs for a commit range.
|
|
139
|
-
* @param options - Range, tracker scope, and working directory
|
|
140
|
-
* @param deps - Injectable executors (defaults to real git/gh)
|
|
141
|
-
* @returns Canonical refs, skipped tokens, and the resolved head SHA
|
|
142
|
-
*/
|
|
143
|
-
export async function extractWorkItemRefs(options, deps = defaultRefExtractionDeps(options.cwd)) {
|
|
144
|
-
// Library-level guard (the cmd layer has its own): without it, the
|
|
145
|
-
// dot-stripped head would give rev-parse two-dot semantics while rev-list
|
|
146
|
-
// received the raw three-dot range — two git calls disagreeing silently.
|
|
147
|
-
if (options.range.includes("...")) {
|
|
148
|
-
throw new Error(`Invalid range "${options.range}": three-dot "..." selects the symmetric difference, which is never a deploy range. Pass the deployed range as <base>..<head> (two dots).`);
|
|
149
|
-
}
|
|
150
|
-
const separator = options.range.indexOf("..");
|
|
151
|
-
if (separator === -1) {
|
|
152
|
-
throw new Error(`Invalid range "${options.range}": expected <base>..<head>`);
|
|
153
|
-
}
|
|
154
|
-
const base = options.range.slice(0, separator);
|
|
155
|
-
const head = options.range.slice(separator + 2);
|
|
156
|
-
// Charset gate + --end-of-options below: a revision must never be able to
|
|
157
|
-
// smuggle option-like or shell-meta payloads into the git argv.
|
|
158
|
-
if (!REVISION_PATTERN.test(base) || !REVISION_PATTERN.test(head)) {
|
|
159
|
-
throw new Error(`Invalid range "${options.range}": each revision side must be a plain git revision (letters, digits, ".", "_", "/", "^", "~", "@", "-").`);
|
|
160
|
-
}
|
|
161
|
-
// --verify puts rev-parse in single-revision mode, where --end-of-options
|
|
162
|
-
// is honored (bare rev-parse would echo it back instead).
|
|
163
|
-
const headSha = (await deps.execGit(["rev-parse", "--verify", "--end-of-options", head])).trim();
|
|
164
|
-
const shas = (await deps.execGit([
|
|
165
|
-
"rev-list",
|
|
166
|
-
"--reverse",
|
|
167
|
-
"--end-of-options",
|
|
168
|
-
options.range,
|
|
169
|
-
]))
|
|
170
|
-
.split("\n")
|
|
171
|
-
.map(line => line.trim())
|
|
172
|
-
.filter(line => line.length > 0);
|
|
173
|
-
const trailerOutputs = await Promise.all(shas.map(sha => deps.execGit([
|
|
174
|
-
"log",
|
|
175
|
-
"-1",
|
|
176
|
-
"--format=%(trailers:key=Work-Item,valueonly)",
|
|
177
|
-
sha,
|
|
178
|
-
])));
|
|
179
|
-
const trailerTokens = trailerOutputs.flatMap(output => output
|
|
180
|
-
.split("\n")
|
|
181
|
-
.map(line => line.trim())
|
|
182
|
-
.filter(line => line.length > 0));
|
|
183
|
-
const prTokens = options.repository === undefined
|
|
184
|
-
? []
|
|
185
|
-
: await collectPrTokens(shas, options.repository, deps);
|
|
186
|
-
const results = [...trailerTokens, ...prTokens].map(token => canonicalizeToken(token, options));
|
|
187
|
-
const canonical = results.flatMap(result => result.ref === undefined ? [] : [result.ref]);
|
|
188
|
-
const refs = [...new Set(canonical)];
|
|
189
|
-
const allSkipped = results.flatMap(result => result.reason === undefined
|
|
190
|
-
? []
|
|
191
|
-
: [{ token: result.token, reason: result.reason }]);
|
|
192
|
-
const skipped = allSkipped.filter((entry, index) => allSkipped.findIndex(other => other.token === entry.token) === index);
|
|
193
|
-
return { refs, skipped, headSha };
|
|
194
|
-
}
|
|
195
|
-
//# sourceMappingURL=deploy-status-refs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-status-refs.js","sourceRoot":"","sources":["../../src/cli/deploy-status-refs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `lisa deploy-status-sync` — the DSS-2 transition engine entry point.
|
|
3
|
-
*
|
|
4
|
-
* Given a deploy event (environment or branch + commit range), extract the
|
|
5
|
-
* work-item refs the range shipped, plan transitions over the config-sourced
|
|
6
|
-
* deploy ladder (pure planner), and execute them idempotently through the
|
|
7
|
-
* tracker adapter. Exit code 0 covers success INCLUDING explanatory no-ops
|
|
8
|
-
* and skips — a deploy job must not gate on tracker vocabulary; 1 is
|
|
9
|
-
* reserved for genuine errors (config validation, git/gh/API failures,
|
|
10
|
-
* unknown environment, or any per-item transition failure — remaining items
|
|
11
|
-
* are still processed first).
|
|
12
|
-
* @module cli/deploy-status-sync-cmd
|
|
13
|
-
*/
|
|
14
|
-
import { type DeployStatusSyncDependencies, type DeployStatusSyncOptions } from "./deploy-status-sync-engine.js";
|
|
15
|
-
export type { DeployStatusSyncDependencies, DeployStatusSyncOptions, } from "./deploy-status-sync-engine.js";
|
|
16
|
-
/**
|
|
17
|
-
* Run the deploy-status-sync engine for one deploy event.
|
|
18
|
-
* @param options - CLI options
|
|
19
|
-
* @param deps - Injectable collaborators for tests
|
|
20
|
-
* @returns Intended process exit code
|
|
21
|
-
*/
|
|
22
|
-
export declare function runDeployStatusSync(options: DeployStatusSyncOptions, deps?: DeployStatusSyncDependencies): Promise<number>;
|
|
23
|
-
//# sourceMappingURL=deploy-status-sync-cmd.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-status-sync-cmd.d.ts","sourceRoot":"","sources":["../../src/cli/deploy-status-sync-cmd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAGL,KAAK,4BAA4B,EACjC,KAAK,uBAAuB,EAE7B,MAAM,gCAAgC,CAAC;AAExC,YAAY,EACV,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AAmCxC;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,uBAAuB,EAChC,IAAI,GAAE,4BAAiC,GACtC,OAAO,CAAC,MAAM,CAAC,CAyBjB"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `lisa deploy-status-sync` — the DSS-2 transition engine entry point.
|
|
3
|
-
*
|
|
4
|
-
* Given a deploy event (environment or branch + commit range), extract the
|
|
5
|
-
* work-item refs the range shipped, plan transitions over the config-sourced
|
|
6
|
-
* deploy ladder (pure planner), and execute them idempotently through the
|
|
7
|
-
* tracker adapter. Exit code 0 covers success INCLUDING explanatory no-ops
|
|
8
|
-
* and skips — a deploy job must not gate on tracker vocabulary; 1 is
|
|
9
|
-
* reserved for genuine errors (config validation, git/gh/API failures,
|
|
10
|
-
* unknown environment, or any per-item transition failure — remaining items
|
|
11
|
-
* are still processed first).
|
|
12
|
-
* @module cli/deploy-status-sync-cmd
|
|
13
|
-
*/
|
|
14
|
-
import { resolveRunContext, runResolved, } from "./deploy-status-sync-engine.js";
|
|
15
|
-
/**
|
|
16
|
-
* Validate the mutually-exclusive event selector and range options.
|
|
17
|
-
* @param options - CLI options
|
|
18
|
-
* @returns The normalized range, or an error message
|
|
19
|
-
*/
|
|
20
|
-
function normalizeInputs(options) {
|
|
21
|
-
const hasEnvironment = options.environment !== undefined;
|
|
22
|
-
const hasBranch = options.branch !== undefined;
|
|
23
|
-
if (hasEnvironment === hasBranch) {
|
|
24
|
-
return {
|
|
25
|
-
problem: "Pass exactly one of --environment <env> or --branch <branch> to identify the deploy target.",
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
if (options.range !== undefined) {
|
|
29
|
-
if (options.range.includes("...")) {
|
|
30
|
-
return {
|
|
31
|
-
problem: `Invalid range "${options.range}": three-dot "..." selects the symmetric difference, which is never a deploy range. Pass the deployed range as <base>..<head> (two dots).`,
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
return { range: options.range };
|
|
35
|
-
}
|
|
36
|
-
if (options.before !== undefined && options.after !== undefined) {
|
|
37
|
-
return { range: `${options.before}..${options.after}` };
|
|
38
|
-
}
|
|
39
|
-
return {
|
|
40
|
-
problem: "Pass the deployed commit range as --range <base>..<head> (or --before <sha> --after <sha>).",
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Run the deploy-status-sync engine for one deploy event.
|
|
45
|
-
* @param options - CLI options
|
|
46
|
-
* @param deps - Injectable collaborators for tests
|
|
47
|
-
* @returns Intended process exit code
|
|
48
|
-
*/
|
|
49
|
-
export async function runDeployStatusSync(options, deps = {}) {
|
|
50
|
-
const log = deps.log ?? ((message) => console.log(message));
|
|
51
|
-
const error = deps.error ?? ((message) => console.error(message));
|
|
52
|
-
// In --json mode the machine payload is the ONLY stdout content; human
|
|
53
|
-
// narration would corrupt consumers that parse the output.
|
|
54
|
-
const human = options.json === true ? () => undefined : log;
|
|
55
|
-
const sinks = { log, error, human };
|
|
56
|
-
const cwd = deps.cwd ?? process.cwd();
|
|
57
|
-
const normalized = normalizeInputs(options);
|
|
58
|
-
if ("problem" in normalized) {
|
|
59
|
-
error(normalized.problem);
|
|
60
|
-
return 1;
|
|
61
|
-
}
|
|
62
|
-
try {
|
|
63
|
-
const context = await resolveRunContext(options, cwd);
|
|
64
|
-
if ("problem" in context) {
|
|
65
|
-
error(context.problem);
|
|
66
|
-
return 1;
|
|
67
|
-
}
|
|
68
|
-
return await runResolved(context, normalized.range, options, deps, sinks);
|
|
69
|
-
}
|
|
70
|
-
catch (cause) {
|
|
71
|
-
error(cause instanceof Error ? cause.message : String(cause));
|
|
72
|
-
return 1;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=deploy-status-sync-cmd.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-status-sync-cmd.js","sourceRoot":"","sources":["../../src/cli/deploy-status-sync-cmd.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EACL,iBAAiB,EACjB,WAAW,GAIZ,MAAM,gCAAgC,CAAC;AAOxC;;;;GAIG;AACH,SAAS,eAAe,CACtB,OAAgC;IAEhC,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC;IACzD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC;IAC/C,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO;YACL,OAAO,EACL,6FAA6F;SAChG,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO;gBACL,OAAO,EAAE,kBAAkB,OAAO,CAAC,KAAK,2IAA2I;aACpL,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IAC1D,CAAC;IACD,OAAO;QACL,OAAO,EACL,6FAA6F;KAChG,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAgC,EAChC,OAAqC,EAAE;IAEvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,OAAe,EAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1E,MAAM,KAAK,GACT,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,OAAe,EAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,uEAAuE;IACvE,2DAA2D;IAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,GAAS,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IAClE,MAAM,KAAK,GAAU,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACtC,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;QAC5B,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACtD,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;YACzB,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACvB,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,MAAM,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { type DeployLadder, type Tracker } from "../core/deploy-status-sync.js";
|
|
2
|
-
import { type JsonValue } from "../sync/json-path.js";
|
|
3
|
-
import { type TrackerAdapter, type TrackerAdapterOptions } from "./deploy-status-adapter.js";
|
|
4
|
-
import { type ExtractedRefs, type ExtractRefsOptions } from "./deploy-status-refs.js";
|
|
5
|
-
import { type DeployStatusSyncOptions, type Sinks } from "./deploy-status-sync-exec.js";
|
|
6
|
-
export type { DeployStatusSyncOptions, Sinks, } from "./deploy-status-sync-exec.js";
|
|
7
|
-
/** Injectable collaborators for the engine. */
|
|
8
|
-
export interface DeployStatusSyncDependencies {
|
|
9
|
-
/** Working directory (defaults to the process cwd) */
|
|
10
|
-
readonly cwd?: string;
|
|
11
|
-
/** Output sink (defaults to stdout) */
|
|
12
|
-
readonly log?: (message: string) => void;
|
|
13
|
-
/** Error sink (defaults to stderr) */
|
|
14
|
-
readonly error?: (message: string) => void;
|
|
15
|
-
/** Ref extractor (defaults to the real git/gh extractor) */
|
|
16
|
-
readonly extractRefs?: (options: ExtractRefsOptions) => Promise<ExtractedRefs>;
|
|
17
|
-
/** Adapter factory (defaults to {@link createTrackerAdapter}) */
|
|
18
|
-
readonly adapterFactory?: (options: TrackerAdapterOptions) => TrackerAdapter;
|
|
19
|
-
}
|
|
20
|
-
/** Resolved run context shared by the engine stages. */
|
|
21
|
-
export interface RunContext {
|
|
22
|
-
readonly config: JsonValue;
|
|
23
|
-
readonly tracker: Tracker;
|
|
24
|
-
readonly ladder: DeployLadder;
|
|
25
|
-
readonly env: string;
|
|
26
|
-
readonly branch: string;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Read the config and resolve the tracker, ladder, and environment.
|
|
30
|
-
* @param options - CLI options
|
|
31
|
-
* @param cwd - Working directory
|
|
32
|
-
* @returns Run context, or a decision-ready problem
|
|
33
|
-
*/
|
|
34
|
-
export declare function resolveRunContext(options: DeployStatusSyncOptions, cwd: string): Promise<RunContext | {
|
|
35
|
-
readonly problem: string;
|
|
36
|
-
}>;
|
|
37
|
-
/**
|
|
38
|
-
* Run the engine over a resolved context: preflight the environment (an
|
|
39
|
-
* unconfigured env is an explanatory no-op, exit 0), extract refs, then
|
|
40
|
-
* fetch/plan/execute.
|
|
41
|
-
* @param context - Resolved run context
|
|
42
|
-
* @param range - Normalized commit range
|
|
43
|
-
* @param options - CLI options
|
|
44
|
-
* @param deps - Injectable collaborators
|
|
45
|
-
* @param sinks - Output sinks
|
|
46
|
-
* @returns Intended process exit code
|
|
47
|
-
*/
|
|
48
|
-
export declare function runResolved(context: RunContext, range: string, options: DeployStatusSyncOptions, deps: DeployStatusSyncDependencies, sinks: Sinks): Promise<number>;
|
|
49
|
-
//# sourceMappingURL=deploy-status-sync-engine.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deploy-status-sync-engine.d.ts","sourceRoot":"","sources":["../../src/cli/deploy-status-sync-engine.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,OAAO,EACb,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAIL,KAAK,uBAAuB,EAC5B,KAAK,KAAK,EACX,MAAM,8BAA8B,CAAC;AAEtC,YAAY,EACV,uBAAuB,EACvB,KAAK,GACN,MAAM,8BAA8B,CAAC;AAEtC,+CAA+C;AAC/C,MAAM,WAAW,4BAA4B;IAC3C,sDAAsD;IACtD,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,sCAAsC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,4DAA4D;IAC5D,QAAQ,CAAC,WAAW,CAAC,EAAE,CACrB,OAAO,EAAE,kBAAkB,KACxB,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5B,iEAAiE;IACjE,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,cAAc,CAAC;CAC9E;AAED,wDAAwD;AACxD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AA+CD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,uBAAuB,EAChC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,UAAU,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAwBpD;AAiGD;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,uBAAuB,EAChC,IAAI,EAAE,4BAA4B,EAClC,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,MAAM,CAAC,CAiDjB"}
|