@svp-labs/talos 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/ENGINEERING.md CHANGED
@@ -387,7 +387,8 @@ architecture rules in the tools' own syntax, never here.
387
387
  merge-queue ruleset, the code-owner ruleset while at `evaluate`, collaborator-only issues and
388
388
  PRs, Dependabot alerts, the properties and the App installations. `--channel canary|stable`
389
389
  moves a green repository on and removes the code-owner ruleset. Where GitHub's API exposes no
390
- setting, it prints the manual step (C29).
390
+ setting, or refuses the owner's token one (adding a repository to an App's installation), it
391
+ prints the manual step (C29).
391
392
  - **`talos adopt`:** writes the files and labels in one bootstrap PR: `talos.yml`, the generated
392
393
  configs, `CLAUDE.md`, the issue forms, the labels, the pre-push hook, each language's setup
393
394
  (pinned dev tools, supply-chain settings, toolchain), the brief and issue #1. The project's own
@@ -9,6 +9,7 @@
9
9
  # that on install; anywhere else, run `git config core.hooksPath .githooks` once in each clone.
10
10
 
11
11
  set -u
12
+ only=''
12
13
 
13
14
  # Each line git passes is "<local ref> <local sha> <remote ref> <remote sha>". A push that only
14
15
  # deletes branches or sends tags has nothing for the fast tier to judge.
@@ -27,8 +28,13 @@ if [ "${refs}" -gt 0 ] && [ "${branches}" -eq 0 ]; then
27
28
  exit 0
28
29
  fi
29
30
 
30
- # Git runs a hook at the top of the working tree. Talos runs the release the repository
31
- # enforces, through the talos on PATH or else npx; in Talos's own repository, the build at hand.
31
+ # Git runs a hook at the top of the working tree, where git finds the repository again by itself.
32
+ # From a linked worktree it also exports GIT_DIR, which would point every git the fast tier runs,
33
+ # a test's fixture repository among them, at this repository and its remote: so it goes.
34
+ unset GIT_DIR GIT_WORK_TREE GIT_INDEX_FILE GIT_COMMON_DIR GIT_OBJECT_DIRECTORY GIT_PREFIX
35
+
36
+ # Talos runs the release the repository enforces, through the talos on PATH or else npx; in
37
+ # Talos's own repository, the build at hand.
32
38
  set -- npx --yes @svp-labs/talos
33
39
  if command -v talos >/dev/null 2>&1; then
34
40
  set -- talos
@@ -39,13 +45,19 @@ if grep -q '"name": "@svp-labs/talos"' package.json 2>/dev/null; then
39
45
  exit 1
40
46
  fi
41
47
  set -- env TALOS_DEV=1 node dist/bin/talos.js
48
+ # Talos's own unit tests don't all pass on a Windows machine (symlinks, path separators, line
49
+ # endings, bash scripts), so on Windows the hook runs the fast tier without them.
50
+ if [ "${OS:-}" = Windows_NT ]; then
51
+ only=ts/format,ts/lint,ts/types,ts/deadcode,ts/javascript
52
+ echo "pre-push: on Windows, Talos's unit tests (ts/tests) run on the PR only, not here." >&2
53
+ fi
42
54
  fi
43
55
  if [ "$1" = npx ] && ! command -v npx >/dev/null 2>&1; then
44
56
  echo 'pre-push: the fast tier runs on Talos, which needs Node.js 22.18 or later with npx.' >&2
45
57
  exit 1
46
58
  fi
47
59
 
48
- "$@" check --tiers commit
60
+ "$@" check --tiers commit ${only:+--only "${only}"}
49
61
  code=$?
50
62
  case "${code}" in
51
63
  0) exit 0 ;;
@@ -89,8 +89,9 @@ jobs:
89
89
  evaluate | canary | stable) ;;
90
90
  *) fail "the talos property names no channel" ;;
91
91
  esac
92
- sha="$(gh api "repos/$talos/contents/channels.json?ref=channels" 2>/dev/null |
93
- jq -r --arg channel "$channel" '.content | @base64d | fromjson | .[$channel] // empty')" ||
92
+ sha="$(gh api -H 'Accept: application/vnd.github.raw' \
93
+ "repos/$talos/contents/channels.json?ref=channels" 2>/dev/null |
94
+ jq -r --arg channel "$channel" '.[$channel] // empty')" ||
94
95
  fail "cannot read channels.json"
95
96
  [[ "$sha" =~ $sha_pattern ]] || fail "channels.json has no commit for the channel"
96
97
  printf '%s\n' "$sha"
@@ -239,8 +240,9 @@ jobs:
239
240
  evaluate | canary | stable) ;;
240
241
  *) fail "the talos property names no channel" ;;
241
242
  esac
242
- sha="$(gh api "repos/$talos/contents/channels.json?ref=channels" 2>/dev/null |
243
- jq -r --arg channel "$channel" '.content | @base64d | fromjson | .[$channel] // empty')" ||
243
+ sha="$(gh api -H 'Accept: application/vnd.github.raw' \
244
+ "repos/$talos/contents/channels.json?ref=channels" 2>/dev/null |
245
+ jq -r --arg channel "$channel" '.[$channel] // empty')" ||
244
246
  fail "cannot read channels.json"
245
247
  [[ "$sha" =~ $sha_pattern ]] || fail "channels.json has no commit for the channel"
246
248
  printf '%s\n' "$sha"
@@ -272,7 +274,7 @@ jobs:
272
274
  id: token
273
275
  uses: actions/create-github-app-token@64ab729a6294000f5aa4a4bc0b73d1f32bc45510 # v3.3.0
274
276
  with:
275
- app-id: ${{ vars.TALOS_REVIEWER_APP_ID }}
277
+ client-id: ${{ vars.TALOS_REVIEWER_APP_ID }}
276
278
  private-key: ${{ secrets.TALOS_REVIEWER_KEY }}
277
279
  permission-contents: read
278
280
  permission-pull-requests: write
@@ -362,8 +364,9 @@ jobs:
362
364
  evaluate | canary | stable) ;;
363
365
  *) fail "the talos property names no channel" ;;
364
366
  esac
365
- sha="$(gh api "repos/$talos/contents/channels.json?ref=channels" 2>/dev/null |
366
- jq -r --arg channel "$channel" '.content | @base64d | fromjson | .[$channel] // empty')" ||
367
+ sha="$(gh api -H 'Accept: application/vnd.github.raw' \
368
+ "repos/$talos/contents/channels.json?ref=channels" 2>/dev/null |
369
+ jq -r --arg channel "$channel" '.[$channel] // empty')" ||
367
370
  fail "cannot read channels.json"
368
371
  [[ "$sha" =~ $sha_pattern ]] || fail "channels.json has no commit for the channel"
369
372
  printf '%s\n' "$sha"
@@ -401,7 +404,7 @@ jobs:
401
404
  id: token
402
405
  uses: actions/create-github-app-token@64ab729a6294000f5aa4a4bc0b73d1f32bc45510 # v3.3.0
403
406
  with:
404
- app-id: ${{ vars.TALOS_REVIEWER_APP_ID }}
407
+ client-id: ${{ vars.TALOS_REVIEWER_APP_ID }}
405
408
  private-key: ${{ secrets.TALOS_REVIEWER_KEY }}
406
409
  permission-contents: read
407
410
  permission-issues: write
@@ -60,8 +60,9 @@ by_channels() {
60
60
  evaluate | canary | stable) ;;
61
61
  *) fail "the talos property names no channel" ;;
62
62
  esac
63
- sha="$(gh api "repos/$talos/contents/channels.json?ref=channels" 2>/dev/null |
64
- jq -r --arg channel "$channel" '.content | @base64d | fromjson | .[$channel] // empty')" ||
63
+ sha="$(gh api -H 'Accept: application/vnd.github.raw' \
64
+ "repos/$talos/contents/channels.json?ref=channels" 2>/dev/null |
65
+ jq -r --arg channel "$channel" '.[$channel] // empty')" ||
65
66
  fail "cannot read channels.json"
66
67
  [[ "$sha" =~ $sha_pattern ]] || fail "channels.json has no commit for the channel"
67
68
  printf '%s\n' "$sha"
@@ -1,7 +1,7 @@
1
1
  import { parse, UsageError } from './io.js';
2
2
  import { exec } from '../exec/exec.js';
3
3
  import { github, tokenFromEnvironment } from '../github/api.js';
4
- import { identities } from '../github/identities.js';
4
+ import { ownerIdentities } from '../github/org-variables.js';
5
5
  import { currentRepository, isRepoName } from '../github/remote.js';
6
6
  import { governJson, governRepository, loadGovernAssets, } from '../govern/govern.js';
7
7
  import { stepsText } from '../govern/output.js';
@@ -71,7 +71,8 @@ export function governWith(deps) {
71
71
  try {
72
72
  const report = await governRepository({
73
73
  gh,
74
- who: identities(io.env),
74
+ who: await ownerIdentities(gh, io.env, (line) => io.err(`talos govern: ${line}
75
+ `)),
75
76
  repo,
76
77
  agents,
77
78
  channel,
@@ -1 +1 @@
1
- {"version":3,"file":"govern.js","sourceRoot":"","sources":["../../src/cli/govern.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"govern.js","sourceRoot":"","sources":["../../src/cli/govern.ts"],"names":[],"mappings":"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"}
package/dist/cli/new.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { governOutput, onOff, printReport, RUN_FLAGS } from './govern.js';
2
2
  import { parse, required, UsageError } from './io.js';
3
3
  import { github, tokenFromEnvironment } from '../github/api.js';
4
- import { identities } from '../github/identities.js';
4
+ import { ownerIdentities } from '../github/org-variables.js';
5
5
  import { checkNew, createRepository, nameProblem, prefixProblem, seedConfig, whenReady, } from '../govern/create.js';
6
6
  import { assertOwner, governRepository, loadGovernAssets, } from '../govern/govern.js';
7
7
  import { GovernRefusal } from '../govern/plan.js';
@@ -30,8 +30,9 @@ export function newWith(deps) {
30
30
  const name = checked(named, nameProblem);
31
31
  const prefix = checked(required(values.prefix, 'prefix'), prefixProblem);
32
32
  const agents = onOff(values.agents, 'agents');
33
- const who = identities(io.env);
34
33
  const gh = github(await tokenFromEnvironment(io.env), deps);
34
+ const who = await ownerIdentities(gh, io.env, (line) => io.err(`talos new: ${line}
35
+ `));
35
36
  const repo = `${who.org}/${name}`;
36
37
  try {
37
38
  await assertOwner(gh, who);
@@ -1 +1 @@
1
- {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/cli/new.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/cli/new.ts"],"names":[],"mappings":"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"}
package/dist/cli/org.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { printReport, RUN_FLAGS } from './govern.js';
2
2
  import { parse, UsageError } from './io.js';
3
3
  import { github, tokenFromEnvironment } from '../github/api.js';
4
- import { identities } from '../github/identities.js';
4
+ import { ownerIdentities } from '../github/org-variables.js';
5
5
  import { assertOwner } from '../govern/govern.js';
6
6
  import { channelRulesets, orgPlan, pinsOf, readOrgState, releasesOf, } from '../govern/org.js';
7
7
  import { stepsOutput, stepsText } from '../govern/output.js';
@@ -14,7 +14,9 @@ async function init(gh, who, templates, args) {
14
14
  await assertOwner(gh, who);
15
15
  const state = await readOrgState(gh, who, templates);
16
16
  const steps = orgPlan(state, templates, args.seed);
17
- const results = args.dryRun ? planned(steps) : await applySteps(gh, steps, scopeHint);
17
+ const results = args.dryRun
18
+ ? planned(steps)
19
+ : await applySteps(gh, steps, { hint: scopeHint, independent: true });
18
20
  const output = stepsOutput(results);
19
21
  const verb = args.dryRun ? 'would set up' : 'set up';
20
22
  return {
@@ -55,8 +57,9 @@ export function orgWith(deps) {
55
57
  if (sub !== 'init' && sub !== 'pins')
56
58
  throw new UsageError(USAGE);
57
59
  const seed = seedOf(values.seed);
58
- const who = identities(io.env);
59
60
  const gh = github(await tokenFromEnvironment(io.env), deps);
61
+ const who = await ownerIdentities(gh, io.env, (line) => io.err(`talos org: ${line}
62
+ `));
60
63
  try {
61
64
  const report = sub === 'pins'
62
65
  ? await pins(gh, who)
@@ -76,8 +79,9 @@ export function orgWith(deps) {
76
79
  }
77
80
  /**
78
81
  * `talos org`: the organisation's custom properties, the three channel rulesets that run the
79
- * gate pinned at a release, and the Talos repository's tag and `channels` rulesets. `init
80
- * --seed <sha>` seeds every pin from the first release; afterwards the release jobs move them.
82
+ * gate pinned at a release, and the Talos repository's tag and self-test rulesets (and its
83
+ * `channels` one with `TALOS_LOOKUP=channels`). `init --seed <sha>` seeds every pin from the first
84
+ * release; afterwards the release jobs move them. Each step runs even when another failed.
81
85
  * `pins` prints each channel's pin and its tag.
82
86
  */
83
87
  export const org = orgWith({});
@@ -1 +1 @@
1
- {"version":3,"file":"org.js","sourceRoot":"","sources":["../../src/cli/org.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"org.js","sourceRoot":"","sources":["../../src/cli/org.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,46 @@
1
1
  import { execFile } from 'node:child_process';
2
2
  import { promisify } from 'node:util';
3
+ import { z } from 'zod';
3
4
  export class GitHubError extends Error {
4
5
  status;
6
+ reason;
5
7
  name = 'GitHubError';
6
- constructor(message, status) {
8
+ constructor(message, status,
9
+ /** GitHub's own words for a refusal, clipped; kept out of `message` so a caller opts in. */
10
+ reason) {
7
11
  super(message);
8
12
  this.status = status;
13
+ this.reason = reason;
9
14
  }
10
15
  }
16
+ const MAX_REASON = 200;
17
+ const refusalSchema = z.object({ message: z.string(), errors: z.array(z.unknown()).optional() });
18
+ const errorSchema = z.union([z.string(), z.object({ message: z.string() })]);
19
+ /** The message and errors of a refused request's body, or nothing when it has none. */
20
+ async function reasonOf(response) {
21
+ let body;
22
+ try {
23
+ body = JSON.parse(await response.text());
24
+ }
25
+ catch {
26
+ return undefined;
27
+ }
28
+ const parsed = refusalSchema.safeParse(body);
29
+ if (!parsed.success)
30
+ return undefined;
31
+ const details = (parsed.data.errors ?? []).flatMap((error) => {
32
+ const item = errorSchema.safeParse(error);
33
+ if (!item.success)
34
+ return [];
35
+ return [typeof item.data === 'string' ? item.data : item.data.message];
36
+ });
37
+ const text = [parsed.data.message, ...details].join(': ');
38
+ return text.length <= MAX_REASON ? text : `${text.slice(0, MAX_REASON - 1)}…`;
39
+ }
40
+ async function refused(response, request) {
41
+ const status = response.status;
42
+ return new GitHubError(`${request}: ${status}`, status, await reasonOf(response));
43
+ }
11
44
  const API = 'https://api.github.com';
12
45
  function nextLink(header) {
13
46
  if (header === null)
@@ -48,9 +81,8 @@ export function github(token, options = {}) {
48
81
  const response = await send(method, url, opts);
49
82
  if (response.status === 404 && opts.allowMissing === true)
50
83
  return undefined;
51
- if (!response.ok) {
52
- throw new GitHubError(`${method} ${path}: ${response.status}`, response.status);
53
- }
84
+ if (!response.ok)
85
+ throw await refused(response, `${method} ${path}`);
54
86
  if (response.status === 204)
55
87
  return undefined;
56
88
  const type = response.headers.get('content-type') ?? '';
@@ -63,7 +95,7 @@ export function github(token, options = {}) {
63
95
  while (url !== undefined) {
64
96
  const response = await send('GET', url, {});
65
97
  if (!response.ok)
66
- throw new GitHubError(`GET ${path}: ${response.status}`, response.status);
98
+ throw await refused(response, `GET ${path}`);
67
99
  const page = await response.json();
68
100
  const list = key === undefined ? page : page[key];
69
101
  items.push(...list);
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/github/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/github/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { z } from 'zod';
2
+ import { GitHubError } from './api.js';
3
+ import { identities } from './identities.js';
4
+ /** The organisation variables the caller workflow passes as identities, which a local run reads. */
5
+ const VARIABLES = ['TALOS_OWNER', 'TALOS_THEA_APP', 'TALOS_REVIEWER_APP', 'TALOS_RELEASE_APP'];
6
+ const variableSchema = z.object({ name: z.string(), value: z.string() });
7
+ /**
8
+ * One organisation Actions variable, as the owner's token reads it; `undefined` when the
9
+ * organisation has none of that name, and a refusal tells `warn` which default stands in.
10
+ */
11
+ async function orgVariable(gh, org, name, warn) {
12
+ try {
13
+ const path = `orgs/${encodeURIComponent(org)}/actions/variables/${name}`;
14
+ return variableSchema.parse(await gh.request('GET', path)).value;
15
+ }
16
+ catch (error) {
17
+ if (!(error instanceof GitHubError))
18
+ throw error;
19
+ if (error.status !== 404) {
20
+ warn(`could not read ${org}'s variable ${name} (${String(error.status)}), so its default ` +
21
+ `stands in: set ${name} to choose, or run \`gh auth refresh -s admin:org\``);
22
+ }
23
+ return undefined;
24
+ }
25
+ }
26
+ /**
27
+ * The identities an owner's command runs as. In a workflow they come from the organisation's
28
+ * variables through the environment; locally, each one the environment leaves unset is read from
29
+ * those variables, so the owner's terminal names the same Apps as the jobs. The environment wins.
30
+ */
31
+ export async function ownerIdentities(gh, env, warn) {
32
+ const { org } = identities(env);
33
+ const read = await Promise.all(VARIABLES.map(async (name) => {
34
+ const own = env[name];
35
+ if (own !== undefined && own !== '')
36
+ return [name, own];
37
+ return [name, await orgVariable(gh, org, name, warn)];
38
+ }));
39
+ return identities({ ...env, ...Object.fromEntries(read) });
40
+ }
41
+ //# sourceMappingURL=org-variables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org-variables.js","sourceRoot":"","sources":["../../src/github/org-variables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAe,WAAW,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,UAAU,EAAmB,MAAM,iBAAiB,CAAC;AAI9D,oGAAoG;AACpG,MAAM,SAAS,GAAG,CAAC,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;AAE/F,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAEzE;;;GAGG;AACH,KAAK,UAAU,WAAW,CACxB,EAAU,EACV,GAAW,EACX,IAAY,EACZ,IAA4B;IAE5B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,kBAAkB,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC;QACzE,OAAO,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,OAAO,CAAU,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,WAAW,CAAC;YAAE,MAAM,KAAK,CAAC;QACjD,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACzB,IAAI,CACF,kBAAkB,GAAG,eAAe,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB;gBACnF,kBAAkB,IAAI,qDAAqD,CAC9E,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,EAAU,EACV,GAAQ,EACR,IAA4B;IAE5B,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;YAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAU,CAAC;QACjE,OAAO,CAAC,IAAI,EAAE,MAAM,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAU,CAAC;IACjE,CAAC,CAAC,CACH,CAAC;IACF,OAAO,UAAU,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC7D,CAAC"}
@@ -53,7 +53,9 @@ export async function governRepository(options) {
53
53
  ...(options.seed === undefined ? {} : { seed: options.seed }),
54
54
  };
55
55
  const steps = governPlan(state, request);
56
- const results = options.dryRun ? planned(steps) : await applySteps(options.gh, steps, scopeHint);
56
+ const results = options.dryRun
57
+ ? planned(steps)
58
+ : await applySteps(options.gh, steps, { hint: scopeHint });
57
59
  return {
58
60
  schema: GOVERN_SCHEMA,
59
61
  repo: options.repo,
@@ -1 +1 @@
1
- {"version":3,"file":"govern.js","sourceRoot":"","sources":["../../src/govern/govern.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"govern.js","sourceRoot":"","sources":["../../src/govern/govern.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAsB,aAAa,EAAE,MAAM,WAAW,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAmB,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAmB,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAIvC,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAW,SAAS,EAAE;IAC3D,MAAM,IAAI,GAAG,KAAK,EAAE,IAAY,EAAmB,EAAE;QACnD,IAAI,CAAC;YACH,OAAO,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC,CAAC;IACF,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxD,IAAI,CAAC,qBAAqB,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC;QAClB,aAAa,CAAC,GAAG,CAAC;KACnB,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAEnD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAU,EAAE,GAAe;IAC3D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAAU,KAAK,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC;IACrD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,aAAa,CACrB,mCAAmC,GAAG,CAAC,KAAK,0CAA0C;YACpF,iBAAiB,KAAK,IAAI,YAAY,EAAE,CAC3C,CAAC;IACJ,CAAC;AACH,CAAC;AAqBD,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAsB;IAC3D,MAAM,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE;QACvE,UAAU,EAAE,SAAS;KACtB,CAAC,CAAC;IACH,MAAM,OAAO,GAAkB;QAC7B,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,GAAG,OAAO,CAAC,MAAM;QACjB,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;KAC9D,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM;QAC5B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QAChB,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7D,OAAO;QACL,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO;KACR,CAAC;AACJ,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,UAAU,CAAC,MAAoB;IAC7C,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;KAC/B,CAAC;AACJ,CAAC"}
@@ -39,8 +39,16 @@ export async function readInstallations(gh, who, repositoryId) {
39
39
  return { role, slug, installation, member };
40
40
  }));
41
41
  }
42
- /** One step per App: already there, added, or installed on the org by hand first. */
43
- export function installationSteps(states, repositoryId) {
42
+ /** Where an org owner adds a repository to an App's installation by hand. */
43
+ function byHand(slug, repo) {
44
+ return (`add ${repo} to ${slug}'s installation if it isn't there: Org Settings → GitHub Apps → ` +
45
+ `${slug} → Configure → Repository access → add the repository → Save`);
46
+ }
47
+ /**
48
+ * One step per App: already there, added, or by hand: installing the App on the org, or adding
49
+ * the repository where the token may not read the installation or GitHub refuses the change.
50
+ */
51
+ export function installationSteps(states, repository) {
44
52
  return states.map((state) => {
45
53
  const id = `app:${state.slug}`;
46
54
  if (state.installation === undefined) {
@@ -48,11 +56,9 @@ export function installationSteps(states, repositoryId) {
48
56
  }
49
57
  if (state.member === true)
50
58
  return ok(id, `${state.slug} reaches the repository`);
51
- return change(id, `add the repository to ${state.slug}'s installation`, {
52
- kind: 'install',
53
- installationId: state.installation.id,
54
- repositoryId,
55
- });
59
+ if (state.member === undefined)
60
+ return manual(id, byHand(state.slug, repository.name));
61
+ return change(id, `add the repository to ${state.slug}'s installation`, { kind: 'install', installationId: state.installation.id, repositoryId: repository.id }, byHand(state.slug, repository.name));
56
62
  });
57
63
  }
58
64
  //# sourceMappingURL=installations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"installations.js","sourceRoot":"","sources":["../../src/govern/installations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installations.js","sourceRoot":"","sources":["../../src/govern/installations.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,13 @@ import { GovernRefusal } from './plan.js';
5
5
  import { readRulesets } from './rulesets-api.js';
6
6
  import { change, manual, ok, rulesetStep } from './steps.js';
7
7
  import { channelRuleset, channelRulesetName, CHANNELS, channelsBranchRuleset, pinOf, } from './templates.js';
8
+ import { lookupMode } from '../version/pin.js';
8
9
  /**
9
10
  * The organisation's side of Talos: the two custom properties every governed repository carries,
10
- * the three channel rulesets that run the gate, and the Talos repository's own three rulesets
11
- * (only the owner tags a release; only `talos-release` writes the `channels` branch; nothing
12
- * lands on `main` until the PR's own engine passed its checks and self-test).
11
+ * the three channel rulesets that run the gate, and the Talos repository's own rulesets (only the
12
+ * owner tags a release; nothing lands on `main` until the PR's own engine passed its checks and
13
+ * self-test; and, in the `channels.json` lookup only, only `talos-release` writes the `channels`
14
+ * branch).
13
15
  */
14
16
  export const PROPERTY_DEFINITIONS = {
15
17
  talos: {
@@ -29,7 +31,25 @@ export const PROPERTY_DEFINITIONS = {
29
31
  const idSchema = z.object({ id: z.number().int() });
30
32
  const definitionsSchema = z.array(z.looseObject({ property_name: z.string() }));
31
33
  const tagsSchema = z.array(z.object({ name: z.string(), commit: z.object({ sha: z.string() }) }));
34
+ const variableSchema = z.object({ value: z.string() });
32
35
  const CHANNEL_NAMES = CHANNELS.map(channelRulesetName);
36
+ /**
37
+ * The lookup the organisation's workflows use: its `TALOS_LOOKUP` Actions variable, the same one
38
+ * they read as `vars.TALOS_LOOKUP`, `rulesets` when it isn't set.
39
+ */
40
+ export async function orgLookup(gh, org) {
41
+ const path = `orgs/${encodeURIComponent(org)}/actions/variables/TALOS_LOOKUP`;
42
+ const variable = await gh.request('GET', path, { allowMissing: true });
43
+ if (variable === undefined)
44
+ return 'rulesets';
45
+ const value = variableSchema.parse(variable).value;
46
+ try {
47
+ return lookupMode({ TALOS_LOOKUP: value });
48
+ }
49
+ catch {
50
+ throw new GovernRefusal(`${org}'s TALOS_LOOKUP variable is "${value}": set rulesets or channels`);
51
+ }
52
+ }
33
53
  export async function releasesOf(gh, talosRepo) {
34
54
  const tags = tagsSchema.parse(await gh.paginate(`repos/${talosRepo}/tags`));
35
55
  return tags.filter((t) => /^v\d/.test(t.name)).map((t) => ({ tag: t.name, sha: t.commit.sha }));
@@ -44,10 +64,11 @@ export async function readOrgState(gh, who, templates) {
44
64
  templates.channelsBranch.name,
45
65
  templates.selfTest.name,
46
66
  ];
47
- const [talos, reviewer, release, definitions, channels, talosRulesets, releases] = await Promise.all([
67
+ const [talos, reviewer, release, lookup, definitions, channels, talosRulesets, releases] = await Promise.all([
48
68
  gh.request('GET', `repos/${who.talosRepo}`),
49
69
  gh.request('GET', `apps/${appSlug(who, 'reviewer')}`),
50
70
  gh.request('GET', `apps/${appSlug(who, 'release')}`),
71
+ orgLookup(gh, who.org),
51
72
  gh.paginate(`orgs/${org}/properties/schema`),
52
73
  channelRulesets(gh, who.org),
53
74
  readRulesets(gh, { kind: 'repo', repo: who.talosRepo }, tagNames),
@@ -61,6 +82,7 @@ export async function readOrgState(gh, who, templates) {
61
82
  reviewerAppId: idSchema.parse(reviewer).id,
62
83
  },
63
84
  releaseAppId: idSchema.parse(release).id,
85
+ lookup,
64
86
  definitions: Object.fromEntries(definitionsSchema.parse(definitions).map((d) => [d.property_name, d])),
65
87
  channels,
66
88
  talosRulesets,
@@ -101,6 +123,19 @@ function channelStep(state, templates, channel, seed) {
101
123
  const scope = { kind: 'org', org: state.org };
102
124
  return rulesetStep(scope, current, channelRuleset(templates.channel, channel, pin, state.ids));
103
125
  }
126
+ /**
127
+ * The `channels` branch ruleset, which only the `channels.json` lookup needs: there `talos-release`
128
+ * holds Contents write and is the one actor that may push the branch. In the rulesets lookup
129
+ * nothing writes that branch and the App has no Contents permission, so nothing is set up.
130
+ */
131
+ function channelsBranchStep(state, templates, find) {
132
+ const name = templates.channelsBranch.name;
133
+ if (state.lookup !== 'channels') {
134
+ return ok(`ruleset:${name}`, `${name} is only needed with TALOS_LOOKUP=channels`);
135
+ }
136
+ const body = channelsBranchRuleset(templates.channelsBranch, state.releaseAppId);
137
+ return rulesetStep({ kind: 'repo', repo: state.talosRepo }, find(name), body);
138
+ }
104
139
  /**
105
140
  * What `talos org init` does: the properties first, which the channel rulesets target; then the
106
141
  * three channel rulesets, each keeping the pin it has (pins move only through the release jobs)
@@ -110,13 +145,12 @@ export function orgPlan(state, templates, seed) {
110
145
  checkSeed(state, seed);
111
146
  const talos = { kind: 'repo', repo: state.talosRepo };
112
147
  const find = (name) => state.talosRulesets.find((ruleset) => ruleset.name === name);
113
- const channelsBranch = channelsBranchRuleset(templates.channelsBranch, state.releaseAppId);
114
148
  return [
115
149
  ...propertySteps(state),
116
150
  ...CHANNELS.map((channel) => channelStep(state, templates, channel, seed)),
117
151
  rulesetStep(talos, find(templates.releaseTags.name), templates.releaseTags),
118
- rulesetStep(talos, find(channelsBranch.name), channelsBranch),
119
152
  rulesetStep(talos, find(templates.selfTest.name), templates.selfTest),
153
+ channelsBranchStep(state, templates, find),
120
154
  ];
121
155
  }
122
156
  /** Each channel's pin, and the release tag it is. */
@@ -1 +1 @@
1
- {"version":3,"file":"org.js","sourceRoot":"","sources":["../../src/govern/org.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAoB,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAa,MAAM,YAAY,CAAC;AACxE,OAAO,EAEL,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACR,qBAAqB,EAErB,KAAK,GAEN,MAAM,gBAAgB,CAAC;AAIxB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAsD;IACrF,KAAK,EAAE;QACL,UAAU,EAAE,eAAe;QAC3B,QAAQ,EAAE,KAAK;QACf,cAAc,EAAE,CAAC,GAAG,QAAQ,CAAC;QAC7B,kBAAkB,EAAE,YAAY;QAChC,WAAW,EAAE,sEAAsE;KACpF;IACD,cAAc,EAAE;QACd,UAAU,EAAE,YAAY;QACxB,QAAQ,EAAE,KAAK;QACf,kBAAkB,EAAE,YAAY;QAChC,WAAW,EAAE,kEAAkE;KAChF;CACF,CAAC;AAeF,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACpD,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;AAChF,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAElG,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAAU,EAAE,SAAiB;IAC5D,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAU,SAAS,SAAS,OAAO,CAAC,CAAC,CAAC;IACrF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAU,EAAE,GAAW;IAC3D,OAAO,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EAAU,EAAE,GAAe,EAAE,SAAoB;IAClF,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG;QACf,SAAS,CAAC,WAAW,CAAC,IAAI;QAC1B,SAAS,CAAC,cAAc,CAAC,IAAI;QAC7B,SAAS,CAAC,QAAQ,CAAC,IAAI;KACxB,CAAC;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC,GAC9E,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,EAAE,CAAC,OAAO,CAAU,KAAK,EAAE,SAAS,GAAG,CAAC,SAAS,EAAE,CAAC;QACpD,EAAE,CAAC,OAAO,CAAU,KAAK,EAAE,QAAQ,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;QAC9D,EAAE,CAAC,OAAO,CAAU,KAAK,EAAE,QAAQ,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC;QAC7D,EAAE,CAAC,QAAQ,CAAU,QAAQ,GAAG,oBAAoB,CAAC;QACrD,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC;QAC5B,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC;QACjE,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,SAAS,CAAC;KAC9B,CAAC,CAAC;IACL,MAAM,KAAK,GAAa;QACtB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,GAAG,EAAE;YACH,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;YAC3C,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE;SAC3C;QACD,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;QACxC,WAAW,EAAE,MAAM,CAAC,WAAW,CAC7B,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CACtE;QACD,QAAQ;QACR,aAAa;QACb,QAAQ;KACT,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAe;IACpC,OAAO,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QAC/D,MAAM,EAAE,GAAG,YAAY,IAAI,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,aAAa,CAAC,CAAC;QACxF,MAAM,IAAI,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzD,OAAO,MAAM,CAAC,EAAE,EAAE,GAAG,IAAI,QAAQ,IAAI,WAAW,EAAE;YAChD,IAAI,EAAE,iBAAiB;YACvB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,IAAI;YACJ,IAAI;SACL,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,SAAS,CAAC,KAAe,EAAE,IAAwB;IACjE,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO;IAC/B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,aAAa,CAAC,UAAU,IAAI,qCAAqC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAe,EAAE,SAAoB,EAAE,OAAgB,EAAE,IAAa;IACzF,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACxE,MAAM,GAAG,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC;IAC/E,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,GAAG,IAAI,iDAAiD,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAW,CAAC;IACvD,OAAO,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACjG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,KAAe,EAAE,SAAoB,EAAE,IAAa;IAC1E,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACvB,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAW,CAAC;IAC/D,MAAM,IAAI,GAAG,CAAC,IAAY,EAA2B,EAAE,CACrD,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAC3F,OAAO;QACL,GAAG,aAAa,CAAC,KAAK,CAAC;QACvB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1E,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC;QAC3E,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;QAC7D,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC;KACtE,CAAC;AACJ,CAAC;AASD,qDAAqD;AACrD,MAAM,UAAU,MAAM,CACpB,QAAgC,EAChC,QAA8B;IAE9B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC;QACjE,OAAO;YACL,OAAO;YACP,GAAG,EAAE,GAAG,IAAI,IAAI;YAChB,GAAG,EAAE,GAAG,IAAI,IAAI;YAChB,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,IAAI;SAC1C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"org.js","sourceRoot":"","sources":["../../src/govern/org.ts"],"names":[],"mappings":"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"}
@@ -160,7 +160,7 @@ export function governPlan(state, request) {
160
160
  }),
161
161
  ]
162
162
  : []),
163
- ...installationSteps(state.installations, state.id),
163
+ ...installationSteps(state.installations, { id: state.id, name: state.repo }),
164
164
  ];
165
165
  }
166
166
  //# sourceMappingURL=plan.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/govern/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,GAGrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAa,MAAM,YAAY,CAAC;AACxE,OAAO,EAAgB,SAAS,EAAoC,MAAM,gBAAgB,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAmBrD,MAAM,OAAO,aAAc,SAAQ,KAAK;IACpB,IAAI,GAAG,eAAe,CAAC;CAC1C;AAID,0FAA0F;AAC1F,MAAM,QAAQ,GAAmD;IAC/D,kBAAkB,EAAE,IAAI;IACxB,kBAAkB,EAAE,KAAK;IACzB,kBAAkB,EAAE,KAAK;IACzB,gBAAgB,EAAE,IAAI;IACtB,sBAAsB,EAAE,IAAI;IAC5B,4BAA4B,EAAE,oBAAoB;CACnD,CAAC;AAEF,MAAM,YAAY,GAA0B;IAC1C,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,wBAAwB;IACxB,8BAA8B;CAC/B,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,KAAa;IAC5D,OAAO,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,aAAa,CAAC,KAAgB,EAAE,OAAsB;IACpE,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,IAAI,SAAS,CAAC;IACpD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,aAAa,CACrB,+EAA+E,CAChF,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC;IACzB,CAAC;IACD,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;AACnD,CAAC;AAED,SAAS,cAAc,CAAC,KAAgB;IACtC,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CACxB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,CACzE,CAAC;AACJ,CAAC;AAID,SAAS,WAAW,CAClB,KAAgB,EAChB,OAAsB;IAEtB,MAAM,SAAS,GAAc,EAAE,CAAC;IAChC,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QACpC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACjE,IAAI,KAAK,CAAC,UAAU,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;QACtC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,IAAI,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;QAClE,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS;YAAE,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IACxF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,KAAgB,EAAE,OAAsB,EAAE,OAAgB;IAC3E,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC;IACnC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,CAAC,OAAO,EAAE,oCAAoC,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAC9D,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QACpD,OAAO,MAAM,CACX,OAAO,EACP,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,MAAM,qCAAqC;YACrF,uCAAuC,CAC1C,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,SAAS,CAAC,MAAM,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,OAAO,MAAM,CAAC,OAAO,EAAE,UAAU,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,EAAE;QACpF,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE;YACP,MAAM;YACN,YAAY,EAAE,KAAK,CAAC,IAAI;YACxB,OAAO,EAAE,yEAAyE;YAClF,SAAS;YACT,SAAS;SACV;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,KAAgB;IACrC,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,MAAM,IAAI,GAAqC,EAAE,CAAC;IAClD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,GAAG,KAAK,8BAA8B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACpE,KAAK,CAAC,IAAI,CACR,MAAM,CACJ,eAAe,EACf,qFAAqF,CACtF,CACF,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,QAAQ,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,KAAK,CAAC,OAAO,CACX,IAAI,CAAC,MAAM,KAAK,CAAC;QACf,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,6DAA6D,CAAC;QAC/E,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YAC3C,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI;SACL,CAAC,CACP,CAAC;IACF,KAAK,CAAC,IAAI,CACR,MAAM,CACJ,QAAQ,EACR,mFAAmF;QACjF,oCAAoC,CACvC,CACF,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,KAAgB,EAAE,OAAoB;IACzD,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,OAAO,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,cAAc,CAAC,KAAgB,EAAE,OAAsB,EAAE,OAAgB;IAChF,MAAM,MAAM,GACV,OAAO,CAAC,MAAM,KAAK,SAAS;QAC1B,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC;QAC/C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;SAClC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;SAC3D,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,SAAS,OAAO,kBAAkB,MAAM,EAAE,CAAC;IAC1D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACzD,OAAO,MAAM,CAAC,YAAY,EAAE,OAAO,MAAM,EAAE,EAAE;QAC3C,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,KAAgB,EAAE,OAAsB;IACjE,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG,OAAO,KAAK,UAAU,CAAC;IAC1C,OAAO;QACL,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC;QAClC,GAAG,aAAa,CAAC,KAAK,CAAC;QACvB,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC;QAChD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,KAAK,CAAC,MAAM;YACV,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,0BAA0B,CAAC;YAC1C,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,6BAA6B,EAAE;gBAC9C,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC;QACN,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC;QACvC,GAAG,CAAC,CAAC,UAAU,IAAI,WAAW,KAAK,SAAS;YAC1C,CAAC,CAAC;gBACE,MAAM,CAAC,WAAW,oBAAoB,EAAE,EAAE,UAAU,oBAAoB,EAAE,EAAE;oBAC1E,IAAI,EAAE,gBAAgB;oBACtB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;oBACzC,EAAE,EAAE,WAAW,CAAC,EAAE;iBACnB,CAAC;aACH;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,iBAAiB,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/govern/plan.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@ import { GitHubError } from '../github/api.js';
5
5
  export function ok(id, detail) {
6
6
  return { id, status: 'ok', detail };
7
7
  }
8
- export function change(id, detail, effect) {
9
- return { id, status: 'change', detail, effect };
8
+ export function change(id, detail, effect, refused) {
9
+ return { id, status: 'change', detail, effect, ...(refused === undefined ? {} : { refused }) };
10
10
  }
11
11
  export function manual(id, detail) {
12
12
  return { id, status: 'manual', detail };
@@ -77,17 +77,25 @@ async function runSetting(gh, effect) {
77
77
  }
78
78
  }
79
79
  }
80
- /** What to say about a failed step: the request and its status, never a response body. */
80
+ /**
81
+ * What to say about a failed step: the request, its status and GitHub's clipped reason, never the
82
+ * raw response body. Steps run only from an owner's own terminal, never a public log.
83
+ */
81
84
  function failure(step, error, hint) {
82
- if (error instanceof GitHubError)
83
- return `${step.detail}: ${error.message}${hint(error.status)}`;
85
+ if (error instanceof GitHubError) {
86
+ const reason = error.reason === undefined ? '' : ` (${error.reason})`;
87
+ return `${step.detail}: ${error.message}${reason}${hint(error.status)}`;
88
+ }
84
89
  return `${step.detail}: ${error instanceof Error ? error.message : String(error)}`;
85
90
  }
86
91
  /**
87
- * Carries out every `change` in order. The order matters (the caller must be on the default
88
- * branch before any ruleset blocks a direct commit), so the first failure stops the rest.
92
+ * Carries out every `change` in order. The order usually matters (the caller must be on the
93
+ * default branch before any ruleset blocks a direct commit), so the first failure stops the rest,
94
+ * unless the steps are `independent`: then each runs and each failure is reported. A change
95
+ * GitHub refuses that a person can still make by hand is reported as that manual step instead.
89
96
  */
90
- export async function applySteps(gh, steps, hint = () => '') {
97
+ export async function applySteps(gh, steps, options = {}) {
98
+ const hint = options.hint ?? (() => '');
91
99
  const results = [];
92
100
  let failed = false;
93
101
  for (const step of steps) {
@@ -95,7 +103,7 @@ export async function applySteps(gh, steps, hint = () => '') {
95
103
  results.push({ id: step.id, status: step.status, detail: step.detail });
96
104
  continue;
97
105
  }
98
- if (failed) {
106
+ if (failed && options.independent !== true) {
99
107
  results.push({ id: step.id, status: 'skipped', detail: step.detail });
100
108
  continue;
101
109
  }
@@ -104,6 +112,10 @@ export async function applySteps(gh, steps, hint = () => '') {
104
112
  results.push({ id: step.id, status: 'changed', detail: step.detail });
105
113
  }
106
114
  catch (error) {
115
+ if (step.refused !== undefined && error instanceof GitHubError && error.status === 403) {
116
+ results.push({ id: step.id, status: 'manual', detail: step.refused });
117
+ continue;
118
+ }
107
119
  failed = true;
108
120
  results.push({ id: step.id, status: 'failed', detail: failure(step, error, hint) });
109
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/govern/steps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/govern/steps.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@svp-labs/talos",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@svp-labs/talos",
9
- "version": "0.1.0",
9
+ "version": "0.1.1",
10
10
  "license": "MIT",
11
11
  "bin": {
12
12
  "talos": "dist/bin/talos.js"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@svp-labs/talos",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "One kit for every SVP-Labs project: the engineering standard, the check engine and the agent loop.",
5
5
  "license": "MIT",
6
6
  "type": "module",