@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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,GACf,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,GACf,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as e, i as t, n, o as r, r as i, s as a, t as o } from "./cli-COhykLTy.js";
2
- export { t as composeCommand, a as createCommand, o as createProgram, e as ensureInit, r as initCommand, i as loginCommand, n as logoutCommand };
1
+ import { a as e, c as t, i as n, o as r, r as i, s as a, t as o } from "./cli-latnLYWc.js";
2
+ export { e as composeCommand, t as createCommand, o as createProgram, r as ensureInit, a as initCommand, n as loginCommand, i as logoutCommand };
@@ -0,0 +1,12 @@
1
+ import { Writable } from 'node:stream';
2
+ /**
3
+ * Redirect every ambient stdout write to stderr and return the only stream that
4
+ * still reaches the real stdout. Safe to call twice: the second call returns the
5
+ * stream from the first so we never wrap an already-redirected write.
6
+ */
7
+ export declare function installStdoutGuard(): Writable;
8
+ /** True once `installStdoutGuard` has run. */
9
+ export declare function isStdoutGuarded(): boolean;
10
+ /** Undo the guard. Only used by tests; the server never restores stdout. */
11
+ export declare function uninstallStdoutGuard(): void;
12
+ //# sourceMappingURL=guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../src/mcp/guard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAuBvC;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,QAAQ,CAiD7C;AAED,8CAA8C;AAC9C,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED,4EAA4E;AAC5E,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C"}
@@ -0,0 +1,42 @@
1
+ import { NonInteractiveReason } from '../core/runtime.js';
2
+ /** What every tool resolves to. `logs` carries the stderr transcript of the run. */
3
+ export interface ToolSuccess {
4
+ ok: true;
5
+ logs: string[];
6
+ /** Commands the user has to run themselves, e.g. Docker and migrations. */
7
+ followUp?: string[];
8
+ [key: string]: unknown;
9
+ }
10
+ export interface ToolFailure {
11
+ ok: false;
12
+ reason: NonInteractiveReason | "failed";
13
+ message: string;
14
+ details: Record<string, unknown>;
15
+ logs: string[];
16
+ }
17
+ export type ToolResult = ToolSuccess | ToolFailure;
18
+ /** Shape the MCP SDK expects back from a tool callback. */
19
+ export interface CallToolResult {
20
+ content: {
21
+ type: "text";
22
+ text: string;
23
+ }[];
24
+ structuredContent?: Record<string, unknown>;
25
+ isError?: boolean;
26
+ [key: string]: unknown;
27
+ }
28
+ /** Payload a tool body returns; `ok` and `logs` are filled in by {@link runTool}. */
29
+ export type ToolPayload = Record<string, unknown> & {
30
+ followUp?: string[];
31
+ };
32
+ /**
33
+ * Run a tool body and turn whatever comes out into a single JSON envelope.
34
+ *
35
+ * A `NonInteractiveError` is an expected outcome, not a crash: it means the run
36
+ * needed a human (a login, a project, an overwrite decision). Those come back as
37
+ * `ok: false` with a machine-readable `reason` and are NOT flagged `isError`, so
38
+ * the agent reads the reason and explains the fix instead of retrying blindly.
39
+ * Anything else is a real failure and does get flagged.
40
+ */
41
+ export declare function runTool(body: () => Promise<ToolPayload>): Promise<CallToolResult>;
42
+ //# sourceMappingURL=result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/mcp/result.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;AAE5B,oFAAoF;AACpF,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,oBAAoB,GAAG,QAAQ,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;AAEnD,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,qFAAqF;AACrF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE5E;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAgCvF"}
@@ -0,0 +1,12 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare const SERVER_NAME = "hype-stack";
3
+ /** Tool names, in the order they are registered. Asserted by the tests. */
4
+ export declare const TOOL_NAMES: readonly ["search_catalog", "plan_install", "create_application", "add_packs", "apply_template", "inspect_stack", "env_status", "auth_status"];
5
+ /**
6
+ * Build the server with every tool registered. Split out from {@link runMcpServer}
7
+ * so tests can drive it over an in-memory transport without spawning a process.
8
+ */
9
+ export declare function createMcpServer(): McpServer;
10
+ /** Boot the stdio server. Only ever called from the `mcp` command. */
11
+ export declare function runMcpServer(): Promise<void>;
12
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgBpE,eAAO,MAAM,WAAW,eAAe,CAAC;AAExC,2EAA2E;AAC3E,eAAO,MAAM,UAAU,gJASb,CAAC;AAEX;;;GAGG;AACH,wBAAgB,eAAe,IAAI,SAAS,CAuG3C;AAYD,sEAAsE;AACtE,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CASlD"}
@@ -0,0 +1,24 @@
1
+ import { z } from 'zod';
2
+ import { ToolPayload } from '../result.js';
3
+ export declare const addPacksSchema: {
4
+ packs: z.ZodArray<z.ZodString>;
5
+ cwd: z.ZodOptional<z.ZodString>;
6
+ onConflict: z.ZodDefault<z.ZodEnum<{
7
+ overwrite: "overwrite";
8
+ keep: "keep";
9
+ }>>;
10
+ };
11
+ export interface AddPacksArgs {
12
+ packs: string[];
13
+ cwd?: string;
14
+ onConflict?: "keep" | "overwrite";
15
+ }
16
+ /**
17
+ * Install packs into an existing project.
18
+ *
19
+ * There is no prompt to fall back on here, so the caller has to state a conflict
20
+ * policy up front and the run stops with a structured reason if it hits anything
21
+ * else that needs a decision (no project, missing license, unknown pack).
22
+ */
23
+ export declare function addPacks(args: AddPacksArgs): Promise<ToolPayload>;
24
+ //# sourceMappingURL=add-packs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-packs.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/add-packs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,eAAO,MAAM,cAAc;;;;;;;CAU1B,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;CACnC;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAuBvE"}
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+ import { ToolPayload } from '../result.js';
3
+ export declare const applyTemplateSchema: {
4
+ templateId: z.ZodString;
5
+ cwd: z.ZodOptional<z.ZodString>;
6
+ variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
7
+ packs: z.ZodOptional<z.ZodArray<z.ZodString>>;
8
+ onConflict: z.ZodDefault<z.ZodEnum<{
9
+ overwrite: "overwrite";
10
+ keep: "keep";
11
+ }>>;
12
+ };
13
+ export interface ApplyTemplateArgs {
14
+ templateId: string;
15
+ cwd?: string;
16
+ variants?: Record<string, string>;
17
+ packs?: string[];
18
+ onConflict?: "keep" | "overwrite";
19
+ }
20
+ /**
21
+ * Install a template: its starter, layout, fixed packs, and frontend overrides.
22
+ * Slot variants must be passed explicitly since there is no picker to fall back
23
+ * on; anything left out uses the template's default.
24
+ */
25
+ export declare function applyTemplate(args: ApplyTemplateArgs): Promise<ToolPayload>;
26
+ //# sourceMappingURL=apply-template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-template.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/apply-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,eAAO,MAAM,mBAAmB;;;;;;;;;CAY/B,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;CACnC;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAsBjF"}
@@ -0,0 +1,9 @@
1
+ import { ToolPayload } from '../result.js';
2
+ export declare const authStatusSchema: {};
3
+ /**
4
+ * Who this server is authenticated as, and how to fix it when the answer is
5
+ * "nobody". Every install tool can fail with `auth_required`, so this is the
6
+ * one an agent calls to explain the fix in concrete terms.
7
+ */
8
+ export declare function authStatus(): Promise<ToolPayload>;
9
+ //# sourceMappingURL=auth-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-status.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/auth-status.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,eAAO,MAAM,gBAAgB,IAAK,CAAC;AAEnC;;;;GAIG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC,CAsCvD"}
@@ -0,0 +1,22 @@
1
+ export type TokenSource = "env" | "stored" | "none";
2
+ export interface ResolvedToken {
3
+ token: string | null;
4
+ source: TokenSource;
5
+ }
6
+ /**
7
+ * The credential this tool call runs under. There is no interactive login in an
8
+ * MCP process, so it is whatever the editor put in the server's `env` block or
9
+ * whatever `hype-stack login` already wrote to disk.
10
+ */
11
+ export declare function resolveToken(): Promise<ResolvedToken>;
12
+ /**
13
+ * Where a tool should operate. The editor spawns the server with the workspace
14
+ * as its cwd, so an omitted path means "the project the user has open".
15
+ */
16
+ export declare function resolveCwd(input?: string): string;
17
+ /** Told to the user whenever a tool stops for want of a credential. */
18
+ export declare const AUTH_HINT: {
19
+ readonly envVar: "HYPE_STACK_TOKEN";
20
+ readonly loginCommand: "npx @hype-stack/cli login";
21
+ };
22
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/context.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC,CAI3D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,uEAAuE;AACvE,eAAO,MAAM,SAAS;;;CAGZ,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { z } from 'zod';
2
+ import { CodeEditor } from '../../types/types.js';
3
+ import { ToolPayload } from '../result.js';
4
+ export declare const createApplicationSchema: {
5
+ name: z.ZodString;
6
+ directory: z.ZodOptional<z.ZodString>;
7
+ editor: z.ZodDefault<z.ZodEnum<{
8
+ cursor: "cursor";
9
+ claude: "claude";
10
+ windsurf: "windsurf";
11
+ copilot: "copilot";
12
+ }>>;
13
+ theme: z.ZodOptional<z.ZodString>;
14
+ adminTheme: z.ZodOptional<z.ZodString>;
15
+ };
16
+ export interface CreateApplicationArgs {
17
+ name: string;
18
+ directory?: string;
19
+ editor?: CodeEditor;
20
+ theme?: string;
21
+ adminTheme?: string;
22
+ }
23
+ /**
24
+ * Scaffold a new application. Docker and migrations are deliberately left to the
25
+ * user (see `followUp`): starting containers and mutating a database from a tool
26
+ * call is too big a side effect to do silently, and both are slow enough to trip
27
+ * a host's tool timeout.
28
+ */
29
+ export declare function createApplication(args: CreateApplicationArgs): Promise<ToolPayload>;
30
+ //# sourceMappingURL=create-application.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-application.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/create-application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,eAAO,MAAM,uBAAuB;;;;;;;;;;;CASnC,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,CA4BzF"}
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ import { ToolPayload } from '../result.js';
3
+ export declare const envStatusSchema: {
4
+ cwd: z.ZodOptional<z.ZodString>;
5
+ };
6
+ export interface EnvStatusArgs {
7
+ cwd?: string;
8
+ }
9
+ /**
10
+ * Report which env vars the installed packs still need. Read-only: filling them
11
+ * in means handing over secrets, which belongs in the user's own terminal via
12
+ * `hype-stack onboard`, not in a tool call.
13
+ */
14
+ export declare function envStatus(args: EnvStatusArgs): Promise<ToolPayload>;
15
+ //# sourceMappingURL=env-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env-status.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/env-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,eAAO,MAAM,eAAe;;CAE3B,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAoBzE"}
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ import { ToolPayload } from '../result.js';
3
+ export declare const inspectStackSchema: {
4
+ cwd: z.ZodOptional<z.ZodString>;
5
+ };
6
+ export interface InspectStackArgs {
7
+ cwd?: string;
8
+ }
9
+ /**
10
+ * Read a project's `stack.json` and detected layout. The cheapest way for an
11
+ * agent to orient itself before suggesting anything: which packs are in, where
12
+ * the backend and frontend live, and whether this is a Hype Stack project at all.
13
+ */
14
+ export declare function inspectStack(args: InspectStackArgs): Promise<ToolPayload>;
15
+ //# sourceMappingURL=inspect-stack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspect-stack.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/inspect-stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,eAAO,MAAM,kBAAkB;;CAE9B,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CA2B/E"}
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+ import { ToolPayload } from '../result.js';
3
+ export declare const planInstallSchema: {
4
+ packs: z.ZodArray<z.ZodString>;
5
+ cwd: z.ZodOptional<z.ZodString>;
6
+ };
7
+ export interface PlanInstallArgs {
8
+ packs: string[];
9
+ cwd?: string;
10
+ }
11
+ /**
12
+ * Work out what installing a set of packs would actually do, without writing a
13
+ * byte. Resolves transitive dependencies, drops packs already installed, and
14
+ * checks entitlements against the current token.
15
+ *
16
+ * This is the tool that lets an agent say "you don't own this" up front, instead
17
+ * of getting half way through an install and stopping.
18
+ */
19
+ export declare function planInstall(args: PlanInstallArgs): Promise<ToolPayload>;
20
+ //# sourceMappingURL=plan-install.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-install.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/plan-install.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,eAAO,MAAM,iBAAiB;;;CAG7B,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAuD7E"}
@@ -0,0 +1,31 @@
1
+ import { z } from 'zod';
2
+ import { PackListItem, TemplateListItem } from '../../types/types.js';
3
+ import { ToolPayload } from '../result.js';
4
+ export declare const searchCatalogSchema: {
5
+ query: z.ZodOptional<z.ZodString>;
6
+ kind: z.ZodDefault<z.ZodEnum<{
7
+ pack: "pack";
8
+ template: "template";
9
+ all: "all";
10
+ }>>;
11
+ category: z.ZodOptional<z.ZodString>;
12
+ tier: z.ZodDefault<z.ZodEnum<{
13
+ free: "free";
14
+ paid: "paid";
15
+ all: "all";
16
+ }>>;
17
+ };
18
+ export type SearchCatalogArgs = {
19
+ query?: string;
20
+ kind?: "pack" | "template" | "all";
21
+ category?: string;
22
+ tier?: "free" | "paid" | "all";
23
+ };
24
+ export declare function filterPacks(packs: PackListItem[], args: SearchCatalogArgs): PackListItem[];
25
+ export declare function filterTemplates(templates: TemplateListItem[], args: SearchCatalogArgs): TemplateListItem[];
26
+ /**
27
+ * Browse packs and templates. Read-only and unauthenticated: the catalog is
28
+ * public, ownership only matters at install time.
29
+ */
30
+ export declare function searchCatalog(args: SearchCatalogArgs): Promise<ToolPayload>;
31
+ //# sourceMappingURL=search-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-catalog.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/search-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;CAK/B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;CAChC,CAAC;AAQF,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,iBAAiB,GAAG,YAAY,EAAE,CAO1F;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,EAAE,CAM1G;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CA4BjF"}