@hype-stack/cli 0.8.1 → 1.0.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/dist/{cli-BgRjXUgD.js → cli-DtlLnANf.js} +2754 -1640
- package/dist/cli.d.ts.map +1 -1
- package/dist/commands/compose.d.ts.map +1 -1
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/install-helpers.d.ts +14 -3
- package/dist/commands/install-helpers.d.ts.map +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/logout.d.ts.map +1 -1
- package/dist/commands/mcp.d.ts +17 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/onboard.d.ts +6 -0
- package/dist/commands/onboard.d.ts.map +1 -1
- package/dist/commands/template.d.ts.map +1 -1
- package/dist/config/bin.js +50 -2713
- package/dist/config/env.d.ts +2 -0
- package/dist/config/env.d.ts.map +1 -1
- package/dist/constants/constants.d.ts +55 -8
- package/dist/constants/constants.d.ts.map +1 -1
- package/dist/constants/themes.d.ts.map +1 -1
- package/dist/core/access-prompts.d.ts.map +1 -1
- package/dist/core/agents-md.d.ts +16 -0
- package/dist/core/agents-md.d.ts.map +1 -0
- package/dist/core/apply-mode.d.ts.map +1 -1
- package/dist/core/apply-radius.d.ts +2 -2
- package/dist/core/apply-radius.d.ts.map +1 -1
- package/dist/core/apply-theme.d.ts +2 -2
- package/dist/core/apply-theme.d.ts.map +1 -1
- package/dist/core/auth-store.d.ts +16 -0
- package/dist/core/auth-store.d.ts.map +1 -1
- package/dist/core/codegen.d.ts.map +1 -1
- package/dist/core/codemods.d.ts +15 -1
- package/dist/core/codemods.d.ts.map +1 -1
- package/dist/core/cursor-rules.d.ts +25 -0
- package/dist/core/cursor-rules.d.ts.map +1 -0
- package/dist/core/device.d.ts +9 -0
- package/dist/core/device.d.ts.map +1 -1
- package/dist/core/editor-config.d.ts +3 -11
- package/dist/core/editor-config.d.ts.map +1 -1
- package/dist/core/env-status.d.ts +40 -0
- package/dist/core/env-status.d.ts.map +1 -0
- package/dist/core/installer.d.ts.map +1 -1
- package/dist/core/mcp-config.d.ts +76 -0
- package/dist/core/mcp-config.d.ts.map +1 -0
- package/dist/core/onboard-catalog.d.ts.map +1 -1
- package/dist/core/post-setup.d.ts +6 -0
- package/dist/core/post-setup.d.ts.map +1 -1
- package/dist/core/preflight.d.ts +49 -0
- package/dist/core/preflight.d.ts.map +1 -0
- package/dist/core/readme.d.ts +1 -1
- package/dist/core/readme.d.ts.map +1 -1
- package/dist/core/registry.d.ts +4 -5
- package/dist/core/registry.d.ts.map +1 -1
- package/dist/core/runtime.d.ts +42 -0
- package/dist/core/runtime.d.ts.map +1 -0
- package/dist/core/sentry.d.ts +8 -0
- package/dist/core/sentry.d.ts.map +1 -0
- package/dist/core/stack-config.d.ts.map +1 -1
- package/dist/core/templates.d.ts +2 -3
- package/dist/core/templates.d.ts.map +1 -1
- package/dist/core/tracking.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/mcp/guard.d.ts +12 -0
- package/dist/mcp/guard.d.ts.map +1 -0
- package/dist/mcp/result.d.ts +42 -0
- package/dist/mcp/result.d.ts.map +1 -0
- package/dist/mcp/server.d.ts +12 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/tools/add-packs.d.ts +24 -0
- package/dist/mcp/tools/add-packs.d.ts.map +1 -0
- package/dist/mcp/tools/apply-template.d.ts +26 -0
- package/dist/mcp/tools/apply-template.d.ts.map +1 -0
- package/dist/mcp/tools/auth-status.d.ts +9 -0
- package/dist/mcp/tools/auth-status.d.ts.map +1 -0
- package/dist/mcp/tools/context.d.ts +22 -0
- package/dist/mcp/tools/context.d.ts.map +1 -0
- package/dist/mcp/tools/create-application.d.ts +43 -0
- package/dist/mcp/tools/create-application.d.ts.map +1 -0
- package/dist/mcp/tools/env-status.d.ts +15 -0
- package/dist/mcp/tools/env-status.d.ts.map +1 -0
- package/dist/mcp/tools/inspect-stack.d.ts +15 -0
- package/dist/mcp/tools/inspect-stack.d.ts.map +1 -0
- package/dist/mcp/tools/plan-install.d.ts +20 -0
- package/dist/mcp/tools/plan-install.d.ts.map +1 -0
- package/dist/mcp/tools/search-catalog.d.ts +31 -0
- package/dist/mcp/tools/search-catalog.d.ts.map +1 -0
- package/dist/themes-D5OgOcBU.js +1062 -0
- package/dist/themes.js +2 -1062
- package/dist/types/types.d.ts +45 -18
- package/dist/types/types.d.ts.map +1 -1
- package/dist/ui/banner.d.ts.map +1 -1
- package/dist/ui/env-prompt.d.ts +43 -0
- package/dist/ui/env-prompt.d.ts.map +1 -0
- package/dist/ui/logger.d.ts +25 -0
- package/dist/ui/logger.d.ts.map +1 -1
- package/dist/ui/pack-multiselect.d.ts.map +1 -1
- package/dist/ui/pack-select.d.ts +35 -0
- package/dist/ui/pack-select.d.ts.map +1 -0
- package/dist/ui/theme.d.ts +2 -0
- package/dist/ui/theme.d.ts.map +1 -1
- package/dist/utils/exec.d.ts +3 -0
- package/dist/utils/exec.d.ts.map +1 -1
- package/dist/utils/fs.d.ts +2 -0
- package/dist/utils/fs.d.ts.map +1 -1
- package/package.json +3 -1
package/dist/config/env.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const envSchema: z.ZodObject<{
|
|
3
|
+
CLI_SENTRY_DSN: z.ZodOptional<z.ZodString>;
|
|
3
4
|
HYPE_STACK_API_URL: z.ZodOptional<z.ZodString>;
|
|
4
5
|
HYPE_STACK_WEB_URL: z.ZodOptional<z.ZodString>;
|
|
6
|
+
HYPE_STACK_TOKEN: z.ZodOptional<z.ZodString>;
|
|
5
7
|
}, z.core.$strip>;
|
|
6
8
|
export type CliEnv = z.infer<typeof envSchema>;
|
|
7
9
|
export declare const validateEnv: () => CliEnv;
|
package/dist/config/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,SAAS;;;;;iBASpB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAE/C,eAAO,MAAM,WAAW,QAAO,MAS9B,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CodeEditor } from '../types/types.js';
|
|
1
2
|
/**
|
|
2
3
|
* The CLI version, replaced at build time by Vite `define` with the real
|
|
3
4
|
* `package.json` version (see `vite.config.ts`). The release pipeline bumps
|
|
@@ -15,8 +16,6 @@ export declare const API_URL_ENV_KEY = "HYPE_STACK_API_URL";
|
|
|
15
16
|
export declare const DEFAULT_WEB_URL = "https://www.hype-stack.dev";
|
|
16
17
|
export declare const WEB_URL_ENV_KEY = "HYPE_STACK_WEB_URL";
|
|
17
18
|
export declare const STACK_CONFIG_VERSION = 1;
|
|
18
|
-
/** API path for license validation */
|
|
19
|
-
export declare const LICENSE_VALIDATE_PATH = "/api/licenses/validate";
|
|
20
19
|
/** API path for the pack registry (list of all available packs) */
|
|
21
20
|
export declare const REGISTRY_PATH = "/api/registry";
|
|
22
21
|
/** API path template for a pack's manifest - replace :packId with the actual ID */
|
|
@@ -37,30 +36,78 @@ export declare const DEFAULT_ALIASES: {
|
|
|
37
36
|
readonly frontendFeatures: "apps/frontend/src/features";
|
|
38
37
|
};
|
|
39
38
|
export declare const PROJECT_NAME_REGEX: RegExp;
|
|
39
|
+
/**
|
|
40
|
+
* Everything the rules can be converted for. Pick as many as the team uses: each
|
|
41
|
+
* editor reads a different folder, so several sets of rules live side by side in
|
|
42
|
+
* one repository.
|
|
43
|
+
*/
|
|
40
44
|
export declare const EDITOR_CHOICES: readonly [{
|
|
41
45
|
readonly value: "cursor";
|
|
42
46
|
readonly label: "Cursor";
|
|
43
|
-
readonly hint: "
|
|
47
|
+
readonly hint: ".cursor/rules";
|
|
48
|
+
}, {
|
|
49
|
+
readonly value: "t3code";
|
|
50
|
+
readonly label: "T3 Code";
|
|
51
|
+
readonly hint: "Cursor, Claude Code, and Codex at once";
|
|
44
52
|
}, {
|
|
45
53
|
readonly value: "claude";
|
|
46
54
|
readonly label: "Claude Code";
|
|
55
|
+
readonly hint: ".claude/rules";
|
|
47
56
|
}, {
|
|
48
|
-
readonly value: "
|
|
49
|
-
readonly label: "
|
|
57
|
+
readonly value: "codex";
|
|
58
|
+
readonly label: "Codex";
|
|
59
|
+
readonly hint: "AGENTS.md";
|
|
50
60
|
}, {
|
|
51
61
|
readonly value: "copilot";
|
|
52
62
|
readonly label: "GitHub Copilot";
|
|
63
|
+
readonly hint: ".github/instructions";
|
|
64
|
+
}, {
|
|
65
|
+
readonly value: "opencode";
|
|
66
|
+
readonly label: "OpenCode";
|
|
67
|
+
readonly hint: "AGENTS.md";
|
|
68
|
+
}, {
|
|
69
|
+
readonly value: "windsurf";
|
|
70
|
+
readonly label: "Windsurf";
|
|
71
|
+
readonly hint: ".windsurf/rules";
|
|
53
72
|
}];
|
|
54
|
-
export declare const VALID_EDITORS:
|
|
73
|
+
export declare const VALID_EDITORS: CodeEditor[];
|
|
74
|
+
export declare const DEFAULT_EDITOR: CodeEditor;
|
|
75
|
+
export declare function isCodeEditor(value: string): value is CodeEditor;
|
|
76
|
+
/** Human label for a pick, for prompts and the generated README. */
|
|
77
|
+
export declare function editorLabel(editor: CodeEditor): string;
|
|
78
|
+
/**
|
|
79
|
+
* Sort raw editor names (from a flag or an MCP argument) into the ones we can
|
|
80
|
+
* act on and the ones we cannot. The unknown names come back rather than being
|
|
81
|
+
* dropped quietly, so a typo can be reported instead of silently changing which
|
|
82
|
+
* rules a project ships.
|
|
83
|
+
*/
|
|
84
|
+
export declare function parseEditors(values: string[] | undefined): {
|
|
85
|
+
editors: CodeEditor[];
|
|
86
|
+
unknown: string[];
|
|
87
|
+
};
|
|
55
88
|
export declare const CURSOR_RULES_DIR = ".cursor/rules";
|
|
56
89
|
export declare const CURSOR_DIR = ".cursor";
|
|
57
|
-
|
|
90
|
+
/**
|
|
91
|
+
* The vendor-neutral skills location from the Agent Skills spec. Codex,
|
|
92
|
+
* OpenCode, Copilot, and Windsurf's Cascade all scan it as-is, so it stays put
|
|
93
|
+
* whichever editor the user picked. Claude Code is the one that needs a link.
|
|
94
|
+
*/
|
|
95
|
+
export declare const AGENTS_SKILLS_DIR = ".agents/skills";
|
|
96
|
+
export declare const CLAUDE_SKILLS_DIR = ".claude/skills";
|
|
97
|
+
/**
|
|
98
|
+
* Where scoped rules land for the `AGENTS.md` readers when `.cursor/rules` is
|
|
99
|
+
* not part of the project. `AGENTS.md` links to them so a Codex or OpenCode
|
|
100
|
+
* session reads a rule when it touches the paths it covers, instead of carrying
|
|
101
|
+
* every rule in context from the first message.
|
|
102
|
+
*/
|
|
103
|
+
export declare const AGENTS_RULES_DIR = ".agents/rules";
|
|
104
|
+
export declare const AGENTS_MD_FILE = "AGENTS.md";
|
|
105
|
+
export declare const CLAUDE_MD_FILE = "CLAUDE.md";
|
|
58
106
|
export declare function getApiUrl(): string;
|
|
59
107
|
export declare function getWebUrl(): string;
|
|
60
108
|
export declare function validateApiUrl(url: string): void;
|
|
61
109
|
export declare function getSchemaUrl(): string;
|
|
62
110
|
export declare function getRegistryUrl(): string;
|
|
63
|
-
export declare function getLicenseValidateUrl(): string;
|
|
64
111
|
export declare function getPackManifestUrl(packId: string): string;
|
|
65
112
|
export declare function getPackFilesUrl(packId: string): string;
|
|
66
113
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,QAAkE,CAAC;AAEvF,eAAO,MAAM,aAAa,8BAA8B,CAAC;AAEzD,eAAO,MAAM,iBAAiB,eAAe,CAAC;AAE9C,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAMhD,eAAO,MAAM,eAAe,+BAA+B,CAAC;AAE5D,eAAO,MAAM,eAAe,uBAAuB,CAAC;AAEpD,uGAAuG;AACvG,eAAO,MAAM,eAAe,+BAA+B,CAAC;AAE5D,eAAO,MAAM,eAAe,uBAAuB,CAAC;AAEpD,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAItC,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,QAAkE,CAAC;AAEvF,eAAO,MAAM,aAAa,8BAA8B,CAAC;AAEzD,eAAO,MAAM,iBAAiB,eAAe,CAAC;AAE9C,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAMhD,eAAO,MAAM,eAAe,+BAA+B,CAAC;AAE5D,eAAO,MAAM,eAAe,uBAAuB,CAAC;AAEpD,uGAAuG;AACvG,eAAO,MAAM,eAAe,+BAA+B,CAAC;AAE5D,eAAO,MAAM,eAAe,uBAAuB,CAAC;AAEpD,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAItC,mEAAmE;AACnE,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,mFAAmF;AACnF,eAAO,MAAM,kBAAkB,qCAAqC,CAAC;AAErE,kDAAkD;AAClD,eAAO,MAAM,eAAe,oCAAoC,CAAC;AAEjE,kFAAkF;AAClF,eAAO,MAAM,2BAA2B,YAAY,CAAC;AAErD,iEAAiE;AACjE,eAAO,MAAM,eAAe;;;;;;;;;CASlB,CAAC;AAEX,eAAO,MAAM,kBAAkB,QAAwC,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQjB,CAAC;AAEX,eAAO,MAAM,aAAa,EAAE,UAAU,EAAuC,CAAC;AAE9E,eAAO,MAAM,cAAc,EAAE,UAAqB,CAAC;AAEnD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,UAAU,CAE/D;AAED,oEAAoE;AACpE,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAEtD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,GAAG;IAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAOvG;AAED,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,UAAU,YAAY,CAAC;AAEpC;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAClD,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAElD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAEhD,eAAO,MAAM,cAAc,cAAc,CAAC;AAC1C,eAAO,MAAM,cAAc,cAAc,CAAC;AAE1C,wBAAgB,SAAS,IAAI,MAAM,CAOlC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAOlC;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAYhD;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../src/constants/themes.ts"],"names":[],"mappings":"AAYA;;;;GAIG;AACH,eAAO,MAAM,WAAW,4IAcd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,2DAA2D;AAC3D,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjD,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,eAAO,MAAM,aAAa,EAAE,SAAuB,CAAC;AAEpD,wEAAwE;AACxE,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,SAAmB,CAAC;AAE/C,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,SAAS,CAE7D;AA0CD,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAoB,CAAC;AAOxE,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../src/constants/themes.ts"],"names":[],"mappings":"AAYA;;;;GAIG;AACH,eAAO,MAAM,WAAW,4IAcd,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,2DAA2D;AAC3D,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjD,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,eAAO,MAAM,aAAa,EAAE,SAAuB,CAAC;AAEpD,wEAAwE;AACxE,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,SAAmB,CAAC;AAE/C,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,SAAS,CAE7D;AA0CD,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAoB,CAAC;AAOxE,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CA6kC3C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,EAA0B,CAAC;AAEzD,eAAO,MAAM,aAAa;WACH,MAAM;;;GAG1B,CAAC;AAEJ,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAwB,CAAC;AAC3E,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,SAAS,CAE7D;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,KAAK,CAE/C;AAED,wBAAgB,iBAAiB,IAAI,aAAa,CAAC,MAAM,CAAC,CAEzD;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,SAAS,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,eAAO,MAAM,iBAAiB,EAAE,WAAW,EAKxC,CAAC;AAEJ,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAI7D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-prompts.d.ts","sourceRoot":"","sources":["../../src/core/access-prompts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"access-prompts.d.ts","sourceRoot":"","sources":["../../src/core/access-prompts.ts"],"names":[],"mappings":"AAUA;;;GAGG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA6B1D;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,GAC5D,OAAO,CAAC,IAAI,CAAC,CA+Cf"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ParsedRule } from './cursor-rules.js';
|
|
2
|
+
/** Where the scoped rules the table links to actually live. */
|
|
3
|
+
export interface ScopedRuleLocation {
|
|
4
|
+
dir: string;
|
|
5
|
+
extension: string;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Render the Cursor rule set as a single `AGENTS.md`.
|
|
9
|
+
*
|
|
10
|
+
* Codex and OpenCode do not read `.mdc` files, so the always-on rules are
|
|
11
|
+
* copied in full rather than linked. Scoped rules stay as links to keep the file
|
|
12
|
+
* small: an agent reads them when it touches the paths they cover, which is the
|
|
13
|
+
* same progressive disclosure Cursor does with globs.
|
|
14
|
+
*/
|
|
15
|
+
export declare function renderAgentsMd(rules: ParsedRule[], scoped: ScopedRuleLocation): string;
|
|
16
|
+
//# sourceMappingURL=agents-md.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents-md.d.ts","sourceRoot":"","sources":["../../src/core/agents-md.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/D,+DAA+D;AAC/D,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAuCtF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-mode.d.ts","sourceRoot":"","sources":["../../src/core/apply-mode.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,2BAA2B,CAAC;AAIjE,6EAA6E;AAC7E,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"apply-mode.d.ts","sourceRoot":"","sources":["../../src/core/apply-mode.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,2BAA2B,CAAC;AAIjE,6EAA6E;AAC7E,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAKpF;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAevG"}
|
|
@@ -17,9 +17,9 @@ export declare function isRadius(value: string): value is Radius;
|
|
|
17
17
|
* it is returned unchanged.
|
|
18
18
|
*/
|
|
19
19
|
export declare function applyRadiusToCss(css: string, radius: Radius): string;
|
|
20
|
-
export declare const RADIUS_STYLES_RELATIVE_PATH = "assets/styles.css";
|
|
20
|
+
export declare const RADIUS_STYLES_RELATIVE_PATH = "src/assets/styles.css";
|
|
21
21
|
/**
|
|
22
|
-
* Apply `radius` to the `assets/styles.css` of the frontend app rooted at
|
|
22
|
+
* Apply `radius` to the `src/assets/styles.css` of the frontend app rooted at
|
|
23
23
|
* `frontendRoot`. Returns true when the file was read (and rewritten if the
|
|
24
24
|
* value differed), false when the file is missing so the install flow keeps
|
|
25
25
|
* going rather than failing.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-radius.d.ts","sourceRoot":"","sources":["../../src/core/apply-radius.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAO5B,8EAA8E;AAC9E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,MAAM,CAEvD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,eAAO,MAAM,2BAA2B,
|
|
1
|
+
{"version":3,"file":"apply-radius.d.ts","sourceRoot":"","sources":["../../src/core/apply-radius.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAO5B,8EAA8E;AAC9E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,MAAM,CAEvD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AAEnE;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAejG"}
|
|
@@ -7,9 +7,9 @@ import { Theme } from '../constants/themes.js';
|
|
|
7
7
|
* twice yields the same output.
|
|
8
8
|
*/
|
|
9
9
|
export declare function applyThemeToCss(css: string, theme: Theme): string;
|
|
10
|
-
export declare const THEME_STYLES_RELATIVE_PATH = "assets/styles.css";
|
|
10
|
+
export declare const THEME_STYLES_RELATIVE_PATH = "src/assets/styles.css";
|
|
11
11
|
/**
|
|
12
|
-
* Apply `theme` to the `assets/styles.css` of the frontend app rooted at
|
|
12
|
+
* Apply `theme` to the `src/assets/styles.css` of the frontend app rooted at
|
|
13
13
|
* `frontendRoot`. Returns true when the file was rewritten, false when the file
|
|
14
14
|
* is missing (the create flow keeps going in that case rather than failing).
|
|
15
15
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-theme.d.ts","sourceRoot":"","sources":["../../src/core/apply-theme.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,wBAAwB,CAAC;AA4EjE;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAyBjE;AAED,eAAO,MAAM,0BAA0B,
|
|
1
|
+
{"version":3,"file":"apply-theme.d.ts","sourceRoot":"","sources":["../../src/core/apply-theme.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,wBAAwB,CAAC;AA4EjE;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAyBjE;AAED,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAElE;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAe9F"}
|
|
@@ -10,7 +10,23 @@ export interface StoredToken {
|
|
|
10
10
|
*/
|
|
11
11
|
export declare function getConfigDir(): string;
|
|
12
12
|
export declare function getAuthFilePath(): string;
|
|
13
|
+
/** Env var CI uses instead of an interactive login. Mint one from the Keys & access page. */
|
|
14
|
+
export declare const TOKEN_ENV_VAR = "HYPE_STACK_TOKEN";
|
|
15
|
+
/**
|
|
16
|
+
* The access token to use for this run.
|
|
17
|
+
*
|
|
18
|
+
* `HYPE_STACK_TOKEN` wins over the stored login so a pipeline can force a specific
|
|
19
|
+
* credential without touching the developer's `auth.json`, and so a CI image that
|
|
20
|
+
* happens to carry a stale login file cannot silently override the key you set.
|
|
21
|
+
*/
|
|
13
22
|
export declare function readToken(apiUrl: string): Promise<StoredToken | null>;
|
|
23
|
+
/** True when this run is authenticating from the environment rather than a stored login. */
|
|
24
|
+
export declare function hasEnvToken(): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* The token saved by `login`, ignoring `HYPE_STACK_TOKEN`. Logout uses this so it can
|
|
27
|
+
* never revoke a CI key that merely happened to be in the environment.
|
|
28
|
+
*/
|
|
29
|
+
export declare function readStoredToken(apiUrl: string): Promise<StoredToken | null>;
|
|
14
30
|
export declare function writeToken(apiUrl: string, data: StoredToken): Promise<void>;
|
|
15
31
|
export declare function clearToken(apiUrl: string): Promise<void>;
|
|
16
32
|
//# sourceMappingURL=auth-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-store.d.ts","sourceRoot":"","sources":["../../src/core/auth-store.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAYD;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAiBrC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAiBD,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"auth-store.d.ts","sourceRoot":"","sources":["../../src/core/auth-store.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAYD;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAiBrC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAiBD,6FAA6F;AAC7F,eAAO,MAAM,aAAa,qBAAqB,CAAC;AAEhD;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAK3E;AAED,4FAA4F;AAC5F,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAGjF;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjF;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/core/codegen.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/core/codegen.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AA0CtH;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,uGAAuG;IACvG,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sGAAsG;IACtG,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,uGAAuG;IACvG,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC,GAAG,OAAO,CAAC,IAAI,CAAC,CAyGhB"}
|
package/dist/core/codemods.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PackContextEntry, PackDashboardRow, PackEnumEntry, PackEnvEntry, PackFile, PackFrontendRoute, PackNavbarAction, PackNavEntry, PackOnboardingStep, PackOrgDetailComponent, PackPermissionEntry, PackRoute, PackSdkConfiguration, PackSlot, PackSocket, StackPaths } from '../types/types.js';
|
|
1
|
+
import { PackContextEntry, PackDashboardRow, PackEnumEntry, PackEnvEntry, PackFile, PackFrontendRoute, PackNavbarAction, PackNavEntry, PackOnboardingStep, PackOrgDetailComponent, PackPermissionEntry, PackRoute, PackSdkConfiguration, PackSettingsTab, PackSlot, PackSocket, StackPaths } from '../types/types.js';
|
|
2
2
|
/** Replace the template workspace scope with the project scope, preserving `@hype-stack/cli`. */
|
|
3
3
|
export declare function rewriteTemplateScope(content: string, newScope: string): string;
|
|
4
4
|
/**
|
|
@@ -61,6 +61,14 @@ export interface PatchNavConstantsOptions {
|
|
|
61
61
|
* `/dashboard` wins over a layout pack's Dashboard at `/`, which installed first.
|
|
62
62
|
*/
|
|
63
63
|
override?: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Move these entries to the front of their nav group once patched. The template
|
|
66
|
+
* overlay runs last, after every pack has appended into the primary group, so
|
|
67
|
+
* without this a template's Dashboard lands below pack pages like Calendar or
|
|
68
|
+
* Boards. Only affects the append groups (primary, secondary); tertiary and
|
|
69
|
+
* settings already insert on top and keep the template's Settings last.
|
|
70
|
+
*/
|
|
71
|
+
pinFirst?: boolean;
|
|
64
72
|
}
|
|
65
73
|
export declare function patchNavConstants(options: PatchNavConstantsOptions): Promise<void>;
|
|
66
74
|
export interface PatchPostLoginRedirectOptions {
|
|
@@ -105,6 +113,12 @@ export interface PatchActionsOptions {
|
|
|
105
113
|
}
|
|
106
114
|
export declare function patchNavbarActions(options: PatchActionsOptions): Promise<void>;
|
|
107
115
|
export declare function patchUserMenuActions(options: PatchActionsOptions): Promise<void>;
|
|
116
|
+
export interface PatchSettingsTabsOptions {
|
|
117
|
+
tabs: PackSettingsTab[];
|
|
118
|
+
paths: StackPaths;
|
|
119
|
+
projectRoot: string;
|
|
120
|
+
}
|
|
121
|
+
export declare function patchSettingsTabs({ tabs, paths, projectRoot }: PatchSettingsTabsOptions): Promise<void>;
|
|
108
122
|
interface RewritePackScopeOptions {
|
|
109
123
|
files: PackFile[];
|
|
110
124
|
paths: StackPaths;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codemods.d.ts","sourceRoot":"","sources":["../../src/core/codemods.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"codemods.d.ts","sourceRoot":"","sources":["../../src/core/codemods.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface MdcFrontmatter {
|
|
2
|
+
description?: string;
|
|
3
|
+
globs: string[];
|
|
4
|
+
alwaysApply: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface ParsedRule {
|
|
7
|
+
frontmatter: MdcFrontmatter;
|
|
8
|
+
content: string;
|
|
9
|
+
filename: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function parseMdcFrontmatter(raw: string): {
|
|
12
|
+
frontmatter: MdcFrontmatter;
|
|
13
|
+
content: string;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* How a rule reaches the agent, in Cursor's terms. Every other editor's
|
|
17
|
+
* activation model is a translation of one of these three.
|
|
18
|
+
*
|
|
19
|
+
* A rule with neither globs nor a description has nothing for an agent to match
|
|
20
|
+
* on, so it counts as always on rather than becoming unreachable.
|
|
21
|
+
*/
|
|
22
|
+
export declare function ruleScope(rule: ParsedRule): "always" | "paths" | "described";
|
|
23
|
+
/** Sorted by filename so generated output does not shuffle between runs. */
|
|
24
|
+
export declare function readCursorRules(projectDir: string): Promise<ParsedRule[]>;
|
|
25
|
+
//# sourceMappingURL=cursor-rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor-rules.d.ts","sourceRoot":"","sources":["../../src/core/cursor-rules.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,cAAc,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,WAAW,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA8CjG;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,CAI5E;AAED,4EAA4E;AAC5E,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAkB/E"}
|
package/dist/core/device.d.ts
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
1
|
export declare function getDeviceFingerprint(): string;
|
|
2
2
|
export declare function getClientInfo(): string;
|
|
3
|
+
/** Header name the backend reads to split analytics by client. */
|
|
4
|
+
export declare const CLIENT_KIND_HEADER = "X-Client-Kind";
|
|
5
|
+
export type ClientKind = "cli" | "mcp";
|
|
6
|
+
/**
|
|
7
|
+
* Which surface issued this request. Same binary, same credentials, but a human
|
|
8
|
+
* typing `compose` and an agent calling `add_packs` are very different signals,
|
|
9
|
+
* so downloads are attributed separately.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getClientKind(): ClientKind;
|
|
3
12
|
//# sourceMappingURL=device.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/core/device.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/core/device.ts"],"names":[],"mappings":"AAmBA,wBAAgB,oBAAoB,IAAI,MAAM,CAG7C;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,kEAAkE;AAClE,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAElD,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,KAAK,CAAC;AAEvC;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,UAAU,CAE1C"}
|
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
import { CodeEditor } from '../types/types.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
alwaysApply: boolean;
|
|
6
|
-
}
|
|
7
|
-
export declare function parseMdcFrontmatter(raw: string): {
|
|
8
|
-
frontmatter: MdcFrontmatter;
|
|
9
|
-
content: string;
|
|
10
|
-
};
|
|
11
|
-
export declare function convertEditorConfig(projectDir: string, editor: CodeEditor): Promise<void>;
|
|
12
|
-
export {};
|
|
2
|
+
/** Every place the picked editors will read rules from, in the order they are written. */
|
|
3
|
+
export declare function rulePathsFor(editors: CodeEditor[]): string[];
|
|
4
|
+
export declare function convertEditorConfig(projectDir: string, editors: CodeEditor[]): Promise<void>;
|
|
13
5
|
//# sourceMappingURL=editor-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-config.d.ts","sourceRoot":"","sources":["../../src/core/editor-config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"editor-config.d.ts","sourceRoot":"","sources":["../../src/core/editor-config.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA0IpD,0FAA0F;AAC1F,wBAAgB,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAU5D;AAED,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBlG"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { StackConfig } from '../types/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Read-only version of what `onboard` walks you through. `onboard` asks for each
|
|
4
|
+
* value; this reports which ones are still unset so an agent can tell the user
|
|
5
|
+
* exactly what is left without touching a single file.
|
|
6
|
+
*/
|
|
7
|
+
export type EnvVarState =
|
|
8
|
+
/** No value in `.env`, or an empty one. */
|
|
9
|
+
"missing"
|
|
10
|
+
/** Set, but still the value shipped in `.env.example` (fine for local defaults, wrong for secrets). */
|
|
11
|
+
| "default" | "filled";
|
|
12
|
+
export interface EnvVarStatus {
|
|
13
|
+
key: string;
|
|
14
|
+
state: EnvVarState;
|
|
15
|
+
}
|
|
16
|
+
export interface EnvSectionStatus {
|
|
17
|
+
section: string;
|
|
18
|
+
/** False when no installed pack claims this section, so its vars do not matter. */
|
|
19
|
+
relevant: boolean;
|
|
20
|
+
/** Where to get these values, when we know. */
|
|
21
|
+
link: string | null;
|
|
22
|
+
vars: EnvVarStatus[];
|
|
23
|
+
}
|
|
24
|
+
export interface EnvFileStatus {
|
|
25
|
+
/** Path of the `.env.example`, relative to the project root. */
|
|
26
|
+
example: string;
|
|
27
|
+
/** Path of the `.env` it maps to, relative to the project root. */
|
|
28
|
+
env: string;
|
|
29
|
+
envExists: boolean;
|
|
30
|
+
sections: EnvSectionStatus[];
|
|
31
|
+
}
|
|
32
|
+
export interface EnvStatus {
|
|
33
|
+
files: EnvFileStatus[];
|
|
34
|
+
/** Count of `missing` vars across relevant sections only. This is the number that matters. */
|
|
35
|
+
missingCount: number;
|
|
36
|
+
}
|
|
37
|
+
export declare function collectEnvStatus(projectRoot: string, config: StackConfig | null): Promise<EnvStatus>;
|
|
38
|
+
/** Value of `KEY` in an env file body, or "" when absent or blank. */
|
|
39
|
+
export declare function readValue(envContent: string, key: string): string;
|
|
40
|
+
//# sourceMappingURL=env-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-status.d.ts","sourceRoot":"","sources":["../../src/core/env-status.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAgC,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKnF;;;;GAIG;AAEH,MAAM,MAAM,WAAW;AACrB,2CAA2C;AACzC,SAAS;AACX,uGAAuG;GACrG,SAAS,GACT,QAAQ,CAAC;AAEb,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,QAAQ,EAAE,OAAO,CAAC;IAClB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,YAAY,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,8FAA8F;IAC9F,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAkB1G;AAwCD,sEAAsE;AACtE,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAYjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/core/installer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAY,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAc,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/core/installer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { CodeEditor } from '../types/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Writing the `hype-stack` MCP server into each editor's config file.
|
|
4
|
+
*
|
|
5
|
+
* Every editor uses the same server entry, they just disagree on where the file
|
|
6
|
+
* lives and what the map of servers is called. VS Code / Copilot is the only one
|
|
7
|
+
* that uses `servers` instead of `mcpServers`.
|
|
8
|
+
*/
|
|
9
|
+
export declare const MCP_SERVER_NAME = "hype-stack";
|
|
10
|
+
/** Editors we can write a config for. Claude Desktop is MCP-only, it has no rules format. */
|
|
11
|
+
export declare const MCP_EDITORS: readonly ["cursor", "claude", "claude-desktop", "windsurf", "copilot"];
|
|
12
|
+
export type McpEditor = (typeof MCP_EDITORS)[number];
|
|
13
|
+
export type McpScope = "global" | "project";
|
|
14
|
+
export interface McpServerEntry {
|
|
15
|
+
type: "stdio";
|
|
16
|
+
command: string;
|
|
17
|
+
args: string[];
|
|
18
|
+
env?: Record<string, string>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The entry every editor gets. `npx -y` means the user never has to install
|
|
22
|
+
* anything first.
|
|
23
|
+
*
|
|
24
|
+
* The token is optional. Without it the server falls back to the login stored by
|
|
25
|
+
* `hype-stack login`, which is what most people want. Baking a key into the
|
|
26
|
+
* config is for machines with no interactive login: CI images, devcontainers,
|
|
27
|
+
* and shared boxes.
|
|
28
|
+
*/
|
|
29
|
+
export declare function buildServerEntry(token?: string): McpServerEntry;
|
|
30
|
+
interface EditorTarget {
|
|
31
|
+
label: string;
|
|
32
|
+
/** Key holding the server map. VS Code is the outlier with `servers`. */
|
|
33
|
+
key: "mcpServers" | "servers";
|
|
34
|
+
/** Path relative to the project root, or null when the editor has no project scope. */
|
|
35
|
+
project: string | null;
|
|
36
|
+
/** Absolute path resolver, or null when the editor has no global scope. */
|
|
37
|
+
global: (() => string) | null;
|
|
38
|
+
}
|
|
39
|
+
export declare const EDITOR_TARGETS: Record<McpEditor, EditorTarget>;
|
|
40
|
+
export declare function isMcpEditor(value: string): value is McpEditor;
|
|
41
|
+
export declare function mcpTargetsFor(editors: CodeEditor[]): McpEditor[];
|
|
42
|
+
/** Scopes this editor actually supports, in the order we would suggest them. */
|
|
43
|
+
export declare function supportedScopes(editor: McpEditor): McpScope[];
|
|
44
|
+
export interface ResolveConfigPathArgs {
|
|
45
|
+
editor: McpEditor;
|
|
46
|
+
scope: McpScope;
|
|
47
|
+
/** Required for project scope; ignored for global. */
|
|
48
|
+
projectDir?: string;
|
|
49
|
+
}
|
|
50
|
+
export interface WriteConfigArgs extends ResolveConfigPathArgs {
|
|
51
|
+
/** API key to bake into the entry's env block. Omit to use the stored login. */
|
|
52
|
+
token?: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Where this editor keeps its MCP config for the given scope. Throws for a
|
|
56
|
+
* combination the editor does not support rather than writing a file it will
|
|
57
|
+
* never read.
|
|
58
|
+
*/
|
|
59
|
+
export declare function resolveConfigPath({ editor, scope, projectDir }: ResolveConfigPathArgs): string;
|
|
60
|
+
export interface WriteResult {
|
|
61
|
+
configPath: string;
|
|
62
|
+
key: "mcpServers" | "servers";
|
|
63
|
+
/** False when the file already had an identical entry, so nothing was rewritten. */
|
|
64
|
+
changed: boolean;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Add (or refresh) the server entry in an editor's config, keeping everything
|
|
68
|
+
* else in the file. These files routinely hold other people's servers and hand
|
|
69
|
+
* edits, so a blind overwrite would be destructive. Re-running is a no-op once
|
|
70
|
+
* the entry matches.
|
|
71
|
+
*/
|
|
72
|
+
export declare function writeMcpServerConfig(args: WriteConfigArgs): Promise<WriteResult>;
|
|
73
|
+
/** The JSON block a user pastes by hand, for docs and `mcp install --print`. */
|
|
74
|
+
export declare function buildConfigSnippet(editor: McpEditor, token?: string): string;
|
|
75
|
+
export {};
|
|
76
|
+
//# sourceMappingURL=mcp-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-config.d.ts","sourceRoot":"","sources":["../../src/core/mcp-config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;;;;;GAMG;AAEH,eAAO,MAAM,eAAe,eAAe,CAAC;AAE5C,6FAA6F;AAC7F,eAAO,MAAM,WAAW,wEAAyE,CAAC;AAClG,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc,CAI/D;AAED,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,GAAG,EAAE,YAAY,GAAG,SAAS,CAAC;IAC9B,uFAAuF;IACvF,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,2EAA2E;IAC3E,MAAM,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,IAAI,CAAC;CAC/B;AAcD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CAkC1D,CAAC;AAEF,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,SAAS,CAE7D;AAuBD,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,SAAS,EAAE,CAEhE;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE,CAM7D;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,QAAQ,CAAC;IAChB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAgB,SAAQ,qBAAqB;IAC5D,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,qBAAqB,GAAG,MAAM,CAgB9F;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,YAAY,GAAG,SAAS,CAAC;IAC9B,oFAAoF;IACpF,OAAO,EAAE,OAAO,CAAC;CAClB;AAID;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAmBtF;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAG5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboard-catalog.d.ts","sourceRoot":"","sources":["../../src/core/onboard-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;CAUsB,CAAC;AAEhD,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAUzD,CAAC;AAIF,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKxD;AAED,yFAAyF;AACzF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAGzE;AA4CD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAGnE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,GAAG,OAAO,CAIjG;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE;IAAE,UAAU,EAAE;QAAE,OAAO,EAAE,UAAU,CAAA;KAAE,CAAA;CAAE,EAAE,GAAG,SAAS,GACzD,UAAU,EAAE,CAWd;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAStE;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"onboard-catalog.d.ts","sourceRoot":"","sources":["../../src/core/onboard-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;CAUsB,CAAC;AAEhD,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAUzD,CAAC;AAIF,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAKxD;AAED,yFAAyF;AACzF,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAGzE;AA4CD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAGnE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,GAAG,OAAO,CAIjG;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE;IAAE,UAAU,EAAE;QAAE,OAAO,EAAE,UAAU,CAAA;KAAE,CAAA;CAAE,EAAE,GAAG,SAAS,GACzD,UAAU,EAAE,CAWd;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAStE;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAY7C,CAAC;AAEF,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAalE"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Booting containers and mutating a database are the two heaviest side effects
|
|
3
|
+
* the CLI has. A tool call should not do either behind the user's back, so
|
|
4
|
+
* headless runs skip them and report the commands as follow-up steps instead.
|
|
5
|
+
*/
|
|
6
|
+
export declare const HEADLESS_SETUP_STEPS: readonly ["docker compose up -d", "pnpm --filter @internal/backend migration:latest"];
|
|
1
7
|
export declare function isDockerRunning(): Promise<boolean>;
|
|
2
8
|
export declare function startDockerServices(targetDir: string, skipPrompts: boolean, dockerRunning: boolean): Promise<boolean>;
|
|
3
9
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-setup.d.ts","sourceRoot":"","sources":["../../src/core/post-setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"post-setup.d.ts","sourceRoot":"","sources":["../../src/core/post-setup.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,uFAGvB,CAAC;AAEX,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAGxD;AAMD,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,EACpB,aAAa,EAAE,OAAO,GACrB,OAAO,CAAC,OAAO,CAAC,CA6BlB;AAOD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,IAAI,CAOlF;AA2DD,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,SAAK,EAAE,UAAU,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAc9G;AAED,MAAM,WAAW,gBAAgB;IAC/B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAKD;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAM9E;AAED,6FAA6F;AAC7F,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBvE;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,EACpB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAyBlB;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,EACpB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,EACpB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,EACpB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAalB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/** Minimum Node the generated template supports. The backend and Vite tooling assume this. */
|
|
2
|
+
export declare const MIN_NODE_MAJOR = 20;
|
|
3
|
+
/** pnpm 9 is the first release with the workspace protocol behavior the template relies on. */
|
|
4
|
+
export declare const MIN_PNPM_MAJOR = 9;
|
|
5
|
+
export type RequirementLevel = "required" | "recommended";
|
|
6
|
+
export interface RequirementResult {
|
|
7
|
+
name: string;
|
|
8
|
+
level: RequirementLevel;
|
|
9
|
+
ok: boolean;
|
|
10
|
+
/** Short status shown next to the name, e.g. a detected version or why it failed. */
|
|
11
|
+
detail: string;
|
|
12
|
+
/** How to fix it, shown only when the check fails. */
|
|
13
|
+
fix?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Pull the first `major.minor.patch` (or bare major) out of a version string.
|
|
17
|
+
* `docker --version` prints "Docker version 27.0.3, build ..." while `pnpm
|
|
18
|
+
* --version` prints a clean "9.12.0", so we scan for the first number group.
|
|
19
|
+
*/
|
|
20
|
+
export declare function parseMajor(version: string): number | null;
|
|
21
|
+
/**
|
|
22
|
+
* Probe an external binary by running `<command> --version`. Returns the first
|
|
23
|
+
* line of output when the command runs, or `null` when the binary is missing
|
|
24
|
+
* (spawn `ENOENT`) or exits non-zero. Never throws.
|
|
25
|
+
*/
|
|
26
|
+
export declare function probeVersion(command: string, args?: string[]): Promise<string | null>;
|
|
27
|
+
/**
|
|
28
|
+
* Check the tools Hype Stack needs on the machine before scaffolding or
|
|
29
|
+
* installing packs:
|
|
30
|
+
*
|
|
31
|
+
* - Node (required): the CLI runs on it, but we still enforce the version the
|
|
32
|
+
* template needs so users on an old Node get a clear message instead of a
|
|
33
|
+
* cryptic runtime failure later.
|
|
34
|
+
* - pnpm (required): the template is a pnpm workspace. npm/yarn won't resolve
|
|
35
|
+
* the `workspace:*` protocol, so install would fail.
|
|
36
|
+
* - Docker (recommended): only needed to run local Postgres, Valkey, and object
|
|
37
|
+
* storage. Scaffolding and copying pack files works without it, and the setup
|
|
38
|
+
* step already prompts and can be skipped, so a missing Docker is a warning,
|
|
39
|
+
* not a hard stop.
|
|
40
|
+
*/
|
|
41
|
+
export declare function checkSystemRequirements(): Promise<RequirementResult[]>;
|
|
42
|
+
/**
|
|
43
|
+
* Run the system requirement checks and report them. Exits the process when a
|
|
44
|
+
* required tool (Node, pnpm) is missing or too old. A missing Docker only warns.
|
|
45
|
+
* Call this once at the top of the `create`, `compose`, and `template` commands,
|
|
46
|
+
* after the banner, before any real work.
|
|
47
|
+
*/
|
|
48
|
+
export declare function assertSystemRequirements(): Promise<void>;
|
|
49
|
+
//# sourceMappingURL=preflight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preflight.d.ts","sourceRoot":"","sources":["../../src/core/preflight.ts"],"names":[],"mappings":"AAOA,8FAA8F;AAC9F,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,+FAA+F;AAC/F,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,aAAa,CAAC;AAE1D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,gBAAgB,CAAC;IACxB,EAAE,EAAE,OAAO,CAAC;IACZ,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKzD;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAkB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAU1G;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA2C5E;AAOD;;;;;GAKG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAmC9D"}
|
package/dist/core/readme.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { toDisplayName } from '../utils/naming.js';
|
|
|
3
3
|
export { toDisplayName };
|
|
4
4
|
export interface ReadmeOptions {
|
|
5
5
|
projectName: string;
|
|
6
|
-
|
|
6
|
+
editors: CodeEditor[];
|
|
7
7
|
workspace: DetectedWorkspace;
|
|
8
8
|
}
|
|
9
9
|
export declare function generateReadme(options: ReadmeOptions): string;
|