heximon 0.9.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -2
- package/dist/bin.mjs +2106 -814
- package/dist/index.d.mts +997 -4
- package/dist/index.mjs +2 -2
- package/dist/skills-command-Czsv_c74.mjs +1799 -0
- package/package.json +16 -16
- package/dist/skills-command-W72zUEYD.mjs +0 -940
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,122 @@
|
|
|
1
1
|
import { CommandDef } from "citty";
|
|
2
|
+
import { CompileMode, DiagnosticLabel, DiagnosticSeverity, DiagnosticSpan, ModuleGraphView } from "@heximon/compiler";
|
|
3
|
+
import { TransactionCensusDocument } from "@heximon/cqrs/compiler";
|
|
4
|
+
import { DatabaseApplyModeValue, DeployPhaseValue, PlatformTracingStatusValue } from "@heximon/deploy";
|
|
5
|
+
import { RouteCensusGap, RouteCensusRow, RouteCensusScopeEnforcement } from "@heximon/http/compiler";
|
|
6
|
+
//#region src/cli-json-document.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* The stable codes of the failures the CLI itself raises in a `--json` document. A compiler diagnostic keeps
|
|
9
|
+
* its own compiler code; these cover what happens around the compile.
|
|
10
|
+
*/
|
|
11
|
+
declare const CliDiagnosticCode: {
|
|
12
|
+
/** The command threw an error it does not expect. The message is the error message; stderr has the stack. */
|
|
13
|
+
readonly UnexpectedError: "cli.unexpected-error";
|
|
14
|
+
/** The command needs an answer that it would ask for in a prompt, and `--json` never prompts. */
|
|
15
|
+
readonly OptionRequired: "cli.option-required";
|
|
16
|
+
/** The options of the run contradict each other, or an option has a value the command cannot use. */
|
|
17
|
+
readonly InvalidOptions: "cli.invalid-options";
|
|
18
|
+
/** The `heximon.config.ts` sidecar threw when it was loaded. `file` names the sidecar. */
|
|
19
|
+
readonly ConfigUnreadable: "cli.config-unreadable";
|
|
20
|
+
/** The command could not start the child process that runs the app's TypeScript source. */
|
|
21
|
+
readonly ReexecFailed: "cli.reexec-failed";
|
|
22
|
+
/** The arguments do not fit the command: a missing positional, an unknown subcommand. stderr has the usage. */
|
|
23
|
+
readonly UsageError: "cli.usage-error";
|
|
24
|
+
};
|
|
25
|
+
/** One of the {@link CliDiagnosticCode} values. */
|
|
26
|
+
type CliDiagnosticCode = (typeof CliDiagnosticCode)[keyof typeof CliDiagnosticCode];
|
|
27
|
+
/**
|
|
28
|
+
* One finding in a `--json` document: a compiler diagnostic, or a failure the CLI raised. It has every field
|
|
29
|
+
* of the compiler's `Diagnostic`, plus the flat `file` / `line` / `column` of its primary source position.
|
|
30
|
+
*/
|
|
31
|
+
interface CliDiagnostic {
|
|
32
|
+
/** `error` fails the command; `warning` is advisory. */
|
|
33
|
+
readonly severity: DiagnosticSeverity;
|
|
34
|
+
/** The sentence that names the problem. */
|
|
35
|
+
readonly message: string;
|
|
36
|
+
/** A stable code to branch on: a compiler code, or a {@link CliDiagnosticCode}. */
|
|
37
|
+
readonly code?: string;
|
|
38
|
+
/** How to fix the problem. */
|
|
39
|
+
readonly hint?: string;
|
|
40
|
+
/** The absolute path of the source file the diagnostic points at. */
|
|
41
|
+
readonly file?: string;
|
|
42
|
+
/** The 1-based line in {@link file}, when the file could be read. */
|
|
43
|
+
readonly line?: number;
|
|
44
|
+
/** The 1-based column in {@link file}, when the file could be read. */
|
|
45
|
+
readonly column?: number;
|
|
46
|
+
/**
|
|
47
|
+
* The command-line option or environment variable the diagnostic is about: the one that answers a refused
|
|
48
|
+
* prompt, or the one whose value the command cannot use.
|
|
49
|
+
*/
|
|
50
|
+
readonly option?: string;
|
|
51
|
+
/** A text location, used when there is no {@link span}. */
|
|
52
|
+
readonly location?: string;
|
|
53
|
+
/** The source offsets the compiler recorded. */
|
|
54
|
+
readonly span?: DiagnosticSpan;
|
|
55
|
+
/** Every span the compiler underlines, primary first. */
|
|
56
|
+
readonly labels?: readonly DiagnosticLabel[];
|
|
57
|
+
/** The original severity, when the project's `strictDiagnostics` escalated a warning. */
|
|
58
|
+
readonly escalatedFrom?: DiagnosticSeverity;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* The fields every `--json` document shares. A command adds its own fields next to them. A failure is a
|
|
62
|
+
* document with `ok: false` and at least one error diagnostic.
|
|
63
|
+
*/
|
|
64
|
+
interface CliJsonDocument {
|
|
65
|
+
/** Whether the command succeeded. `false` always comes with a non-zero exit status. */
|
|
66
|
+
readonly ok: boolean;
|
|
67
|
+
/** Every diagnostic of the run, empty when there is none. */
|
|
68
|
+
readonly diagnostics: readonly CliDiagnostic[];
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* The document of a run that stopped before it had the fields of its command: an invalid option, a refused
|
|
72
|
+
* prompt, a config sidecar that threw, an unexpected error. Every command can print it in place of its own
|
|
73
|
+
* document, so a tool reads `ok` and `diagnostics` first and the command fields only when they are present.
|
|
74
|
+
*/
|
|
75
|
+
interface CliFailureDocument extends CliJsonDocument {
|
|
76
|
+
/** Always `false`. */
|
|
77
|
+
readonly ok: false;
|
|
78
|
+
}
|
|
79
|
+
//#endregion
|
|
80
|
+
//#region src/check-json-document.d.ts
|
|
81
|
+
/** The stable codes of the failures `heximon check` raises itself, beside the compiler's own. */
|
|
82
|
+
declare const CheckDiagnosticCode: {
|
|
83
|
+
/** A consumed workspace library changed since its last `vp pack`, so the compile read an old manifest. */
|
|
84
|
+
readonly StaleLibrary: "check.stale-library";
|
|
85
|
+
};
|
|
86
|
+
/** One of the {@link CheckDiagnosticCode} values. */
|
|
87
|
+
type CheckDiagnosticCode = (typeof CheckDiagnosticCode)[keyof typeof CheckDiagnosticCode];
|
|
88
|
+
/** What `heximon check --update` did with the committed upgrade-safety baseline. */
|
|
89
|
+
type CheckUpgradeBaselineResult = {
|
|
90
|
+
/** The baseline was not written: the compile has errors that leave its durable surface partly read. */
|
|
91
|
+
readonly written: false;
|
|
92
|
+
/** How many of those errors there are. */
|
|
93
|
+
readonly blockingErrors: number;
|
|
94
|
+
} | {
|
|
95
|
+
/** The baseline was written or confirmed. */
|
|
96
|
+
readonly written: true;
|
|
97
|
+
/** Whether the file content changed, so there is something to commit. */
|
|
98
|
+
readonly changed: boolean;
|
|
99
|
+
/** The absolute path of the baseline file. */
|
|
100
|
+
readonly path: string;
|
|
101
|
+
};
|
|
102
|
+
/** The `heximon check --json` document. */
|
|
103
|
+
interface CheckJsonDocument extends CliJsonDocument {
|
|
104
|
+
/** Which compile ran: `app`, or `library` for a published module package. */
|
|
105
|
+
readonly mode: CompileMode;
|
|
106
|
+
/** How many error diagnostics the run has. */
|
|
107
|
+
readonly errors: number;
|
|
108
|
+
/** How many warning diagnostics the run has. */
|
|
109
|
+
readonly warnings: number;
|
|
110
|
+
/** The transaction census of the compile, when the app declares command handlers. */
|
|
111
|
+
readonly transactionCensus?: TransactionCensusDocument;
|
|
112
|
+
/** The stale DI verdict mirror the library compile deleted. */
|
|
113
|
+
readonly prunedVerdicts?: string;
|
|
114
|
+
/** Where `--emit` wrote the generated wiring. */
|
|
115
|
+
readonly emittedTo?: string;
|
|
116
|
+
/** The `--update` outcome, present only with `--update`. */
|
|
117
|
+
readonly upgradeBaseline?: CheckUpgradeBaselineResult;
|
|
118
|
+
}
|
|
119
|
+
//#endregion
|
|
2
120
|
//#region src/prompter.d.ts
|
|
3
121
|
/** Thrown when the operator cancels an interactive prompt (Ctrl-C). */
|
|
4
122
|
export declare class PromptCancelledError extends Error {
|
|
@@ -30,6 +148,48 @@ export declare class ClackPrompter implements Prompter {
|
|
|
30
148
|
text(message: string): Promise<string>;
|
|
31
149
|
}
|
|
32
150
|
//#endregion
|
|
151
|
+
//#region src/cli-entry.d.ts
|
|
152
|
+
/**
|
|
153
|
+
* Starts the `heximon` command tree. Without a JSON flag it is citty's own `runMain`. With one, an argument
|
|
154
|
+
* error that citty raises before a command runs (a missing positional, an unknown subcommand) is printed as one
|
|
155
|
+
* {@link CliFailureDocument} on stdout, and the usage text goes to stderr. Any other error there is a
|
|
156
|
+
* `cli.unexpected-error` document, with the stack on stderr. Under a JSON request, stdout is on stderr from the
|
|
157
|
+
* start of the command until the process exits, and the documents reach the true stdout.
|
|
158
|
+
*/
|
|
159
|
+
export declare class CliEntry {
|
|
160
|
+
/** The flags that print usage; they keep citty's own output, JSON flag or not. */
|
|
161
|
+
private static readonly helpFlags;
|
|
162
|
+
/** The name citty gives its argument and command errors. */
|
|
163
|
+
private static readonly usageErrorName;
|
|
164
|
+
/** The output flags as every command declares them, so the entry reads them as the command's parser does. */
|
|
165
|
+
private static readonly outputFlags;
|
|
166
|
+
/**
|
|
167
|
+
* Run the command tree.
|
|
168
|
+
*
|
|
169
|
+
* @param main - The root command.
|
|
170
|
+
* @param rawArgs - The arguments after the binary name.
|
|
171
|
+
*/
|
|
172
|
+
static run(main: CommandDef, rawArgs?: readonly string[]): Promise<void>;
|
|
173
|
+
/** Print an error raised before a command ran as a failure document. */
|
|
174
|
+
private static reportEntryError;
|
|
175
|
+
/** Print a {@link CliFailureDocument} with one diagnostic on the true stdout, and set exit status 1. */
|
|
176
|
+
private static fail;
|
|
177
|
+
/**
|
|
178
|
+
* Whether the arguments ask for JSON output: `--json`, or `--format json`. citty's own parser reads them,
|
|
179
|
+
* so `--no-json`, `--json=false`, a repeated `--format` and a `--` separator count as the command sees them.
|
|
180
|
+
*
|
|
181
|
+
* @param rawArgs - The arguments after the binary name.
|
|
182
|
+
* @returns Whether the run prints a JSON document.
|
|
183
|
+
*/
|
|
184
|
+
static isJsonRequest(rawArgs: readonly string[]): boolean;
|
|
185
|
+
/** Whether a thrown value is a citty argument or command error. */
|
|
186
|
+
private static isUsageError;
|
|
187
|
+
/** The deepest subcommand the arguments name, with its parent, for the usage text. */
|
|
188
|
+
private static commandOf;
|
|
189
|
+
/** A citty `Resolvable`: the value, or what its function returns. */
|
|
190
|
+
private static resolve;
|
|
191
|
+
}
|
|
192
|
+
//#endregion
|
|
33
193
|
//#region src/cli-environment.d.ts
|
|
34
194
|
/** Detects how the CLI is being run, so the deploy credential ladder knows whether interactive prompting is safe. */
|
|
35
195
|
export declare class CliEnvironment {
|
|
@@ -51,6 +211,14 @@ export declare class TemplateDownloadError extends Error {
|
|
|
51
211
|
readonly gigetSource: string;
|
|
52
212
|
constructor(gigetSource: string, cause: unknown);
|
|
53
213
|
}
|
|
214
|
+
/** A target directory that already holds content. `create` never overwrites, so it refuses the target. */
|
|
215
|
+
export declare class ProjectDirectoryOccupiedError extends Error {
|
|
216
|
+
readonly projectDirectory: string;
|
|
217
|
+
/**
|
|
218
|
+
* @param projectDirectory - The absolute directory that is not empty.
|
|
219
|
+
*/
|
|
220
|
+
constructor(projectDirectory: string);
|
|
221
|
+
}
|
|
54
222
|
/** The template axes `heximon create` offers: the app shape and the request-body validator. */
|
|
55
223
|
interface TemplateSelection {
|
|
56
224
|
/** The base template: the smallest real app, or the Drizzle/libsql CRUD app. */
|
|
@@ -95,6 +263,8 @@ interface ScaffoldResult {
|
|
|
95
263
|
readonly projectDirectory: string;
|
|
96
264
|
/** The resolved template directory name (e.g. `"minimal-zod"`). */
|
|
97
265
|
readonly templateName: string;
|
|
266
|
+
/** Where the template content came from. */
|
|
267
|
+
readonly source: TemplateSource;
|
|
98
268
|
}
|
|
99
269
|
/**
|
|
100
270
|
* Materializes a new Heximon project from a starters template: resolves the template directory name from
|
|
@@ -208,6 +378,7 @@ export declare class CreateDefaults {
|
|
|
208
378
|
* @param validator - The `--validator` flag value, if any.
|
|
209
379
|
* @param options - Whether prompting is allowed.
|
|
210
380
|
* @returns The resolved selection, or `undefined` when the user cancelled a prompt.
|
|
381
|
+
* @throws CommandFailure when a flag names an unknown template or validator.
|
|
211
382
|
*/
|
|
212
383
|
static resolveSelection(template: string | undefined, validator: string | undefined, options: {
|
|
213
384
|
readonly interactive: boolean;
|
|
@@ -226,8 +397,16 @@ export declare class CreateDefaults {
|
|
|
226
397
|
* @returns Whether a repository was initialized.
|
|
227
398
|
*/
|
|
228
399
|
static initializeGit(projectDirectory: string): Promise<boolean>;
|
|
229
|
-
/**
|
|
230
|
-
|
|
400
|
+
/**
|
|
401
|
+
* Run `<pm> install` in the project directory with inherited stdio (the user sees the real output).
|
|
402
|
+
*
|
|
403
|
+
* @param packageManager - The package manager binary.
|
|
404
|
+
* @param projectDirectory - The directory to install in.
|
|
405
|
+
* @param options - `stdoutToStderr` sends the child's stdout to stderr and gives it no stdin, for `--json`.
|
|
406
|
+
*/
|
|
407
|
+
static runInstall(packageManager: string, projectDirectory: string, options?: {
|
|
408
|
+
readonly stdoutToStderr?: boolean;
|
|
409
|
+
}): Promise<void>;
|
|
231
410
|
/** Run one starters attempt against a single giget ref. */
|
|
232
411
|
private static attemptScaffold;
|
|
233
412
|
/** Narrow a raw flag value to one of the allowed literals, or `undefined`. */
|
|
@@ -303,10 +482,698 @@ export declare class RegistryAccess {
|
|
|
303
482
|
private static spawnProcess;
|
|
304
483
|
}
|
|
305
484
|
//#endregion
|
|
485
|
+
//#region src/skills-json-document.d.ts
|
|
486
|
+
/** The codes of the failures `heximon skills` raises in a `--json` document. */
|
|
487
|
+
declare const SkillsDiagnosticCode: {
|
|
488
|
+
/** A source could not be installed: its index or one of its files did not download. */
|
|
489
|
+
readonly InstallFailed: "skills.install-failed";
|
|
490
|
+
/** The project's `package.json` is missing, or is not a JSON object. */
|
|
491
|
+
readonly ManifestUnreadable: "skills.manifest-unreadable";
|
|
492
|
+
};
|
|
493
|
+
/** One of the {@link SkillsDiagnosticCode} values. */
|
|
494
|
+
type SkillsDiagnosticCode = (typeof SkillsDiagnosticCode)[keyof typeof SkillsDiagnosticCode];
|
|
495
|
+
/** What `heximon skills add` did with the `heximon.skills` list in `package.json`. */
|
|
496
|
+
declare const SkillSourceRecording: {
|
|
497
|
+
/** The source was not in the list, and the run added it. */
|
|
498
|
+
readonly Added: "added";
|
|
499
|
+
/** The source was in the list already; the run installed it again. */
|
|
500
|
+
readonly AlreadyRecorded: "already-recorded";
|
|
501
|
+
/** The install failed, so the run did not record the source. */
|
|
502
|
+
readonly NotRecorded: "not-recorded";
|
|
503
|
+
};
|
|
504
|
+
/** One of the {@link SkillSourceRecording} values. */
|
|
505
|
+
type SkillSourceRecording = (typeof SkillSourceRecording)[keyof typeof SkillSourceRecording];
|
|
506
|
+
/** One agent skill that a run installed into the project. */
|
|
507
|
+
interface SkillJsonEntry {
|
|
508
|
+
/** The skill name from the index of the source. */
|
|
509
|
+
readonly name: string;
|
|
510
|
+
/** The base URL of the site the skill came from. */
|
|
511
|
+
readonly source: string;
|
|
512
|
+
/** The absolute directory the skill was written to, `<project>/.agents/skills/<name>`. */
|
|
513
|
+
readonly directory: string;
|
|
514
|
+
/** How many files of the skill were written. */
|
|
515
|
+
readonly fileCount: number;
|
|
516
|
+
}
|
|
517
|
+
/** The result of one recorded source in `heximon skills sync`. */
|
|
518
|
+
interface SkillSourceJsonEntry {
|
|
519
|
+
/** The base URL from `heximon.skills`. */
|
|
520
|
+
readonly source: string;
|
|
521
|
+
/** Whether the install of this source succeeded. A failure has a diagnostic with the reason. */
|
|
522
|
+
readonly installed: boolean;
|
|
523
|
+
}
|
|
524
|
+
/** The `heximon skills add --json` document. */
|
|
525
|
+
interface SkillsAddJsonDocument extends CliJsonDocument {
|
|
526
|
+
/** The absolute project root. */
|
|
527
|
+
readonly rootDir: string;
|
|
528
|
+
/** The source URL, without a trailing slash. */
|
|
529
|
+
readonly source: string;
|
|
530
|
+
/** What the run did with the `heximon.skills` list. */
|
|
531
|
+
readonly recording: SkillSourceRecording;
|
|
532
|
+
/** The skills the run installed; empty when the install failed. */
|
|
533
|
+
readonly skills: readonly SkillJsonEntry[];
|
|
534
|
+
}
|
|
535
|
+
/** The `heximon skills sync --json` document. */
|
|
536
|
+
interface SkillsSyncJsonDocument extends CliJsonDocument {
|
|
537
|
+
/** The absolute project root. */
|
|
538
|
+
readonly rootDir: string;
|
|
539
|
+
/** Each recorded source in list order, with the result of its install. Empty when none is recorded. */
|
|
540
|
+
readonly sources: readonly SkillSourceJsonEntry[];
|
|
541
|
+
/** The skills of every source that installed, in list order. */
|
|
542
|
+
readonly skills: readonly SkillJsonEntry[];
|
|
543
|
+
}
|
|
544
|
+
//#endregion
|
|
545
|
+
//#region src/create-json-document.d.ts
|
|
546
|
+
/** The codes of the failures `heximon create` raises in a `--json` document. */
|
|
547
|
+
declare const CreateDiagnosticCode: {
|
|
548
|
+
/** The target directory already holds files. `create` never overwrites. */
|
|
549
|
+
readonly TargetNotEmpty: "create.target-not-empty";
|
|
550
|
+
/** The starter template could not be downloaded, from the version branch or from `main`. */
|
|
551
|
+
readonly TemplateDownloadFailed: "create.template-download-failed";
|
|
552
|
+
/** The scaffold failed for another reason, for example a template without a `package.json`. */
|
|
553
|
+
readonly ScaffoldFailed: "create.scaffold-failed";
|
|
554
|
+
/** The registry check before the install failed, so the command did not install. The project stays. */
|
|
555
|
+
readonly RegistryAccessFailed: "create.registry-access-failed";
|
|
556
|
+
/** The dependency install exited with a non-zero status. The project stays. */
|
|
557
|
+
readonly InstallFailed: "create.install-failed";
|
|
558
|
+
/** A warning: the agent skill could not be fetched. The project is complete without it. */
|
|
559
|
+
readonly SkillsUnavailable: "create.skills-unavailable";
|
|
560
|
+
};
|
|
561
|
+
/** One of the {@link CreateDiagnosticCode} values. */
|
|
562
|
+
type CreateDiagnosticCode = (typeof CreateDiagnosticCode)[keyof typeof CreateDiagnosticCode];
|
|
563
|
+
/**
|
|
564
|
+
* The `heximon create --json` document. A failure before the project directory exists prints a
|
|
565
|
+
* {@link CliFailureDocument}; a failure after it has every field, so a tool knows what is on disk.
|
|
566
|
+
*/
|
|
567
|
+
interface CreateJsonDocument extends CliJsonDocument {
|
|
568
|
+
/** The project name: the directory name and the `package.json` name. */
|
|
569
|
+
readonly projectName: string;
|
|
570
|
+
/** The absolute root directory of the new project. */
|
|
571
|
+
readonly rootDir: string;
|
|
572
|
+
/** The base template. */
|
|
573
|
+
readonly template: TemplateSelection["template"];
|
|
574
|
+
/** The request-body validator of the template. */
|
|
575
|
+
readonly validator: TemplateSelection["validator"];
|
|
576
|
+
/** The starters directory name, for example `minimal-zod`. */
|
|
577
|
+
readonly templateName: string;
|
|
578
|
+
/** Where the template came from: the giget ref that succeeded, or the `--local` starters directory. */
|
|
579
|
+
readonly templateSource: TemplateSource;
|
|
580
|
+
/** The version stamped onto every `@heximon/*` range, or `workspace` for `workspace:*`. */
|
|
581
|
+
readonly heximonVersion: string;
|
|
582
|
+
/** The package manager of the install step and of {@link nextSteps}. */
|
|
583
|
+
readonly packageManager: string;
|
|
584
|
+
/** Whether the run created a git repository in the project. */
|
|
585
|
+
readonly gitInitialized: boolean;
|
|
586
|
+
/** Whether the run installed the dependencies. */
|
|
587
|
+
readonly dependenciesInstalled: boolean;
|
|
588
|
+
/** The registry check before the install. Present only when the check ran. */
|
|
589
|
+
readonly registryAccess?: RegistryAccessReport;
|
|
590
|
+
/** The agent skills installed into `.agents/skills`; empty with `--no-skills` or when the fetch failed. */
|
|
591
|
+
readonly skills: readonly SkillJsonEntry[];
|
|
592
|
+
/** The shell commands that start the app, in order. */
|
|
593
|
+
readonly nextSteps: readonly string[];
|
|
594
|
+
}
|
|
595
|
+
//#endregion
|
|
596
|
+
//#region src/deploy-json-document.d.ts
|
|
597
|
+
/**
|
|
598
|
+
* The stable codes of the `heximon deploy --json` diagnostics. A flag conflict uses
|
|
599
|
+
* `cli.invalid-options`, and a missing answer (`--yes`, a credential variable) uses `cli.option-required`.
|
|
600
|
+
*/
|
|
601
|
+
declare const DeployDiagnosticCode: {
|
|
602
|
+
/**
|
|
603
|
+
* A finding of the deploy run (preflight, migrations, build, infrastructure, provisioning, ship), at its own
|
|
604
|
+
* severity. A dry run that goes on past an error finding reports it as a warning, so `ok` stays `true`.
|
|
605
|
+
*/
|
|
606
|
+
readonly Finding: "deploy.finding";
|
|
607
|
+
/** The run stopped before the upload. Work that ran before the stop is not rolled back. */
|
|
608
|
+
readonly Halted: "deploy.halted";
|
|
609
|
+
/** The vendor rejected the upload, so the artifact is not live. */
|
|
610
|
+
readonly ShipFailed: "deploy.ship-failed";
|
|
611
|
+
/** The app shipped, but the `--verify` liveness probe got no 2xx answer. */
|
|
612
|
+
readonly NotLive: "deploy.not-live";
|
|
613
|
+
/** The app shipped, but a migration after the ship failed to apply. */
|
|
614
|
+
readonly MigrationFailed: "deploy.migration-failed";
|
|
615
|
+
/** `--migrate` found no database config to apply. */
|
|
616
|
+
readonly NoMigrationConfig: "deploy.no-migration-config";
|
|
617
|
+
/** `--destroy` on a platform that has no teardown step. */
|
|
618
|
+
readonly DestroyUnsupported: "deploy.destroy-unsupported";
|
|
619
|
+
/** No deploy strategy is installed for the platform. */
|
|
620
|
+
readonly StrategyUnavailable: "deploy.strategy-unavailable";
|
|
621
|
+
/** The `--env-file` file cannot be read. */
|
|
622
|
+
readonly EnvFileUnreadable: "deploy.env-file-unreadable";
|
|
623
|
+
/** A Nitro or Nuxt build uses a preset that the deploy cannot ship. */
|
|
624
|
+
readonly HostManagedUnsupported: "deploy.host-managed-unsupported";
|
|
625
|
+
};
|
|
626
|
+
/** One of the {@link DeployDiagnosticCode} values. */
|
|
627
|
+
type DeployDiagnosticCode = (typeof DeployDiagnosticCode)[keyof typeof DeployDiagnosticCode];
|
|
628
|
+
/** What a `heximon deploy` run does: ship the app, or remove it with `--destroy`. */
|
|
629
|
+
type DeployAction = "ship" | "destroy";
|
|
630
|
+
/** The deploy target that `heximon deploy` and `heximon provision` resolved. */
|
|
631
|
+
interface DeployJsonTarget {
|
|
632
|
+
/** The platform name; `node` for the default target. */
|
|
633
|
+
readonly platform: string;
|
|
634
|
+
/** The build target class, `node` or `edge`. */
|
|
635
|
+
readonly targetClass: string;
|
|
636
|
+
/** Whether a Nitro or Nuxt build made the artifact, so the run ships it without `vp build`. */
|
|
637
|
+
readonly hostManaged: boolean;
|
|
638
|
+
/** The directory of the artifact a host-managed build made. */
|
|
639
|
+
readonly artifactDir?: string;
|
|
640
|
+
}
|
|
641
|
+
/** A credential the platform requires and the run did not have. */
|
|
642
|
+
interface DeployJsonCredential {
|
|
643
|
+
/** The human name, for example `Cloudflare API token`. */
|
|
644
|
+
readonly name: string;
|
|
645
|
+
/** The environment variable that supplies it. */
|
|
646
|
+
readonly envVar: string;
|
|
647
|
+
}
|
|
648
|
+
/** The resources one phase created, found, or failed to create. */
|
|
649
|
+
interface DeployJsonResources {
|
|
650
|
+
/** The resources this run created. */
|
|
651
|
+
readonly created: readonly string[];
|
|
652
|
+
/** The resources that already existed. */
|
|
653
|
+
readonly existing: readonly string[];
|
|
654
|
+
/** The resources whose creation failed. */
|
|
655
|
+
readonly failed: readonly string[];
|
|
656
|
+
/** The summary lines of the platform. */
|
|
657
|
+
readonly messages: readonly string[];
|
|
658
|
+
}
|
|
659
|
+
/** The migrations one database applied during the run. */
|
|
660
|
+
interface DeployJsonMigration {
|
|
661
|
+
/** The database name. */
|
|
662
|
+
readonly target: string;
|
|
663
|
+
/** When the apply ran: `pre-ship` or `post-ship`. */
|
|
664
|
+
readonly phase: string;
|
|
665
|
+
/** The migration ids the applier reported. drizzle-kit reports none. */
|
|
666
|
+
readonly applied: readonly string[];
|
|
667
|
+
/** Whether the apply failed. */
|
|
668
|
+
readonly failed: boolean;
|
|
669
|
+
}
|
|
670
|
+
/** The upload step of a deploy. */
|
|
671
|
+
interface DeployJsonShipResult {
|
|
672
|
+
/** The platform that handled the upload. */
|
|
673
|
+
readonly platform: string;
|
|
674
|
+
/** Whether an artifact was uploaded. `false` on a dry run and on the Node target. */
|
|
675
|
+
readonly shipped: boolean;
|
|
676
|
+
/** Whether the vendor rejected the upload. */
|
|
677
|
+
readonly failed: boolean;
|
|
678
|
+
/** The deployed URL, when the platform reported one. */
|
|
679
|
+
readonly url?: string;
|
|
680
|
+
/** The summary lines of the platform, for example the ship command of a dry run. */
|
|
681
|
+
readonly messages: readonly string[];
|
|
682
|
+
}
|
|
683
|
+
/** What the ship action did, or would do on a dry run. */
|
|
684
|
+
interface DeployJsonShip {
|
|
685
|
+
/** Whether the run ended without a successful ship. */
|
|
686
|
+
readonly halted: boolean;
|
|
687
|
+
/** The phases that started, in order (`preflight`, `build`, `provision`, `ship`, …). */
|
|
688
|
+
readonly phases: readonly DeployPhaseValue[];
|
|
689
|
+
/** Whether the run skipped `vp build` (`--skip-build`, or a host-managed build). */
|
|
690
|
+
readonly buildSkipped: boolean;
|
|
691
|
+
/** The deploy-ledger names the run injected into the build (from `heximon provision --save-ids`). */
|
|
692
|
+
readonly ledgerValues: readonly string[];
|
|
693
|
+
/** The databases `--migrate` applies, by name. */
|
|
694
|
+
readonly migrationTargets: readonly string[];
|
|
695
|
+
/** The required credentials the run did not have. A real run stops on them; a dry run reports them. */
|
|
696
|
+
readonly missingCredentials: readonly DeployJsonCredential[];
|
|
697
|
+
/** The `--create` target bootstrap, when it ran. */
|
|
698
|
+
readonly targetBootstrap?: DeployJsonResources;
|
|
699
|
+
/** The `--provision` phase, when it ran. */
|
|
700
|
+
readonly provision?: DeployJsonResources;
|
|
701
|
+
/** The migrations each database applied. */
|
|
702
|
+
readonly migrations: readonly DeployJsonMigration[];
|
|
703
|
+
/** The upload step, absent when the run stopped before it. */
|
|
704
|
+
readonly result?: DeployJsonShipResult;
|
|
705
|
+
/** The `--verify` liveness probe, when it ran. */
|
|
706
|
+
readonly verification?: {
|
|
707
|
+
readonly url: string;
|
|
708
|
+
readonly live: boolean;
|
|
709
|
+
};
|
|
710
|
+
/** The work that finished before a stop and was not rolled back. Empty when nothing ran. */
|
|
711
|
+
readonly completedBeforeHalt: readonly string[];
|
|
712
|
+
}
|
|
713
|
+
/** What the `--destroy` action did. */
|
|
714
|
+
interface DeployJsonDestroy {
|
|
715
|
+
/** The platform of the teardown. */
|
|
716
|
+
readonly platform: string;
|
|
717
|
+
/** Whether the platform has no teardown step. */
|
|
718
|
+
readonly unsupported: boolean;
|
|
719
|
+
/** Whether the app was removed. `false` on a dry run. */
|
|
720
|
+
readonly destroyed: boolean;
|
|
721
|
+
/** The summary lines of the platform. */
|
|
722
|
+
readonly messages: readonly string[];
|
|
723
|
+
}
|
|
724
|
+
/**
|
|
725
|
+
* The `heximon deploy --json` document. The command sets the run fields on every document it writes; each
|
|
726
|
+
* section is present once the run reached it.
|
|
727
|
+
*/
|
|
728
|
+
interface DeployJsonDocument extends CliJsonDocument {
|
|
729
|
+
/** `ship` for a deploy, `destroy` for `--destroy`. */
|
|
730
|
+
readonly action: DeployAction;
|
|
731
|
+
/** The deploy environment (`--env`). */
|
|
732
|
+
readonly environment: string;
|
|
733
|
+
/** Whether the run was a dry run: nothing was uploaded or removed. */
|
|
734
|
+
readonly dryRun: boolean;
|
|
735
|
+
/** The resolved target, absent when the run stopped before it resolved. */
|
|
736
|
+
readonly target?: DeployJsonTarget;
|
|
737
|
+
/** The credential variables the run resolved, by name. Values never appear. */
|
|
738
|
+
readonly credentials?: readonly string[];
|
|
739
|
+
/** The ship action, when it ran. */
|
|
740
|
+
readonly ship?: DeployJsonShip;
|
|
741
|
+
/** The `--destroy` action, when it ran. */
|
|
742
|
+
readonly destroy?: DeployJsonDestroy;
|
|
743
|
+
}
|
|
744
|
+
//#endregion
|
|
745
|
+
//#region src/doctor-json-document.d.ts
|
|
746
|
+
/** Which audit set one `heximon doctor` run ran. */
|
|
747
|
+
declare const DoctorMode: {
|
|
748
|
+
/** The default run: the audits of an app and the libraries it consumes. */
|
|
749
|
+
readonly App: "app";
|
|
750
|
+
/** `--self`: the pre-publish check of the current library package. */
|
|
751
|
+
readonly Self: "self";
|
|
752
|
+
};
|
|
753
|
+
/** One of the {@link DoctorMode} values. */
|
|
754
|
+
type DoctorMode = (typeof DoctorMode)[keyof typeof DoctorMode];
|
|
755
|
+
/** The verdict on one audited package in a {@link DoctorJsonDocument}. */
|
|
756
|
+
declare const DoctorPackageStatus: {
|
|
757
|
+
/** The packed manifest matches the local source of the package. */
|
|
758
|
+
readonly Fresh: "fresh";
|
|
759
|
+
/**
|
|
760
|
+
* The local source changed since the last pack, some recorded source is gone, or a file the bundle read outside
|
|
761
|
+
* the source changed or is gone.
|
|
762
|
+
*/
|
|
763
|
+
readonly Stale: "stale";
|
|
764
|
+
/** The packed manifest has no provenance stamp, so nothing was compared. */
|
|
765
|
+
readonly NoProvenance: "no-provenance";
|
|
766
|
+
/** The package has no local source (a published package), so nothing was compared. */
|
|
767
|
+
readonly NoSource: "no-source";
|
|
768
|
+
/** The package resolves to more than one physical copy. */
|
|
769
|
+
readonly Fork: "fork";
|
|
770
|
+
};
|
|
771
|
+
/** One of the {@link DoctorPackageStatus} values. */
|
|
772
|
+
type DoctorPackageStatus = (typeof DoctorPackageStatus)[keyof typeof DoctorPackageStatus];
|
|
773
|
+
/** The outcome of the physical-copy census in a {@link DoctorJsonDocument}. */
|
|
774
|
+
declare const DoctorCopyCensusStatus: {
|
|
775
|
+
/** Every probed package resolves to one copy. */
|
|
776
|
+
readonly SingleCopies: "single-copies";
|
|
777
|
+
/** At least one probed package resolves to more than one copy. */
|
|
778
|
+
readonly Forked: "forked";
|
|
779
|
+
/** The census ran but found no `node_modules` to resolve from, so it could not look. */
|
|
780
|
+
readonly NothingProbed: "nothing-probed";
|
|
781
|
+
/** `--self` found no pnpm workspace, so the census did not run. */
|
|
782
|
+
readonly NotRun: "not-run";
|
|
783
|
+
};
|
|
784
|
+
/** One of the {@link DoctorCopyCensusStatus} values. */
|
|
785
|
+
type DoctorCopyCensusStatus = (typeof DoctorCopyCensusStatus)[keyof typeof DoctorCopyCensusStatus];
|
|
786
|
+
/**
|
|
787
|
+
* The stable codes of the `heximon doctor` diagnostics. A `heximon.config.ts` that `--self` cannot load is the
|
|
788
|
+
* shared `cli.config-unreadable`, as a warning: the run goes on without its `expectedOpenPeers`.
|
|
789
|
+
*/
|
|
790
|
+
declare const DoctorDiagnosticCode: {
|
|
791
|
+
/** `@heximon/*` cannot be read from GitHub Packages. Error. */
|
|
792
|
+
readonly RegistryAccessFailed: "doctor.registry-access-failed";
|
|
793
|
+
/** A packed library no longer matches its local source. Error. */
|
|
794
|
+
readonly StalePackage: "doctor.stale-package";
|
|
795
|
+
/** A package resolves to more than one physical copy. Error when it fails the run, else warning. */
|
|
796
|
+
readonly PackageFork: "doctor.package-fork";
|
|
797
|
+
/** The copy census found nothing to resolve from. Warning. */
|
|
798
|
+
readonly CopiesNotProbed: "doctor.copies-not-probed";
|
|
799
|
+
/** The deployed wrangler config does not carry the tracing directives. Warning. */
|
|
800
|
+
readonly PlatformTracingNotCarried: "doctor.platform-tracing-not-carried";
|
|
801
|
+
/** A `@heximon/*` peer of the dependency closure is declared nowhere in `package.json`. Warning. */
|
|
802
|
+
readonly PeerPivotUndeclared: "doctor.peer-pivot-undeclared";
|
|
803
|
+
/** An `expectedOpenPeers` name matches no undeclared peer. Warning. */
|
|
804
|
+
readonly StalePeerAcknowledgement: "doctor.stale-peer-acknowledgement";
|
|
805
|
+
};
|
|
806
|
+
/** One of the {@link DoctorDiagnosticCode} values. */
|
|
807
|
+
type DoctorDiagnosticCode = (typeof DoctorDiagnosticCode)[keyof typeof DoctorDiagnosticCode];
|
|
808
|
+
/** The registry-access probe of a {@link DoctorJsonDocument}. */
|
|
809
|
+
interface DoctorRegistryResult {
|
|
810
|
+
/** The registry the probe read from. */
|
|
811
|
+
readonly registry: string;
|
|
812
|
+
/** The package the probe asked for. */
|
|
813
|
+
readonly probePackage: string;
|
|
814
|
+
/** The verdict of the probe. */
|
|
815
|
+
readonly status: RegistryAccessStatus;
|
|
816
|
+
/** The raw `npm view` output behind the verdict, when there is any. */
|
|
817
|
+
readonly detail?: string;
|
|
818
|
+
/** The steps that fix the access, as text lines. Absent when the status is `ok`. */
|
|
819
|
+
readonly instructions?: string;
|
|
820
|
+
}
|
|
821
|
+
/** One physical copy of a forked package. */
|
|
822
|
+
interface DoctorPackageCopy {
|
|
823
|
+
/** The real package directory of the copy. */
|
|
824
|
+
readonly directory: string;
|
|
825
|
+
/** The `version` of the copy, when its `package.json` can be read. */
|
|
826
|
+
readonly version?: string;
|
|
827
|
+
/** Who resolves to this copy (`the app`, `this package`, or a package name). */
|
|
828
|
+
readonly origins: readonly string[];
|
|
829
|
+
}
|
|
830
|
+
/**
|
|
831
|
+
* One audited package. A staleness verdict and a fork are separate entries, so a stale library that also forks
|
|
832
|
+
* appears twice: once with its staleness status and once with `fork`.
|
|
833
|
+
*/
|
|
834
|
+
interface DoctorPackageResult {
|
|
835
|
+
/** The package name, or the bare specifier the app imports a consumed library under. */
|
|
836
|
+
readonly name: string;
|
|
837
|
+
/** The verdict. */
|
|
838
|
+
readonly status: DoctorPackageStatus;
|
|
839
|
+
/** Why the package has this status. */
|
|
840
|
+
readonly reason: string;
|
|
841
|
+
/** How to fix the package, as text. Absent when there is nothing to fix. */
|
|
842
|
+
readonly hint?: string;
|
|
843
|
+
/** The shell command that fixes the package. Absent when no single command fixes it. */
|
|
844
|
+
readonly fix?: string;
|
|
845
|
+
/** Whether this entry is the package `--self` audits. */
|
|
846
|
+
readonly self: boolean;
|
|
847
|
+
/** Whether this entry fails the run. */
|
|
848
|
+
readonly failing: boolean;
|
|
849
|
+
/** The packed `package.json` version, for a staleness entry. */
|
|
850
|
+
readonly version?: string;
|
|
851
|
+
/** The real package directory, for a staleness entry. */
|
|
852
|
+
readonly directory?: string;
|
|
853
|
+
/** The source fingerprint the packed manifest recorded. */
|
|
854
|
+
readonly manifestSourceHash?: string;
|
|
855
|
+
/** The source fingerprint computed from the local source now. */
|
|
856
|
+
readonly recomputedSourceHash?: string;
|
|
857
|
+
/** The recorded source folders and files that are no longer on disk. */
|
|
858
|
+
readonly missingSource?: readonly string[];
|
|
859
|
+
/** The current source directory, when the source moved since the pack. */
|
|
860
|
+
readonly currentSource?: string;
|
|
861
|
+
/** The hash of the files the bundle read outside the source, as the packed manifest recorded it. */
|
|
862
|
+
readonly manifestBundleInputHash?: string;
|
|
863
|
+
/** That hash recomputed from the files now, when the source matched and every file is on disk. */
|
|
864
|
+
readonly recomputedBundleInputHash?: string;
|
|
865
|
+
/** The recorded bundle inputs (package-relative) that are no longer on disk. */
|
|
866
|
+
readonly missingBundleInputs?: readonly string[];
|
|
867
|
+
/** Every physical copy, for a `fork` entry. */
|
|
868
|
+
readonly copies?: readonly DoctorPackageCopy[];
|
|
869
|
+
}
|
|
870
|
+
/** The physical-copy census of a {@link DoctorJsonDocument}. */
|
|
871
|
+
interface DoctorCopyCensusResult {
|
|
872
|
+
/** The outcome. */
|
|
873
|
+
readonly status: DoctorCopyCensusStatus;
|
|
874
|
+
/** How many origins the census resolved from. Zero means it could not look. */
|
|
875
|
+
readonly originsProbed: number;
|
|
876
|
+
/** How many package names the census probed. */
|
|
877
|
+
readonly packagesProbed: number;
|
|
878
|
+
/** How many probed packages resolve to more than one copy. Each one is a `fork` entry in `packages`. */
|
|
879
|
+
readonly forkedPackages: number;
|
|
880
|
+
/** The pnpm workspace root, with `--self` when one was found. */
|
|
881
|
+
readonly workspaceRoot?: string;
|
|
882
|
+
/** The names of the in-workspace consumers, with `--self` when a workspace was found. */
|
|
883
|
+
readonly consumers?: readonly string[];
|
|
884
|
+
}
|
|
885
|
+
/** The platform-tracing check of a {@link DoctorJsonDocument}. */
|
|
886
|
+
interface DoctorPlatformTracingResult {
|
|
887
|
+
/** `not-applicable` when there is nothing to check, `carried` when the config is correct, else `not-carried`. */
|
|
888
|
+
readonly status: PlatformTracingStatusValue;
|
|
889
|
+
/** The committed wrangler config that wrangler reads, when the project commits one. */
|
|
890
|
+
readonly wranglerConfigPath?: string;
|
|
891
|
+
/** Whether that config does not set `observability.traces.enabled` to `true`. */
|
|
892
|
+
readonly tracingNotEnabled: boolean;
|
|
893
|
+
/** The configured `otel.samplerRatio` that no `head_sampling_rate` in that config carries. */
|
|
894
|
+
readonly droppedSamplerRatio?: number;
|
|
895
|
+
}
|
|
896
|
+
/** One `@heximon/*` peer that some package of the dependency closure declares. */
|
|
897
|
+
interface DoctorPeerPivot {
|
|
898
|
+
/** The peer package name. */
|
|
899
|
+
readonly packageName: string;
|
|
900
|
+
/** The closure packages that declare it as a peer. */
|
|
901
|
+
readonly declaredBy: readonly string[];
|
|
902
|
+
}
|
|
903
|
+
/** The `--self` peer-closure roster of a {@link DoctorJsonDocument}. Advisory: it never fails the run. */
|
|
904
|
+
interface DoctorPeerClosureResult {
|
|
905
|
+
/** Every `@heximon/*` package of the installed dependency closure. */
|
|
906
|
+
readonly closurePackages: readonly string[];
|
|
907
|
+
/** Every `@heximon/*` peer that a closure package declares. */
|
|
908
|
+
readonly pivots: readonly DoctorPeerPivot[];
|
|
909
|
+
/** The pivots that `package.json` declares nowhere and `expectedOpenPeers` does not name. */
|
|
910
|
+
readonly uncovered: readonly DoctorPeerPivot[];
|
|
911
|
+
/** The pivots that `expectedOpenPeers` names. */
|
|
912
|
+
readonly expectedOpen: readonly DoctorPeerPivot[];
|
|
913
|
+
/** The `expectedOpenPeers` names that match no undeclared pivot. */
|
|
914
|
+
readonly staleExpectedOpen: readonly string[];
|
|
915
|
+
}
|
|
916
|
+
/** The `heximon doctor --json` document. `ok` is `false` exactly when the run exits 1. */
|
|
917
|
+
interface DoctorJsonDocument extends CliJsonDocument {
|
|
918
|
+
/** Which audit set ran. */
|
|
919
|
+
readonly mode: DoctorMode;
|
|
920
|
+
/** The absolute project root the audits read. */
|
|
921
|
+
readonly rootDir: string;
|
|
922
|
+
/** The registry-access probe. */
|
|
923
|
+
readonly registry: DoctorRegistryResult;
|
|
924
|
+
/** Every audited package: each staleness verdict and each fork. */
|
|
925
|
+
readonly packages: readonly DoctorPackageResult[];
|
|
926
|
+
/** The physical-copy census. */
|
|
927
|
+
readonly packageCopies: DoctorCopyCensusResult;
|
|
928
|
+
/** The platform-tracing check. Present only in the `app` mode. */
|
|
929
|
+
readonly platformTracing?: DoctorPlatformTracingResult;
|
|
930
|
+
/** The peer-closure roster. Present only in the `self` mode, when `package.json` can be read. */
|
|
931
|
+
readonly peerClosure?: DoctorPeerClosureResult;
|
|
932
|
+
/** Whether the package has a packed manifest to compare. Present only in the `self` mode. */
|
|
933
|
+
readonly packed?: boolean;
|
|
934
|
+
/** The closing sentence of the text report. */
|
|
935
|
+
readonly summary: string;
|
|
936
|
+
}
|
|
937
|
+
//#endregion
|
|
938
|
+
//#region src/module-graph-report.d.ts
|
|
939
|
+
/** A cross-package boundary node summarized for the graph report — its factory plus its `requires`/`exports` tokens. */
|
|
940
|
+
interface BoundarySummary {
|
|
941
|
+
/** The package's bare specifier (e.g. `@acme/billing`). */
|
|
942
|
+
readonly specifier: string;
|
|
943
|
+
/** The `create<Module>` factory export the app calls. */
|
|
944
|
+
readonly factory: string;
|
|
945
|
+
/** The tokens the boundary requires the host to supply, by name. */
|
|
946
|
+
readonly requires: readonly string[];
|
|
947
|
+
/** The tokens the boundary exposes to the host, by name. */
|
|
948
|
+
readonly exports: readonly string[];
|
|
949
|
+
}
|
|
950
|
+
//#endregion
|
|
951
|
+
//#region src/graph-json-document.d.ts
|
|
952
|
+
/** The stable codes of the failures `heximon graph` raises itself. */
|
|
953
|
+
declare const GraphDiagnosticCode: {
|
|
954
|
+
/** The compile threw before the command could read a module graph. */
|
|
955
|
+
readonly ReadFailed: "graph.read-failed";
|
|
956
|
+
/** The `--out` file could not be written. */
|
|
957
|
+
readonly OutWriteFailed: "graph.out-write-failed";
|
|
958
|
+
};
|
|
959
|
+
/** One of the {@link GraphDiagnosticCode} values. */
|
|
960
|
+
type GraphDiagnosticCode = (typeof GraphDiagnosticCode)[keyof typeof GraphDiagnosticCode];
|
|
961
|
+
/**
|
|
962
|
+
* The `heximon graph --json` document, and the content of its `--out` file. A compile with errors keeps the
|
|
963
|
+
* graph it could build, with `ok: false`. A run that read no graph at all prints a {@link CliFailureDocument}.
|
|
964
|
+
*/
|
|
965
|
+
interface GraphJsonDocument extends CliJsonDocument {
|
|
966
|
+
/** Each module of the app (or each published root of a package) over its providers and their dependencies. */
|
|
967
|
+
readonly modules: ModuleGraphView["modules"];
|
|
968
|
+
/** The cross-package boundary nodes the app composes. Present only with `--boundaries` and at least one node. */
|
|
969
|
+
readonly boundaries?: readonly BoundarySummary[];
|
|
970
|
+
/** How many error diagnostics the compile has. More than zero means the graph can be incomplete. */
|
|
971
|
+
readonly errors: number;
|
|
972
|
+
}
|
|
973
|
+
//#endregion
|
|
974
|
+
//#region src/migrations-json-document.d.ts
|
|
975
|
+
/** The stable codes of the failures and warnings `heximon migrations` raises itself. */
|
|
976
|
+
declare const MigrationsDiagnosticCode: {
|
|
977
|
+
/** No drizzle-kit config was detected, and `--config` was not given. */
|
|
978
|
+
readonly NoConfig: "migrations.no-config";
|
|
979
|
+
/** A candidate config file could not be loaded. A warning beside {@link NoConfig}; `file` names it. */
|
|
980
|
+
readonly ConfigLoadFailed: "migrations.config-load-failed";
|
|
981
|
+
/** The `--env-file` cannot be read. */
|
|
982
|
+
readonly EnvFileUnreadable: "migrations.env-file-unreadable";
|
|
983
|
+
/** `drizzle-kit` exited with a non-zero status for one database. */
|
|
984
|
+
readonly DrizzleKitFailed: "migrations.drizzle-kit-failed";
|
|
985
|
+
/** `drizzle-kit` could not start, for example because it is not installed. The run stops there. */
|
|
986
|
+
readonly DrizzleKitNotStarted: "migrations.drizzle-kit-not-started";
|
|
987
|
+
/** A Cloudflare D1 database was not migrated: `wrangler d1 migrations apply` applies it. A warning. */
|
|
988
|
+
readonly D1ApplySkipped: "migrations.d1-apply-skipped";
|
|
989
|
+
};
|
|
990
|
+
/** One of the {@link MigrationsDiagnosticCode} values. */
|
|
991
|
+
type MigrationsDiagnosticCode = (typeof MigrationsDiagnosticCode)[keyof typeof MigrationsDiagnosticCode];
|
|
992
|
+
/** What happened to one database in a `generate`, `migrate` or `push` run. */
|
|
993
|
+
declare const MigrationsStepStatus: {
|
|
994
|
+
/** `drizzle-kit` exited 0. */
|
|
995
|
+
readonly Succeeded: "succeeded";
|
|
996
|
+
/** `drizzle-kit` exited with a non-zero status. */
|
|
997
|
+
readonly Failed: "failed";
|
|
998
|
+
/** `drizzle-kit` could not start. The run stopped, and the databases after this one have no entry. */
|
|
999
|
+
readonly NotStarted: "not-started";
|
|
1000
|
+
/** The command did not run `drizzle-kit` for this database; {@link MigrationsStepEntry.reason} says why. */
|
|
1001
|
+
readonly Skipped: "skipped";
|
|
1002
|
+
};
|
|
1003
|
+
/** One of the {@link MigrationsStepStatus} values. */
|
|
1004
|
+
type MigrationsStepStatus = (typeof MigrationsStepStatus)[keyof typeof MigrationsStepStatus];
|
|
1005
|
+
/** One drizzle-kit config the command acted on. */
|
|
1006
|
+
interface MigrationsDatabaseView {
|
|
1007
|
+
/** The basename of the config file, for example `database.config.ts`. */
|
|
1008
|
+
readonly name: string;
|
|
1009
|
+
/** The absolute path of the config file, the `drizzle-kit --config` target. */
|
|
1010
|
+
readonly configPath: string;
|
|
1011
|
+
/** The drizzle-kit dialect of the config, or `unknown` for a `--config` file that could not be loaded. */
|
|
1012
|
+
readonly dialect: string;
|
|
1013
|
+
/** The drizzle-kit driver, when the config sets one (`d1-http`, `durable-sqlite`, …). */
|
|
1014
|
+
readonly driver?: string;
|
|
1015
|
+
/** How `migrate` applies this database: `drizzle-kit`, `wrangler-d1` or `skip`. */
|
|
1016
|
+
readonly applyMode: DatabaseApplyModeValue;
|
|
1017
|
+
/** The migrations folder of the config (its `out`, else `drizzle`), relative to the project root. */
|
|
1018
|
+
readonly migrationsDirectory: string;
|
|
1019
|
+
}
|
|
1020
|
+
/**
|
|
1021
|
+
* The captured result of one `drizzle-kit` run. The password of any URL with userinfo, any `password=` query
|
|
1022
|
+
* parameter, each `dbCredentials` secret of the configs, and each `--env-file` value of 8 characters or more are
|
|
1023
|
+
* replaced with `***`.
|
|
1024
|
+
*/
|
|
1025
|
+
interface MigrationsDrizzleKitResult {
|
|
1026
|
+
/** The exit status of `drizzle-kit`; `-1` when a signal stopped it. */
|
|
1027
|
+
readonly exitCode: number;
|
|
1028
|
+
/** What `drizzle-kit` wrote to its stdout. */
|
|
1029
|
+
readonly stdout: string;
|
|
1030
|
+
/** What `drizzle-kit` wrote to its stderr. */
|
|
1031
|
+
readonly stderr: string;
|
|
1032
|
+
}
|
|
1033
|
+
/** One database of a `generate`, `migrate` or `push` run. */
|
|
1034
|
+
interface MigrationsStepEntry extends MigrationsDatabaseView {
|
|
1035
|
+
/** What happened to the database. */
|
|
1036
|
+
readonly status: MigrationsStepStatus;
|
|
1037
|
+
/** Why the database was skipped, or why `drizzle-kit` could not start. */
|
|
1038
|
+
readonly reason?: string;
|
|
1039
|
+
/** The `drizzle-kit` result, when it ran. */
|
|
1040
|
+
readonly drizzleKit?: MigrationsDrizzleKitResult;
|
|
1041
|
+
}
|
|
1042
|
+
/** One database of a `generate` run. */
|
|
1043
|
+
interface MigrationsGenerateEntry extends MigrationsStepEntry {
|
|
1044
|
+
/** The `.sql` files the run added to {@link migrationsDirectory}, relative to it, sorted. */
|
|
1045
|
+
readonly generatedFiles: readonly string[];
|
|
1046
|
+
}
|
|
1047
|
+
/** One database of a `status` run. */
|
|
1048
|
+
interface MigrationsStatusEntry extends MigrationsDatabaseView {
|
|
1049
|
+
/** Every `.sql` file in {@link migrationsDirectory}, relative to it, sorted. Applied or not is unknown. */
|
|
1050
|
+
readonly migrations: readonly string[];
|
|
1051
|
+
}
|
|
1052
|
+
/** The `heximon migrations generate --json` document. */
|
|
1053
|
+
interface MigrationsGenerateJsonDocument extends CliJsonDocument {
|
|
1054
|
+
/** The absolute project root. */
|
|
1055
|
+
readonly rootDir: string;
|
|
1056
|
+
/** One entry for each database the run acted on, in run order. */
|
|
1057
|
+
readonly databases: readonly MigrationsGenerateEntry[];
|
|
1058
|
+
}
|
|
1059
|
+
/** The `heximon migrations migrate --json` document. */
|
|
1060
|
+
interface MigrationsMigrateJsonDocument extends CliJsonDocument {
|
|
1061
|
+
/** The absolute project root. */
|
|
1062
|
+
readonly rootDir: string;
|
|
1063
|
+
/** One entry for each database the run acted on, in run order. */
|
|
1064
|
+
readonly databases: readonly MigrationsStepEntry[];
|
|
1065
|
+
}
|
|
1066
|
+
/** The `heximon migrations push --json` document. */
|
|
1067
|
+
interface MigrationsPushJsonDocument extends CliJsonDocument {
|
|
1068
|
+
/** The absolute project root. */
|
|
1069
|
+
readonly rootDir: string;
|
|
1070
|
+
/** One entry for each database the run pushed to, in run order. */
|
|
1071
|
+
readonly databases: readonly MigrationsStepEntry[];
|
|
1072
|
+
}
|
|
1073
|
+
/** The `heximon migrations status --json` document. It reads the files on disk only, never the database. */
|
|
1074
|
+
interface MigrationsStatusJsonDocument extends CliJsonDocument {
|
|
1075
|
+
/** The absolute project root. */
|
|
1076
|
+
readonly rootDir: string;
|
|
1077
|
+
/** One entry for each selected database. */
|
|
1078
|
+
readonly databases: readonly MigrationsStatusEntry[];
|
|
1079
|
+
}
|
|
1080
|
+
//#endregion
|
|
1081
|
+
//#region src/provision-json-document.d.ts
|
|
1082
|
+
/**
|
|
1083
|
+
* The stable codes of the `heximon provision --json` diagnostics. `--profile` uses `cli.invalid-options`,
|
|
1084
|
+
* and a missing credential uses `cli.option-required`.
|
|
1085
|
+
*/
|
|
1086
|
+
declare const ProvisionDiagnosticCode: {
|
|
1087
|
+
/** The platform has no foundational resources to provision. */
|
|
1088
|
+
readonly Unsupported: "provision.unsupported";
|
|
1089
|
+
/** One or more resources failed to provision; `result.failed` names them. */
|
|
1090
|
+
readonly Failed: "provision.failed";
|
|
1091
|
+
/** No deploy strategy is installed for the platform. */
|
|
1092
|
+
readonly StrategyUnavailable: "provision.strategy-unavailable";
|
|
1093
|
+
/** A Nitro or Nuxt build uses a preset that the deploy cannot ship. */
|
|
1094
|
+
readonly HostManagedUnsupported: "provision.host-managed-unsupported";
|
|
1095
|
+
};
|
|
1096
|
+
/** One of the {@link ProvisionDiagnosticCode} values. */
|
|
1097
|
+
type ProvisionDiagnosticCode = (typeof ProvisionDiagnosticCode)[keyof typeof ProvisionDiagnosticCode];
|
|
1098
|
+
/** A resource the run created, with the id the app records. */
|
|
1099
|
+
interface ProvisionJsonResource {
|
|
1100
|
+
/** The app-facing name, for example the Hyperdrive binding `HYPERDRIVE`. */
|
|
1101
|
+
readonly resource: string;
|
|
1102
|
+
/** The id the platform returned. */
|
|
1103
|
+
readonly id: string;
|
|
1104
|
+
/** The environment variable the build reads the id from, when the resource has one. */
|
|
1105
|
+
readonly envVar?: string;
|
|
1106
|
+
}
|
|
1107
|
+
/** What the provisioning did, or would do on a dry run. */
|
|
1108
|
+
interface ProvisionJsonResult {
|
|
1109
|
+
/** The platform that handled it. */
|
|
1110
|
+
readonly platform: string;
|
|
1111
|
+
/** The resources this run created. Empty on a dry run. */
|
|
1112
|
+
readonly provisioned: readonly ProvisionJsonResource[];
|
|
1113
|
+
/** The resources that already have an id. */
|
|
1114
|
+
readonly existing: readonly string[];
|
|
1115
|
+
/** The resources whose creation failed. */
|
|
1116
|
+
readonly failed: readonly string[];
|
|
1117
|
+
/** The summary lines of the platform; a dry run names each resource it would create here. */
|
|
1118
|
+
readonly messages: readonly string[];
|
|
1119
|
+
}
|
|
1120
|
+
/** The `heximon provision --json` document. */
|
|
1121
|
+
interface ProvisionJsonDocument extends CliJsonDocument {
|
|
1122
|
+
/** The deploy environment (`--env`). */
|
|
1123
|
+
readonly environment: string;
|
|
1124
|
+
/** Whether the run was a dry run: nothing was created. */
|
|
1125
|
+
readonly dryRun: boolean;
|
|
1126
|
+
/** The resolved target, absent when the run stopped before it resolved. */
|
|
1127
|
+
readonly target?: DeployJsonTarget;
|
|
1128
|
+
/** The credential variables the run resolved, by name. Values never appear. */
|
|
1129
|
+
readonly credentials?: readonly string[];
|
|
1130
|
+
/** The provisioning result, absent when the platform has nothing to provision. */
|
|
1131
|
+
readonly result?: ProvisionJsonResult;
|
|
1132
|
+
/** Where `--save-ids` recorded the created ids, and their variable names. */
|
|
1133
|
+
readonly savedIds?: {
|
|
1134
|
+
readonly path: string;
|
|
1135
|
+
readonly names: readonly string[];
|
|
1136
|
+
};
|
|
1137
|
+
}
|
|
1138
|
+
//#endregion
|
|
1139
|
+
//#region src/routes-json-document.d.ts
|
|
1140
|
+
/** The stable codes of the failures `heximon routes` raises itself. */
|
|
1141
|
+
declare const RoutesDiagnosticCode: {
|
|
1142
|
+
/** The compile threw before the command could read a route census. */
|
|
1143
|
+
readonly ReadFailed: "routes.read-failed";
|
|
1144
|
+
/** `--boot` could not load or boot the app. A compile error of the boot gives the compiler diagnostics instead. */
|
|
1145
|
+
readonly BootFailed: "routes.boot-failed";
|
|
1146
|
+
/** `--boot` booted the app, but its live route table could not be read. */
|
|
1147
|
+
readonly TableUnreadable: "routes.table-unreadable";
|
|
1148
|
+
/** `--boot` read the route table, but the booted app did not dispose cleanly; a client can still be open. */
|
|
1149
|
+
readonly DisposeFailed: "routes.dispose-failed";
|
|
1150
|
+
/** The `--out` file could not be written. */
|
|
1151
|
+
readonly OutWriteFailed: "routes.out-write-failed";
|
|
1152
|
+
};
|
|
1153
|
+
/** One of the {@link RoutesDiagnosticCode} values. */
|
|
1154
|
+
type RoutesDiagnosticCode = (typeof RoutesDiagnosticCode)[keyof typeof RoutesDiagnosticCode];
|
|
1155
|
+
/**
|
|
1156
|
+
* The `heximon routes --json` document (also with `--boot`), and the content of its `--out` file. A run that
|
|
1157
|
+
* read no route table prints a {@link CliFailureDocument}. A successful compile-time read lists no compile warning,
|
|
1158
|
+
* so the document stays free of file paths and two runs of the same source give the same bytes.
|
|
1159
|
+
*/
|
|
1160
|
+
interface RoutesJsonDocument extends CliJsonDocument {
|
|
1161
|
+
/** Every route the app serves, with the authorization scopes it enforces. */
|
|
1162
|
+
readonly routes: readonly RouteCensusRow[];
|
|
1163
|
+
/** The controllers or packages whose routes the compile-time census could not name; `[]` under `--boot`. */
|
|
1164
|
+
readonly unresolved: readonly RouteCensusGap[];
|
|
1165
|
+
/** Which scope enforcer checks each module's routes. Absent when nothing checks any route's scopes. */
|
|
1166
|
+
readonly scopeEnforcement?: RouteCensusScopeEnforcement;
|
|
1167
|
+
}
|
|
1168
|
+
//#endregion
|
|
306
1169
|
//#region src/skill-installer.d.ts
|
|
307
|
-
/** One installed skill: its name and how many files were written. */
|
|
1170
|
+
/** One installed skill: its name, where it was written, and how many files were written. */
|
|
308
1171
|
interface InstalledSkill {
|
|
1172
|
+
/** The skill name from the source's index. */
|
|
309
1173
|
readonly name: string;
|
|
1174
|
+
/** The absolute directory of the skill, `<project>/.agents/skills/<name>`. */
|
|
1175
|
+
readonly directory: string;
|
|
1176
|
+
/** How many files of the skill were written. */
|
|
310
1177
|
readonly fileCount: number;
|
|
311
1178
|
}
|
|
312
1179
|
/**
|
|
@@ -402,4 +1269,130 @@ export declare abstract class SkillSources {
|
|
|
402
1269
|
*/
|
|
403
1270
|
export declare const skillsCommand: CommandDef;
|
|
404
1271
|
//#endregion
|
|
405
|
-
|
|
1272
|
+
//#region src/task-run-json-document.d.ts
|
|
1273
|
+
/** The stable codes of the failures `heximon task run --json` reports. */
|
|
1274
|
+
declare const TaskDiagnosticCode: {
|
|
1275
|
+
/** The `run()` of the task threw. The run exits 2, and the document names the error. */
|
|
1276
|
+
readonly TaskFailed: "task.failed";
|
|
1277
|
+
/** No module or no task of the compiled graph has the name, or the source file does not export the class. */
|
|
1278
|
+
readonly TargetNotFound: "task.target-not-found";
|
|
1279
|
+
/** More than one module, or more than one task of the module, has the name. */
|
|
1280
|
+
readonly TargetAmbiguous: "task.target-ambiguous";
|
|
1281
|
+
/** The named class has no `run()` method. */
|
|
1282
|
+
readonly NotATask: "task.not-a-task";
|
|
1283
|
+
/** The production compile failed. The compiler diagnostics are in the same document. */
|
|
1284
|
+
readonly CompileFailed: "task.compile-failed";
|
|
1285
|
+
/** The project has no app: the compile gave no module graph, or no wiring file. */
|
|
1286
|
+
readonly AppNotFound: "task.app-not-found";
|
|
1287
|
+
/** A Nitro option is computed, so the command cannot read the preset or the source directories. */
|
|
1288
|
+
readonly NitroConfigComputed: "task.nitro-config-computed";
|
|
1289
|
+
/** A packed library that the app imports does not have the factories a production build needs. */
|
|
1290
|
+
readonly LibraryPreflightFailed: "task.library-preflight-failed";
|
|
1291
|
+
/** The graph needs bindings that only its platform has, so nothing was booted. */
|
|
1292
|
+
readonly PlatformBindingsRequired: "task.platform-bindings-required";
|
|
1293
|
+
/** The `@heximon/runtime` of the project is older than the command. */
|
|
1294
|
+
readonly RuntimeOutdated: "task.runtime-outdated";
|
|
1295
|
+
/** The app did not boot. The stack is on stderr. */
|
|
1296
|
+
readonly BootFailed: "task.boot-failed";
|
|
1297
|
+
/** The app could not create the task. */
|
|
1298
|
+
readonly CreateFailed: "task.create-failed";
|
|
1299
|
+
/** The frame of the task did not open, or a context seed threw before `run()`. */
|
|
1300
|
+
readonly StartFailed: "task.start-failed";
|
|
1301
|
+
/** The task returned a value that is not JSON. */
|
|
1302
|
+
readonly ResultNotJson: "task.result-not-json";
|
|
1303
|
+
/** The app did not shut down cleanly after the run. */
|
|
1304
|
+
readonly ShutdownFailed: "task.shutdown-failed";
|
|
1305
|
+
};
|
|
1306
|
+
/** One of the {@link TaskDiagnosticCode} values. */
|
|
1307
|
+
type TaskDiagnosticCode = (typeof TaskDiagnosticCode)[keyof typeof TaskDiagnosticCode];
|
|
1308
|
+
/** The error a task threw, named as the text error line of `heximon task run` names it. */
|
|
1309
|
+
interface TaskRunError {
|
|
1310
|
+
/** The error name, or the class name when the class keeps the generic `Error` name. */
|
|
1311
|
+
readonly name: string;
|
|
1312
|
+
/** The error message. */
|
|
1313
|
+
readonly message: string;
|
|
1314
|
+
}
|
|
1315
|
+
/**
|
|
1316
|
+
* The `heximon task run --json` document. A run that stops before the compile (a bad `--payload` or
|
|
1317
|
+
* `--env-file`, a child process that did not start, an unexpected error) prints a {@link CliFailureDocument}.
|
|
1318
|
+
*/
|
|
1319
|
+
interface TaskRunJsonDocument extends CliJsonDocument {
|
|
1320
|
+
/** The module class name the run named. */
|
|
1321
|
+
readonly module: string;
|
|
1322
|
+
/** The task class name the run named. */
|
|
1323
|
+
readonly task: string;
|
|
1324
|
+
/** The `result` of the `TaskResult` the task returned; absent when the task returned none. */
|
|
1325
|
+
readonly result?: unknown;
|
|
1326
|
+
/** The error the task threw; present only with {@link TaskDiagnosticCode.TaskFailed}. */
|
|
1327
|
+
readonly error?: TaskRunError;
|
|
1328
|
+
}
|
|
1329
|
+
//#endregion
|
|
1330
|
+
//#region src/workflow-status-report.d.ts
|
|
1331
|
+
/** How one workflow's current step graph relates to the committed baseline gate. */
|
|
1332
|
+
declare const WorkflowBaselineState: {
|
|
1333
|
+
/** The committed snapshot matches the current graph — the gate is armed and clean. */
|
|
1334
|
+
readonly InSync: "in-sync";
|
|
1335
|
+
/**
|
|
1336
|
+
* The committed sites are an exact prefix of the current ones — the append-only change the upgrade check
|
|
1337
|
+
* accepts. In-flight runs replay through the recorded prefix unchanged.
|
|
1338
|
+
*/
|
|
1339
|
+
readonly Appended: "appended";
|
|
1340
|
+
/** The committed snapshot differs — `heximon check` gates the deploy until the change is re-acknowledged. */
|
|
1341
|
+
readonly Diverged: "diverged";
|
|
1342
|
+
/** No committed snapshot for this workflow — the gate is unarmed until `heximon check --update` runs. */
|
|
1343
|
+
readonly Unarmed: "unarmed";
|
|
1344
|
+
};
|
|
1345
|
+
type WorkflowBaselineState = (typeof WorkflowBaselineState)[keyof typeof WorkflowBaselineState];
|
|
1346
|
+
/** One workflow's row in the report: identity, current graph, and its baseline state. */
|
|
1347
|
+
interface WorkflowStatusEntry {
|
|
1348
|
+
readonly resourceName: string;
|
|
1349
|
+
readonly fingerprint: string;
|
|
1350
|
+
readonly stepCount: number;
|
|
1351
|
+
readonly state: WorkflowBaselineState;
|
|
1352
|
+
}
|
|
1353
|
+
/** One live instance observed on the platform, with the fingerprint it was stamped with at create. */
|
|
1354
|
+
interface WorkflowInstanceView {
|
|
1355
|
+
readonly id: string;
|
|
1356
|
+
readonly status: string;
|
|
1357
|
+
readonly createdOn: string;
|
|
1358
|
+
readonly stampedFingerprint: string;
|
|
1359
|
+
}
|
|
1360
|
+
/** The per-workflow live-fleet inventory — a structural mirror of `WorkflowUpgradeInventory`. */
|
|
1361
|
+
interface WorkflowInstanceInventory {
|
|
1362
|
+
readonly workflowName: string;
|
|
1363
|
+
readonly currentFingerprint: string;
|
|
1364
|
+
readonly comparable: boolean;
|
|
1365
|
+
readonly liveInstanceCount: number;
|
|
1366
|
+
readonly staleInstances: readonly WorkflowInstanceView[];
|
|
1367
|
+
}
|
|
1368
|
+
/** One workflow's row in the `heximon workflows --json` document. */
|
|
1369
|
+
interface WorkflowStatusJsonEntry extends WorkflowStatusEntry {
|
|
1370
|
+
/** The Cloudflare live-fleet inventory, or `null` when enumeration was skipped or failed. */
|
|
1371
|
+
readonly inventory: WorkflowInstanceInventory | null;
|
|
1372
|
+
readonly enumerationError?: string;
|
|
1373
|
+
}
|
|
1374
|
+
/** The stable codes of the failures `heximon workflows` raises itself, beside the compiler's own. */
|
|
1375
|
+
declare const WorkflowsDiagnosticCode: {
|
|
1376
|
+
/** The committed `heximon.upgrade.json` exists but cannot be read, so no workflow state is known. */
|
|
1377
|
+
readonly BaselineUnreadable: "workflows.baseline-unreadable";
|
|
1378
|
+
/** The Cloudflare live instances of one workflow could not be listed, so the fleet picture is incomplete. */
|
|
1379
|
+
readonly EnumerationFailed: "workflows.enumeration-failed";
|
|
1380
|
+
};
|
|
1381
|
+
/** One of the {@link WorkflowsDiagnosticCode} values. */
|
|
1382
|
+
type WorkflowsDiagnosticCode = (typeof WorkflowsDiagnosticCode)[keyof typeof WorkflowsDiagnosticCode];
|
|
1383
|
+
/**
|
|
1384
|
+
* The `heximon workflows --json` document. A run that produced no per-workflow report (a failed compile, an
|
|
1385
|
+
* unreadable committed baseline, an app without workflows) keeps the same keys with `workflows: []`, and its
|
|
1386
|
+
* diagnostics say why. A run that stopped before the compile prints a {@link CliFailureDocument}.
|
|
1387
|
+
*/
|
|
1388
|
+
interface WorkflowsJsonDocument extends CliJsonDocument {
|
|
1389
|
+
/** One row for each workflow of the app. */
|
|
1390
|
+
readonly workflows: readonly WorkflowStatusJsonEntry[];
|
|
1391
|
+
/** Whether the Cloudflare live fleet was enumerated, and why not when it was skipped. */
|
|
1392
|
+
readonly cloudflare: {
|
|
1393
|
+
readonly enumerated: boolean;
|
|
1394
|
+
readonly skipped?: string;
|
|
1395
|
+
};
|
|
1396
|
+
}
|
|
1397
|
+
//#endregion
|
|
1398
|
+
export type { BoundarySummary, CheckDiagnosticCode, CheckJsonDocument, CheckUpgradeBaselineResult, CliDiagnostic, CliDiagnosticCode, CliFailureDocument, CliJsonDocument, CreateDiagnosticCode, CreateJsonDocument, DeployAction, DeployDiagnosticCode, DeployJsonCredential, DeployJsonDestroy, DeployJsonDocument, DeployJsonMigration, DeployJsonResources, DeployJsonShip, DeployJsonShipResult, DeployJsonTarget, DoctorCopyCensusResult, DoctorCopyCensusStatus, DoctorDiagnosticCode, DoctorJsonDocument, DoctorMode, DoctorPackageCopy, DoctorPackageResult, DoctorPackageStatus, DoctorPeerClosureResult, DoctorPeerPivot, DoctorPlatformTracingResult, DoctorRegistryResult, GraphDiagnosticCode, GraphJsonDocument, InstalledSkill, MigrationsDatabaseView, MigrationsDiagnosticCode, MigrationsDrizzleKitResult, MigrationsGenerateEntry, MigrationsGenerateJsonDocument, MigrationsMigrateJsonDocument, MigrationsPushJsonDocument, MigrationsStatusEntry, MigrationsStatusJsonDocument, MigrationsStepEntry, MigrationsStepStatus, PreparedTarget, ProcessRunResult, ProcessRunner, Prompter, ProvisionDiagnosticCode, ProvisionJsonDocument, ProvisionJsonResource, ProvisionJsonResult, RegistryAccessReport, RoutesDiagnosticCode, RoutesJsonDocument, ScaffoldRequest, ScaffoldResult, SkillJsonEntry, SkillSourceJsonEntry, SkillSourceRecording, SkillsAddJsonDocument, SkillsDiagnosticCode, SkillsSyncJsonDocument, StartersScaffoldRequest, TaskDiagnosticCode, TaskRunError, TaskRunJsonDocument, TemplateSelection, TemplateSource, WorkflowBaselineState, WorkflowInstanceInventory, WorkflowInstanceView, WorkflowStatusEntry, WorkflowStatusJsonEntry, WorkflowsDiagnosticCode, WorkflowsJsonDocument };
|