gh-inari 0.2.0 → 0.5.2
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 +77 -12
- package/dist/artifact.d.ts +1 -1
- package/dist/artifact.js +1 -1
- package/dist/artifact.js.map +1 -1
- package/dist/cli.d.ts +7 -0
- package/dist/cli.js +433 -31
- package/dist/cli.js.map +1 -1
- package/dist/contract/ir.d.ts +8 -0
- package/dist/contract/ir.js +3 -1
- package/dist/contract/ir.js.map +1 -1
- package/dist/github/adapter.d.ts +6 -3
- package/dist/github/adapter.js +65 -11
- package/dist/github/adapter.js.map +1 -1
- package/dist/github/capability.js +1 -0
- package/dist/github/capability.js.map +1 -1
- package/dist/github/errors.d.ts +16 -1
- package/dist/github/errors.js +18 -0
- package/dist/github/errors.js.map +1 -1
- package/dist/github/transport.d.ts +19 -0
- package/dist/github/transport.js +87 -25
- package/dist/github/transport.js.map +1 -1
- package/dist/github/types.d.ts +6 -0
- package/dist/governance.d.ts +64 -4
- package/dist/governance.js +251 -6
- package/dist/governance.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/pr-policy.js +109 -1
- package/dist/pr-policy.js.map +1 -1
- package/dist/pull-request-template.js +5 -1
- package/dist/pull-request-template.js.map +1 -1
- package/dist/semantic-template.d.ts +107 -0
- package/dist/semantic-template.js +1151 -0
- package/dist/semantic-template.js.map +1 -0
- package/gh-inari +77 -11
- package/package.json +26 -20
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/github/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/github/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAyB3C,gGAAgG;AAChG,MAAM,CAAC,MAAM,8BAA8B,GAAsC,MAAM,CAAC,MAAM,CAAC;IAC7F,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;CAClB,CAAC,CAAC;AAEH,mHAAmH;AACnH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IACvC,SAAS,CAAS;IAE3B,YAAY,SAAiB;QAC3B,KAAK,CAAC,gDAAgD,SAAS,KAAK,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED,qFAAqF;AACrF,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAC3C,IAAI,GAAG,0BAA0B,CAAC;IAClC,MAAM,CAAiB;IACvB,UAAU,CAAS;IACnB,WAAW,CAAS;IAE7B,YAAY,MAAsB,EAAE,UAAkB,EAAE,WAAmB;QACzE,KAAK,CAAC,6BAA6B,MAAM,oBAAoB,UAAU,SAAS,CAAC,CAAC;QAClF,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;CACF;AAOD,iGAAiG;AACjG,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAEjC,SAAS,iBAAiB,CAAC,KAAa,EAAE,UAAkB;IAC1D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,UAAU,CAAC,GAAG,UAAU,+CAA+C,KAAK,GAAG,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAyB;IAClD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,UAAU,CAAC,yEAAyE,KAAK,GAAG,CAAC,CAAC;IAC1G,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,kBAAkB;IACpB,UAAU,CAAS;IAE5B,YAAY,UAAU,GAAG,IAAI;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,IAAuB,EAAE,UAA8B,EAAE;QAC3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,cAAc,GAAG,iBAAiB,CACtC,OAAO,CAAC,cAAc,IAAI,8BAA8B,CAAC,MAAM,EAC/D,gBAAgB,CACjB,CAAC;YACF,MAAM,cAAc,GAAG,iBAAiB,CACtC,OAAO,CAAC,cAAc,IAAI,8BAA8B,CAAC,MAAM,EAC/D,gBAAgB,CACjB,CAAC;YACF,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAEvD,IAAI,KAA+B,CAAC;YACpC,IAAI,CAAC;gBACH,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;oBACxC,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;iBAClC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBACnD,MAAM,CAAC,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC,CAAC;gBAC1E,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,WAGS,CAAC;YACd,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,KAAiC,CAAC;YACtC,IAAI,SAAqC,CAAC;YAE1C,MAAM,WAAW,GAAG,GAAS,EAAE;gBAC7B,IAAI,KAAK,KAAK,SAAS;oBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC7C,IAAI,SAAS,KAAK,SAAS;oBAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YACvD,CAAC,CAAC;YAEF,MAAM,SAAS,GAAG,GAAS,EAAE;gBAC3B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC1B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxB,CAAC,EAAE,mBAAmB,CAAC,CAAC;gBACxB,SAAS,CAAC,KAAK,EAAE,CAAC;YACpB,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,CAAC,MAAsB,EAAE,KAAa,EAAQ,EAAE;gBAC9D,IAAI,OAAO,IAAI,WAAW,KAAK,SAAS;oBAAE,OAAO;gBAEjD,MAAM,WAAW,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC;gBAC1G,MAAM,UAAU,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;gBACzE,IAAI,WAAW,GAAG,UAAU,EAAE,CAAC;oBAC7B,WAAW,GAAG;wBACZ,IAAI,EAAE,cAAc;wBACpB,KAAK,EAAE,IAAI,2BAA2B,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC;qBACxE,CAAC;oBACF,SAAS,EAAE,CAAC;oBACZ,OAAO;gBACT,CAAC;gBAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACxB,WAAW,GAAG,WAAW,CAAC;oBAC1B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,WAAW,GAAG,WAAW,CAAC;oBAC1B,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC,CAAC;YAEF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACxC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACxC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC5B,IAAI,OAAO;oBAAE,OAAO;gBACpB,IAAI,WAAW,KAAK,SAAS;oBAAE,OAAO;gBACtC,OAAO,GAAG,IAAI,CAAC;gBACf,WAAW,EAAE,CAAC;gBACd,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBACtB,IAAI,WAAW,KAAK,SAAS;wBAAE,OAAO;oBACtC,WAAW,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;oBAC7C,SAAS,EAAE,CAAC;gBACd,CAAC,EAAE,SAAS,CAAC,CAAC;gBACd,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,QAAuB,EAAE,MAA6B,EAAE,EAAE;gBAC7E,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,WAAW,EAAE,CAAC;gBACd,IAAI,WAAW,EAAE,IAAI,KAAK,cAAc,EAAE,CAAC;oBACzC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;oBAC1B,OAAO;gBACT,CAAC;gBACD,IAAI,WAAW,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;oBACpC,MAAM,CAAC,IAAI,uBAAuB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC3D,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC;oBACN,QAAQ,EAAE,QAAQ,IAAI,CAAC;oBACvB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACpD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACpD,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;iBACvC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/dist/github/types.d.ts
CHANGED
|
@@ -44,6 +44,12 @@ export interface RepositoryTreeEntry {
|
|
|
44
44
|
readonly type: "blob" | "tree";
|
|
45
45
|
readonly sha: string;
|
|
46
46
|
}
|
|
47
|
+
/** A repository Git tree read at a trusted ref, with its own immutable, content-addressed identity. */
|
|
48
|
+
export interface RepositoryTree {
|
|
49
|
+
/** SHA of the tree object itself; changes whenever any entry under it changes. */
|
|
50
|
+
readonly sha: string;
|
|
51
|
+
readonly entries: readonly RepositoryTreeEntry[];
|
|
52
|
+
}
|
|
47
53
|
export interface GitHubIssue {
|
|
48
54
|
readonly number: number;
|
|
49
55
|
readonly title: string;
|
package/dist/governance.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { type CanonicalContract } from "./contract/ir.js";
|
|
2
|
-
import { GitHubAdapter } from "./github/index.js";
|
|
1
|
+
import { type CanonicalContract, type ContractProvenance } from "./contract/ir.js";
|
|
2
|
+
import { GitHubAdapter, type GitHubIssue, type GitHubPullRequest, type ValidatedRenderedIssueArtifact, type ValidatedRenderedPullRequestArtifact } from "./github/index.js";
|
|
3
3
|
import { type TemplateDiscoveryResult, type TemplateSelector } from "./template-discovery.js";
|
|
4
4
|
export type GovernedArtifactDomain = "issue" | "pr";
|
|
5
|
-
export type GovernanceErrorCode = "GOVERNANCE_POLICY_OVERRIDE_FORBIDDEN" | "GOVERNANCE_SOURCE_UNAVAILABLE" | "GOVERNANCE_SOURCE_INVALID";
|
|
5
|
+
export type GovernanceErrorCode = "GOVERNANCE_POLICY_OVERRIDE_FORBIDDEN" | "GOVERNANCE_SOURCE_UNAVAILABLE" | "GOVERNANCE_SOURCE_INVALID" | "GOVERNANCE_GENERATION_STALE";
|
|
6
6
|
export interface GovernanceErrorDetails {
|
|
7
7
|
readonly operation?: string;
|
|
8
8
|
readonly repository?: string;
|
|
@@ -40,11 +40,71 @@ export declare function compileLocalIssueFormContracts(root: string): Promise<re
|
|
|
40
40
|
* No local repository files are consulted by this path.
|
|
41
41
|
*/
|
|
42
42
|
export declare function compileRepositoryGovernedContract(adapter: GitHubAdapter, domain: GovernedArtifactDomain, selector?: string | TemplateSelector): Promise<CanonicalContract>;
|
|
43
|
+
/** One repository-native template's compilation outcome: either a usable contract or a bounded diagnostic. */
|
|
44
|
+
export type CompiledTemplateOutcome = {
|
|
45
|
+
readonly status: "compiled";
|
|
46
|
+
readonly contract: CanonicalContract;
|
|
47
|
+
} | {
|
|
48
|
+
readonly status: "failed";
|
|
49
|
+
readonly path: string;
|
|
50
|
+
readonly message: string;
|
|
51
|
+
};
|
|
43
52
|
/**
|
|
44
53
|
* Compile every supported native template from the target repository's
|
|
45
54
|
* trusted default-branch governance. Read commands use this candidate set to
|
|
46
55
|
* identify an existing artifact without inventing a second template grammar.
|
|
56
|
+
*
|
|
57
|
+
* A template that fails to compile does not abort its siblings: it is
|
|
58
|
+
* reported as a bounded "failed" outcome so an unrelated malformed template
|
|
59
|
+
* cannot make every existing-artifact read in the repository fail. Callers
|
|
60
|
+
* that need fail-closed behavior for a single selected template should use
|
|
61
|
+
* compileRepositoryGovernedContract instead.
|
|
47
62
|
*/
|
|
48
|
-
export declare function compileRepositoryGovernedContracts(adapter: GitHubAdapter, domain: GovernedArtifactDomain): Promise<readonly
|
|
63
|
+
export declare function compileRepositoryGovernedContracts(adapter: GitHubAdapter, domain: GovernedArtifactDomain): Promise<readonly CompiledTemplateOutcome[]>;
|
|
49
64
|
/** Discover all authoritative templates without compiling or reading a body. */
|
|
50
65
|
export declare function discoverRepositoryTemplates(adapter: GitHubAdapter): Promise<TemplateDiscoveryResult>;
|
|
66
|
+
/**
|
|
67
|
+
* Verify, immediately before a governed mutation, that the artifact's
|
|
68
|
+
* repository governance generation is still acceptable.
|
|
69
|
+
*
|
|
70
|
+
* A generation match (`treeSha` equality) is the fast path: nothing under
|
|
71
|
+
* governance changed since compilation. A generation mismatch means the
|
|
72
|
+
* target repository's default branch advanced, but is not itself
|
|
73
|
+
* disqualifying: it is content-equivalent, and therefore still acceptable,
|
|
74
|
+
* only when every governance input the contract was compiled from (its
|
|
75
|
+
* template, and its policy if one was used) is still present with the exact
|
|
76
|
+
* same blob SHA. Any other outcome — a changed or removed template, a
|
|
77
|
+
* changed, removed, or newly introduced policy — fails closed with a stable
|
|
78
|
+
* GOVERNANCE_GENERATION_STALE error; the caller must recompile and
|
|
79
|
+
* revalidate against the new generation before mutating.
|
|
80
|
+
*/
|
|
81
|
+
export declare function verifyGovernedMutationFreshness(adapter: GitHubAdapter, provenance: ContractProvenance): Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* Evidence of whether repository governance was still at the validated
|
|
84
|
+
* generation immediately after a governed mutation's external effect
|
|
85
|
+
* completed. The pre-mutation freshness check cannot close the TOCTOU gap
|
|
86
|
+
* between itself and the GitHub API call it guards, so this reconciles
|
|
87
|
+
* after the fact rather than hiding the remaining uncertainty.
|
|
88
|
+
*/
|
|
89
|
+
export interface GovernanceReconciliation {
|
|
90
|
+
/** Root tree SHA the mutated artifact's contract was validated against. */
|
|
91
|
+
readonly validatedGeneration: string;
|
|
92
|
+
/** Root tree SHA observed immediately after the mutation completed. */
|
|
93
|
+
readonly currentGeneration: string;
|
|
94
|
+
/** True when currentGeneration is still content-equivalent to validatedGeneration. */
|
|
95
|
+
readonly reconciled: boolean;
|
|
96
|
+
/** Present only when reconciled is false: why the generations diverged. */
|
|
97
|
+
readonly reason?: string;
|
|
98
|
+
}
|
|
99
|
+
export interface GovernedMutationResult<T> {
|
|
100
|
+
readonly artifact: T;
|
|
101
|
+
readonly governance: GovernanceReconciliation;
|
|
102
|
+
}
|
|
103
|
+
/** Create an Issue only after verifying its governance generation is still fresh. */
|
|
104
|
+
export declare function createGovernedIssue(adapter: GitHubAdapter, artifact: ValidatedRenderedIssueArtifact): Promise<GovernedMutationResult<GitHubIssue>>;
|
|
105
|
+
/** Update an Issue only after verifying its governance generation is still fresh. */
|
|
106
|
+
export declare function updateGovernedIssue(adapter: GitHubAdapter, issueNumber: number, artifact: ValidatedRenderedIssueArtifact): Promise<GovernedMutationResult<GitHubIssue>>;
|
|
107
|
+
/** Create a pull request only after verifying its governance generation is still fresh. */
|
|
108
|
+
export declare function createGovernedPullRequest(adapter: GitHubAdapter, artifact: ValidatedRenderedPullRequestArtifact): Promise<GovernedMutationResult<GitHubPullRequest>>;
|
|
109
|
+
/** Update a pull request only after verifying its governance generation is still fresh. */
|
|
110
|
+
export declare function updateGovernedPullRequest(adapter: GitHubAdapter, pullRequestNumber: number, artifact: ValidatedRenderedPullRequestArtifact): Promise<GovernedMutationResult<GitHubPullRequest>>;
|
package/dist/governance.js
CHANGED
|
@@ -5,6 +5,7 @@ import { compileIssueFormTemplate, compileIssueFormYaml, } from "./contract/issu
|
|
|
5
5
|
import { assertCanonicalContract, } from "./contract/ir.js";
|
|
6
6
|
import { compilePullRequestPolicyFile, compilePullRequestPolicyOverlay } from "./pr-policy.js";
|
|
7
7
|
import { compilePullRequestTemplate, parsePullRequestTemplate } from "./pull-request-template.js";
|
|
8
|
+
import { compileSemanticTemplate, compileSemanticTemplateSource, discoverSemanticTemplates, readSemanticTemplate, selectSemanticTemplate, normalizeSemanticTemplate, } from "./semantic-template.js";
|
|
8
9
|
import { discoverTemplates, selectIssueTemplate, selectPullRequestTemplate, discoverTemplatesFromPaths, classifyTemplatePath, isTemplateContainerPath, isTemplatePathInNativeDirectory, TemplateNotFoundError, } from "./template-discovery.js";
|
|
9
10
|
/** Stable, machine-readable failures for repository governance acquisition. */
|
|
10
11
|
export class GovernanceError extends Error {
|
|
@@ -36,8 +37,14 @@ export function rejectGovernedPolicyOverride(policyPath) {
|
|
|
36
37
|
*/
|
|
37
38
|
export async function compileLocalGovernedContract(domain, root, selector, policyPath) {
|
|
38
39
|
const discovery = await discoverTemplates(root);
|
|
40
|
+
const semanticTemplates = await discoverSemanticTemplates(root);
|
|
41
|
+
const semanticCandidates = semanticTemplates.filter((template) => template.kind === (domain === "issue" ? "issue" : "pull_request"));
|
|
39
42
|
let contract;
|
|
40
|
-
if (
|
|
43
|
+
if (semanticCandidates.length > 0) {
|
|
44
|
+
const semanticIdentity = selectSemanticTemplate(semanticTemplates, domain === "issue" ? "issue" : "pull_request", selector);
|
|
45
|
+
contract = await compileSemanticTemplate(root, await readSemanticTemplate(root, semanticIdentity));
|
|
46
|
+
}
|
|
47
|
+
else if (domain === "issue") {
|
|
41
48
|
contract = await compileIssueFormTemplate(discovery, selector);
|
|
42
49
|
}
|
|
43
50
|
else {
|
|
@@ -54,6 +61,10 @@ export async function compileLocalGovernedContract(domain, root, selector, polic
|
|
|
54
61
|
}
|
|
55
62
|
/** Compile every repository-native Issue Form with the shared compiler. */
|
|
56
63
|
export async function compileLocalIssueFormContracts(root) {
|
|
64
|
+
const semanticTemplates = (await discoverSemanticTemplates(root)).filter((template) => template.kind === "issue");
|
|
65
|
+
if (semanticTemplates.length > 0) {
|
|
66
|
+
return Promise.all(semanticTemplates.map(async (identity) => compileSemanticTemplate(root, await readSemanticTemplate(root, identity))));
|
|
67
|
+
}
|
|
57
68
|
const discovery = await discoverTemplates(root);
|
|
58
69
|
return Promise.all(discovery.issueTemplates.map((template) => compileIssueFormTemplate(discovery, template.id)));
|
|
59
70
|
}
|
|
@@ -78,6 +89,11 @@ async function resolveLocalPolicyPath(root, policyPath) {
|
|
|
78
89
|
*/
|
|
79
90
|
export async function compileRepositoryGovernedContract(adapter, domain, selector) {
|
|
80
91
|
const source = await readRepositoryGovernanceSource(adapter);
|
|
92
|
+
const semanticCandidates = source.semanticTemplates.filter((template) => template.kind === (domain === "issue" ? "issue" : "pull_request"));
|
|
93
|
+
if (semanticCandidates.length > 0) {
|
|
94
|
+
const semanticIdentity = selectSemanticTemplate(source.semanticTemplates, domain === "issue" ? "issue" : "pull_request", selector);
|
|
95
|
+
return compileRepositorySemanticContractFromSource(adapter, source, semanticIdentity);
|
|
96
|
+
}
|
|
81
97
|
const { discovery } = source;
|
|
82
98
|
const selectedTemplate = domain === "issue" ? selectIssueTemplate(discovery, selector) : selectPullRequestTemplate(discovery, selector);
|
|
83
99
|
return compileRepositoryGovernedContractFromSource(adapter, source, domain, selectedTemplate, createRepositoryPolicySourceLoader(adapter, source));
|
|
@@ -86,20 +102,58 @@ export async function compileRepositoryGovernedContract(adapter, domain, selecto
|
|
|
86
102
|
* Compile every supported native template from the target repository's
|
|
87
103
|
* trusted default-branch governance. Read commands use this candidate set to
|
|
88
104
|
* identify an existing artifact without inventing a second template grammar.
|
|
105
|
+
*
|
|
106
|
+
* A template that fails to compile does not abort its siblings: it is
|
|
107
|
+
* reported as a bounded "failed" outcome so an unrelated malformed template
|
|
108
|
+
* cannot make every existing-artifact read in the repository fail. Callers
|
|
109
|
+
* that need fail-closed behavior for a single selected template should use
|
|
110
|
+
* compileRepositoryGovernedContract instead.
|
|
89
111
|
*/
|
|
90
112
|
export async function compileRepositoryGovernedContracts(adapter, domain) {
|
|
91
113
|
const source = await readRepositoryGovernanceSource(adapter);
|
|
114
|
+
const semanticTemplates = source.semanticTemplates.filter((template) => template.kind === (domain === "issue" ? "issue" : "pull_request"));
|
|
115
|
+
if (semanticTemplates.length > 0) {
|
|
116
|
+
const outcomes = [];
|
|
117
|
+
for (const identity of semanticTemplates) {
|
|
118
|
+
try {
|
|
119
|
+
outcomes.push({
|
|
120
|
+
status: "compiled",
|
|
121
|
+
contract: await compileRepositorySemanticContractFromSource(adapter, source, identity),
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
outcomes.push({
|
|
126
|
+
status: "failed",
|
|
127
|
+
path: identity.sourcePath,
|
|
128
|
+
message: error instanceof Error ? error.message : String(error),
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return outcomes;
|
|
133
|
+
}
|
|
92
134
|
const templates = domain === "issue"
|
|
93
135
|
? source.discovery.issueTemplates.filter((template) => template.type === "issue-form")
|
|
94
136
|
: source.discovery.pullRequestTemplates;
|
|
95
137
|
if (templates.length === 0)
|
|
96
138
|
throw new TemplateNotFoundError(undefined, templates);
|
|
97
139
|
const policySourceLoader = createRepositoryPolicySourceLoader(adapter, source);
|
|
98
|
-
const
|
|
140
|
+
const outcomes = [];
|
|
99
141
|
for (const template of templates) {
|
|
100
|
-
|
|
142
|
+
try {
|
|
143
|
+
outcomes.push({
|
|
144
|
+
status: "compiled",
|
|
145
|
+
contract: await compileRepositoryGovernedContractFromSource(adapter, source, domain, template, policySourceLoader),
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
outcomes.push({
|
|
150
|
+
status: "failed",
|
|
151
|
+
path: template.path,
|
|
152
|
+
message: error instanceof Error ? error.message : String(error),
|
|
153
|
+
});
|
|
154
|
+
}
|
|
101
155
|
}
|
|
102
|
-
return
|
|
156
|
+
return outcomes;
|
|
103
157
|
}
|
|
104
158
|
async function compileRepositoryGovernedContractFromSource(adapter, source, domain, selectedTemplate, policySourceLoader) {
|
|
105
159
|
const { context, ref, tree, discovery } = source;
|
|
@@ -131,6 +185,7 @@ async function compileRepositoryGovernedContractFromSource(adapter, source, doma
|
|
|
131
185
|
nameWithOwner: context.nameWithOwner,
|
|
132
186
|
},
|
|
133
187
|
ref,
|
|
188
|
+
treeSha: source.treeSha,
|
|
134
189
|
template: sourceIdentity(templateEntry, ref, templateSource),
|
|
135
190
|
...(policySource === undefined ? {} : { policy: policySource }),
|
|
136
191
|
},
|
|
@@ -138,6 +193,49 @@ async function compileRepositoryGovernedContractFromSource(adapter, source, doma
|
|
|
138
193
|
assertCanonicalContract(bound);
|
|
139
194
|
return bound;
|
|
140
195
|
}
|
|
196
|
+
async function compileRepositorySemanticContractFromSource(adapter, source, identity) {
|
|
197
|
+
const { context, ref, tree, discovery } = source;
|
|
198
|
+
const sourceEntry = findBlob(tree, identity.sourcePath, context, ref);
|
|
199
|
+
const serialized = await readGovernedValue("repository.governance.blob", context, ref, () => adapter.getRepositoryBlob(sourceEntry.sha));
|
|
200
|
+
let semanticSource;
|
|
201
|
+
try {
|
|
202
|
+
semanticSource = normalizeSemanticTemplate(JSON.parse(serialized), identity.sourcePath);
|
|
203
|
+
}
|
|
204
|
+
catch (error) {
|
|
205
|
+
throw invalidSource(context, identity.sourcePath, error instanceof Error ? error.message : "semantic source is invalid");
|
|
206
|
+
}
|
|
207
|
+
let contract = compileSemanticTemplateSource(semanticSource, identity.generatedPath);
|
|
208
|
+
let policySource;
|
|
209
|
+
if (semanticSource.kind === "pull_request") {
|
|
210
|
+
const repositoryPolicy = await createRepositoryPolicySourceLoader(adapter, source)();
|
|
211
|
+
if (repositoryPolicy !== undefined) {
|
|
212
|
+
contract = compilePullRequestPolicyOverlay(contract, repositoryPolicy.source, {
|
|
213
|
+
templateIdentities: discovery.pullRequestTemplates,
|
|
214
|
+
});
|
|
215
|
+
policySource = sourceIdentity(repositoryPolicy.entry, ref, repositoryPolicy.source);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
const nativeEntry = findBlob(tree, identity.generatedPath, context, ref);
|
|
219
|
+
const nativeSource = await readGovernedValue("repository.governance.blob", context, ref, () => adapter.getRepositoryBlob(nativeEntry.sha));
|
|
220
|
+
const bound = {
|
|
221
|
+
...contract,
|
|
222
|
+
provenance: {
|
|
223
|
+
authority: "repository-default-branch",
|
|
224
|
+
repository: {
|
|
225
|
+
host: context.hostname,
|
|
226
|
+
owner: context.owner,
|
|
227
|
+
name: context.name,
|
|
228
|
+
nameWithOwner: context.nameWithOwner,
|
|
229
|
+
},
|
|
230
|
+
ref,
|
|
231
|
+
treeSha: source.treeSha,
|
|
232
|
+
template: sourceIdentity(nativeEntry, ref, nativeSource),
|
|
233
|
+
...(policySource === undefined ? {} : { policy: policySource }),
|
|
234
|
+
},
|
|
235
|
+
};
|
|
236
|
+
assertCanonicalContract(bound);
|
|
237
|
+
return bound;
|
|
238
|
+
}
|
|
141
239
|
function createRepositoryPolicySourceLoader(adapter, source) {
|
|
142
240
|
let pending;
|
|
143
241
|
return () => {
|
|
@@ -160,11 +258,158 @@ async function readRepositoryPolicySource(adapter, source) {
|
|
|
160
258
|
export async function discoverRepositoryTemplates(adapter) {
|
|
161
259
|
return (await readRepositoryGovernanceSource(adapter)).discovery;
|
|
162
260
|
}
|
|
261
|
+
/**
|
|
262
|
+
* Verify, immediately before a governed mutation, that the artifact's
|
|
263
|
+
* repository governance generation is still acceptable.
|
|
264
|
+
*
|
|
265
|
+
* A generation match (`treeSha` equality) is the fast path: nothing under
|
|
266
|
+
* governance changed since compilation. A generation mismatch means the
|
|
267
|
+
* target repository's default branch advanced, but is not itself
|
|
268
|
+
* disqualifying: it is content-equivalent, and therefore still acceptable,
|
|
269
|
+
* only when every governance input the contract was compiled from (its
|
|
270
|
+
* template, and its policy if one was used) is still present with the exact
|
|
271
|
+
* same blob SHA. Any other outcome — a changed or removed template, a
|
|
272
|
+
* changed, removed, or newly introduced policy — fails closed with a stable
|
|
273
|
+
* GOVERNANCE_GENERATION_STALE error; the caller must recompile and
|
|
274
|
+
* revalidate against the new generation before mutating.
|
|
275
|
+
*/
|
|
276
|
+
export async function verifyGovernedMutationFreshness(adapter, provenance) {
|
|
277
|
+
const source = await readRepositoryGovernanceSource(adapter);
|
|
278
|
+
const assessment = assessGovernanceFreshness(source, provenance);
|
|
279
|
+
if (!assessment.fresh)
|
|
280
|
+
throw staleGenerationError(source, provenance, assessment.reason);
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Judge whether a previously validated contract's governance inputs are
|
|
284
|
+
* still content-equivalent to the currently observed repository governance.
|
|
285
|
+
* Shared by the pre-mutation freshness gate and post-mutation reconciliation
|
|
286
|
+
* so both use identical stale-generation semantics.
|
|
287
|
+
*/
|
|
288
|
+
function assessGovernanceFreshness(source, provenance) {
|
|
289
|
+
if (source.context.nameWithOwner !== provenance.repository.nameWithOwner) {
|
|
290
|
+
return { fresh: false, reason: "target repository does not match validated provenance" };
|
|
291
|
+
}
|
|
292
|
+
if (source.treeSha === provenance.treeSha)
|
|
293
|
+
return { fresh: true };
|
|
294
|
+
const templateEntry = source.tree.find((entry) => entry.path === provenance.template.path);
|
|
295
|
+
if (templateEntry === undefined || templateEntry.type !== "blob" || templateEntry.sha !== provenance.template.sha) {
|
|
296
|
+
return { fresh: false, reason: "template governance input changed" };
|
|
297
|
+
}
|
|
298
|
+
const currentPolicyEntry = findPolicy(source.tree);
|
|
299
|
+
if (provenance.policy === undefined) {
|
|
300
|
+
if (currentPolicyEntry !== undefined) {
|
|
301
|
+
return { fresh: false, reason: "a policy governance input was introduced" };
|
|
302
|
+
}
|
|
303
|
+
return { fresh: true };
|
|
304
|
+
}
|
|
305
|
+
if (currentPolicyEntry === undefined ||
|
|
306
|
+
currentPolicyEntry.type !== "blob" ||
|
|
307
|
+
currentPolicyEntry.sha !== provenance.policy.sha) {
|
|
308
|
+
return { fresh: false, reason: "policy governance input changed" };
|
|
309
|
+
}
|
|
310
|
+
return { fresh: true };
|
|
311
|
+
}
|
|
312
|
+
function staleGenerationError(source, provenance, reason) {
|
|
313
|
+
return new GovernanceError("GOVERNANCE_GENERATION_STALE", "The target repository governance changed since this artifact was validated and rendered; recompile and revalidate before mutating.", {
|
|
314
|
+
repository: source.context.nameWithOwner,
|
|
315
|
+
ref: source.ref,
|
|
316
|
+
reason,
|
|
317
|
+
validatedRef: provenance.ref,
|
|
318
|
+
validatedTreeSha: provenance.treeSha,
|
|
319
|
+
currentTreeSha: source.treeSha,
|
|
320
|
+
});
|
|
321
|
+
}
|
|
322
|
+
async function reconcileGovernanceAfterMutation(adapter, provenance) {
|
|
323
|
+
const source = await readRepositoryGovernanceSource(adapter);
|
|
324
|
+
const assessment = assessGovernanceFreshness(source, provenance);
|
|
325
|
+
return {
|
|
326
|
+
validatedGeneration: provenance.treeSha,
|
|
327
|
+
currentGeneration: source.treeSha,
|
|
328
|
+
reconciled: assessment.fresh,
|
|
329
|
+
...(assessment.fresh ? {} : { reason: assessment.reason }),
|
|
330
|
+
};
|
|
331
|
+
}
|
|
332
|
+
/** Create an Issue only after verifying its governance generation is still fresh. */
|
|
333
|
+
export async function createGovernedIssue(adapter, artifact) {
|
|
334
|
+
await verifyGovernedMutationFreshness(adapter, artifact.provenance);
|
|
335
|
+
const created = await adapter.createIssue(artifact);
|
|
336
|
+
const governance = await reconcileGovernanceAfterMutation(adapter, artifact.provenance);
|
|
337
|
+
return { artifact: created, governance };
|
|
338
|
+
}
|
|
339
|
+
/** Update an Issue only after verifying its governance generation is still fresh. */
|
|
340
|
+
export async function updateGovernedIssue(adapter, issueNumber, artifact) {
|
|
341
|
+
await verifyGovernedMutationFreshness(adapter, artifact.provenance);
|
|
342
|
+
const updated = await adapter.updateIssue(issueNumber, artifact);
|
|
343
|
+
const governance = await reconcileGovernanceAfterMutation(adapter, artifact.provenance);
|
|
344
|
+
return { artifact: updated, governance };
|
|
345
|
+
}
|
|
346
|
+
/** Create a pull request only after verifying its governance generation is still fresh. */
|
|
347
|
+
export async function createGovernedPullRequest(adapter, artifact) {
|
|
348
|
+
await verifyGovernedMutationFreshness(adapter, artifact.provenance);
|
|
349
|
+
const created = await adapter.createPullRequest(artifact);
|
|
350
|
+
const governance = await reconcileGovernanceAfterMutation(adapter, artifact.provenance);
|
|
351
|
+
return { artifact: created, governance };
|
|
352
|
+
}
|
|
353
|
+
/** Update a pull request only after verifying its governance generation is still fresh. */
|
|
354
|
+
export async function updateGovernedPullRequest(adapter, pullRequestNumber, artifact) {
|
|
355
|
+
await verifyGovernedMutationFreshness(adapter, artifact.provenance);
|
|
356
|
+
const updated = await adapter.updatePullRequest(pullRequestNumber, artifact);
|
|
357
|
+
const governance = await reconcileGovernanceAfterMutation(adapter, artifact.provenance);
|
|
358
|
+
return { artifact: updated, governance };
|
|
359
|
+
}
|
|
163
360
|
async function readRepositoryGovernanceSource(adapter) {
|
|
164
361
|
const context = await adapter.resolveRepositoryContext();
|
|
165
362
|
const ref = await readGovernedValue("repository.default_branch", context, undefined, () => adapter.getRepositoryDefaultBranch());
|
|
166
|
-
const tree = await readGovernedValue("repository.governance.tree", context, ref, () => adapter.getRepositoryTree(ref));
|
|
167
|
-
return {
|
|
363
|
+
const { sha: treeSha, entries: tree } = await readGovernedValue("repository.governance.tree", context, ref, () => adapter.getRepositoryTree(ref));
|
|
364
|
+
return {
|
|
365
|
+
context,
|
|
366
|
+
ref,
|
|
367
|
+
treeSha,
|
|
368
|
+
tree,
|
|
369
|
+
discovery: createRemoteDiscovery(context, tree),
|
|
370
|
+
semanticTemplates: createRemoteSemanticIdentities(tree),
|
|
371
|
+
};
|
|
372
|
+
}
|
|
373
|
+
function createRemoteSemanticIdentities(tree) {
|
|
374
|
+
const identities = [];
|
|
375
|
+
for (const entry of tree) {
|
|
376
|
+
if (entry.type !== "blob" || !entry.path.endsWith(".json"))
|
|
377
|
+
continue;
|
|
378
|
+
if (entry.path.startsWith(".github/inari/issues/") && entry.path.split("/").length === 4) {
|
|
379
|
+
const id = entry.path.slice(".github/inari/issues/".length, -".json".length);
|
|
380
|
+
if (id.length > 0) {
|
|
381
|
+
identities.push({
|
|
382
|
+
id,
|
|
383
|
+
kind: "issue",
|
|
384
|
+
name: id,
|
|
385
|
+
sourcePath: entry.path,
|
|
386
|
+
generatedPath: `.github/ISSUE_TEMPLATE/${id}.yml`,
|
|
387
|
+
});
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
else if (entry.path === ".github/inari/pull-request.json") {
|
|
391
|
+
identities.push({
|
|
392
|
+
id: "pull-request",
|
|
393
|
+
kind: "pull_request",
|
|
394
|
+
name: "Pull request",
|
|
395
|
+
sourcePath: entry.path,
|
|
396
|
+
generatedPath: ".github/PULL_REQUEST_TEMPLATE.md",
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
else if (entry.path.startsWith(".github/inari/pull-requests/") && entry.path.split("/").length === 4) {
|
|
400
|
+
const id = entry.path.slice(".github/inari/pull-requests/".length, -".json".length);
|
|
401
|
+
if (id.length > 0) {
|
|
402
|
+
identities.push({
|
|
403
|
+
id,
|
|
404
|
+
kind: "pull_request",
|
|
405
|
+
name: id,
|
|
406
|
+
sourcePath: entry.path,
|
|
407
|
+
generatedPath: `.github/PULL_REQUEST_TEMPLATE/${id}.md`,
|
|
408
|
+
});
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
return identities.sort((left, right) => left.sourcePath.localeCompare(right.sourcePath, "en-US"));
|
|
168
413
|
}
|
|
169
414
|
function createRemoteDiscovery(context, tree) {
|
|
170
415
|
for (const entry of tree) {
|
package/dist/governance.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governance.js","sourceRoot":"","sources":["../src/governance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"governance.js","sourceRoot":"","sources":["../src/governance.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,5 +7,6 @@ export * from "./governance.js";
|
|
|
7
7
|
export * from "./contract/index.js";
|
|
8
8
|
export * from "./github/index.js";
|
|
9
9
|
export * from "./pull-request-template.js";
|
|
10
|
+
export * from "./semantic-template.js";
|
|
10
11
|
export { discoverTemplates, discoverTemplatesSync, discoverTemplatesFromPaths, classifyTemplatePath, isTemplateContainerPath, isTemplatePathInNativeDirectory, selectTemplate, selectIssueTemplate, selectPullRequestTemplate, TemplateDiscoveryError, TemplateFilesystemError, TemplateNotFoundError, TemplateSelectionAmbiguousError, TemplateNameConflictError, InvalidTemplateSelectorError, } from "./template-discovery.js";
|
|
11
12
|
export type { TemplateDiscoveryResult, TemplateSelector, TemplateType, TemplateKind, TemplateDiscoveryErrorCode, TemplateDiscoveryErrorDetails, } from "./template-discovery.js";
|
package/dist/index.js
CHANGED
|
@@ -10,6 +10,7 @@ export * from "./governance.js";
|
|
|
10
10
|
export * from "./contract/index.js";
|
|
11
11
|
export * from "./github/index.js";
|
|
12
12
|
export * from "./pull-request-template.js";
|
|
13
|
+
export * from "./semantic-template.js";
|
|
13
14
|
export { discoverTemplates, discoverTemplatesSync, discoverTemplatesFromPaths, classifyTemplatePath, isTemplateContainerPath, isTemplatePathInNativeDirectory, selectTemplate, selectIssueTemplate, selectPullRequestTemplate, TemplateDiscoveryError, TemplateFilesystemError, TemplateNotFoundError, TemplateSelectionAmbiguousError, TemplateNameConflictError, InvalidTemplateSelectorError, } from "./template-discovery.js";
|
|
14
15
|
let invokedPath;
|
|
15
16
|
try {
|
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,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,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"}
|