gh-inari 0.5.2 → 0.5.3
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/README.md +20 -1
- package/dist/artifact.d.ts +1 -1
- package/dist/artifact.js.map +1 -1
- package/dist/cli.js +108 -60
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/reconciliation.d.ts +65 -0
- package/dist/reconciliation.js +274 -0
- package/dist/reconciliation.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -117,6 +117,14 @@ gh inari issue explain <number> --template <template> --json
|
|
|
117
117
|
gh inari pr explain <number> --template <template> --json
|
|
118
118
|
gh inari issue get <number> [--template <template>] --json
|
|
119
119
|
gh inari pr get <number> [--template <template>] --json
|
|
120
|
+
gh inari issue check <number> [--template <template>]
|
|
121
|
+
gh inari pr check <number> [--template <template>]
|
|
122
|
+
gh inari issue edit <number> --from patch.json [--dry-run]
|
|
123
|
+
gh inari pr edit <number> --from patch.json [--dry-run]
|
|
124
|
+
gh inari issue normalize <number> [--dry-run]
|
|
125
|
+
gh inari pr normalize <number> [--dry-run]
|
|
126
|
+
gh inari issue sync <number> --from desired.json [--dry-run]
|
|
127
|
+
gh inari pr sync <number> --from desired.json [--dry-run]
|
|
120
128
|
```
|
|
121
129
|
|
|
122
130
|
`--from -` reads JSON from stdin. Create input uses an envelope when mutation metadata is needed:
|
|
@@ -144,6 +152,17 @@ When `--template` is omitted, all supported candidates are evaluated
|
|
|
144
152
|
deterministically; multiple structural matches fail closed. Native template
|
|
145
153
|
boilerplate and raw Markdown are intentionally absent from successful output.
|
|
146
154
|
|
|
155
|
+
Existing artifact remediation uses one semantic pipeline for both Issues and
|
|
156
|
+
pull requests. `check` is read-only and classifies an artifact as
|
|
157
|
+
`valid-current`, `non-canonical`, `semantically-invalid`, `unsupported`, or
|
|
158
|
+
`ambiguous`. `edit` applies only an explicit semantic patch from JSON; it never
|
|
159
|
+
accepts raw Markdown as the mutation contract. `normalize` re-renders a
|
|
160
|
+
parseable, semantically valid artifact and fails closed when preservation is
|
|
161
|
+
not proven. `sync` treats its input as the complete desired semantic state and
|
|
162
|
+
reconciles the canonical projection deterministically. A successful no-op is
|
|
163
|
+
reported explicitly, and `--dry-run` returns a bounded semantic/rendered diff
|
|
164
|
+
without calling a GitHub mutation.
|
|
165
|
+
|
|
147
166
|
## Source of truth and supported semantics
|
|
148
167
|
|
|
149
168
|
`.github/ISSUE_TEMPLATE/**` remains the Issue source of truth. For pull requests, Inari discovers GitHub's supported repository locations: `pull_request_template` files under the repository root, `docs/`, or `.github/`, plus `PULL_REQUEST_TEMPLATE/` directories under each location. Native PR template filenames and the `.md`/`.txt` extensions supported by Inari are matched case-insensitively. Other PR-template extension surfaces are intentionally unsupported in v1 and fail closed. Inari discovers and compiles those files; it does not replace them with a proprietary body schema. Supported Issue Form nodes are `input`, `textarea` (including native `render` code fences), single- and multi-select `dropdown`, `checkboxes`, and `markdown`. Browser-only or ambiguous behavior, such as uploads or unsupported textarea rendering modes, fails closed. Markdown nodes are retained for contract/schema explainability but never emitted into an Issue body.
|
|
@@ -198,7 +217,7 @@ resolve template -> compile contract -> validate semantic JSON
|
|
|
198
217
|
|
|
199
218
|
`prepareIssueArtifact` and `preparePullRequestArtifact` are the trusted preparation boundary for library callers. Each reparses the exact rendered body with the same compiled contract, revalidates the reconstructed values, and compares them deterministically with the validated/materialized source values before producing an opaque, frozen capability carrying the target repository/ref provenance. The public `phase: "validated-rendered"` string is informational; a caller-created or spread object is rejected by the mutation adapter, and there is no public marker helper.
|
|
200
219
|
|
|
201
|
-
Schema, validate, and
|
|
220
|
+
Schema, validate, render, check, and every `--dry-run` remediation path never call a remote mutation. Invalid, ambiguous, unparseable, or unsupported pre-flight state cannot reach the mutation adapter. Existing Issue and PR validation and remediation fetch artifacts through the typed `gh` adapter, reconstruct semantic values, and call the same compiler-owned parser, validator, renderer, and freshness/reconciliation boundary. Renderer/parser drift fails with the typed `ARTIFACT_ROUND_TRIP_INVALID` preparation error; normalization never invents missing intent.
|
|
202
221
|
|
|
203
222
|
The public compiler, contract, validation, rendering, and adapter boundaries are library APIs. Future Actions or App adapters can use them without invoking or scraping CLI output.
|
|
204
223
|
|
package/dist/artifact.d.ts
CHANGED
|
@@ -51,7 +51,7 @@ export interface PreparedPullRequestArtifact {
|
|
|
51
51
|
readonly artifact: ValidatedRenderedPullRequestArtifact;
|
|
52
52
|
}
|
|
53
53
|
export type ExistingArtifactClassification = "valid" | "semantic" | "wrong-template" | "unparseable" | "ambiguous";
|
|
54
|
-
export type ExistingArtifactDiagnosticCode = "EXISTING_WRONG_TEMPLATE" | "EXISTING_UNPARSEABLE" | "EXISTING_EXTRA_CONTENT" | "EXISTING_UNKNOWN_CHECKLIST_ITEM" | "EXISTING_AMBIGUOUS_TEMPLATE" | "EXISTING_TEMPLATE_COMPILE_FAILED";
|
|
54
|
+
export type ExistingArtifactDiagnosticCode = "EXISTING_WRONG_TEMPLATE" | "EXISTING_UNPARSEABLE" | "EXISTING_EXTRA_CONTENT" | "EXISTING_UNKNOWN_CHECKLIST_ITEM" | "EXISTING_AMBIGUOUS_TEMPLATE" | "EXISTING_NON_CANONICAL" | "EXISTING_TEMPLATE_COMPILE_FAILED";
|
|
55
55
|
export interface ExistingArtifactDiagnostic {
|
|
56
56
|
readonly code: ExistingArtifactDiagnosticCode;
|
|
57
57
|
readonly path: string;
|
package/dist/artifact.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact.js","sourceRoot":"","sources":["../src/artifact.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"artifact.js","sourceRoot":"","sources":["../src/artifact.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -3,11 +3,12 @@ import { readFile, stat } from "node:fs/promises";
|
|
|
3
3
|
import { readFileSync } from "node:fs";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
6
|
-
import { ArtifactInputError, parseArtifactInputDocument, prepareIssueArtifact, preparePullRequestArtifact, projectExistingArtifact, renderIssueArtifact, renderPullRequestArtifact,
|
|
6
|
+
import { ArtifactInputError, parseArtifactInputDocument, prepareIssueArtifact, preparePullRequestArtifact, projectExistingArtifact, renderIssueArtifact, renderPullRequestArtifact, } from "./artifact.js";
|
|
7
7
|
import { projectContract, SemanticValidationError, validateSemanticInput, } from "./contract/index.js";
|
|
8
8
|
import { GitHubAdapter, isGitHubAdapterError } from "./github/index.js";
|
|
9
|
-
import { compileLocalGovernedContract, compileRepositoryGovernedContract,
|
|
9
|
+
import { compileLocalGovernedContract, compileRepositoryGovernedContract, createGovernedIssue, createGovernedPullRequest, discoverRepositoryTemplates, rejectGovernedPolicyOverride, } from "./governance.js";
|
|
10
10
|
import { discoverTemplates } from "./template-discovery.js";
|
|
11
|
+
import { applySemanticPatch, assessExistingArtifact, currentArtifactInput, diffArtifact, prepareRemediationArtifact, prepareSyncInput, readGovernedExistingArtifact, RemediationError, updateGovernedExistingArtifact, } from "./reconciliation.js";
|
|
11
12
|
import { discoverSemanticTemplates, importNativeTemplate, renderSemanticCompactSchema, syncSemanticTemplates, SEMANTIC_ISSUE_DIRECTORY, SEMANTIC_PULL_REQUEST_FILE, SEMANTIC_TEMPLATE_DIRECTORY, } from "./semantic-template.js";
|
|
12
13
|
const EXIT_USAGE = 1;
|
|
13
14
|
const EXIT_VALIDATION = 2;
|
|
@@ -34,6 +35,7 @@ const BOOLEAN_OPTIONS = new Set([
|
|
|
34
35
|
"maintainerCanModify",
|
|
35
36
|
"compact",
|
|
36
37
|
"check",
|
|
38
|
+
"dryRun",
|
|
37
39
|
]);
|
|
38
40
|
const VALUE_OPTIONS = new Set([
|
|
39
41
|
"from",
|
|
@@ -474,6 +476,12 @@ async function runArtifactCommand(domain, command, rest, parsed, root, dependenc
|
|
|
474
476
|
console.log(JSON.stringify({ ok: true, artifact: created.artifact, governance: created.governance }));
|
|
475
477
|
return 0;
|
|
476
478
|
}
|
|
479
|
+
if (command === "check" || command === "edit" || command === "normalize" || command === "sync") {
|
|
480
|
+
if (rest[0] === undefined || !isPositiveInteger(rest[0])) {
|
|
481
|
+
throw invalidArtifactNumberError(domain, rest[0]);
|
|
482
|
+
}
|
|
483
|
+
return runExistingRemediation(domain, command, Number(rest[0]), parsed, root, dependencies, json);
|
|
484
|
+
}
|
|
477
485
|
if ((command === "validate" || command === "explain") &&
|
|
478
486
|
rest[0] !== undefined &&
|
|
479
487
|
isPositiveInteger(rest[0]) &&
|
|
@@ -493,7 +501,9 @@ async function runArtifactCommand(domain, command, rest, parsed, root, dependenc
|
|
|
493
501
|
}
|
|
494
502
|
async function runExistingValidation(domain, number, parsed, root, dependencies, json) {
|
|
495
503
|
rejectGovernedPolicyOverride(parsed.options.policy);
|
|
496
|
-
const
|
|
504
|
+
const adapter = createAdapter(dependencies, root, parsed.options.repository);
|
|
505
|
+
await adapter.resolveRepositoryContext();
|
|
506
|
+
const read = await readGovernedExistingArtifact(adapter, domain, number, templateSelector(parsed, undefined));
|
|
497
507
|
const { remote, result } = read;
|
|
498
508
|
const projection = projectExistingArtifact(result);
|
|
499
509
|
const output = {
|
|
@@ -509,7 +519,9 @@ async function runExistingValidation(domain, number, parsed, root, dependencies,
|
|
|
509
519
|
}
|
|
510
520
|
async function runExistingGet(domain, number, parsed, root, dependencies) {
|
|
511
521
|
rejectGovernedPolicyOverride(parsed.options.policy);
|
|
512
|
-
const
|
|
522
|
+
const adapter = createAdapter(dependencies, root, parsed.options.repository);
|
|
523
|
+
await adapter.resolveRepositoryContext();
|
|
524
|
+
const { remote, contract, result } = await readGovernedExistingArtifact(adapter, domain, number, templateSelector(parsed, undefined));
|
|
513
525
|
const projection = projectExistingArtifact(result);
|
|
514
526
|
const output = {
|
|
515
527
|
valid: projection.valid,
|
|
@@ -527,6 +539,74 @@ async function runExistingGet(domain, number, parsed, root, dependencies) {
|
|
|
527
539
|
console.log(JSON.stringify(output));
|
|
528
540
|
return result.valid ? 0 : EXIT_VALIDATION;
|
|
529
541
|
}
|
|
542
|
+
async function runExistingRemediation(domain, operation, number, parsed, root, dependencies, json) {
|
|
543
|
+
void json;
|
|
544
|
+
rejectGovernedPolicyOverride(parsed.options.policy);
|
|
545
|
+
const adapter = createAdapter(dependencies, root, parsed.options.repository);
|
|
546
|
+
await adapter.resolveRepositoryContext();
|
|
547
|
+
const read = await readGovernedExistingArtifact(adapter, domain, number, templateSelector(parsed, undefined));
|
|
548
|
+
const assessment = assessExistingArtifact(domain, read);
|
|
549
|
+
const base = {
|
|
550
|
+
operation,
|
|
551
|
+
kind: domain === "issue" ? "issue" : "pull_request",
|
|
552
|
+
number: read.remote.number,
|
|
553
|
+
url: read.remote.url,
|
|
554
|
+
...(read.contract === undefined ? {} : { template: read.contract.templateIdentity }),
|
|
555
|
+
};
|
|
556
|
+
if (operation === "check") {
|
|
557
|
+
console.log(JSON.stringify({
|
|
558
|
+
ok: assessment.status === "valid-current",
|
|
559
|
+
...base,
|
|
560
|
+
status: assessment.status,
|
|
561
|
+
classification: read.result.classification,
|
|
562
|
+
valid: assessment.status === "valid-current",
|
|
563
|
+
normalizable: assessment.normalizable,
|
|
564
|
+
diagnostics: assessment.diagnostics,
|
|
565
|
+
violations: assessment.status === "non-canonical" ? assessment.diagnostics : read.result.violations,
|
|
566
|
+
}));
|
|
567
|
+
return assessment.status === "valid-current" ? 0 : EXIT_VALIDATION;
|
|
568
|
+
}
|
|
569
|
+
if (read.contract === undefined) {
|
|
570
|
+
throw new RemediationError(operation === "normalize" ? "NORMALIZATION_UNSAFE" : "SYNC_CURRENT_UNSUPPORTED", "No authoritative template could be selected for the existing artifact.", "$.template");
|
|
571
|
+
}
|
|
572
|
+
let desiredInput;
|
|
573
|
+
if (operation === "normalize") {
|
|
574
|
+
if (!read.result.valid || !read.result.parse.parsed) {
|
|
575
|
+
throw new RemediationError("NORMALIZATION_UNSAFE", "Normalization requires a semantically valid artifact whose values can be round-tripped canonically.", "$.artifact");
|
|
576
|
+
}
|
|
577
|
+
desiredInput = currentArtifactInput(domain, read);
|
|
578
|
+
}
|
|
579
|
+
else {
|
|
580
|
+
const input = await readInputDocument(parsed.options.from);
|
|
581
|
+
desiredInput =
|
|
582
|
+
operation === "edit" ? applySemanticPatch(domain, read, input) : prepareSyncInput(domain, read, input);
|
|
583
|
+
}
|
|
584
|
+
const desired = prepareRemediationArtifact(domain, read.contract, desiredInput);
|
|
585
|
+
const diff = diffArtifact(domain, read, desired);
|
|
586
|
+
const resultBase = {
|
|
587
|
+
...base,
|
|
588
|
+
changed: diff.changed,
|
|
589
|
+
noOp: !diff.changed,
|
|
590
|
+
diff,
|
|
591
|
+
};
|
|
592
|
+
if (!diff.changed || parsed.options.dryRun === true) {
|
|
593
|
+
console.log(JSON.stringify({
|
|
594
|
+
ok: true,
|
|
595
|
+
...resultBase,
|
|
596
|
+
...(parsed.options.dryRun === true ? { dryRun: true, mutation: "not-performed" } : {}),
|
|
597
|
+
}));
|
|
598
|
+
return 0;
|
|
599
|
+
}
|
|
600
|
+
const mutated = await updateGovernedExistingArtifact(adapter, domain, number, desired);
|
|
601
|
+
console.log(JSON.stringify({
|
|
602
|
+
ok: true,
|
|
603
|
+
...resultBase,
|
|
604
|
+
mutation: "applied",
|
|
605
|
+
artifact: { number: mutated.artifact.number, url: mutated.artifact.url },
|
|
606
|
+
governance: mutated.governance,
|
|
607
|
+
}));
|
|
608
|
+
return 0;
|
|
609
|
+
}
|
|
530
610
|
function existingArtifactMetadata(domain, remote) {
|
|
531
611
|
if (domain === "issue") {
|
|
532
612
|
if (!("labels" in remote) || !("assignees" in remote))
|
|
@@ -548,58 +628,6 @@ function existingArtifactMetadata(domain, remote) {
|
|
|
548
628
|
base: remote.base,
|
|
549
629
|
};
|
|
550
630
|
}
|
|
551
|
-
async function readExistingArtifact(domain, number, parsed, root, dependencies) {
|
|
552
|
-
const adapter = createAdapter(dependencies, root, parsed.options.repository);
|
|
553
|
-
await adapter.resolveRepositoryContext();
|
|
554
|
-
const selector = templateSelector(parsed, undefined);
|
|
555
|
-
let contracts;
|
|
556
|
-
let failedTemplates;
|
|
557
|
-
if (selector === undefined) {
|
|
558
|
-
const outcomes = await compileRepositoryGovernedContracts(adapter, domain);
|
|
559
|
-
contracts = outcomes.filter((outcome) => outcome.status === "compiled").map((outcome) => outcome.contract);
|
|
560
|
-
failedTemplates = outcomes.filter((outcome) => outcome.status === "failed");
|
|
561
|
-
}
|
|
562
|
-
else {
|
|
563
|
-
contracts = [await compileRepositoryGovernedContract(adapter, domain, selector)];
|
|
564
|
-
failedTemplates = [];
|
|
565
|
-
}
|
|
566
|
-
const remote = domain === "issue" ? await adapter.getIssue(number) : await adapter.getPullRequest(number);
|
|
567
|
-
const candidates = contracts.map((contract) => ({
|
|
568
|
-
contract,
|
|
569
|
-
result: domain === "issue"
|
|
570
|
-
? validateExistingIssueArtifact(contract, remote.body)
|
|
571
|
-
: validateExistingPullRequestArtifact(contract, remote.body),
|
|
572
|
-
}));
|
|
573
|
-
const selected = selectExistingArtifactCandidate(candidates);
|
|
574
|
-
if (selected.contract !== undefined || failedTemplates.length === 0) {
|
|
575
|
-
return { remote, contract: selected.contract, result: selected.result };
|
|
576
|
-
}
|
|
577
|
-
// No compiled template matched, and at least one sibling template failed to
|
|
578
|
-
// compile: fail closed, since the malformed template could be the one that
|
|
579
|
-
// actually owns this artifact. Surface it as a bounded diagnostic rather
|
|
580
|
-
// than an opaque compile error.
|
|
581
|
-
const compileDiagnostics = failedTemplates.map((failed) => ({
|
|
582
|
-
code: "EXISTING_TEMPLATE_COMPILE_FAILED",
|
|
583
|
-
path: failed.path,
|
|
584
|
-
message: `[${failed.path}] Template failed to compile: ${failed.message}`,
|
|
585
|
-
}));
|
|
586
|
-
// selected.contract is undefined here, so selectExistingArtifactCandidate resolved this
|
|
587
|
-
// as an unmatched candidate set: its violations are always ExistingArtifactDiagnostic[].
|
|
588
|
-
const existingViolations = selected.result.violations;
|
|
589
|
-
return {
|
|
590
|
-
remote,
|
|
591
|
-
result: {
|
|
592
|
-
valid: false,
|
|
593
|
-
classification: selected.result.classification,
|
|
594
|
-
parse: {
|
|
595
|
-
parsed: false,
|
|
596
|
-
values: {},
|
|
597
|
-
diagnostics: [...selected.result.parse.diagnostics, ...compileDiagnostics],
|
|
598
|
-
},
|
|
599
|
-
violations: [...existingViolations, ...compileDiagnostics],
|
|
600
|
-
},
|
|
601
|
-
};
|
|
602
|
-
}
|
|
603
631
|
function createAdapter(dependencies, root, repository) {
|
|
604
632
|
const factory = dependencies.createAdapter ?? ((options) => new GitHubAdapter(options));
|
|
605
633
|
return factory({ cwd: root, ...(typeof repository === "string" ? { repository } : {}) });
|
|
@@ -717,7 +745,9 @@ function toErrorShape(error) {
|
|
|
717
745
|
return { code: "INTERNAL_ERROR", message: error instanceof Error ? error.message : "Operation failed." };
|
|
718
746
|
}
|
|
719
747
|
function classifyExitCode(error) {
|
|
720
|
-
if (error instanceof SemanticValidationError ||
|
|
748
|
+
if (error instanceof SemanticValidationError ||
|
|
749
|
+
error instanceof ArtifactInputError ||
|
|
750
|
+
error instanceof RemediationError)
|
|
721
751
|
return EXIT_VALIDATION;
|
|
722
752
|
if (isGitHubAdapterError(error))
|
|
723
753
|
return EXIT_REMOTE;
|
|
@@ -751,7 +781,11 @@ function isMachineCommand(positionals) {
|
|
|
751
781
|
positionals[1] === "render" ||
|
|
752
782
|
positionals[1] === "create" ||
|
|
753
783
|
positionals[1] === "explain" ||
|
|
754
|
-
positionals[1] === "get"
|
|
784
|
+
positionals[1] === "get" ||
|
|
785
|
+
positionals[1] === "check" ||
|
|
786
|
+
positionals[1] === "edit" ||
|
|
787
|
+
positionals[1] === "normalize" ||
|
|
788
|
+
positionals[1] === "sync")) ||
|
|
755
789
|
positionals[0] === "diagnose" ||
|
|
756
790
|
positionals[0] === "doctor" ||
|
|
757
791
|
positionals[0] === "version");
|
|
@@ -770,7 +804,11 @@ function isMachineCommandTokens(argv) {
|
|
|
770
804
|
command === "render" ||
|
|
771
805
|
command === "create" ||
|
|
772
806
|
command === "explain" ||
|
|
773
|
-
command === "get"
|
|
807
|
+
command === "get" ||
|
|
808
|
+
command === "check" ||
|
|
809
|
+
command === "edit" ||
|
|
810
|
+
command === "normalize" ||
|
|
811
|
+
command === "sync");
|
|
774
812
|
}
|
|
775
813
|
function isPositiveInteger(value) {
|
|
776
814
|
return /^[1-9]\d*$/u.test(value);
|
|
@@ -823,6 +861,10 @@ Commands:
|
|
|
823
861
|
issue validate <number> [--template <template>]
|
|
824
862
|
issue explain <number> [--template <template>]
|
|
825
863
|
issue get <number> [--template <template>] --json
|
|
864
|
+
issue check <number> [--template <template>]
|
|
865
|
+
issue edit <number> --from <file.json> [--dry-run]
|
|
866
|
+
issue normalize <number> [--dry-run]
|
|
867
|
+
issue sync <number> --from <file.json> [--dry-run]
|
|
826
868
|
pr schema [template]
|
|
827
869
|
pr validate --template <template> --from <file.json>
|
|
828
870
|
pr render --template <template> --from <file.json>
|
|
@@ -830,6 +872,10 @@ Commands:
|
|
|
830
872
|
pr validate <number> [--template <template>]
|
|
831
873
|
pr explain <number> [--template <template>]
|
|
832
874
|
pr get <number> [--template <template>] --json
|
|
875
|
+
pr check <number> [--template <template>]
|
|
876
|
+
pr edit <number> --from <file.json> [--dry-run]
|
|
877
|
+
pr normalize <number> [--dry-run]
|
|
878
|
+
pr sync <number> --from <file.json> [--dry-run]
|
|
833
879
|
|
|
834
880
|
Options:
|
|
835
881
|
--from <path> JSON input file, or - for stdin
|
|
@@ -841,6 +887,7 @@ Options:
|
|
|
841
887
|
--base <branch> PR base branch for create
|
|
842
888
|
--compact Emit only semantic fields and constraints for schema
|
|
843
889
|
--check Check generated native projections without writing
|
|
890
|
+
--dry-run Show a bounded remediation diff without mutating GitHub
|
|
844
891
|
--draft Create the PR as a draft
|
|
845
892
|
--maintainer-can-modify
|
|
846
893
|
Allow maintainer edits on the PR
|
|
@@ -853,7 +900,8 @@ Options:
|
|
|
853
900
|
Require a minimum semantic version in checks
|
|
854
901
|
--help Print this help
|
|
855
902
|
|
|
856
|
-
Create always validates and renders before invoking gh. Schema, validate, and
|
|
903
|
+
Create always validates and renders before invoking gh. Schema, validate, render, check, and --dry-run remediation never mutate GitHub.
|
|
904
|
+
Edit applies an explicit semantic patch; normalize preserves existing semantic values; sync reconciles a complete desired semantic state.
|
|
857
905
|
|
|
858
906
|
Canonical installation: gh extension install yohn-jp/gh-inari
|
|
859
907
|
PATH-independent fallback: npx --yes gh-inari`);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@ import { fileURLToPath } from "node:url";
|
|
|
5
5
|
import { runCli } from "./cli.js";
|
|
6
6
|
export { runCli };
|
|
7
7
|
export * from "./artifact.js";
|
|
8
|
+
export * from "./reconciliation.js";
|
|
8
9
|
export * from "./pr-policy.js";
|
|
9
10
|
export * from "./governance.js";
|
|
10
11
|
export * from "./contract/index.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,uBAAuB,EACvB,+BAA+B,EAC/B,cAAc,EACd,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,+BAA+B,EAC/B,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AAUjC,IAAI,WAA+B,CAAC;AACpC,IAAI,CAAC;IACH,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxG,CAAC;AAAC,MAAM,CAAC;IACP,WAAW,GAAG,SAAS,CAAC;AAC1B,CAAC;AACD,IAAI,WAAW,KAAK,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACnD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC1B,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjB,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC9B,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACxB,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC7D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,uBAAuB,EACvB,+BAA+B,EAC/B,cAAc,EACd,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,+BAA+B,EAC/B,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AAUjC,IAAI,WAA+B,CAAC;AACpC,IAAI,CAAC;IACH,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxG,CAAC;AAAC,MAAM,CAAC;IACP,WAAW,GAAG,SAAS,CAAC;AAC1B,CAAC;AACD,IAAI,WAAW,KAAK,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACnD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC1B,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjB,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC9B,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACxB,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC7D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { type ArtifactInputDocument, type ExistingArtifactDiagnostic, type ExistingArtifactValidationResult } from "./artifact.js";
|
|
2
|
+
import { type CanonicalContract } from "./contract/index.js";
|
|
3
|
+
import { type GovernedArtifactDomain, type GovernedMutationResult } from "./governance.js";
|
|
4
|
+
import { GitHubAdapter, type GitHubIssue, type GitHubPullRequest } from "./github/index.js";
|
|
5
|
+
import type { ValidatedRenderedIssueArtifact, ValidatedRenderedPullRequestArtifact } from "./github/types.js";
|
|
6
|
+
import type { TemplateSelector } from "./template-discovery.js";
|
|
7
|
+
export type RemediationOperation = "check" | "edit" | "normalize" | "sync";
|
|
8
|
+
export type RemediationStatus = "valid-current" | "non-canonical" | "semantically-invalid" | "unsupported" | "ambiguous";
|
|
9
|
+
export type RemediationErrorCode = "SEMANTIC_PATCH_INVALID" | "SEMANTIC_PATCH_UNSUPPORTED" | "NORMALIZATION_UNSAFE" | "SYNC_INPUT_INCOMPLETE" | "SYNC_CURRENT_UNSUPPORTED" | "PR_HEAD_CHANGE_UNSUPPORTED";
|
|
10
|
+
export declare class RemediationError extends Error {
|
|
11
|
+
readonly code: RemediationErrorCode;
|
|
12
|
+
readonly path?: string;
|
|
13
|
+
readonly details?: Readonly<Record<string, unknown>>;
|
|
14
|
+
constructor(code: RemediationErrorCode, message: string, path?: string, details?: Readonly<Record<string, unknown>>);
|
|
15
|
+
}
|
|
16
|
+
export interface ExistingArtifactRead {
|
|
17
|
+
readonly remote: GitHubIssue | GitHubPullRequest;
|
|
18
|
+
readonly contract?: CanonicalContract;
|
|
19
|
+
readonly result: ExistingArtifactValidationResult;
|
|
20
|
+
}
|
|
21
|
+
export interface ExistingArtifactAssessment {
|
|
22
|
+
readonly status: RemediationStatus;
|
|
23
|
+
readonly normalizable: boolean;
|
|
24
|
+
readonly canonicalBody?: string;
|
|
25
|
+
readonly diagnostics: readonly ExistingArtifactDiagnostic[];
|
|
26
|
+
}
|
|
27
|
+
export interface SemanticDiffChange {
|
|
28
|
+
readonly path: string;
|
|
29
|
+
readonly before?: unknown;
|
|
30
|
+
readonly after?: unknown;
|
|
31
|
+
}
|
|
32
|
+
export interface RenderedDiffSummary {
|
|
33
|
+
readonly changed: boolean;
|
|
34
|
+
readonly before: RenderedValueSummary;
|
|
35
|
+
readonly after: RenderedValueSummary;
|
|
36
|
+
}
|
|
37
|
+
export interface RenderedValueSummary {
|
|
38
|
+
readonly sha256: string;
|
|
39
|
+
readonly length: number;
|
|
40
|
+
readonly preview: string;
|
|
41
|
+
}
|
|
42
|
+
export interface SemanticArtifactDiff {
|
|
43
|
+
readonly changed: boolean;
|
|
44
|
+
readonly semantic: readonly SemanticDiffChange[];
|
|
45
|
+
readonly rendered: RenderedDiffSummary;
|
|
46
|
+
}
|
|
47
|
+
export type PreparedRemediationArtifact = ValidatedRenderedIssueArtifact | ValidatedRenderedPullRequestArtifact;
|
|
48
|
+
/** Read and select an existing artifact using the same governed candidate path as `get`. */
|
|
49
|
+
export declare function readGovernedExistingArtifact(adapter: GitHubAdapter, domain: GovernedArtifactDomain, number: number, selector?: string | TemplateSelector): Promise<ExistingArtifactRead>;
|
|
50
|
+
/** Classify the current artifact and prove whether a canonical body can preserve its semantics. */
|
|
51
|
+
export declare function assessExistingArtifact(domain: GovernedArtifactDomain, read: ExistingArtifactRead): ExistingArtifactAssessment;
|
|
52
|
+
/** Render through the existing canonical renderer; this is the only representation authority. */
|
|
53
|
+
export declare function renderCanonicalBody(domain: GovernedArtifactDomain, contract: CanonicalContract, fields: Readonly<Record<string, unknown>>): string;
|
|
54
|
+
/** Build the complete semantic input represented by the current remote artifact. */
|
|
55
|
+
export declare function currentArtifactInput(domain: GovernedArtifactDomain, read: ExistingArtifactRead): ArtifactInputDocument;
|
|
56
|
+
/** Apply an explicit semantic patch without touching raw Markdown or inferring missing fields. */
|
|
57
|
+
export declare function applySemanticPatch(domain: GovernedArtifactDomain, read: ExistingArtifactRead, patch: ArtifactInputDocument): ArtifactInputDocument;
|
|
58
|
+
/** Validate and prepare the complete desired state through the existing artifact boundary. */
|
|
59
|
+
export declare function prepareRemediationArtifact(domain: GovernedArtifactDomain, contract: CanonicalContract, input: ArtifactInputDocument): PreparedRemediationArtifact;
|
|
60
|
+
/** Ensure a declarative sync only names fields in the authoritative contract. */
|
|
61
|
+
export declare function prepareSyncInput(domain: GovernedArtifactDomain, read: ExistingArtifactRead, desired: ArtifactInputDocument): ArtifactInputDocument;
|
|
62
|
+
/** Compare the current semantic/rendered artifact with a prepared canonical projection. */
|
|
63
|
+
export declare function diffArtifact(domain: GovernedArtifactDomain, read: ExistingArtifactRead, desired: PreparedRemediationArtifact): SemanticArtifactDiff;
|
|
64
|
+
/** Apply a prepared artifact through the existing freshness and reconciliation boundary. */
|
|
65
|
+
export declare function updateGovernedExistingArtifact(adapter: GitHubAdapter, domain: GovernedArtifactDomain, number: number, artifact: PreparedRemediationArtifact): Promise<GovernedMutationResult<GitHubIssue> | GovernedMutationResult<GitHubPullRequest>>;
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
import { prepareIssueArtifact, preparePullRequestArtifact, renderIssueArtifact, renderPullRequestArtifact, selectExistingArtifactCandidate, validateExistingIssueArtifact, validateExistingPullRequestArtifact, } from "./artifact.js";
|
|
2
|
+
import { compileRepositoryGovernedContract, compileRepositoryGovernedContracts, updateGovernedIssue, updateGovernedPullRequest, } from "./governance.js";
|
|
3
|
+
import { createHash } from "node:crypto";
|
|
4
|
+
export class RemediationError extends Error {
|
|
5
|
+
code;
|
|
6
|
+
path;
|
|
7
|
+
details;
|
|
8
|
+
constructor(code, message, path, details) {
|
|
9
|
+
super(message);
|
|
10
|
+
this.name = "RemediationError";
|
|
11
|
+
this.code = code;
|
|
12
|
+
this.path = path;
|
|
13
|
+
this.details = details;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
const MAX_DIFF_CHANGES = 32;
|
|
17
|
+
const MAX_DIFF_VALUE = 240;
|
|
18
|
+
const MAX_PREVIEW = 160;
|
|
19
|
+
/** Read and select an existing artifact using the same governed candidate path as `get`. */
|
|
20
|
+
export async function readGovernedExistingArtifact(adapter, domain, number, selector) {
|
|
21
|
+
let contracts;
|
|
22
|
+
let failedTemplates;
|
|
23
|
+
if (selector === undefined) {
|
|
24
|
+
const outcomes = await compileRepositoryGovernedContracts(adapter, domain);
|
|
25
|
+
contracts = outcomes.filter(isCompiledOutcome).map((outcome) => outcome.contract);
|
|
26
|
+
failedTemplates = outcomes.filter(isFailedOutcome).map((outcome) => ({
|
|
27
|
+
path: outcome.path,
|
|
28
|
+
message: outcome.message,
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
contracts = [await compileRepositoryGovernedContract(adapter, domain, selector)];
|
|
33
|
+
failedTemplates = [];
|
|
34
|
+
}
|
|
35
|
+
const remote = domain === "issue" ? await adapter.getIssue(number) : await adapter.getPullRequest(number);
|
|
36
|
+
const candidates = contracts.map((contract) => ({
|
|
37
|
+
contract,
|
|
38
|
+
result: domain === "issue"
|
|
39
|
+
? validateExistingIssueArtifact(contract, remote.body)
|
|
40
|
+
: validateExistingPullRequestArtifact(contract, remote.body),
|
|
41
|
+
}));
|
|
42
|
+
const selected = selectExistingArtifactCandidate(candidates);
|
|
43
|
+
if (selected.contract !== undefined || failedTemplates.length === 0) {
|
|
44
|
+
return { remote, contract: selected.contract, result: selected.result };
|
|
45
|
+
}
|
|
46
|
+
const compileDiagnostics = failedTemplates.map((failed) => ({
|
|
47
|
+
code: "EXISTING_TEMPLATE_COMPILE_FAILED",
|
|
48
|
+
path: failed.path,
|
|
49
|
+
message: `[${failed.path}] Template failed to compile: ${failed.message}`,
|
|
50
|
+
}));
|
|
51
|
+
const existingViolations = selected.result.violations;
|
|
52
|
+
return {
|
|
53
|
+
remote,
|
|
54
|
+
result: {
|
|
55
|
+
valid: false,
|
|
56
|
+
classification: selected.result.classification,
|
|
57
|
+
parse: {
|
|
58
|
+
parsed: false,
|
|
59
|
+
values: {},
|
|
60
|
+
diagnostics: [...selected.result.parse.diagnostics, ...compileDiagnostics],
|
|
61
|
+
},
|
|
62
|
+
violations: [...existingViolations, ...compileDiagnostics],
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
/** Classify the current artifact and prove whether a canonical body can preserve its semantics. */
|
|
67
|
+
export function assessExistingArtifact(domain, read) {
|
|
68
|
+
if (read.result.classification === "ambiguous") {
|
|
69
|
+
return { status: "ambiguous", normalizable: false, diagnostics: read.result.parse.diagnostics };
|
|
70
|
+
}
|
|
71
|
+
if (!read.result.parse.parsed || read.contract === undefined) {
|
|
72
|
+
return { status: "unsupported", normalizable: false, diagnostics: read.result.parse.diagnostics };
|
|
73
|
+
}
|
|
74
|
+
if (!read.result.valid) {
|
|
75
|
+
return { status: "semantically-invalid", normalizable: false, diagnostics: read.result.parse.diagnostics };
|
|
76
|
+
}
|
|
77
|
+
const canonicalBody = renderCanonicalBody(domain, read.contract, read.result.parse.values);
|
|
78
|
+
const currentBody = read.remote.body ?? "";
|
|
79
|
+
const normalizable = canonicalBody !== currentBody;
|
|
80
|
+
const diagnostics = normalizable
|
|
81
|
+
? [
|
|
82
|
+
{
|
|
83
|
+
code: "EXISTING_NON_CANONICAL",
|
|
84
|
+
path: "$.body",
|
|
85
|
+
message: "Artifact is semantically valid but differs from the canonical rendered representation.",
|
|
86
|
+
},
|
|
87
|
+
]
|
|
88
|
+
: [];
|
|
89
|
+
return {
|
|
90
|
+
status: normalizable ? "non-canonical" : "valid-current",
|
|
91
|
+
normalizable,
|
|
92
|
+
canonicalBody,
|
|
93
|
+
diagnostics,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
/** Render through the existing canonical renderer; this is the only representation authority. */
|
|
97
|
+
export function renderCanonicalBody(domain, contract, fields) {
|
|
98
|
+
return domain === "issue" ? renderIssueArtifact(contract, fields) : renderPullRequestArtifact(contract, fields);
|
|
99
|
+
}
|
|
100
|
+
/** Build the complete semantic input represented by the current remote artifact. */
|
|
101
|
+
export function currentArtifactInput(domain, read) {
|
|
102
|
+
if (domain === "issue") {
|
|
103
|
+
const remote = read.remote;
|
|
104
|
+
return {
|
|
105
|
+
fields: read.result.parse.values,
|
|
106
|
+
metadata: { title: remote.title, labels: remote.labels, assignees: remote.assignees },
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
const remote = read.remote;
|
|
110
|
+
return {
|
|
111
|
+
fields: read.result.parse.values,
|
|
112
|
+
metadata: { title: remote.title, head: remote.head, base: remote.base, draft: remote.draft },
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
/** Apply an explicit semantic patch without touching raw Markdown or inferring missing fields. */
|
|
116
|
+
export function applySemanticPatch(domain, read, patch) {
|
|
117
|
+
if (read.contract === undefined || !read.result.parse.parsed) {
|
|
118
|
+
throw new RemediationError("SEMANTIC_PATCH_UNSUPPORTED", "The existing artifact is not safely parseable under one authoritative template.", "$.artifact");
|
|
119
|
+
}
|
|
120
|
+
assertKnownFields(read.contract, patch.fields, "SEMANTIC_PATCH_INVALID");
|
|
121
|
+
const current = currentArtifactInput(domain, read);
|
|
122
|
+
const metadata = { ...current.metadata, ...patch.metadata };
|
|
123
|
+
if (domain === "pr" && patch.metadata.head !== undefined) {
|
|
124
|
+
const remote = read.remote;
|
|
125
|
+
if (patch.metadata.head !== remote.head) {
|
|
126
|
+
throw new RemediationError("PR_HEAD_CHANGE_UNSUPPORTED", "Pull request head branches cannot be changed through the GitHub pull-request model.", "$.head", { current: remote.head, requested: patch.metadata.head });
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return { fields: { ...current.fields, ...patch.fields }, metadata };
|
|
130
|
+
}
|
|
131
|
+
/** Validate and prepare the complete desired state through the existing artifact boundary. */
|
|
132
|
+
export function prepareRemediationArtifact(domain, contract, input) {
|
|
133
|
+
if (domain === "issue")
|
|
134
|
+
return prepareIssueArtifact(contract, input).artifact;
|
|
135
|
+
return preparePullRequestArtifact(contract, input).artifact;
|
|
136
|
+
}
|
|
137
|
+
/** Ensure a declarative sync only names fields in the authoritative contract. */
|
|
138
|
+
export function prepareSyncInput(domain, read, desired) {
|
|
139
|
+
if (read.contract === undefined || !read.result.parse.parsed) {
|
|
140
|
+
throw new RemediationError("SYNC_CURRENT_UNSUPPORTED", "Sync refuses to replace an unsupported or unparseable existing artifact.", "$.artifact");
|
|
141
|
+
}
|
|
142
|
+
assertKnownFields(read.contract, desired.fields, "SYNC_INPUT_INCOMPLETE");
|
|
143
|
+
if (domain === "pr" && desired.metadata.head !== undefined) {
|
|
144
|
+
const remote = read.remote;
|
|
145
|
+
if (desired.metadata.head !== remote.head) {
|
|
146
|
+
throw new RemediationError("PR_HEAD_CHANGE_UNSUPPORTED", "Pull request head branches cannot be changed through the GitHub pull-request model.", "$.head", { current: remote.head, requested: desired.metadata.head });
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return desired;
|
|
150
|
+
}
|
|
151
|
+
/** Compare the current semantic/rendered artifact with a prepared canonical projection. */
|
|
152
|
+
export function diffArtifact(domain, read, desired) {
|
|
153
|
+
const currentFields = read.result.parse.values;
|
|
154
|
+
const desiredFields = desiredFieldsFromArtifact(domain, desired, read.contract);
|
|
155
|
+
const keys = [...new Set([...Object.keys(currentFields), ...Object.keys(desiredFields)])].sort(compareStrings);
|
|
156
|
+
const semantic = [];
|
|
157
|
+
for (const key of keys) {
|
|
158
|
+
if (stableValue(currentFields[key]) !== stableValue(desiredFields[key])) {
|
|
159
|
+
semantic.push({
|
|
160
|
+
path: `$.fields.${key}`,
|
|
161
|
+
...(Object.prototype.hasOwnProperty.call(currentFields, key)
|
|
162
|
+
? { before: boundedValue(currentFields[key]) }
|
|
163
|
+
: {}),
|
|
164
|
+
...(Object.prototype.hasOwnProperty.call(desiredFields, key)
|
|
165
|
+
? { after: boundedValue(desiredFields[key]) }
|
|
166
|
+
: {}),
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
const currentMetadata = currentMetadataForDiff(domain, read.remote);
|
|
171
|
+
const desiredMetadata = desiredMetadataForDiff(domain, desired);
|
|
172
|
+
for (const key of Object.keys(desiredMetadata).sort(compareStrings)) {
|
|
173
|
+
if (stableValue(currentMetadata[key]) !== stableValue(desiredMetadata[key])) {
|
|
174
|
+
semantic.push({
|
|
175
|
+
path: `$.metadata.${key}`,
|
|
176
|
+
...(currentMetadata[key] === undefined ? {} : { before: boundedValue(currentMetadata[key]) }),
|
|
177
|
+
...(desiredMetadata[key] === undefined ? {} : { after: boundedValue(desiredMetadata[key]) }),
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
const currentBody = read.remote.body ?? "";
|
|
182
|
+
const rendered = {
|
|
183
|
+
changed: currentBody !== desired.body,
|
|
184
|
+
before: summarizeRenderedValue(currentBody),
|
|
185
|
+
after: summarizeRenderedValue(desired.body),
|
|
186
|
+
};
|
|
187
|
+
const boundedSemantic = semantic.slice(0, MAX_DIFF_CHANGES);
|
|
188
|
+
return { changed: semantic.length > 0 || rendered.changed, semantic: boundedSemantic, rendered };
|
|
189
|
+
}
|
|
190
|
+
/** Apply a prepared artifact through the existing freshness and reconciliation boundary. */
|
|
191
|
+
export async function updateGovernedExistingArtifact(adapter, domain, number, artifact) {
|
|
192
|
+
if (domain === "issue")
|
|
193
|
+
return updateGovernedIssue(adapter, number, artifact);
|
|
194
|
+
return updateGovernedPullRequest(adapter, number, artifact);
|
|
195
|
+
}
|
|
196
|
+
function desiredFieldsFromArtifact(domain, artifact, contract) {
|
|
197
|
+
if (contract === undefined)
|
|
198
|
+
return {};
|
|
199
|
+
// Reparse the canonical projection through the existing parser. This keeps
|
|
200
|
+
// the diff's semantic side tied to the same round-trip authority as writes.
|
|
201
|
+
const parsed = domain === "issue"
|
|
202
|
+
? validateExistingIssueArtifact(contract, artifact.body)
|
|
203
|
+
: validateExistingPullRequestArtifact(contract, artifact.body);
|
|
204
|
+
return parsed.parse.values;
|
|
205
|
+
}
|
|
206
|
+
function currentMetadataForDiff(domain, remote) {
|
|
207
|
+
if (domain === "issue") {
|
|
208
|
+
const issue = remote;
|
|
209
|
+
return { title: issue.title, labels: issue.labels, assignees: issue.assignees };
|
|
210
|
+
}
|
|
211
|
+
const pullRequest = remote;
|
|
212
|
+
return { title: pullRequest.title, head: pullRequest.head, base: pullRequest.base, draft: pullRequest.draft };
|
|
213
|
+
}
|
|
214
|
+
function desiredMetadataForDiff(domain, artifact) {
|
|
215
|
+
if (domain === "issue") {
|
|
216
|
+
const issue = artifact;
|
|
217
|
+
return {
|
|
218
|
+
title: issue.title,
|
|
219
|
+
...(issue.labels === undefined ? {} : { labels: issue.labels }),
|
|
220
|
+
...(issue.assignees === undefined ? {} : { assignees: issue.assignees }),
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
const pullRequest = artifact;
|
|
224
|
+
return {
|
|
225
|
+
title: pullRequest.title,
|
|
226
|
+
head: pullRequest.head,
|
|
227
|
+
base: pullRequest.base,
|
|
228
|
+
...(pullRequest.draft === undefined ? {} : { draft: pullRequest.draft }),
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
function assertKnownFields(contract, fields, code) {
|
|
232
|
+
const known = new Set(contract.sections.flatMap((section) => section.fields.map((field) => field.id)));
|
|
233
|
+
const unknown = Object.keys(fields).find((field) => !known.has(field));
|
|
234
|
+
if (unknown !== undefined) {
|
|
235
|
+
throw new RemediationError(code, `Unknown semantic field "${unknown}".`, `$.fields.${unknown}`, { field: unknown });
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
function isCompiledOutcome(outcome) {
|
|
239
|
+
return outcome.status === "compiled";
|
|
240
|
+
}
|
|
241
|
+
function isFailedOutcome(outcome) {
|
|
242
|
+
return outcome.status === "failed";
|
|
243
|
+
}
|
|
244
|
+
function summarizeRenderedValue(value) {
|
|
245
|
+
const bytes = new TextEncoder().encode(value);
|
|
246
|
+
const digest = createSha256(bytes);
|
|
247
|
+
return { sha256: digest, length: bytes.byteLength, preview: value.slice(0, MAX_PREVIEW) };
|
|
248
|
+
}
|
|
249
|
+
function createSha256(bytes) {
|
|
250
|
+
return createHash("sha256").update(bytes).digest("hex");
|
|
251
|
+
}
|
|
252
|
+
function boundedValue(value) {
|
|
253
|
+
const serialized = stableValue(value);
|
|
254
|
+
if (serialized.length <= MAX_DIFF_VALUE)
|
|
255
|
+
return value;
|
|
256
|
+
return { truncated: true, preview: serialized.slice(0, MAX_DIFF_VALUE), length: serialized.length };
|
|
257
|
+
}
|
|
258
|
+
function stableValue(value) {
|
|
259
|
+
if (value === undefined)
|
|
260
|
+
return "undefined";
|
|
261
|
+
if (value === null || typeof value !== "object")
|
|
262
|
+
return JSON.stringify(value) ?? String(value);
|
|
263
|
+
if (Array.isArray(value))
|
|
264
|
+
return `[${value.map((entry) => stableValue(entry)).join(",")}]`;
|
|
265
|
+
const record = value;
|
|
266
|
+
return `{${Object.keys(record)
|
|
267
|
+
.sort(compareStrings)
|
|
268
|
+
.map((key) => `${JSON.stringify(key)}:${stableValue(record[key])}`)
|
|
269
|
+
.join(",")}}`;
|
|
270
|
+
}
|
|
271
|
+
function compareStrings(left, right) {
|
|
272
|
+
return left.localeCompare(right, "en-US");
|
|
273
|
+
}
|
|
274
|
+
//# sourceMappingURL=reconciliation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconciliation.js","sourceRoot":"","sources":["../src/reconciliation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED