@seanmars/tospec 0.19.0-beta.6 → 0.19.0-beta.8
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/CHANGELOG.md +137 -0
- package/assets/dashboard/app.js +3 -3
- package/assets/rules/tospec/decision.md +3 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +205 -36
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +151 -23
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/dashboard.d.ts +34 -9
- package/dist/commands/dashboard.d.ts.map +1 -1
- package/dist/commands/dashboard.js +213 -21
- package/dist/commands/dashboard.js.map +1 -1
- package/dist/commands/decision.d.ts +11 -0
- package/dist/commands/decision.d.ts.map +1 -1
- package/dist/commands/decision.js +182 -20
- package/dist/commands/decision.js.map +1 -1
- package/dist/commands/shared-output.d.ts +12 -0
- package/dist/commands/shared-output.d.ts.map +1 -1
- package/dist/commands/shared-output.js +50 -1
- package/dist/commands/shared-output.js.map +1 -1
- package/dist/commands/show.d.ts +10 -0
- package/dist/commands/show.d.ts.map +1 -1
- package/dist/commands/show.js +23 -4
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/validate.d.ts +41 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +95 -17
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/workflow/index.d.ts +5 -5
- package/dist/commands/workflow/index.d.ts.map +1 -1
- package/dist/commands/workflow/index.js +5 -5
- package/dist/commands/workflow/index.js.map +1 -1
- package/dist/commands/workflow/instructions.d.ts +23 -0
- package/dist/commands/workflow/instructions.d.ts.map +1 -1
- package/dist/commands/workflow/instructions.js +84 -16
- package/dist/commands/workflow/instructions.js.map +1 -1
- package/dist/commands/workflow/new-change.d.ts +2 -0
- package/dist/commands/workflow/new-change.d.ts.map +1 -1
- package/dist/commands/workflow/new-change.js +32 -4
- package/dist/commands/workflow/new-change.js.map +1 -1
- package/dist/commands/workflow/schemas.d.ts +2 -0
- package/dist/commands/workflow/schemas.d.ts.map +1 -1
- package/dist/commands/workflow/schemas.js +38 -1
- package/dist/commands/workflow/schemas.js.map +1 -1
- package/dist/commands/workflow/shared.d.ts +34 -2
- package/dist/commands/workflow/shared.d.ts.map +1 -1
- package/dist/commands/workflow/shared.js +37 -3
- package/dist/commands/workflow/shared.js.map +1 -1
- package/dist/commands/workflow/status.d.ts +14 -0
- package/dist/commands/workflow/status.d.ts.map +1 -1
- package/dist/commands/workflow/status.js +65 -8
- package/dist/commands/workflow/status.js.map +1 -1
- package/dist/commands/workflow/templates.d.ts +7 -0
- package/dist/commands/workflow/templates.d.ts.map +1 -1
- package/dist/commands/workflow/templates.js +13 -0
- package/dist/commands/workflow/templates.js.map +1 -1
- package/dist/core/archive.d.ts +14 -0
- package/dist/core/archive.d.ts.map +1 -1
- package/dist/core/archive.js +169 -18
- package/dist/core/archive.js.map +1 -1
- package/dist/core/artifact-graph/graph.d.ts +13 -3
- package/dist/core/artifact-graph/graph.d.ts.map +1 -1
- package/dist/core/artifact-graph/graph.js +16 -6
- package/dist/core/artifact-graph/graph.js.map +1 -1
- package/dist/core/artifact-graph/index.d.ts +1 -1
- package/dist/core/artifact-graph/index.d.ts.map +1 -1
- package/dist/core/artifact-graph/index.js +1 -1
- package/dist/core/artifact-graph/index.js.map +1 -1
- package/dist/core/artifact-graph/instruction-loader.d.ts +74 -3
- package/dist/core/artifact-graph/instruction-loader.d.ts.map +1 -1
- package/dist/core/artifact-graph/instruction-loader.js +79 -31
- package/dist/core/artifact-graph/instruction-loader.js.map +1 -1
- package/dist/core/artifact-graph/resolver.d.ts +26 -0
- package/dist/core/artifact-graph/resolver.d.ts.map +1 -1
- package/dist/core/artifact-graph/resolver.js +44 -4
- package/dist/core/artifact-graph/resolver.js.map +1 -1
- package/dist/core/artifact-graph/stub-detection.d.ts +20 -0
- package/dist/core/artifact-graph/stub-detection.d.ts.map +1 -0
- package/dist/core/artifact-graph/stub-detection.js +42 -0
- package/dist/core/artifact-graph/stub-detection.js.map +1 -0
- package/dist/core/change-presenter.d.ts +16 -0
- package/dist/core/change-presenter.d.ts.map +1 -1
- package/dist/core/change-presenter.js +68 -9
- package/dist/core/change-presenter.js.map +1 -1
- package/dist/core/change-status-policy.d.ts +12 -1
- package/dist/core/change-status-policy.d.ts.map +1 -1
- package/dist/core/change-status-policy.js +33 -1
- package/dist/core/change-status-policy.js.map +1 -1
- package/dist/core/codex-residue.js +1 -1
- package/dist/core/config-schema.d.ts +1 -12
- package/dist/core/config-schema.d.ts.map +1 -1
- package/dist/core/config-schema.js +27 -1
- package/dist/core/config-schema.js.map +1 -1
- package/dist/core/config.d.ts +37 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +37 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/dashboard-activity.js +2 -2
- package/dist/core/dashboard-activity.js.map +1 -1
- package/dist/core/dashboard-data.d.ts +5 -0
- package/dist/core/dashboard-data.d.ts.map +1 -1
- package/dist/core/dashboard-data.js +15 -8
- package/dist/core/dashboard-data.js.map +1 -1
- package/dist/core/init.d.ts +22 -0
- package/dist/core/init.d.ts.map +1 -1
- package/dist/core/init.js +107 -45
- package/dist/core/init.js.map +1 -1
- package/dist/core/list.d.ts +1 -1
- package/dist/core/list.d.ts.map +1 -1
- package/dist/core/list.js +68 -17
- package/dist/core/list.js.map +1 -1
- package/dist/core/markdown-render.d.ts +33 -0
- package/dist/core/markdown-render.d.ts.map +1 -0
- package/dist/core/markdown-render.js +103 -0
- package/dist/core/markdown-render.js.map +1 -0
- package/dist/core/migrate.d.ts +20 -6
- package/dist/core/migrate.d.ts.map +1 -1
- package/dist/core/migrate.js +102 -6
- package/dist/core/migrate.js.map +1 -1
- package/dist/core/parsers/change-parser.js +1 -1
- package/dist/core/parsers/change-parser.js.map +1 -1
- package/dist/core/parsers/markdown-parser.d.ts.map +1 -1
- package/dist/core/parsers/markdown-parser.js +16 -0
- package/dist/core/parsers/markdown-parser.js.map +1 -1
- package/dist/core/parsers/requirement-blocks.js +32 -9
- package/dist/core/parsers/requirement-blocks.js.map +1 -1
- package/dist/core/root-selection.d.ts +11 -1
- package/dist/core/root-selection.d.ts.map +1 -1
- package/dist/core/root-selection.js +4 -2
- package/dist/core/root-selection.js.map +1 -1
- package/dist/core/rules.d.ts +6 -1
- package/dist/core/rules.d.ts.map +1 -1
- package/dist/core/rules.js +24 -2
- package/dist/core/rules.js.map +1 -1
- package/dist/core/schemas/base.schema.d.ts +3 -0
- package/dist/core/schemas/base.schema.d.ts.map +1 -1
- package/dist/core/schemas/base.schema.js +22 -0
- package/dist/core/schemas/base.schema.js.map +1 -1
- package/dist/core/schemas/change.schema.d.ts +8 -0
- package/dist/core/schemas/change.schema.d.ts.map +1 -1
- package/dist/core/schemas/spec.schema.d.ts +2 -0
- package/dist/core/schemas/spec.schema.d.ts.map +1 -1
- package/dist/core/shared/index.d.ts +1 -1
- package/dist/core/shared/index.d.ts.map +1 -1
- package/dist/core/shared/index.js +1 -1
- package/dist/core/shared/index.js.map +1 -1
- package/dist/core/shared/rules-generation.d.ts +27 -6
- package/dist/core/shared/rules-generation.d.ts.map +1 -1
- package/dist/core/shared/rules-generation.js +115 -44
- package/dist/core/shared/rules-generation.js.map +1 -1
- package/dist/core/shared/tool-detection.d.ts +19 -0
- package/dist/core/shared/tool-detection.d.ts.map +1 -1
- package/dist/core/shared/tool-detection.js +30 -2
- package/dist/core/shared/tool-detection.js.map +1 -1
- package/dist/core/spec-presenter.d.ts.map +1 -1
- package/dist/core/spec-presenter.js +5 -0
- package/dist/core/spec-presenter.js.map +1 -1
- package/dist/core/specs-apply.d.ts +15 -1
- package/dist/core/specs-apply.d.ts.map +1 -1
- package/dist/core/specs-apply.js +33 -11
- package/dist/core/specs-apply.js.map +1 -1
- package/dist/core/templates/workflows/apply.js +1 -1
- package/dist/core/templates/workflows/apply.js.map +1 -1
- package/dist/core/templates/workflows/archive.d.ts.map +1 -1
- package/dist/core/templates/workflows/archive.js +4 -2
- package/dist/core/templates/workflows/archive.js.map +1 -1
- package/dist/core/templates/workflows/decision.js +1 -1
- package/dist/core/templates/workflows/issue.d.ts.map +1 -1
- package/dist/core/templates/workflows/issue.js +3 -0
- package/dist/core/templates/workflows/issue.js.map +1 -1
- package/dist/core/update.d.ts +26 -0
- package/dist/core/update.d.ts.map +1 -1
- package/dist/core/update.js +111 -23
- package/dist/core/update.js.map +1 -1
- package/dist/core/validation/constants.d.ts +1 -1
- package/dist/core/validation/constants.d.ts.map +1 -1
- package/dist/core/validation/constants.js +6 -1
- package/dist/core/validation/constants.js.map +1 -1
- package/dist/core/validation/section-validator.d.ts.map +1 -1
- package/dist/core/validation/section-validator.js +21 -3
- package/dist/core/validation/section-validator.js.map +1 -1
- package/dist/core/validation/validator.d.ts +17 -4
- package/dist/core/validation/validator.d.ts.map +1 -1
- package/dist/core/validation/validator.js +120 -34
- package/dist/core/validation/validator.js.map +1 -1
- package/dist/utils/change-utils.d.ts +31 -2
- package/dist/utils/change-utils.d.ts.map +1 -1
- package/dist/utils/change-utils.js +127 -37
- package/dist/utils/change-utils.js.map +1 -1
- package/dist/utils/file-system.d.ts +1 -1
- package/dist/utils/file-system.js +1 -1
- package/dist/utils/item-discovery.d.ts +20 -5
- package/dist/utils/item-discovery.d.ts.map +1 -1
- package/dist/utils/item-discovery.js +28 -9
- package/dist/utils/item-discovery.js.map +1 -1
- package/dist/utils/spec-files.d.ts +12 -0
- package/dist/utils/spec-files.d.ts.map +1 -1
- package/dist/utils/spec-files.js +34 -0
- package/dist/utils/spec-files.js.map +1 -1
- package/dist/utils/task-progress.js +1 -1
- package/package.json +1 -1
- package/schemas/decision/templates/decision.md +3 -1
- package/schemas/decision/templates/index.md +2 -2
- package/schemas/issue/schema.yaml +4 -2
- package/schemas/issue/templates/spec.md +20 -2
- package/schemas/sdd/schema.yaml +4 -0
- package/schemas/sdd/templates/spec.md +20 -2
- /package/assets/rules/tospec/{single-sourc-of-truth.md → single-source-of-truth.md} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/workflow/status.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,YAAY,GACb,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GAEnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,QAAQ,EAA0B,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/commands/workflow/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Shows resolved template paths for all artifacts in a schema.
|
|
5
5
|
*/
|
|
6
|
+
/**
|
|
7
|
+
* The `--json` null-shape. Exported so the commander-level shape table and this
|
|
8
|
+
* command's own catch block read the same object instead of two literals that
|
|
9
|
+
* drifted — the catch block's copy was missing `root`, which every success
|
|
10
|
+
* payload carries.
|
|
11
|
+
*/
|
|
12
|
+
export declare const TEMPLATES_FAILURE_PAYLOAD: Record<string, unknown>;
|
|
6
13
|
export interface TemplatesOptions {
|
|
7
14
|
schema?: string;
|
|
8
15
|
json?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/commands/workflow/templates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;CACxC;AAMD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiE/E"}
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/commands/workflow/templates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAG7D,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;CACxC;AAMD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiE/E"}
|
|
@@ -10,6 +10,19 @@ import { validateSchemaExists, DEFAULT_SCHEMA } from './shared.js';
|
|
|
10
10
|
import { emitSuccess } from '../shared-output.js';
|
|
11
11
|
import { resolveRootForCommand, toRootOutput } from '../../core/root-selection.js';
|
|
12
12
|
// -----------------------------------------------------------------------------
|
|
13
|
+
// Types
|
|
14
|
+
// -----------------------------------------------------------------------------
|
|
15
|
+
/**
|
|
16
|
+
* The `--json` null-shape. Exported so the commander-level shape table and this
|
|
17
|
+
* command's own catch block read the same object instead of two literals that
|
|
18
|
+
* drifted — the catch block's copy was missing `root`, which every success
|
|
19
|
+
* payload carries.
|
|
20
|
+
*/
|
|
21
|
+
export const TEMPLATES_FAILURE_PAYLOAD = {
|
|
22
|
+
templates: null,
|
|
23
|
+
root: null,
|
|
24
|
+
};
|
|
25
|
+
// -----------------------------------------------------------------------------
|
|
13
26
|
// Command Implementation
|
|
14
27
|
// -----------------------------------------------------------------------------
|
|
15
28
|
export async function templatesCommand(options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/commands/workflow/templates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,GACd,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/commands/workflow/templates.ts"],"names":[],"mappings":"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"}
|
package/dist/core/archive.d.ts
CHANGED
|
@@ -40,6 +40,20 @@ export declare class ArchiveCommand {
|
|
|
40
40
|
* step by hand for the "every blocked path throws in JSON mode" invariant.
|
|
41
41
|
*/
|
|
42
42
|
private gate;
|
|
43
|
+
/**
|
|
44
|
+
* Required artifacts the change never produced, in schema order.
|
|
45
|
+
*
|
|
46
|
+
* Reads the same graph `tospec status` does, so the two can never disagree
|
|
47
|
+
* about what "required" means. `skipped` covers the legitimate opt-out
|
|
48
|
+
* (`skip_specs: true`), and optional artifacts are the schema's own statement
|
|
49
|
+
* that their absence is fine — neither is reported here.
|
|
50
|
+
*
|
|
51
|
+
* A change whose graph cannot be loaded at all (unreadable metadata, unknown
|
|
52
|
+
* schema) returns nothing rather than throwing: this gate exists to describe
|
|
53
|
+
* a change, not to become a second way for archive to fail on one. Whatever
|
|
54
|
+
* broke the load is already validation's to report.
|
|
55
|
+
*/
|
|
56
|
+
private findMissingRequiredArtifacts;
|
|
43
57
|
/**
|
|
44
58
|
* Shared archive flow. In human mode (json=false) prompts and prose match
|
|
45
59
|
* the historical behavior and cancellations return null. In JSON mode no
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../src/core/archive.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../src/core/archive.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAQxD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,wBAAkB,CAAC;AAElD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAYjF;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA2DD;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAe5E;AAgED,2FAA2F;AAC3F,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYvE;AAED,qBAAa,cAAc;IACnB,OAAO,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyC9E;IAED,OAAO,CAAC,gBAAgB;IAiBxB;;;;;;;OAOG;YACW,IAAI;IAoClB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,4BAA4B;IAuBpC;;;;OAIG;YACW,GAAG;YAweH,YAAY;CAwC3B"}
|
package/dist/core/archive.js
CHANGED
|
@@ -5,11 +5,12 @@ import { Validator } from './validation/validator.js';
|
|
|
5
5
|
import { validateChangeArtifacts } from '../commands/validate.js';
|
|
6
6
|
import { isRootSelectionError, resolveRootForCommand, toRootOutput, } from './root-selection.js';
|
|
7
7
|
import { findSpecUpdates, buildUpdatedSpec, writeUpdatedSpec, retireSpec, } from './specs-apply.js';
|
|
8
|
+
import { loadChangeContext, formatChangeStatus } from './artifact-graph/index.js';
|
|
8
9
|
import { formatTimestamp } from '../utils/timestamp.js';
|
|
9
10
|
import { findSpecFiles } from '../utils/spec-files.js';
|
|
10
11
|
import { FileSystemUtils, isMissingPathError } from '../utils/file-system.js';
|
|
11
12
|
import { isKebabId, KEBAB_ID_DESCRIPTION } from './id.js';
|
|
12
|
-
import {
|
|
13
|
+
import { findTicketPaths, listActiveChangeDirs } from '../utils/item-discovery.js';
|
|
13
14
|
import { METADATA_FILENAME, readChangeMetadata } from '../utils/change-metadata.js';
|
|
14
15
|
import { emitSuccess, emitFailureStatus } from '../commands/shared-output.js';
|
|
15
16
|
/**
|
|
@@ -169,28 +170,47 @@ export class ArchiveCommand {
|
|
|
169
170
|
// Same root resolution adapter as every other command (report 4.3).
|
|
170
171
|
const root = await resolveRootForCommand(options, {
|
|
171
172
|
json,
|
|
172
|
-
|
|
173
|
+
// See workflow/status.ts: an implicit root means no ancestor holds a
|
|
174
|
+
// `tospec/` dir, and archiving there can only fail — but with a plain
|
|
175
|
+
// "no changes directory" message rather than the shared no_tospec_root
|
|
176
|
+
// diagnostic its sibling commands report for the same condition.
|
|
177
|
+
allowImplicitRoot: false,
|
|
178
|
+
failurePayload: { archive: null, root: null },
|
|
173
179
|
});
|
|
174
180
|
if (!root) {
|
|
175
181
|
return;
|
|
176
182
|
}
|
|
177
183
|
if (json) {
|
|
184
|
+
// A gate overridden by --yes has something to report but did not fail —
|
|
185
|
+
// exit 0 stands, and the warning rides on `status` instead of being
|
|
186
|
+
// dropped, since prose on stdout would corrupt the JSON document.
|
|
187
|
+
const jsonWarnings = [];
|
|
178
188
|
try {
|
|
179
|
-
const result = await this.run(changeName, options, root, true);
|
|
189
|
+
const result = await this.run(changeName, options, root, true, jsonWarnings);
|
|
180
190
|
if (!result) {
|
|
181
191
|
return;
|
|
182
192
|
}
|
|
183
|
-
emitSuccess({ archive: result }, toRootOutput(root));
|
|
193
|
+
emitSuccess({ archive: result, ...(jsonWarnings.length ? { status: jsonWarnings } : {}) }, toRootOutput(root));
|
|
184
194
|
}
|
|
185
195
|
catch (error) {
|
|
186
|
-
|
|
196
|
+
// The gates that were overridden before the failure still happened, and
|
|
197
|
+
// a run that both skipped validation *and* then failed is exactly when
|
|
198
|
+
// the reader needs to know. Dropping them here reproduced, on the
|
|
199
|
+
// failure path, the discard this collection exists to prevent.
|
|
200
|
+
this.printJsonFailure(root, toArchiveDiagnostic(error), jsonWarnings);
|
|
187
201
|
}
|
|
188
202
|
return;
|
|
189
203
|
}
|
|
190
|
-
await this.run(changeName, options, root, false);
|
|
204
|
+
await this.run(changeName, options, root, false, []);
|
|
191
205
|
}
|
|
192
|
-
printJsonFailure(root, diagnostic) {
|
|
193
|
-
emitFailureStatus
|
|
206
|
+
printJsonFailure(root, diagnostic, jsonWarnings = []) {
|
|
207
|
+
// emitFailureStatus appends the error to any `status` already in the
|
|
208
|
+
// payload, so the warnings keep their order and precede the failure.
|
|
209
|
+
emitFailureStatus({
|
|
210
|
+
archive: null,
|
|
211
|
+
...(root ? { root: toRootOutput(root) } : {}),
|
|
212
|
+
...(jsonWarnings.length ? { status: jsonWarnings } : {}),
|
|
213
|
+
}, diagnostic);
|
|
194
214
|
}
|
|
195
215
|
/**
|
|
196
216
|
* One archive gate. JSON mode is non-interactive, so a blocked path throws;
|
|
@@ -202,8 +222,17 @@ export class ArchiveCommand {
|
|
|
202
222
|
*/
|
|
203
223
|
async gate(opts) {
|
|
204
224
|
if (opts.yes) {
|
|
205
|
-
if (
|
|
225
|
+
if (opts.json) {
|
|
226
|
+
// No `fix`. Every gate's fix is phrased for the caller who is being
|
|
227
|
+
// blocked and ends in "or rerun with --yes" — advice that read as
|
|
228
|
+
// nonsense in the output of a run that already passed `--yes`, telling
|
|
229
|
+
// the reader to do the thing they just did. The archive has happened;
|
|
230
|
+
// there is nothing left to act on, so the message stands alone.
|
|
231
|
+
opts.warnings.push({ severity: 'warning', code: opts.code, message: opts.message });
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
206
234
|
console.error(opts.warning);
|
|
235
|
+
}
|
|
207
236
|
return true;
|
|
208
237
|
}
|
|
209
238
|
if (opts.json) {
|
|
@@ -217,12 +246,42 @@ export class ArchiveCommand {
|
|
|
217
246
|
}
|
|
218
247
|
return true;
|
|
219
248
|
}
|
|
249
|
+
/**
|
|
250
|
+
* Required artifacts the change never produced, in schema order.
|
|
251
|
+
*
|
|
252
|
+
* Reads the same graph `tospec status` does, so the two can never disagree
|
|
253
|
+
* about what "required" means. `skipped` covers the legitimate opt-out
|
|
254
|
+
* (`skip_specs: true`), and optional artifacts are the schema's own statement
|
|
255
|
+
* that their absence is fine — neither is reported here.
|
|
256
|
+
*
|
|
257
|
+
* A change whose graph cannot be loaded at all (unreadable metadata, unknown
|
|
258
|
+
* schema) returns nothing rather than throwing: this gate exists to describe
|
|
259
|
+
* a change, not to become a second way for archive to fail on one. Whatever
|
|
260
|
+
* broke the load is already validation's to report.
|
|
261
|
+
*/
|
|
262
|
+
findMissingRequiredArtifacts(projectRoot, changeName, changeDir) {
|
|
263
|
+
try {
|
|
264
|
+
// Schema left undefined on purpose: loadChangeContext reads it from the
|
|
265
|
+
// change's own metadata, the same way `status` does.
|
|
266
|
+
const status = formatChangeStatus(loadChangeContext(projectRoot, changeName, undefined, { changeDir }));
|
|
267
|
+
return status.artifacts
|
|
268
|
+
.filter((artifact) => !artifact.optional && artifact.status !== 'done' && artifact.status !== 'skipped')
|
|
269
|
+
// A stub's file is on disk and still holds the template, so reporting it
|
|
270
|
+
// the same way as an absent one sent the reader to look for a file that
|
|
271
|
+
// was right there. The status is what distinguishes the two, and it is
|
|
272
|
+
// already in hand here.
|
|
273
|
+
.map((artifact) => (artifact.status === 'stub' ? `${artifact.id} (stub)` : artifact.id));
|
|
274
|
+
}
|
|
275
|
+
catch {
|
|
276
|
+
return [];
|
|
277
|
+
}
|
|
278
|
+
}
|
|
220
279
|
/**
|
|
221
280
|
* Shared archive flow. In human mode (json=false) prompts and prose match
|
|
222
281
|
* the historical behavior and cancellations return null. In JSON mode no
|
|
223
282
|
* prose reaches stdout and every blocked path throws.
|
|
224
283
|
*/
|
|
225
|
-
async run(changeName, options, root, json) {
|
|
284
|
+
async run(changeName, options, root, json, jsonWarnings) {
|
|
226
285
|
const changesDir = root.changesDir;
|
|
227
286
|
const archiveDir = root.archiveDir;
|
|
228
287
|
const mainSpecsDir = root.specsDir;
|
|
@@ -231,7 +290,7 @@ export class ArchiveCommand {
|
|
|
231
290
|
await fs.access(changesDir);
|
|
232
291
|
}
|
|
233
292
|
catch {
|
|
234
|
-
throw new
|
|
293
|
+
throw new ArchiveBlockedError('changes_dir_missing', 'No Tospec changes directory found.', "Run 'tospec init' first.");
|
|
235
294
|
}
|
|
236
295
|
// Captured before the interactive branch can overwrite `changeName`: the
|
|
237
296
|
// kebab guard below applies to the argument only, and provenance is the
|
|
@@ -305,11 +364,11 @@ export class ArchiveCommand {
|
|
|
305
364
|
syncReportContent = await fs.readFile(syncReportPath, 'utf-8');
|
|
306
365
|
}
|
|
307
366
|
catch {
|
|
308
|
-
throw new ArchiveBlockedError('
|
|
367
|
+
throw new ArchiveBlockedError('sync_report_missing', `sync-report.md not found for change '${changeName}'.`, 'Run tospec-sync first, or omit --require-sync.');
|
|
309
368
|
}
|
|
310
369
|
const conclusion = parseSyncReportConclusion(syncReportContent);
|
|
311
370
|
if (conclusion !== 'PASS') {
|
|
312
|
-
throw new ArchiveBlockedError('
|
|
371
|
+
throw new ArchiveBlockedError('sync_report_failed', `sync-report.md for change '${changeName}' does not report a PASS conclusion (found: ${conclusion ?? 'unparseable'}).`, 'Resolve the flagged Requirement(s) via tospec-apply, then re-run tospec-sync.');
|
|
313
372
|
}
|
|
314
373
|
}
|
|
315
374
|
const skipValidation = options.validate === false || options.noValidate === true;
|
|
@@ -358,10 +417,18 @@ export class ArchiveCommand {
|
|
|
358
417
|
json,
|
|
359
418
|
yes: !!options.yes,
|
|
360
419
|
code: 'archive_confirmation_required',
|
|
361
|
-
|
|
420
|
+
// States the condition, not the remedy. A gate's `message` is reused
|
|
421
|
+
// verbatim when `--yes` overrides the gate, where "rerun with --yes"
|
|
422
|
+
// told the reader to do the thing they had just done — the same defect
|
|
423
|
+
// that removing `fix` from overridden gates was meant to end. The other
|
|
424
|
+
// two gates were already written this way ("N incomplete task(s) found"),
|
|
425
|
+
// which is why only this one carried it. Remedies belong in `fix`, which
|
|
426
|
+
// an overridden gate drops.
|
|
427
|
+
message: `Validation is disabled for change '${changeName}' (--no-validate).`,
|
|
362
428
|
fix: 'tospec archive <change-name> --json --no-validate --yes',
|
|
363
429
|
prompt: '⚠️ WARNING: Skipping validation may archive invalid specs. Continue? (y/N)',
|
|
364
430
|
warning: '\n⚠️ WARNING: Skipping validation may archive invalid specs.',
|
|
431
|
+
warnings: jsonWarnings,
|
|
365
432
|
});
|
|
366
433
|
if (!proceed)
|
|
367
434
|
return null;
|
|
@@ -371,6 +438,36 @@ export class ArchiveCommand {
|
|
|
371
438
|
console.error(`Affected files: ${changeDir}`);
|
|
372
439
|
}
|
|
373
440
|
}
|
|
441
|
+
// The artifact graph already knows which artifacts a schema requires, and
|
|
442
|
+
// `status` reports it as isComplete — but nothing consulted that before
|
|
443
|
+
// archiving, so a change carrying only a delta spec archived clean with no
|
|
444
|
+
// proposal and no design. Validation cannot catch it: it checks the content
|
|
445
|
+
// of files that exist, and these do not exist.
|
|
446
|
+
//
|
|
447
|
+
// Archive is the last moment this is recoverable. Afterwards the change is
|
|
448
|
+
// in archive/ and its deltas are merged, so the why and the how the schema
|
|
449
|
+
// asked for are gone for good — and the person who had the answers has
|
|
450
|
+
// moved on. Overridable like every other gate, because a schema artifact is
|
|
451
|
+
// a planning obligation rather than a correctness one.
|
|
452
|
+
const missingArtifacts = this.findMissingRequiredArtifacts(root.path, changeName, changeDir);
|
|
453
|
+
if (missingArtifacts.length > 0) {
|
|
454
|
+
const names = missingArtifacts.join(', ');
|
|
455
|
+
// "missing or incomplete", because the list holds both: an artifact with no
|
|
456
|
+
// file, and one whose file is still the unfilled template. Saying "missing"
|
|
457
|
+
// of the second sent the reader looking for a file already on disk.
|
|
458
|
+
const proceed = await this.gate({
|
|
459
|
+
json,
|
|
460
|
+
yes: !!options.yes,
|
|
461
|
+
code: 'archive_artifacts_incomplete',
|
|
462
|
+
message: `Change '${changeName}' is missing or has incomplete required artifact(s): ${names}.`,
|
|
463
|
+
fix: `Run tospec status --change ${changeName} for the next step, or rerun with --yes.`,
|
|
464
|
+
prompt: `Warning: missing or incomplete required artifact(s): ${names}. Continue?`,
|
|
465
|
+
warning: `Warning: missing or incomplete required artifact(s): ${names}. Continuing due to --yes flag.`,
|
|
466
|
+
warnings: jsonWarnings,
|
|
467
|
+
});
|
|
468
|
+
if (!proceed)
|
|
469
|
+
return null;
|
|
470
|
+
}
|
|
374
471
|
// Show progress and check for incomplete tasks
|
|
375
472
|
// Use the already-resolved root rather than re-deriving it from changesDir:
|
|
376
473
|
// the '..','..' hop silently encodes the tospec/changes layout.
|
|
@@ -389,6 +486,7 @@ export class ArchiveCommand {
|
|
|
389
486
|
fix: 'Create the schema-tracked tasks file with checkboxes, or rerun with --yes.',
|
|
390
487
|
prompt: 'Warning: no tracked task checkboxes were found. Continue?',
|
|
391
488
|
warning: 'Warning: no tracked task checkboxes were found. Continuing due to --yes flag.',
|
|
489
|
+
warnings: jsonWarnings,
|
|
392
490
|
});
|
|
393
491
|
if (!proceed)
|
|
394
492
|
return null;
|
|
@@ -402,15 +500,39 @@ export class ArchiveCommand {
|
|
|
402
500
|
fix: 'Complete the tasks or rerun with --yes.',
|
|
403
501
|
prompt: `Warning: ${incompleteTasks} incomplete task(s) found. Continue?`,
|
|
404
502
|
warning: `Warning: ${incompleteTasks} incomplete task(s) found. Continuing due to --yes flag.`,
|
|
503
|
+
warnings: jsonWarnings,
|
|
405
504
|
});
|
|
406
505
|
if (!proceed)
|
|
407
506
|
return null;
|
|
408
507
|
}
|
|
409
508
|
// Handle spec updates unless skipSpecs flag is set
|
|
410
509
|
let specsUpdated = false;
|
|
411
|
-
let totals;
|
|
510
|
+
let totals = { added: 0, modified: 0, removed: 0, renamed: 0, retired: 0 };
|
|
412
511
|
if (options.skipSpecs) {
|
|
413
|
-
|
|
512
|
+
// Round 4 report 2. `--skip-specs` is documented for changes that have no
|
|
513
|
+
// deltas, so pointing it at one that does is user error — but archiving in
|
|
514
|
+
// silence made the mistake unrecoverable: the change moved to archive/ and
|
|
515
|
+
// the capability never reached the main specs, with nothing in the output
|
|
516
|
+
// saying so. The metadata spelling of the same intent (`skip_specs: true`)
|
|
517
|
+
// is an ERROR under exactly this shape; this at least names what was left
|
|
518
|
+
// behind. It stays a warning rather than a block because the flag is an
|
|
519
|
+
// explicit instruction and `--yes` already means "I confirm".
|
|
520
|
+
const discarded = await findSpecUpdates(changeDir, mainSpecsDir);
|
|
521
|
+
if (discarded.length > 0) {
|
|
522
|
+
// source is <changeDir>/specs/<capability>/spec.md — the capability is
|
|
523
|
+
// the directory that names it, the same level findSpecUpdates walks.
|
|
524
|
+
const listed = discarded
|
|
525
|
+
.map((update) => path.basename(path.dirname(update.source)))
|
|
526
|
+
.join(', ');
|
|
527
|
+
const message = `--skip-specs discarded ${discarded.length} delta spec(s); these capabilities were not merged into the main specs: ${listed}.`;
|
|
528
|
+
if (json) {
|
|
529
|
+
jsonWarnings.push({ severity: 'warning', code: 'archive_deltas_discarded', message });
|
|
530
|
+
}
|
|
531
|
+
else {
|
|
532
|
+
console.log(`Warning: ${message}`);
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
else if (!json) {
|
|
414
536
|
console.log('Skipping spec updates (--skip-specs flag provided).');
|
|
415
537
|
}
|
|
416
538
|
}
|
|
@@ -461,6 +583,15 @@ export class ArchiveCommand {
|
|
|
461
583
|
try {
|
|
462
584
|
for (const update of specUpdates) {
|
|
463
585
|
const built = await buildUpdatedSpec(update, changeName, { silent: json });
|
|
586
|
+
// In human mode buildUpdatedSpec already printed these. In JSON mode
|
|
587
|
+
// it stayed silent, so `status[]` is where they have to land — a
|
|
588
|
+
// dangling REMOVED used to be a completely invisible no-op for
|
|
589
|
+
// agent callers.
|
|
590
|
+
if (json) {
|
|
591
|
+
for (const n of built.notices) {
|
|
592
|
+
jsonWarnings.push({ severity: 'warning', code: n.code, message: n.message });
|
|
593
|
+
}
|
|
594
|
+
}
|
|
464
595
|
prepared.push({ update, rebuilt: built.rebuilt, crlf: built.crlf, retired: built.retired, counts: built.counts });
|
|
465
596
|
}
|
|
466
597
|
}
|
|
@@ -538,7 +669,27 @@ export class ArchiveCommand {
|
|
|
538
669
|
// The change's ticket lives in the global tospec/tickets/ index (outside the
|
|
539
670
|
// change dir), so move it alongside into tickets/archive/ to keep the active
|
|
540
671
|
// index limited to in-flight changes.
|
|
541
|
-
const
|
|
672
|
+
const ticketPaths = await findTicketPaths(root.path, changeName);
|
|
673
|
+
// Newest wins. A second ticket exists only because the change was recreated
|
|
674
|
+
// before this was fixed, so the later stamp is the one describing the change
|
|
675
|
+
// being archived — taking `readdir` order filed the run under the abandoned
|
|
676
|
+
// attempt's ticket and stranded the real one (round 4 report 6). Reported
|
|
677
|
+
// rather than cleaned up: the leftovers are the user's to keep or delete,
|
|
678
|
+
// and archive must not silently remove a record.
|
|
679
|
+
const ticketPath = ticketPaths[ticketPaths.length - 1];
|
|
680
|
+
if (ticketPaths.length > 1) {
|
|
681
|
+
const stranded = ticketPaths
|
|
682
|
+
.slice(0, -1)
|
|
683
|
+
.map((file) => path.basename(file))
|
|
684
|
+
.join(', ');
|
|
685
|
+
const message = `${ticketPaths.length} active tickets name change '${changeName}'; archived ${path.basename(ticketPath)} and left the rest in tospec/tickets/: ${stranded}.`;
|
|
686
|
+
if (json) {
|
|
687
|
+
jsonWarnings.push({ severity: 'warning', code: 'ticket_duplicates_left', message });
|
|
688
|
+
}
|
|
689
|
+
else {
|
|
690
|
+
console.log(`Warning: ${message}`);
|
|
691
|
+
}
|
|
692
|
+
}
|
|
542
693
|
if (ticketPath) {
|
|
543
694
|
const ticketArchiveDir = path.join(root.path, 'tospec', 'tickets', 'archive');
|
|
544
695
|
await fs.mkdir(ticketArchiveDir, { recursive: true });
|
|
@@ -555,7 +706,7 @@ export class ArchiveCommand {
|
|
|
555
706
|
archivedAs: archiveName,
|
|
556
707
|
path: archivePath,
|
|
557
708
|
specsUpdated,
|
|
558
|
-
|
|
709
|
+
totals,
|
|
559
710
|
};
|
|
560
711
|
}
|
|
561
712
|
async selectChange(changesDir, projectRoot) {
|
package/dist/core/archive.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/core/archive.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/core/archive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,GAEb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,GAEX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAA0B,MAAM,8BAA8B,CAAC;AAEtG;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAElD;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAe;IACvD,MAAM,cAAc,GAAG,OAAO;SAC3B,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;IAClD,IAAI,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IAEjC,yEAAyE;IACzE,0EAA0E;IAC1E,yDAAyD;IACzD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACtF,OAAO,KAAK,CAAC,CAAC,CAAE,KAAK,CAAC,CAAC,CAAqB,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC;AAkCD;;;;GAIG;AACH,MAAM,mBAAoB,SAAQ,KAAK;IAC5B,UAAU,CAAoB;IAEvC,YAAY,IAAY,EAAE,OAAe,EAAE,GAAY;QACrD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG;YAChB,QAAQ,EAAE,OAAO;YACjB,IAAI;YACJ,OAAO;YACP,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxB,CAAC;IACJ,CAAC;CACF;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC,UAAU,CAAC;IAC1B,CAAC;IACD,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,UAAU,CAAC;IAC1B,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KAChE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,IAAY;IAC3D,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC;QACvB,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACzC,qEAAqE;YACrE,yEAAyE;YACzE,2DAA2D;YAC3D,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH;;;;;GAKG;AACH,KAAK,UAAU,mBAAmB,CAChC,UAAkB,EAClB,iBAAyB,EACzB,WAAmB;IAEnB,IAAI,SAA+B,CAAC;IACpC,IAAI,CAAC;QACH,SAAS,GAAG,kBAAkB,CAAC,iBAAiB,EAAE,WAAW,CAAC,EAAE,SAAS,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACjD,2EAA2E;IAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IACrE,0EAA0E;IAC1E,6EAA6E;IAC7E,0DAA0D;IAC1D,EAAE;IACF,8EAA8E;IAC9E,sEAAsE;IACtE,8EAA8E;IAC9E,mEAAmE;IACnE,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACtD,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,sBAAsB,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvE,MAAM,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,iBAAiB,CAAC,UAAkB,EAAE,WAAmB;IACtE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAC7B,sCAAsC,EACtC,4BAA4B,WAAW,KAAK,CAC7C,CAAC;IACF,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,IAAY;IACtD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC;QACvB,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACzC,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7B,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,OAAO,cAAc;IACzB,KAAK,CAAC,OAAO,CAAC,UAAmB,EAAE,OAAO,GAAmB,EAAE;QAC7D,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QAE5B,oEAAoE;QACpE,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE;YAChD,IAAI;YACJ,qEAAqE;YACrE,sEAAsE;YACtE,uEAAuE;YACvE,iEAAiE;YACjE,iBAAiB,EAAE,KAAK;YACxB,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;SAC9C,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,wEAAwE;YACxE,oEAAoE;YACpE,kEAAkE;YAClE,MAAM,YAAY,GAAwB,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;gBAC7E,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO;gBACT,CAAC;gBACD,WAAW,CACT,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAC7E,YAAY,CAAC,IAAI,CAAC,CACnB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wEAAwE;gBACxE,uEAAuE;gBACvE,kEAAkE;gBAClE,+DAA+D;gBAC/D,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC;YACxE,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAEO,gBAAgB,CACtB,IAAoC,EACpC,UAA6B,EAC7B,YAAY,GAAwB,EAAE;QAEtC,qEAAqE;QACrE,qEAAqE;QACrE,iBAAiB,CACf;YACE,OAAO,EAAE,IAAI;YACb,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,EACD,UAAU,CACX,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,IAAI,CAAC,IAUlB;QACC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,oEAAoE;gBACpE,kEAAkE;gBAClE,uEAAuE;gBACvE,sEAAsE;gBACtE,gEAAgE;gBAChE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACtF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACpC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,4BAA4B,CAClC,WAAmB,EACnB,UAAkB,EAClB,SAAiB;QAEjB,IAAI,CAAC;YACH,wEAAwE;YACxE,qDAAqD;YACrD,MAAM,MAAM,GAAG,kBAAkB,CAC/B,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,CACrE,CAAC;YACF,OAAO,MAAM,CAAC,SAAS;iBACpB,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC;gBACxG,yEAAyE;gBACzE,wEAAwE;gBACxE,uEAAuE;gBACvE,wBAAwB;iBACvB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7F,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,GAAG,CACf,UAA8B,EAC9B,OAAuB,EACvB,IAAwB,EACxB,IAAa,EACb,YAAiC;QAEjC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;QAEnC,oCAAoC;QACpC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,mBAAmB,CAC3B,qBAAqB,EACrB,oCAAoC,EACpC,0BAA0B,CAC3B,CAAC;QACJ,CAAC;QAED,yEAAyE;QACzE,wEAAwE;QACxE,0EAA0E;QAC1E,8CAA8C;QAC9C,6EAA6E;QAC7E,4EAA4E;QAC5E,6EAA6E;QAC7E,+BAA+B;QAC/B,MAAM,gBAAgB,GAAG,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAEjF,gDAAgD;QAChD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,mBAAmB,CAC3B,8BAA8B,EAC9B,+DAA+D,EAC/D,qCAAqC,CACtC,CAAC;YACJ,CAAC;YACD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACtE,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBAC/C,OAAO,IAAI,CAAC;YACd,CAAC;YACD,UAAU,GAAG,cAAc,CAAC;QAC9B,CAAC;QAED,oEAAoE;QACpE,oEAAoE;QACpE,6EAA6E;QAC7E,0CAA0C;QAC1C,IAAI,gBAAgB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,mBAAmB,CAC3B,6BAA6B,EAC7B,gBAAgB,UAAU,mCAAmC,oBAAoB,GAAG,CACrF,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAEpD,4EAA4E;QAC5E,0EAA0E;QAC1E,4EAA4E;QAC5E,qEAAqE;QACrE,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACpD,IAAI,kBAAkB,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC3C,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;YACzD,MAAM,IAAI,mBAAmB,CAC3B,0BAA0B,EAC1B,SAAS,CAAC,MAAM,GAAG,CAAC;gBAClB,CAAC,CAAC,WAAW,UAAU,mCAAmC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAChF,CAAC,CAAC,WAAW,UAAU,oDAAoD,CAC9E,CAAC;QACJ,CAAC;QAED,6EAA6E;QAC7E,2EAA2E;QAC3E,4EAA4E;QAC5E,wEAAwE;QACxE,2EAA2E;QAC3E,2EAA2E;QAC3E,0EAA0E;QAC1E,+BAA+B;QAC/B,MAAM,WAAW,GAAG,GAAG,kBAAkB,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC;QACtE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACvD,MAAM,iBAAiB,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACnE,IAAI,kBAAkB,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC3C,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,iBAAiB,EAAE,CAAC;YACtB,MAAM,IAAI,mBAAmB,CAAC,uBAAuB,EAAE,YAAY,WAAW,mBAAmB,CAAC,CAAC;QACrG,CAAC;QAED,yDAAyD;QACzD,sEAAsE;QACtE,iEAAiE;QACjE,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAC9D,IAAI,iBAAyB,CAAC;YAC9B,IAAI,CAAC;gBACH,iBAAiB,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YACjE,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,mBAAmB,CAC3B,qBAAqB,EACrB,wCAAwC,UAAU,IAAI,EACtD,gDAAgD,CACjD,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAAG,yBAAyB,CAAC,iBAAiB,CAAC,CAAC;YAChE,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;gBAC1B,MAAM,IAAI,mBAAmB,CAC3B,oBAAoB,EACpB,8BAA8B,UAAU,+CAA+C,UAAU,IAAI,aAAa,IAAI,EACtH,+EAA+E,CAChF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC;QAEjF,uEAAuE;QACvE,yEAAyE;QACzE,EAAE;QACF,6EAA6E;QAC7E,0EAA0E;QAC1E,2EAA2E;QAC3E,yEAAyE;QACzE,uEAAuE;QACvE,mEAAmE;QACnE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE;gBACjE,gBAAgB,EAAE,KAAK;aACxB,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,OAAO,CAAC,KAAK,CAAC,mCAAmC,UAAU,IAAI,CAAC,CAAC;gBACjE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBACrF,OAAO,CAAC,KAAK,CAAC,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAClB,oEAAoE;gBACpE,uEAAuE;gBACvE,wEAAwE;gBACxE,kCAAkC;gBAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBAClF,MAAM,QAAQ,GAAG,QAAQ;oBACvB,CAAC,CAAC,uHAAuH,iBAAiB,uDAAuD;oBACjM,CAAC,CAAC,EAAE,CAAC;gBACP,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,IAAI,mBAAmB,CAC3B,2BAA2B,EAC3B,iCAAiC,UAAU,IAAI,EAC/C,OAAO,mBAAmB,UAAU,EAAE,6DAA6D,QAAQ,EAAE,CAC9G,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;gBAC9E,IAAI,QAAQ;oBAAE,OAAO,CAAC,KAAK,CAAC,OAAO,QAAQ,EAAE,CAAC,CAAC;gBAC/C,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;gBAC/E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;gBAC9B,IAAI;gBACJ,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG;gBAClB,IAAI,EAAE,+BAA+B;gBACrC,qEAAqE;gBACrE,qEAAqE;gBACrE,uEAAuE;gBACvE,wEAAwE;gBACxE,0EAA0E;gBAC1E,yEAAyE;gBACzE,4BAA4B;gBAC5B,OAAO,EAAE,sCAAsC,UAAU,oBAAoB;gBAC7E,GAAG,EAAE,yDAAyD;gBAC9D,MAAM,EAAE,6EAA6E;gBACrF,OAAO,EAAE,+DAA+D;gBACxE,QAAQ,EAAE,YAAY;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YAE1B,uEAAuE;YACvE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,oCAAoC,UAAU,EAAE,CAAC,CAAC;gBAC5F,OAAO,CAAC,KAAK,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,wEAAwE;QACxE,2EAA2E;QAC3E,4EAA4E;QAC5E,+CAA+C;QAC/C,EAAE;QACF,2EAA2E;QAC3E,2EAA2E;QAC3E,uEAAuE;QACvE,4EAA4E;QAC5E,uDAAuD;QACvD,MAAM,gBAAgB,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAC7F,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,4EAA4E;YAC5E,4EAA4E;YAC5E,oEAAoE;YACpE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;gBAC9B,IAAI;gBACJ,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG;gBAClB,IAAI,EAAE,8BAA8B;gBACpC,OAAO,EAAE,WAAW,UAAU,wDAAwD,KAAK,GAAG;gBAC9F,GAAG,EAAE,8BAA8B,UAAU,0CAA0C;gBACvF,MAAM,EAAE,wDAAwD,KAAK,aAAa;gBAClF,OAAO,EAAE,wDAAwD,KAAK,iCAAiC;gBACvG,QAAQ,EAAE,YAAY;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;QAC5B,CAAC;QAED,+CAA+C;QAC/C,4EAA4E;QAC5E,gEAAgE;QAChE,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACzE,IAAI,QAAQ,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;gBAC9B,IAAI;gBACJ,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG;gBAClB,IAAI,EAAE,uBAAuB;gBAC7B,OAAO,EAAE,qDAAqD,UAAU,IAAI;gBAC5E,GAAG,EAAE,4EAA4E;gBACjF,MAAM,EAAE,2DAA2D;gBACnE,OAAO,EAAE,+EAA+E;gBACxF,QAAQ,EAAE,YAAY;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;QAC5B,CAAC;aAAM,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;gBAC9B,IAAI;gBACJ,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG;gBAClB,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,GAAG,eAAe,yCAAyC,UAAU,IAAI;gBAClF,GAAG,EAAE,yCAAyC;gBAC9C,MAAM,EAAE,YAAY,eAAe,sCAAsC;gBACzE,OAAO,EAAE,YAAY,eAAe,0DAA0D;gBAC9F,QAAQ,EAAE,YAAY;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;QAC5B,CAAC;QAED,mDAAmD;QACnD,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,MAAM,GAA4B,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACpG,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,0EAA0E;YAC1E,2EAA2E;YAC3E,2EAA2E;YAC3E,0EAA0E;YAC1E,2EAA2E;YAC3E,0EAA0E;YAC1E,wEAAwE;YACxE,8DAA8D;YAC9D,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YACjE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,uEAAuE;gBACvE,qEAAqE;gBACrE,MAAM,MAAM,GAAG,SAAS;qBACrB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;qBAC3D,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,MAAM,OAAO,GAAG,0BAA0B,SAAS,CAAC,MAAM,2EAA2E,MAAM,GAAG,CAAC;gBAC/I,IAAI,IAAI,EAAE,CAAC;oBACT,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,CAAC,CAAC;gBACxF,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,uBAAuB;YACvB,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YAEnE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,oEAAoE;gBACpE,yEAAyE;gBACzE,wEAAwE;gBACxE,yEAAyE;gBACzE,uEAAuE;gBACvE,sEAAsE;gBACtE,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;gBACnE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,MAAM,MAAM,GAAG,OAAO;yBACnB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;yBAC9F,IAAI,CAAC,IAAI,CAAC,CAAC;oBACd,MAAM,IAAI,mBAAmB,CAC3B,0BAA0B,EAC1B,SAAS,OAAO,CAAC,MAAM,+FAA+F,MAAM,GAAG,EAC/H,OAAO,mBAAmB,UAAU,EAAE,sEAAsE,CAC7G,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;oBAClC,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;wBACjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;wBACnD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC9D,OAAO,CAAC,GAAG,CAAC,KAAK,UAAU,KAAK,MAAM,EAAE,CAAC,CAAC;oBAC5C,CAAC;gBACH,CAAC;gBAED,IAAI,iBAAiB,GAAG,IAAI,CAAC;gBAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACjB,IAAI,IAAI,EAAE,CAAC;wBACT,MAAM,IAAI,mBAAmB,CAC3B,+BAA+B,EAC/B,YAAY,WAAW,CAAC,MAAM,mDAAmD,EACjF,2CAA2C,CAC5C,CAAC;oBACJ,CAAC;oBACD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;oBACtD,iBAAiB,GAAG,MAAM,OAAO,CAAC;wBAChC,OAAO,EAAE,4BAA4B;wBACrC,OAAO,EAAE,IAAI;qBACd,CAAC,CAAC;oBACH,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACvB,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;oBACjE,CAAC;gBACH,CAAC;gBAED,IAAI,iBAAiB,EAAE,CAAC;oBACtB,yDAAyD;oBACzD,MAAM,QAAQ,GAAmK,EAAE,CAAC;oBACpL,IAAI,CAAC;wBACH,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;4BACjC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,UAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;4BAC5E,qEAAqE;4BACrE,iEAAiE;4BACjE,+DAA+D;4BAC/D,iBAAiB;4BACjB,IAAI,IAAI,EAAE,CAAC;gCACT,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oCAC9B,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gCAC/E,CAAC;4BACH,CAAC;4BACD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;wBACpH,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAQ,EAAE,CAAC;wBAClB,IAAI,IAAI,EAAE,CAAC;4BACT,MAAM,IAAI,mBAAmB,CAC3B,4BAA4B,EAC5B,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,EAC1B,8DAA8D,CAC/D,CAAC;wBACJ,CAAC;wBACD,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC;wBAC1C,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;wBACjD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;wBACrB,OAAO,IAAI,CAAC;oBACd,CAAC;oBAED,+DAA+D;oBAC/D,mEAAmE;oBACnE,IAAI,CAAC,cAAc,EAAE,CAAC;wBACpB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;4BACzB,mEAAmE;4BACnE,iEAAiE;4BACjE,mEAAmE;4BACnE,wDAAwD;4BACxD,IAAI,CAAC,CAAC,OAAO;gCAAE,SAAS;4BACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;4BAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,SAAS,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;4BAC9E,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gCAClB,IAAI,IAAI,EAAE,CAAC;oCACT,MAAM,IAAI,mBAAmB,CAC3B,gCAAgC,EAChC,qBAAqB,QAAQ,6CAA6C,EAC1E,OAAO,mBAAmB,QAAQ,EAAE,kCAAkC,CACvE,CAAC;gCACJ,CAAC;gCACD,OAAO,CAAC,KAAK,CAAC,2CAA2C,QAAQ,4BAA4B,CAAC,CAAC;gCAC/F,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oCAClC,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO;wCAAE,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;yCAC9D,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;wCAAE,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gCAC5E,CAAC;gCACD,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;gCACjD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gCACrB,OAAO,IAAI,CAAC;4BACd,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,yDAAyD;oBACzD,MAAM,WAAW,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;oBAClF,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;wBACzB,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;4BACd,MAAM,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;4BAC3D,WAAW,CAAC,OAAO,IAAI,CAAC,CAAC;wBAC3B,CAAC;6BAAM,CAAC;4BACN,MAAM,gBAAgB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;gCACpD,MAAM,EAAE,IAAI;gCACZ,IAAI,EAAE,CAAC,CAAC,IAAI;6BACb,CAAC,CAAC;wBACL,CAAC;wBACD,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;wBACpC,WAAW,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;wBAC1C,WAAW,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;wBACxC,WAAW,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;oBAC1C,CAAC;oBACD,YAAY,GAAG,IAAI,CAAC;oBACpB,MAAM,GAAG,WAAW,CAAC;oBACrB,IAAI,CAAC,IAAI,EAAE,CAAC;wBACV,OAAO,CAAC,GAAG,CACT,aAAa,WAAW,CAAC,KAAK,OAAO,WAAW,CAAC,QAAQ,OAAO,WAAW,CAAC,OAAO,OAAO,WAAW,CAAC,OAAO,EAAE;4BAC7G,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAClE,CAAC;wBACF,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;oBAC7C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,0DAA0D;QAC1D,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhD,yEAAyE;QACzE,MAAM,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAE5C,6EAA6E;QAC7E,6EAA6E;QAC7E,sCAAsC;QACtC,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACjE,4EAA4E;QAC5E,6EAA6E;QAC7E,4EAA4E;QAC5E,0EAA0E;QAC1E,0EAA0E;QAC1E,iDAAiD;QACjD,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,WAAW;iBACzB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBACZ,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;iBAClC,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,OAAO,GAAG,GAAG,WAAW,CAAC,MAAM,gCAAgC,UAAU,eAAe,IAAI,CAAC,QAAQ,CACzG,UAAU,CACX,0CAA0C,QAAQ,GAAG,CAAC;YACvD,IAAI,IAAI,EAAE,CAAC;gBACT,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,CAAC,CAAC;YACtF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC9E,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACtD,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;YAClF,MAAM,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;YAC/C,MAAM,iBAAiB,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;YACzD,MAAM,mBAAmB,CAAC,kBAAkB,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,kBAAkB,WAAW,IAAI,CAAC,CAAC;QACtE,CAAC;QAED,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,UAAU,EAAE,WAAW;YACvB,IAAI,EAAE,WAAW;YACjB,YAAY;YACZ,MAAM;SACP,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,WAAmB;QAChE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAE1D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,8DAA8D;QAC9D,IAAI,OAAO,GAA2C,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC;YACH,MAAM,YAAY,GAA0C,EAAE,CAAC;YAC/D,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,UAAU,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;gBAC7E,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAC1C,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACpC,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YAClE,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC/B,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE;gBACjD,KAAK,EAAE,CAAC,CAAC,EAAE;aACZ,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACP,+CAA+C;YAC/C,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC;gBAC1B,OAAO,EAAE,4BAA4B;gBACrC,OAAO;aACR,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,0BAA0B;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CAEF"}
|
|
@@ -42,15 +42,25 @@ export declare class ArtifactGraph {
|
|
|
42
42
|
getBuildOrder(): string[];
|
|
43
43
|
/**
|
|
44
44
|
* Gets artifacts that are ready to be created (all dependencies completed).
|
|
45
|
+
*
|
|
46
|
+
* `skipped` treats the named artifact ids as satisfied wherever they appear
|
|
47
|
+
* as a dependency — the same exemption `optional` already gets, but decided
|
|
48
|
+
* per change (e.g. `skip_specs: true`) rather than by the schema. It is not
|
|
49
|
+
* consulted for the artifact's own row: exactly like a schema-level
|
|
50
|
+
* `optional` artifact, a skipped one with its own deps still met can appear
|
|
51
|
+
* in the result — callers that care about the distinction (status) derive
|
|
52
|
+
* a "skipped" label themselves before ever looking here.
|
|
45
53
|
*/
|
|
46
|
-
getNextArtifacts(completed: CompletedSet): string[];
|
|
54
|
+
getNextArtifacts(completed: CompletedSet, skipped?: ReadonlySet<string>): string[];
|
|
47
55
|
/**
|
|
48
56
|
* Checks if all artifacts in the graph are completed.
|
|
57
|
+
* See `getNextArtifacts` for what `skipped` means.
|
|
49
58
|
*/
|
|
50
|
-
isComplete(completed: CompletedSet): boolean;
|
|
59
|
+
isComplete(completed: CompletedSet, skipped?: ReadonlySet<string>): boolean;
|
|
51
60
|
/**
|
|
52
61
|
* Gets blocked artifacts and their unmet dependencies.
|
|
62
|
+
* See `getNextArtifacts` for what `skipped` means.
|
|
53
63
|
*/
|
|
54
|
-
getBlocked(completed: CompletedSet): BlockedArtifacts;
|
|
64
|
+
getBlocked(completed: CompletedSet, skipped?: ReadonlySet<string>): BlockedArtifacts;
|
|
55
65
|
}
|
|
56
66
|
//# sourceMappingURL=graph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/core/artifact-graph/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGvF;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,MAAM,CAAa;IAE3B,OAAO,eAGN;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAG/C;IAED;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAGzD;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,CAEnD;IAED;;OAEG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAE5C;IAED;;OAEG;IACH,eAAe,IAAI,QAAQ,EAAE,CAE5B;IAED;;OAEG;IACH,OAAO,IAAI,MAAM,CAEhB;IAED;;OAEG;IACH,UAAU,IAAI,MAAM,CAEnB;IAED;;;OAGG;IACH,aAAa,IAAI,MAAM,EAAE,CAyCxB;IAED
|
|
1
|
+
{"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../src/core/artifact-graph/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGvF;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,MAAM,CAAa;IAE3B,OAAO,eAGN;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAG/C;IAED;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAGzD;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,CAEnD;IAED;;OAEG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAE5C;IAED;;OAEG;IACH,eAAe,IAAI,QAAQ,EAAE,CAE5B;IAED;;OAEG;IACH,OAAO,IAAI,MAAM,CAEhB;IAED;;OAEG;IACH,UAAU,IAAI,MAAM,CAEnB;IAED;;;OAGG;IACH,aAAa,IAAI,MAAM,EAAE,CAyCxB;IAED;;;;;;;;;;OAUG;IACH,gBAAgB,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAkBjF;IAED;;;OAGG;IACH,UAAU,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAO1E;IAED;;;OAGG;IACH,UAAU,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAiBnF;CACF"}
|
|
@@ -95,14 +95,22 @@ export class ArtifactGraph {
|
|
|
95
95
|
}
|
|
96
96
|
/**
|
|
97
97
|
* Gets artifacts that are ready to be created (all dependencies completed).
|
|
98
|
+
*
|
|
99
|
+
* `skipped` treats the named artifact ids as satisfied wherever they appear
|
|
100
|
+
* as a dependency — the same exemption `optional` already gets, but decided
|
|
101
|
+
* per change (e.g. `skip_specs: true`) rather than by the schema. It is not
|
|
102
|
+
* consulted for the artifact's own row: exactly like a schema-level
|
|
103
|
+
* `optional` artifact, a skipped one with its own deps still met can appear
|
|
104
|
+
* in the result — callers that care about the distinction (status) derive
|
|
105
|
+
* a "skipped" label themselves before ever looking here.
|
|
98
106
|
*/
|
|
99
|
-
getNextArtifacts(completed) {
|
|
107
|
+
getNextArtifacts(completed, skipped) {
|
|
100
108
|
const ready = [];
|
|
101
109
|
for (const artifact of this.artifacts.values()) {
|
|
102
110
|
if (completed.has(artifact.id)) {
|
|
103
111
|
continue; // Already completed
|
|
104
112
|
}
|
|
105
|
-
const allDepsCompleted = artifact.requires.every(req => completed.has(req) || this.artifacts.get(req)?.optional === true);
|
|
113
|
+
const allDepsCompleted = artifact.requires.every(req => completed.has(req) || this.artifacts.get(req)?.optional === true || skipped?.has(req));
|
|
106
114
|
if (allDepsCompleted) {
|
|
107
115
|
ready.push(artifact.id);
|
|
108
116
|
}
|
|
@@ -112,10 +120,11 @@ export class ArtifactGraph {
|
|
|
112
120
|
}
|
|
113
121
|
/**
|
|
114
122
|
* Checks if all artifacts in the graph are completed.
|
|
123
|
+
* See `getNextArtifacts` for what `skipped` means.
|
|
115
124
|
*/
|
|
116
|
-
isComplete(completed) {
|
|
125
|
+
isComplete(completed, skipped) {
|
|
117
126
|
for (const artifact of this.artifacts.values()) {
|
|
118
|
-
if (!artifact.optional && !completed.has(artifact.id)) {
|
|
127
|
+
if (!artifact.optional && !skipped?.has(artifact.id) && !completed.has(artifact.id)) {
|
|
119
128
|
return false;
|
|
120
129
|
}
|
|
121
130
|
}
|
|
@@ -123,14 +132,15 @@ export class ArtifactGraph {
|
|
|
123
132
|
}
|
|
124
133
|
/**
|
|
125
134
|
* Gets blocked artifacts and their unmet dependencies.
|
|
135
|
+
* See `getNextArtifacts` for what `skipped` means.
|
|
126
136
|
*/
|
|
127
|
-
getBlocked(completed) {
|
|
137
|
+
getBlocked(completed, skipped) {
|
|
128
138
|
const blocked = {};
|
|
129
139
|
for (const artifact of this.artifacts.values()) {
|
|
130
140
|
if (completed.has(artifact.id)) {
|
|
131
141
|
continue; // Already completed
|
|
132
142
|
}
|
|
133
|
-
const unmetDeps = artifact.requires.filter(req => !completed.has(req) && this.artifacts.get(req)?.optional !== true);
|
|
143
|
+
const unmetDeps = artifact.requires.filter(req => !completed.has(req) && this.artifacts.get(req)?.optional !== true && !skipped?.has(req));
|
|
134
144
|
if (unmetDeps.length > 0) {
|
|
135
145
|
blocked[artifact.id] = unmetDeps.sort();
|
|
136
146
|
}
|