@hype-stack/cli 0.8.0 → 0.9.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.
Files changed (98) hide show
  1. package/dist/{cli-COhykLTy.js → cli-latnLYWc.js} +2572 -1623
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/commands/compose.d.ts.map +1 -1
  4. package/dist/commands/create.d.ts.map +1 -1
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/commands/install-helpers.d.ts +14 -3
  7. package/dist/commands/install-helpers.d.ts.map +1 -1
  8. package/dist/commands/login.d.ts.map +1 -1
  9. package/dist/commands/logout.d.ts.map +1 -1
  10. package/dist/commands/mcp.d.ts +17 -0
  11. package/dist/commands/mcp.d.ts.map +1 -0
  12. package/dist/commands/onboard.d.ts +6 -0
  13. package/dist/commands/onboard.d.ts.map +1 -1
  14. package/dist/commands/template.d.ts.map +1 -1
  15. package/dist/config/bin.js +50 -2713
  16. package/dist/config/env.d.ts +2 -0
  17. package/dist/config/env.d.ts.map +1 -1
  18. package/dist/constants/constants.d.ts +0 -3
  19. package/dist/constants/constants.d.ts.map +1 -1
  20. package/dist/constants/themes.d.ts +7 -1
  21. package/dist/constants/themes.d.ts.map +1 -1
  22. package/dist/core/access-prompts.d.ts.map +1 -1
  23. package/dist/core/apply-mode.d.ts.map +1 -1
  24. package/dist/core/apply-radius.d.ts +2 -2
  25. package/dist/core/apply-radius.d.ts.map +1 -1
  26. package/dist/core/apply-theme.d.ts +2 -2
  27. package/dist/core/apply-theme.d.ts.map +1 -1
  28. package/dist/core/auth-store.d.ts +16 -0
  29. package/dist/core/auth-store.d.ts.map +1 -1
  30. package/dist/core/codegen.d.ts.map +1 -1
  31. package/dist/core/codemods.d.ts +21 -1
  32. package/dist/core/codemods.d.ts.map +1 -1
  33. package/dist/core/device.d.ts +9 -0
  34. package/dist/core/device.d.ts.map +1 -1
  35. package/dist/core/env-status.d.ts +40 -0
  36. package/dist/core/env-status.d.ts.map +1 -0
  37. package/dist/core/installer.d.ts.map +1 -1
  38. package/dist/core/mcp-config.d.ts +74 -0
  39. package/dist/core/mcp-config.d.ts.map +1 -0
  40. package/dist/core/onboard-catalog.d.ts.map +1 -1
  41. package/dist/core/post-setup.d.ts +6 -0
  42. package/dist/core/post-setup.d.ts.map +1 -1
  43. package/dist/core/preflight.d.ts +49 -0
  44. package/dist/core/preflight.d.ts.map +1 -0
  45. package/dist/core/registry.d.ts +4 -5
  46. package/dist/core/registry.d.ts.map +1 -1
  47. package/dist/core/runtime.d.ts +42 -0
  48. package/dist/core/runtime.d.ts.map +1 -0
  49. package/dist/core/sentry.d.ts +8 -0
  50. package/dist/core/sentry.d.ts.map +1 -0
  51. package/dist/core/stack-config.d.ts.map +1 -1
  52. package/dist/core/templates.d.ts +2 -3
  53. package/dist/core/templates.d.ts.map +1 -1
  54. package/dist/core/tracking.d.ts.map +1 -1
  55. package/dist/index.d.ts +1 -1
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +2 -2
  58. package/dist/mcp/guard.d.ts +12 -0
  59. package/dist/mcp/guard.d.ts.map +1 -0
  60. package/dist/mcp/result.d.ts +42 -0
  61. package/dist/mcp/result.d.ts.map +1 -0
  62. package/dist/mcp/server.d.ts +12 -0
  63. package/dist/mcp/server.d.ts.map +1 -0
  64. package/dist/mcp/tools/add-packs.d.ts +24 -0
  65. package/dist/mcp/tools/add-packs.d.ts.map +1 -0
  66. package/dist/mcp/tools/apply-template.d.ts +26 -0
  67. package/dist/mcp/tools/apply-template.d.ts.map +1 -0
  68. package/dist/mcp/tools/auth-status.d.ts +9 -0
  69. package/dist/mcp/tools/auth-status.d.ts.map +1 -0
  70. package/dist/mcp/tools/context.d.ts +22 -0
  71. package/dist/mcp/tools/context.d.ts.map +1 -0
  72. package/dist/mcp/tools/create-application.d.ts +30 -0
  73. package/dist/mcp/tools/create-application.d.ts.map +1 -0
  74. package/dist/mcp/tools/env-status.d.ts +15 -0
  75. package/dist/mcp/tools/env-status.d.ts.map +1 -0
  76. package/dist/mcp/tools/inspect-stack.d.ts +15 -0
  77. package/dist/mcp/tools/inspect-stack.d.ts.map +1 -0
  78. package/dist/mcp/tools/plan-install.d.ts +20 -0
  79. package/dist/mcp/tools/plan-install.d.ts.map +1 -0
  80. package/dist/mcp/tools/search-catalog.d.ts +31 -0
  81. package/dist/mcp/tools/search-catalog.d.ts.map +1 -0
  82. package/dist/themes-D5OgOcBU.js +1062 -0
  83. package/dist/themes.js +2 -817
  84. package/dist/types/types.d.ts +45 -16
  85. package/dist/types/types.d.ts.map +1 -1
  86. package/dist/ui/banner.d.ts.map +1 -1
  87. package/dist/ui/env-prompt.d.ts +43 -0
  88. package/dist/ui/env-prompt.d.ts.map +1 -0
  89. package/dist/ui/logger.d.ts +25 -0
  90. package/dist/ui/logger.d.ts.map +1 -1
  91. package/dist/ui/pack-multiselect.d.ts.map +1 -1
  92. package/dist/ui/pack-select.d.ts +35 -0
  93. package/dist/ui/pack-select.d.ts.map +1 -0
  94. package/dist/ui/theme.d.ts +2 -0
  95. package/dist/ui/theme.d.ts.map +1 -1
  96. package/dist/utils/exec.d.ts +3 -0
  97. package/dist/utils/exec.d.ts.map +1 -1
  98. package/package.json +3 -1
@@ -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;
@@ -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;;;iBAGpB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAE/C,eAAO,MAAM,WAAW,QAAO,MAS9B,CAAC"}
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"}
@@ -15,8 +15,6 @@ export declare const API_URL_ENV_KEY = "HYPE_STACK_API_URL";
15
15
  export declare const DEFAULT_WEB_URL = "https://www.hype-stack.dev";
16
16
  export declare const WEB_URL_ENV_KEY = "HYPE_STACK_WEB_URL";
17
17
  export declare const STACK_CONFIG_VERSION = 1;
18
- /** API path for license validation */
19
- export declare const LICENSE_VALIDATE_PATH = "/api/licenses/validate";
20
18
  /** API path for the pack registry (list of all available packs) */
21
19
  export declare const REGISTRY_PATH = "/api/registry";
22
20
  /** API path template for a pack's manifest - replace :packId with the actual ID */
@@ -60,7 +58,6 @@ export declare function getWebUrl(): string;
60
58
  export declare function validateApiUrl(url: string): void;
61
59
  export declare function getSchemaUrl(): string;
62
60
  export declare function getRegistryUrl(): string;
63
- export declare function getLicenseValidateUrl(): string;
64
61
  export declare function getPackManifestUrl(packId: string): string;
65
62
  export declare function getPackFilesUrl(packId: string): string;
66
63
  //# 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,sCAAsC;AACtC,eAAO,MAAM,qBAAqB,2BAA2B,CAAC;AAE9D,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,eAAO,MAAM,cAAc;;;;;;;;;;;;;EAKjB,CAAC;AAEX,eAAO,MAAM,aAAa,kDAAqC,CAAC;AAEhE,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,UAAU,YAAY,CAAC;AACpC,eAAO,MAAM,UAAU,YAAY,CAAC;AAEpC,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,qBAAqB,IAAI,MAAM,CAE9C;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtD"}
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,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,eAAO,MAAM,cAAc;;;;;;;;;;;;;EAKjB,CAAC;AAEX,eAAO,MAAM,aAAa,kDAAqC,CAAC;AAEhE,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,UAAU,YAAY,CAAC;AACpC,eAAO,MAAM,UAAU,YAAY,CAAC;AAEpC,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,4 +1,10 @@
1
- export type ThemeName = "default" | "slate" | "rose" | "emerald" | "violet" | "amber" | "ocean" | "zinc-mono" | "crimson" | "midnight";
1
+ /**
2
+ * Canonical theme id list. `ThemeName` is derived from this so a missing catalog
3
+ * entry, schema enum drift, or preview picker gap fails typecheck / tests.
4
+ * Keep in lockstep with `packages/enums/src/themes` (guarded by the registry sync test).
5
+ */
6
+ export declare const THEME_NAMES: readonly ["default", "slate", "rose", "emerald", "violet", "amber", "ocean", "zinc-mono", "crimson", "midnight", "black", "lime", "paper"];
7
+ export type ThemeName = (typeof THEME_NAMES)[number];
2
8
  /** Keys are CSS variable names without the `--` prefix. */
3
9
  export type ThemeTokens = Record<string, string>;
4
10
  export interface Theme {
@@ -1 +1 @@
1
- {"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../../src/constants/themes.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,OAAO,GACP,MAAM,GACN,SAAS,GACT,QAAQ,GACR,OAAO,GACP,OAAO,GACP,WAAW,GACX,SAAS,GACT,UAAU,CAAC;AAEf,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,CAozB3C,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,CAAkD,CAAC;AACrG,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
+ {"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":"AAQA;;;GAGG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqB1D;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCtH"}
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"}
@@ -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,CAEpF;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAevG"}
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,sBAAsB,CAAC;AAE/D;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAejG"}
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,sBAAsB,CAAC;AAE9D;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAe9F"}
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,CAG3E;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
+ {"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;AAInD,MAAM,MAAM,oBAAoB,GAAG,CACjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,KACrB,OAAO,CAAC,UAAU,CAAC,CAAC;AA0CzB;;;;;;;;;;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,CAqGhB"}
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"}
@@ -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
  /**
@@ -78,6 +78,20 @@ export interface PatchPostLoginRedirectOptions {
78
78
  * installed) or the constant isn't found, so the codemod is safe to run unconditionally.
79
79
  */
80
80
  export declare function patchPostLoginRedirect(options: PatchPostLoginRedirectOptions): Promise<void>;
81
+ export interface PatchShouldInvertLogoOptions {
82
+ /** Whether sidebar/header logos should invert in light mode. */
83
+ shouldInvertLogo: boolean;
84
+ paths: StackPaths;
85
+ projectRoot: string;
86
+ /** App shell to target (frontend by default, admin when retargeted). */
87
+ slot?: PackSlot;
88
+ }
89
+ /**
90
+ * Rewrite the starter's `SHOULD_INVERT_LOGO` constant to the manifest-declared
91
+ * value so templates with dark-background marks can flip the logo in light mode.
92
+ * No-op when the constants file is absent or the constant isn't found.
93
+ */
94
+ export declare function patchShouldInvertLogo(options: PatchShouldInvertLogoOptions): Promise<void>;
81
95
  export declare function patchOnboardingSteps(steps: PackOnboardingStep[], paths: StackPaths, projectRoot: string): Promise<void>;
82
96
  export declare function patchDashboardRows(rows: PackDashboardRow[], paths: StackPaths, projectRoot: string): Promise<void>;
83
97
  export declare function patchOrgDetailsRows(components: PackOrgDetailComponent[], paths: StackPaths, projectRoot: string): Promise<void>;
@@ -91,6 +105,12 @@ export interface PatchActionsOptions {
91
105
  }
92
106
  export declare function patchNavbarActions(options: PatchActionsOptions): Promise<void>;
93
107
  export declare function patchUserMenuActions(options: PatchActionsOptions): Promise<void>;
108
+ export interface PatchSettingsTabsOptions {
109
+ tabs: PackSettingsTab[];
110
+ paths: StackPaths;
111
+ projectRoot: string;
112
+ }
113
+ export declare function patchSettingsTabs({ tabs, paths, projectRoot }: PatchSettingsTabsOptions): Promise<void>;
94
114
  interface RewritePackScopeOptions {
95
115
  files: PackFile[];
96
116
  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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"}
@@ -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":"AAkBA,wBAAgB,oBAAoB,IAAI,MAAM,CAG7C;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
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"}
@@ -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":"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"}
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../../src/core/installer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Writing the `hype-stack` MCP server into each editor's config file.
3
+ *
4
+ * Every editor uses the same server entry, they just disagree on where the file
5
+ * lives and what the map of servers is called. VS Code / Copilot is the only one
6
+ * that uses `servers` instead of `mcpServers`.
7
+ */
8
+ export declare const MCP_SERVER_NAME = "hype-stack";
9
+ /** Editors we can write a config for. Claude Desktop is MCP-only, it has no rules format. */
10
+ export declare const MCP_EDITORS: readonly ["cursor", "claude", "claude-desktop", "windsurf", "copilot"];
11
+ export type McpEditor = (typeof MCP_EDITORS)[number];
12
+ export type McpScope = "global" | "project";
13
+ export interface McpServerEntry {
14
+ type: "stdio";
15
+ command: string;
16
+ args: string[];
17
+ env?: Record<string, string>;
18
+ }
19
+ /**
20
+ * The entry every editor gets. `npx -y` means the user never has to install
21
+ * anything first.
22
+ *
23
+ * The token is optional. Without it the server falls back to the login stored by
24
+ * `hype-stack login`, which is what most people want. Baking a key into the
25
+ * config is for machines with no interactive login: CI images, devcontainers,
26
+ * and shared boxes.
27
+ */
28
+ export declare function buildServerEntry(token?: string): McpServerEntry;
29
+ interface EditorTarget {
30
+ label: string;
31
+ /** Key holding the server map. VS Code is the outlier with `servers`. */
32
+ key: "mcpServers" | "servers";
33
+ /** Path relative to the project root, or null when the editor has no project scope. */
34
+ project: string | null;
35
+ /** Absolute path resolver, or null when the editor has no global scope. */
36
+ global: (() => string) | null;
37
+ }
38
+ export declare const EDITOR_TARGETS: Record<McpEditor, EditorTarget>;
39
+ export declare function isMcpEditor(value: string): value is McpEditor;
40
+ /** Scopes this editor actually supports, in the order we would suggest them. */
41
+ export declare function supportedScopes(editor: McpEditor): McpScope[];
42
+ export interface ResolveConfigPathArgs {
43
+ editor: McpEditor;
44
+ scope: McpScope;
45
+ /** Required for project scope; ignored for global. */
46
+ projectDir?: string;
47
+ }
48
+ export interface WriteConfigArgs extends ResolveConfigPathArgs {
49
+ /** API key to bake into the entry's env block. Omit to use the stored login. */
50
+ token?: string;
51
+ }
52
+ /**
53
+ * Where this editor keeps its MCP config for the given scope. Throws for a
54
+ * combination the editor does not support rather than writing a file it will
55
+ * never read.
56
+ */
57
+ export declare function resolveConfigPath({ editor, scope, projectDir }: ResolveConfigPathArgs): string;
58
+ export interface WriteResult {
59
+ configPath: string;
60
+ key: "mcpServers" | "servers";
61
+ /** False when the file already had an identical entry, so nothing was rewritten. */
62
+ changed: boolean;
63
+ }
64
+ /**
65
+ * Add (or refresh) the server entry in an editor's config, keeping everything
66
+ * else in the file. These files routinely hold other people's servers and hand
67
+ * edits, so a blind overwrite would be destructive. Re-running is a no-op once
68
+ * the entry matches.
69
+ */
70
+ export declare function writeMcpServerConfig(args: WriteConfigArgs): Promise<WriteResult>;
71
+ /** The JSON block a user pastes by hand, for docs and `mcp install --print`. */
72
+ export declare function buildConfigSnippet(editor: McpEditor, token?: string): string;
73
+ export {};
74
+ //# 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":"AAMA;;;;;;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;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,CAa7C,CAAC;AAEF,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAalE"}
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":"AAOA,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,CAKlF;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,CAWf;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,OAAO,EACpB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAWlB"}
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"}
@@ -7,12 +7,12 @@ export declare function loadPackManifest(packName: string): Promise<PackManifest
7
7
  /**
8
8
  * Download a pack's files from the backend into a fresh temp directory.
9
9
  *
10
- * For paid packs the backend authorizes before sending a single byte, via either a logged-in CLI
11
- * token (browser login) or a license key (CI). There is no way to install a paid pack without
12
- * access. The caller is responsible for removing the returned `packDir` once installation finishes.
10
+ * For paid packs the backend authorizes before sending a single byte, so there is no way to
11
+ * install one without access. The only credential is an access token, from `hype-stack login`
12
+ * or `HYPE_STACK_TOKEN`. The caller is responsible for removing the returned `packDir` once
13
+ * installation finishes.
13
14
  */
14
15
  export declare function downloadPack(packName: string, auth?: {
15
- licenseKey?: string | null;
16
16
  token?: string | null;
17
17
  }): Promise<PackDownloadResult>;
18
18
  export declare function resolveTargetPath(target: string, paths: StackPaths, projectRoot: string): string;
@@ -30,6 +30,5 @@ export declare function fetchPackList(): Promise<PackListItem[]>;
30
30
  */
31
31
  export declare function authorizePacks(packNames: string[], auth?: {
32
32
  token?: string | null;
33
- key?: string | null;
34
33
  }): Promise<PackAuthorizationMap>;
35
34
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/core/registry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,UAAU,EACX,MAAM,mBAAmB,CAAC;AAc3B;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAiB9E;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAC/D,OAAO,CAAC,kBAAkB,CAAC,CA4C7B;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAGhG;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,YAAY,EACtB,cAAc,EAAE,MAAM,EAAE,GACvB;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAG3C;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAE9E;AAOD,wBAAsB,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAQ7D;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EAAE,EACnB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GACxD,OAAO,CAAC,oBAAoB,CAAC,CAwB/B"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/core/registry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,UAAU,EACX,MAAM,mBAAmB,CAAC;AAc3B;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAiB9E;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GACnC,OAAO,CAAC,kBAAkB,CAAC,CAkD7B;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAGhG;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,YAAY,EACtB,cAAc,EAAE,MAAM,EAAE,GACvB;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAG3C;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAE9E;AAOD,wBAAsB,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAQ7D;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EAAE,EACnB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GACnC,OAAO,CAAC,oBAAoB,CAAC,CAqB/B"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Process-wide runtime mode. The CLI runs in one of two shapes:
3
+ *
4
+ * - `cli`: a human at a terminal. Clack owns stdout, prompts are allowed.
5
+ * - `mcp`: an MCP server spawned by an editor. stdout is the JSON-RPC channel,
6
+ * there is no TTY, and any prompt would hang the tool call forever.
7
+ *
8
+ * Everything that writes output or asks a question checks this module first.
9
+ */
10
+ export type RuntimeMode = "cli" | "mcp";
11
+ export declare function setRuntimeMode(next: RuntimeMode): void;
12
+ export declare function getRuntimeMode(): RuntimeMode;
13
+ /** True when no prompt may be shown and stdout belongs to something else. */
14
+ export declare function isHeadless(): boolean;
15
+ export declare function writeDiagnostic(message: string): void;
16
+ export declare function resetDiagnostics(): void;
17
+ export declare function drainDiagnostics(): string[];
18
+ /**
19
+ * Why a headless run could not continue. These map straight onto the `reason`
20
+ * field of an MCP tool result, so the agent can explain the fix rather than
21
+ * relaying a stack trace.
22
+ */
23
+ export type NonInteractiveReason = "not_a_project" | "auth_required" | "not_owned" | "conflicts" | "input_required" | "cancelled";
24
+ export interface NonInteractiveErrorOptions {
25
+ reason: NonInteractiveReason;
26
+ message: string;
27
+ /** Extra machine-readable context, e.g. the blocked pack names or conflicting files. */
28
+ details?: Record<string, unknown>;
29
+ }
30
+ /** Thrown instead of prompting when the process has no one to ask. */
31
+ export declare class NonInteractiveError extends Error {
32
+ readonly reason: NonInteractiveReason;
33
+ readonly details: Record<string, unknown>;
34
+ constructor({ reason, message, details }: NonInteractiveErrorOptions);
35
+ }
36
+ export declare function isNonInteractiveError(error: unknown): error is NonInteractiveError;
37
+ /**
38
+ * Guard placed immediately before any prompt. In `cli` mode it does nothing and
39
+ * the prompt runs; in `mcp` mode it aborts with a structured reason.
40
+ */
41
+ export declare function assertInteractive(options: NonInteractiveErrorOptions): void;
42
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/core/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,CAAC;AAIxC,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAEtD;AAED,wBAAgB,cAAc,IAAI,WAAW,CAE5C;AAED,6EAA6E;AAC7E,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAUD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAGrD;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAI3C;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAC5B,eAAe,GACf,eAAe,GACf,WAAW,GACX,WAAW,GACX,gBAAgB,GAChB,WAAW,CAAC;AAEhB,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,sEAAsE;AACtE,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAE9B,EAAE,MAAM,EAAE,OAAO,EAAE,OAAY,EAAE,EAAE,0BAA0B;CAM1E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAElF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI,CAE3E"}
@@ -0,0 +1,8 @@
1
+ interface InitCliSentryOptions {
2
+ command: string;
3
+ dsn?: string;
4
+ }
5
+ export declare function initCliSentry({ command, dsn }: InitCliSentryOptions): boolean;
6
+ export declare function reportCliError(error: unknown, enabled: boolean): Promise<void>;
7
+ export {};
8
+ //# sourceMappingURL=sentry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sentry.d.ts","sourceRoot":"","sources":["../../src/core/sentry.ts"],"names":[],"mappings":"AAMA,UAAU,oBAAoB;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,oBAAoB,GAAG,OAAO,CAqB7E;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CASpF"}
@@ -1 +1 @@
1
- {"version":3,"file":"stack-config.d.ts","sourceRoot":"","sources":["../../src/core/stack-config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpF,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAG9E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGlE;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtF;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAO7E;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,iBAAiB,GAAG,UAAU,CAqCxE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,WAAW,CAWzF;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAMhF;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOtE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAY/E"}
1
+ {"version":3,"file":"stack-config.d.ts","sourceRoot":"","sources":["../../src/core/stack-config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpF,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAG9E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGlE;AAED,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtF;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAO7E;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,iBAAiB,GAAG,UAAU,CAqCxE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,WAAW,CAUzF;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAMhF;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOtE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAY/E"}
@@ -5,11 +5,10 @@ export declare function fetchTemplateList(): Promise<TemplateListItem[]>;
5
5
  export declare function fetchTemplateManifest(templateId: string): Promise<TemplateManifest>;
6
6
  /**
7
7
  * Download a template's override files into a fresh temp directory. Like pack
8
- * downloads, paid templates are authorized before a byte is sent, via a CLI
9
- * token or license key. The caller removes `templateDir` when done.
8
+ * downloads, paid templates are authorized before a byte is sent, using the access
9
+ * token. The caller removes `templateDir` when done.
10
10
  */
11
11
  export declare function downloadTemplate(templateId: string, auth?: {
12
- licenseKey?: string | null;
13
12
  token?: string | null;
14
13
  }): Promise<TemplateDownloadResult>;
15
14
  //# sourceMappingURL=templates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/core/templates.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAkBpG,sGAAsG;AACtG,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAMrE;AAED,4EAA4E;AAC5E,wBAAsB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgBzF;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAC/D,OAAO,CAAC,sBAAsB,CAAC,CA4CjC"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/core/templates.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAkBpG,sGAAsG;AACtG,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAMrE;AAED,4EAA4E;AAC5E,wBAAsB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgBzF;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GACnC,OAAO,CAAC,sBAAsB,CAAC,CA+CjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tracking.d.ts","sourceRoot":"","sources":["../../src/core/tracking.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAE7C;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBvE"}
1
+ {"version":3,"file":"tracking.d.ts","sourceRoot":"","sources":["../../src/core/tracking.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAE7C;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBvE"}
package/dist/index.d.ts CHANGED
@@ -4,5 +4,5 @@ export { initCommand, ensureInit } from './commands/init';
4
4
  export { composeCommand } from './commands/compose';
5
5
  export { loginCommand } from './commands/login';
6
6
  export { logoutCommand } from './commands/logout';
7
- export type { StackConfig, CreateOptions, InitOptions, DetectedWorkspace, CodeEditor, StackPaths, AppPaths, PackManifest, PackFile, PackTier, FileStrategy, PackValidationResult, PackListItem, PackAuthorization, PackAuthorizationMap, ComposeOptions, } from './types/types';
7
+ export type { StackConfig, CreateOptions, InitOptions, DetectedWorkspace, CodeEditor, StackPaths, AppPaths, PackManifest, PackFile, PackTier, FileStrategy, PackListItem, PackAuthorization, PackAuthorizationMap, ComposeOptions, } from './types/types';
8
8
  //# sourceMappingURL=index.d.ts.map