@fairgarden/distribution 0.1.0-alpha.3 → 0.1.0-alpha.5

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/dist/scaffold.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { mkdir, writeFile, readFile, readdir } from 'node:fs/promises';
2
2
  import path from 'node:path';
3
- import { changelogWorkflow, publishWorkflow, releaseScripts } from "./workflows.js";
3
+ import { checkWorkflows, publishWorkflow, releaseScripts } from "./workflows.js";
4
4
  import { CHANGELOG, newChangelog } from "./changelog.js";
5
5
  import { firstRelease } from "./calver.js";
6
6
  const json = (value) => `${JSON.stringify(value, null, 2)}\n`;
@@ -81,6 +81,33 @@ const turboJson = (monolith) => json({
81
81
  : {}),
82
82
  },
83
83
  });
84
+ /**
85
+ * The MIT license, which every repository this scaffolds starts under. Who
86
+ * holds the copyright is asked for — \`--copyright\`, or the git user — since
87
+ * nothing here can know it.
88
+ */
89
+ export const mitLicense = (holder, year = new Date().getUTCFullYear()) => `MIT License
90
+
91
+ Copyright (c) ${year} ${holder}
92
+
93
+ Permission is hereby granted, free of charge, to any person obtaining a copy
94
+ of this software and associated documentation files (the "Software"), to deal
95
+ in the Software without restriction, including without limitation the rights
96
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
97
+ copies of the Software, and to permit persons to whom the Software is
98
+ furnished to do so, subject to the following conditions:
99
+
100
+ The above copyright notice and this permission notice shall be included in all
101
+ copies or substantial portions of the Software.
102
+
103
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
104
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
105
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
106
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
107
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
108
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
109
+ SOFTWARE.
110
+ `;
84
111
  const GITIGNORE = `node_modules
85
112
  .next
86
113
  .turbo
@@ -127,7 +154,8 @@ const TSCONFIG = {
127
154
  * The monolith app lives at `apps/monolith` so modules can be added beside it
128
155
  * as `apps/<name>`, which is where `add-module` puts them.
129
156
  */
130
- export const monolithRepo = (name, origin) => ({
157
+ export const monolithRepo = (name, origin, { copyright = `The ${name} authors` } = {}) => ({
158
+ LICENSE: mitLicense(copyright),
131
159
  '.gitignore': `node_modules\n.turbo\n`,
132
160
  // Modules are linked through the workspace, so nothing here carries a
133
161
  // version: the submodule commit is the pin and its package.json is the
@@ -140,15 +168,17 @@ export const monolithRepo = (name, origin) => ({
140
168
  'package.json': json({
141
169
  name,
142
170
  version: '0.1.0-alpha.0',
171
+ license: 'MIT',
143
172
  private: true,
144
173
  ...(origin ? { repository: { type: 'git', url: origin } } : {}),
145
- scripts: rootScripts(true),
146
- devDependencies: { turbo: '^2.11.2' },
174
+ scripts: { ...rootScripts(true), dist: 'fg-dist' },
175
+ devDependencies: { '@fairgarden/distribution': VERSIONS.distribution, turbo: '^2.11.2' },
147
176
  }),
148
177
  'turbo.json': turboJson(`${name}-monolith`),
149
178
  'apps/monolith/package.json': json({
150
179
  name: `${name}-monolith`,
151
180
  version: '0.1.0-alpha.0',
181
+ license: 'MIT',
152
182
  private: true,
153
183
  scripts: {
154
184
  // Each takes a copy of the organization's policy to run, when there is one.
@@ -204,7 +234,7 @@ export default config
204
234
  }
205
235
  `,
206
236
  'apps/monolith/src/app/page.tsx': `export default function Home() {
207
- return <main>Nothing mounted yet. Add a module with \`fg-dist add-module\`.</main>
237
+ return <main>Nothing mounted yet. Add a module with \`pnpm dist add-module\`.</main>
208
238
  }
209
239
  `,
210
240
  });
@@ -216,16 +246,18 @@ export default config
216
246
  */
217
247
  /** `@acme/widget` -> `widget`, which is what a hostname wants. */
218
248
  const unscoped = (packageName) => packageName.replace(/^@[^/]+\//, '');
219
- export const moduleRepo = (packageName, origin) => ({
249
+ export const moduleRepo = (packageName, origin, { copyright = `The ${packageName} authors` } = {}) => ({
250
+ LICENSE: mitLicense(copyright),
220
251
  // A module releases on its own schedule, so it carries its own workflow, and
221
252
  // its own changelog, which every pull request adds to.
222
253
  ...publishWorkflow(packageName),
223
- ...changelogWorkflow({ submodules: false }),
254
+ ...checkWorkflows({ submodules: false }),
224
255
  [CHANGELOG]: newChangelog('0.1.0-alpha.0'),
225
256
  '.gitignore': `node_modules\n.next\n.turbo\nnext-env.d.ts\n*.tsbuildinfo\n\n# generated by next dev\nAGENTS.md\nCLAUDE.md\n`,
226
257
  'package.json': json({
227
258
  name: packageName,
228
259
  version: '0.1.0-alpha.0',
260
+ license: 'MIT',
229
261
  // Not private: a module publishes itself, so that a monolith which cannot
230
262
  // reach it as a submodule can install it as a package instead. Scoped
231
263
  // packages publish restricted by default; say so rather than leave it to
@@ -367,6 +399,7 @@ const policiesFiles = (name, origin) => ({
367
399
  }),
368
400
  'policies/package.json': json({
369
401
  name: `${name}-policies`,
402
+ license: 'MIT',
370
403
  private: true,
371
404
  type: 'module',
372
405
  scripts: { build: 'fg-dist policy build', test: 'fg-dist policy test' },
@@ -389,8 +422,8 @@ the next deployment runs, and anyone can read it on the id service's
389
422
  \`/policy\` page.
390
423
 
391
424
  \`\`\`bash
392
- fg-dist policy test # each module's tests, then these on top
393
- fg-dist policy build # what the services will run
425
+ pnpm dist policy test # each module's tests, then these on top
426
+ pnpm dist policy build # what the services will run
394
427
  \`\`\`
395
428
 
396
429
  \`.manifest\` says whose rules these are; its \`metadata\` is shown with them.
@@ -404,13 +437,14 @@ fg-dist policy build # what the services will run
404
437
  * ships are its submodules, each at a semver version. `extends` names another distribution whose modules this one
405
438
  * inherits and may move ahead of, but never behind.
406
439
  */
407
- export const distributionRepo = (name, origin, parent, { monolith = true } = {}) => {
440
+ export const distributionRepo = (name, origin, parent, { monolith = true, copyright = `The ${name} authors` } = {}) => {
408
441
  // A distribution of only Next apps can deploy as one. A complex one cannot,
409
442
  // and then each app under apps/ is deployed on its own — which is fine for
410
443
  // an audience that already has deployment infrastructure.
411
444
  const files = monolith
412
- ? monolithRepo(name, origin)
445
+ ? monolithRepo(name, origin, { copyright })
413
446
  : {
447
+ LICENSE: mitLicense(copyright),
414
448
  '.gitignore': `node_modules\n.turbo\n`,
415
449
  '.npmrc': `link-workspace-packages=true\nsave-workspace-protocol=true\n`,
416
450
  'pnpm-workspace.yaml': WORKSPACE,
@@ -420,8 +454,9 @@ export const distributionRepo = (name, origin, parent, { monolith = true } = {})
420
454
  'turbo.json': turboJson(undefined),
421
455
  };
422
456
  // What it ships, noted as fg-dist changes it; pull requests that change its
423
- // policy add their own line, which CI checks.
424
- Object.assign(files, changelogWorkflow({ submodules: true }));
457
+ // policy add their own line, which CI checks — as it checks that what
458
+ // fg-dist writes here is current.
459
+ Object.assign(files, checkWorkflows({ submodules: true }));
425
460
  // The organization's policy, built on every module's own; a workspace
426
461
  // package, so turbo builds it once for every service that runs it.
427
462
  files['pnpm-workspace.yaml'] = files['pnpm-workspace.yaml'].replace(' - "packages/*"\n', ' - "packages/*"\n - "policies"\n');
@@ -433,22 +468,28 @@ export const distributionRepo = (name, origin, parent, { monolith = true } = {})
433
468
  // End users read the month, not a semver range: it says how old their copy
434
469
  // is. It starts as this month's first release, in alpha — see calver.ts.
435
470
  version,
471
+ license: 'MIT',
436
472
  private: true,
437
473
  ...(origin ? { repository: { type: 'git', url: origin } } : {}),
438
474
  ...(parent ? { distribution: { extends: parent } } : {}),
439
- scripts: rootScripts(monolith),
475
+ scripts: {
476
+ ...rootScripts(monolith),
477
+ // `pnpm dist <command>`, and what the workflows run.
478
+ ...releaseScripts(name),
479
+ },
440
480
  // Modules go here, each pinned to the semver version this ships.
441
481
  dependencies: parent ? { [parent]: 'latest' } : {},
442
- devDependencies: { turbo: '^2.11.2' },
482
+ devDependencies: { '@fairgarden/distribution': VERSIONS.distribution, turbo: '^2.11.2' },
443
483
  });
444
484
  files['Readme.md'] = `# ${name}
445
485
 
446
- A distribution: the set of modules shipped together, released under a date-based
447
- version so it is obvious how old a copy is.
486
+ A distribution: the set of modules shipped together, released under a calendar
487
+ version — \`26.09.01\` is the first release of September 2026 — so it is obvious
488
+ how old a copy is.
448
489
 
449
490
  Modules are listed in \`dependencies\`, each pinned to a semver version, and
450
- checked out as submodules. Add one with \`fg-dist add-module <url>\`, and see
451
- what has moved with \`fg-dist sync\`.
491
+ checked out as submodules. Add one with \`pnpm dist add-module <url>\`, and see
492
+ what has moved with \`pnpm dist sync\`.
452
493
 
453
494
  ## Running
454
495
  ${monolith
@@ -483,7 +524,7 @@ infrastructure.
483
524
  ## Extends
484
525
 
485
526
  This distribution extends \`${parent}\`. It ships that distribution's modules
486
- and may move ahead of them, but can never ship anything older. \`fg-dist check\`
527
+ and may move ahead of them, but can never ship anything older. \`pnpm dist check\`
487
528
  fails when it does${monolith ? ', and so does the monolith build' : ''}.
488
529
  `
489
530
  : ''}`;
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Check that what fg-dist writes into a repository still says what is true.
3
+ *
4
+ * Each of these files is written from something else — a readme from the
5
+ * manifests and the pins, the workspace overrides from the modules, turbo's
6
+ * tasks from the policy — and goes stale the moment that something moves
7
+ * without it. Nothing notices by looking: a stale version in a readme reads
8
+ * exactly like a current one. So CI compares each with what would be written
9
+ * now, and names the command that brings it back.
10
+ *
11
+ * Only what this repository can fix is checked. A distribution's readme is
12
+ * checked, its modules' readmes are not: they are checked in the modules' own
13
+ * CI, and a pinned commit cannot be changed from here.
14
+ */
15
+ export interface Verification {
16
+ /** What was checked, as the file it is about. */
17
+ what: string;
18
+ ok: boolean;
19
+ /** What is wrong, when it is. */
20
+ problem?: string;
21
+ /** The command that puts it right. */
22
+ fix?: string;
23
+ }
24
+ /** Every check that applies to this repository, in the order they are reported. */
25
+ export declare const verify: (root: string) => Promise<Verification[]>;
26
+ //# sourceMappingURL=verify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAE,OAAO,CAAA;IACX,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sCAAsC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAyED,mFAAmF;AACnF,eAAO,MAAM,MAAM,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,YAAY,EAAE,CASjE,CAAA"}
package/dist/verify.js ADDED
@@ -0,0 +1,87 @@
1
+ import path from 'node:path';
2
+ import { isDistribution } from "./submodules.js";
3
+ import { writeReadmes } from "./readme.js";
4
+ import { writeOverrides } from "./overrides.js";
5
+ import { findPolicy, setupTurbo } from "./policy.js";
6
+ import { describeViolations, inspectExtends } from "./extends.js";
7
+ const failure = (error) => error instanceof Error ? error.message : String(error);
8
+ const readme = async (root) => {
9
+ try {
10
+ const { updates, kind } = await writeReadmes(root, { check: true, modules: false });
11
+ const stale = updates.filter((update) => update.changed);
12
+ const named = (list) => list.map((update) => path.relative(root, update.file)).join(', ') || 'readme';
13
+ return stale.length === 0
14
+ ? { what: named(updates), ok: true }
15
+ : {
16
+ what: named(stale),
17
+ ok: false,
18
+ problem: kind === 'module'
19
+ ? 'does not say what package.json does'
20
+ : 'does not say what package.json and the pinned modules do',
21
+ fix: 'pnpm dist readme',
22
+ };
23
+ }
24
+ catch (error) {
25
+ return { what: 'readme', ok: false, problem: failure(error) };
26
+ }
27
+ };
28
+ const overrides = async (root) => {
29
+ try {
30
+ const { file, changed, missing } = await writeOverrides(root, { check: true });
31
+ const what = path.relative(root, file);
32
+ if (missing)
33
+ return { what, ok: false, problem: 'is missing; a distribution needs one to override its modules' };
34
+ return changed
35
+ ? { what, ok: false, problem: 'does not override every module to its checkout', fix: 'pnpm dist overrides' }
36
+ : { what, ok: true };
37
+ }
38
+ catch (error) {
39
+ return { what: 'pnpm-workspace.yaml', ok: false, problem: failure(error) };
40
+ }
41
+ };
42
+ const policy = (root) => {
43
+ const found = findPolicy(root);
44
+ // Found by walking up, so from a module inside a distribution it is that
45
+ // distribution's — which is not this repository's to check.
46
+ if (!found || path.resolve(found.root) !== path.resolve(root))
47
+ return undefined;
48
+ try {
49
+ const differ = setupTurbo(found, { check: true });
50
+ return differ.length === 0
51
+ ? { what: 'turbo.json', ok: true }
52
+ : {
53
+ what: 'turbo.json',
54
+ ok: false,
55
+ problem: `does not build the policy before what uses it: ${differ.join(', ')}`,
56
+ fix: 'pnpm dist policy setup',
57
+ };
58
+ }
59
+ catch (error) {
60
+ return { what: 'turbo.json', ok: false, problem: failure(error) };
61
+ }
62
+ };
63
+ const floor = (root) => {
64
+ const report = inspectExtends(root);
65
+ if (!report.distribution.extends)
66
+ return undefined;
67
+ const what = `extends ${report.distribution.extends}`;
68
+ if (report.unresolved) {
69
+ return { what, ok: false, problem: `${report.unresolved} is not installed, so nothing could be compared`, fix: 'pnpm install' };
70
+ }
71
+ return report.violations.length === 0
72
+ ? { what, ok: true }
73
+ : // It names its own fix, which depends on what is behind.
74
+ { what, ok: false, problem: describeViolations(report) };
75
+ };
76
+ /** Every check that applies to this repository, in the order they are reported. */
77
+ export const verify = async (root) => {
78
+ if (!isDistribution(root))
79
+ return [await readme(root)];
80
+ return [
81
+ await readme(root),
82
+ await overrides(root),
83
+ policy(root),
84
+ floor(root),
85
+ ].filter((check) => check !== undefined);
86
+ };
87
+ //# sourceMappingURL=verify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,21 @@ export declare const distributionWorkflow: (packageName: string) => Files;
27
27
  * before it is released. A distribution is checked out with its submodules,
28
28
  * without which its workspace does not install.
29
29
  */
30
+ /** Everything a pull request is checked by: its changelog line, and what fg-dist wrote. */
31
+ export declare const checkWorkflows: ({ submodules }: {
32
+ submodules: boolean;
33
+ }) => Files;
34
+ /**
35
+ * The pull request check that what fg-dist writes is still true.
36
+ *
37
+ * A readme's versions, a distribution's workspace overrides, its turbo tasks
38
+ * for the policy: each is written from something else, and goes stale when
39
+ * that moves without it. A distribution's readme says whether each pin is at a
40
+ * release, so it is checked out with its modules' tags.
41
+ */
42
+ export declare const verifyWorkflow: ({ submodules }: {
43
+ submodules: boolean;
44
+ }) => Files;
30
45
  export declare const changelogWorkflow: ({ submodules }: {
31
46
  submodules: boolean;
32
47
  }) => Files;
@@ -41,6 +56,30 @@ export interface WorkflowUpdate {
41
56
  /** True when nothing says whether the package publishes publicly. */
42
57
  missingAccess: boolean;
43
58
  }
59
+ /**
60
+ * The newest release at or below `own`, given the tags of the repository it
61
+ * runs from — or `own` itself, when it is released or there are no tags to go
62
+ * by.
63
+ *
64
+ * Installed from npm, fg-dist is a release. Run from a checkout of it — a
65
+ * distribution developing it, as fg-core does — its version is the one main is
66
+ * working towards, which npm does not have yet, and a module given it could not
67
+ * install. A tag is what marks a release, as everywhere else here.
68
+ */
69
+ export declare const releasedFloor: (own: string, tags: string[] | undefined) => string;
70
+ export interface ToolRelease {
71
+ /** The version of fg-dist running. */
72
+ own: string;
73
+ /** What a module is given: the newest release at or below it. */
74
+ floor: string;
75
+ }
76
+ /**
77
+ * The fg-dist a module is given to release with.
78
+ *
79
+ * Read rather than written down, so a module is pinned to the CLI that set it
80
+ * up instead of to whatever was current when this file was last edited.
81
+ */
82
+ export declare const toolRelease: () => Promise<ToolRelease | undefined>;
44
83
  /**
45
84
  * The scripts the workflow calls, and a module releases by hand with.
46
85
  *
@@ -91,11 +130,12 @@ export declare const writeDistributionWorkflow: (root: string, { force, dryRun }
91
130
  dryRun?: boolean;
92
131
  }) => Promise<WorkflowUpdate>;
93
132
  /**
94
- * Give the distribution itself the changelog check, for pull requests that
95
- * change the organization's policy — what else changes in it, fg-dist notes
96
- * itself. Unlike its publishing, this makes nothing public.
133
+ * Give the distribution itself its pull request checks: the changelog, for
134
+ * pull requests that change the organization's policy — what else changes in
135
+ * it, fg-dist notes itself — and that what fg-dist writes is current. Unlike
136
+ * its publishing, this makes nothing public.
97
137
  */
98
- export declare const writeDistributionChangelogCheck: (root: string, { force, dryRun }?: {
138
+ export declare const writeDistributionChecks: (root: string, { force, dryRun }?: {
99
139
  force?: boolean;
100
140
  dryRun?: boolean;
101
141
  }) => Promise<WorkflowUpdate>;
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../src/workflows.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAE1C;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,aAAa,MAAM,KAAG,KA+MpD,CAAA;AAsCF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAAI,aAAa,MAAM,KAAG,KAoHzD,CAAA;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAAI,gBAAgB;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,KAAG,KAoD1E,CAAA;AAEF,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,+EAA+E;IAC/E,UAAU,EAAE,OAAO,CAAA;IACnB,8EAA8E;IAC9E,YAAY,EAAE,OAAO,CAAA;IACrB,qEAAqE;IACrE,aAAa,EAAE,OAAO,CAAA;CACvB;AA2BD;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,aAAa,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CASzE,CAAA;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB,aAAa,EAAE,OAAO,CAAA;CACvB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GACzB,YAAY,MAAM,EAClB,aAAa,MAAM,EACnB,SAAS,MAAM,GAAG,SAAS,EAC3B,gBAAgB,MAAM,GAAG,SAAS,EAClC,YAAkB;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,KACzC,OAAO,CAAC,cAAc,CAyExB,CAAA;AAGD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,MAAM,EACZ,4BAIG;IACD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACZ,KACL,OAAO,CAAC,cAAc,EAAE,CA+D1B,CAAA;AAGD;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,GACpC,MAAM,MAAM,EACZ,oBAAmC;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,KAC5E,OAAO,CAAC,cAAc,CA4CxB,CAAA;AAeD;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,GAC1C,MAAM,MAAM,EACZ,oBAAmC;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,KAC5E,OAAO,CAAC,cAAc,CAgDxB,CAAA"}
1
+ {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../src/workflows.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAE1C;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,aAAa,MAAM,KAAG,KA+MpD,CAAA;AAsCF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAAI,aAAa,MAAM,KAAG,KAoHzD,CAAA;AAEF;;;;;;;;GAQG;AACH,2FAA2F;AAC3F,eAAO,MAAM,cAAc,GAAI,gBAAgB;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,KAAG,KAGvE,CAAA;AAsBF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,gBAAgB;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,KAAG,KA8BvE,CAAA;AAEF,eAAO,MAAM,iBAAiB,GAAI,gBAAgB;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,KAAG,KAmC1E,CAAA;AAEF,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,OAAO,EAAE,OAAO,CAAA;IAChB,+EAA+E;IAC/E,UAAU,EAAE,OAAO,CAAA;IACnB,8EAA8E;IAC9E,YAAY,EAAE,OAAO,CAAA;IACrB,qEAAqE;IACrE,aAAa,EAAE,OAAO,CAAA;CACvB;AAeD;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,EAAE,MAAM,MAAM,EAAE,GAAG,SAAS,KAAG,MAMvE,CAAA;AAqBD,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,QAAa,OAAO,CAAC,WAAW,GAAG,SAAS,CAKnE,CAAA;AAID;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,aAAa,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAYzE,CAAA;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;IACnB,YAAY,EAAE,OAAO,CAAA;IACrB,aAAa,EAAE,OAAO,CAAA;CACvB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GACzB,YAAY,MAAM,EAClB,aAAa,MAAM,EACnB,SAAS,MAAM,GAAG,SAAS,EAC3B,gBAAgB,MAAM,GAAG,SAAS,EAClC,YAAkB;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,KACzC,OAAO,CAAC,cAAc,CAyExB,CAAA;AAGD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,MAAM,EACZ,4BAIG;IACD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACZ,KACL,OAAO,CAAC,cAAc,EAAE,CA+D1B,CAAA;AAGD;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,GACpC,MAAM,MAAM,EACZ,oBAAmC;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,KAC5E,OAAO,CAAC,cAAc,CA4CxB,CAAA;AAeD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAClC,MAAM,MAAM,EACZ,oBAAmC;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,KAC5E,OAAO,CAAC,cAAc,CAiDxB,CAAA"}