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.
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/github/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/github/transport.ts"],"names":[],"mappings":"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"}
@@ -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;
@@ -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 CanonicalContract[]>;
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>>;
@@ -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 (domain === "issue") {
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 contracts = [];
140
+ const outcomes = [];
99
141
  for (const template of templates) {
100
- contracts.push(await compileRepositoryGovernedContractFromSource(adapter, source, domain, template, policySourceLoader));
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 contracts;
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 { context, ref, tree, discovery: createRemoteDiscovery(context, tree) };
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) {
@@ -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"}