@ambitresearch/genie 1.3.1

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 (301) hide show
  1. package/README.md +15 -0
  2. package/dist/auth/bearer.d.ts +49 -0
  3. package/dist/auth/bearer.d.ts.map +1 -0
  4. package/dist/auth/bearer.js +159 -0
  5. package/dist/auth/bearer.js.map +1 -0
  6. package/dist/auth/oauth/authorize.d.ts +19 -0
  7. package/dist/auth/oauth/authorize.d.ts.map +1 -0
  8. package/dist/auth/oauth/authorize.js +111 -0
  9. package/dist/auth/oauth/authorize.js.map +1 -0
  10. package/dist/auth/oauth/config.d.ts +10 -0
  11. package/dist/auth/oauth/config.d.ts.map +1 -0
  12. package/dist/auth/oauth/config.js +16 -0
  13. package/dist/auth/oauth/config.js.map +1 -0
  14. package/dist/auth/oauth/dcr.d.ts +15 -0
  15. package/dist/auth/oauth/dcr.d.ts.map +1 -0
  16. package/dist/auth/oauth/dcr.js +38 -0
  17. package/dist/auth/oauth/dcr.js.map +1 -0
  18. package/dist/auth/oauth/jwt.d.ts +13 -0
  19. package/dist/auth/oauth/jwt.d.ts.map +1 -0
  20. package/dist/auth/oauth/jwt.js +46 -0
  21. package/dist/auth/oauth/jwt.js.map +1 -0
  22. package/dist/auth/oauth/metadata.d.ts +9 -0
  23. package/dist/auth/oauth/metadata.d.ts.map +1 -0
  24. package/dist/auth/oauth/metadata.js +19 -0
  25. package/dist/auth/oauth/metadata.js.map +1 -0
  26. package/dist/auth/oauth/router.d.ts +32 -0
  27. package/dist/auth/oauth/router.d.ts.map +1 -0
  28. package/dist/auth/oauth/router.js +159 -0
  29. package/dist/auth/oauth/router.js.map +1 -0
  30. package/dist/auth/oauth/store.d.ts +55 -0
  31. package/dist/auth/oauth/store.d.ts.map +1 -0
  32. package/dist/auth/oauth/store.js +63 -0
  33. package/dist/auth/oauth/store.js.map +1 -0
  34. package/dist/auth/oauth/token.d.ts +21 -0
  35. package/dist/auth/oauth/token.d.ts.map +1 -0
  36. package/dist/auth/oauth/token.js +77 -0
  37. package/dist/auth/oauth/token.js.map +1 -0
  38. package/dist/auth/oidc/group-policy.d.ts +43 -0
  39. package/dist/auth/oidc/group-policy.d.ts.map +1 -0
  40. package/dist/auth/oidc/group-policy.js +54 -0
  41. package/dist/auth/oidc/group-policy.js.map +1 -0
  42. package/dist/auth/oidc/verifier.d.ts +42 -0
  43. package/dist/auth/oidc/verifier.d.ts.map +1 -0
  44. package/dist/auth/oidc/verifier.js +145 -0
  45. package/dist/auth/oidc/verifier.js.map +1 -0
  46. package/dist/auth/token-cli.d.ts +9 -0
  47. package/dist/auth/token-cli.d.ts.map +1 -0
  48. package/dist/auth/token-cli.js +98 -0
  49. package/dist/auth/token-cli.js.map +1 -0
  50. package/dist/cli.d.ts +3 -0
  51. package/dist/cli.d.ts.map +1 -0
  52. package/dist/cli.js +149 -0
  53. package/dist/cli.js.map +1 -0
  54. package/dist/config/redact.d.ts +20 -0
  55. package/dist/config/redact.d.ts.map +1 -0
  56. package/dist/config/redact.js +77 -0
  57. package/dist/config/redact.js.map +1 -0
  58. package/dist/config/secrets.d.ts +100 -0
  59. package/dist/config/secrets.d.ts.map +1 -0
  60. package/dist/config/secrets.js +130 -0
  61. package/dist/config/secrets.js.map +1 -0
  62. package/dist/framework/html.d.ts +103 -0
  63. package/dist/framework/html.d.ts.map +1 -0
  64. package/dist/framework/html.js +271 -0
  65. package/dist/framework/html.js.map +1 -0
  66. package/dist/framework/interface.d.ts +130 -0
  67. package/dist/framework/interface.d.ts.map +1 -0
  68. package/dist/framework/interface.js +112 -0
  69. package/dist/framework/interface.js.map +1 -0
  70. package/dist/framework/react.d.ts +133 -0
  71. package/dist/framework/react.d.ts.map +1 -0
  72. package/dist/framework/react.js +243 -0
  73. package/dist/framework/react.js.map +1 -0
  74. package/dist/framework/vue.d.ts +99 -0
  75. package/dist/framework/vue.d.ts.map +1 -0
  76. package/dist/framework/vue.js +375 -0
  77. package/dist/framework/vue.js.map +1 -0
  78. package/dist/index.d.ts +3 -0
  79. package/dist/index.d.ts.map +1 -0
  80. package/dist/index.js +3 -0
  81. package/dist/index.js.map +1 -0
  82. package/dist/llm/client.d.ts +81 -0
  83. package/dist/llm/client.d.ts.map +1 -0
  84. package/dist/llm/client.js +141 -0
  85. package/dist/llm/client.js.map +1 -0
  86. package/dist/llm/component-response.d.ts +111 -0
  87. package/dist/llm/component-response.d.ts.map +1 -0
  88. package/dist/llm/component-response.js +167 -0
  89. package/dist/llm/component-response.js.map +1 -0
  90. package/dist/llm/generated-files.d.ts +10 -0
  91. package/dist/llm/generated-files.d.ts.map +1 -0
  92. package/dist/llm/generated-files.js +26 -0
  93. package/dist/llm/generated-files.js.map +1 -0
  94. package/dist/llm/prompts/CHANGELOG.md +70 -0
  95. package/dist/llm/prompts/generate-component.system.md +99 -0
  96. package/dist/llm/prompts/refine-component.system.md +112 -0
  97. package/dist/llm/prompts.d.ts +66 -0
  98. package/dist/llm/prompts.d.ts.map +1 -0
  99. package/dist/llm/prompts.js +78 -0
  100. package/dist/llm/prompts.js.map +1 -0
  101. package/dist/llm/retry.d.ts +183 -0
  102. package/dist/llm/retry.d.ts.map +1 -0
  103. package/dist/llm/retry.js +475 -0
  104. package/dist/llm/retry.js.map +1 -0
  105. package/dist/llm/schema.d.ts +129 -0
  106. package/dist/llm/schema.d.ts.map +1 -0
  107. package/dist/llm/schema.js +147 -0
  108. package/dist/llm/schema.js.map +1 -0
  109. package/dist/llm/validate.d.ts +107 -0
  110. package/dist/llm/validate.d.ts.map +1 -0
  111. package/dist/llm/validate.js +174 -0
  112. package/dist/llm/validate.js.map +1 -0
  113. package/dist/manifest/compiler.d.ts +112 -0
  114. package/dist/manifest/compiler.d.ts.map +1 -0
  115. package/dist/manifest/compiler.js +306 -0
  116. package/dist/manifest/compiler.js.map +1 -0
  117. package/dist/manifest/ensure.d.ts +46 -0
  118. package/dist/manifest/ensure.d.ts.map +1 -0
  119. package/dist/manifest/ensure.js +49 -0
  120. package/dist/manifest/ensure.js.map +1 -0
  121. package/dist/manifest/index.d.ts +13 -0
  122. package/dist/manifest/index.d.ts.map +1 -0
  123. package/dist/manifest/index.js +13 -0
  124. package/dist/manifest/index.js.map +1 -0
  125. package/dist/middleware/plan-guard.d.ts +167 -0
  126. package/dist/middleware/plan-guard.d.ts.map +1 -0
  127. package/dist/middleware/plan-guard.js +190 -0
  128. package/dist/middleware/plan-guard.js.map +1 -0
  129. package/dist/plans/index.d.ts +71 -0
  130. package/dist/plans/index.d.ts.map +1 -0
  131. package/dist/plans/index.js +252 -0
  132. package/dist/plans/index.js.map +1 -0
  133. package/dist/schemas/component.schema.json +114 -0
  134. package/dist/server.d.ts +96 -0
  135. package/dist/server.d.ts.map +1 -0
  136. package/dist/server.js +258 -0
  137. package/dist/server.js.map +1 -0
  138. package/dist/store/empty-manifest.d.ts +58 -0
  139. package/dist/store/empty-manifest.d.ts.map +1 -0
  140. package/dist/store/empty-manifest.js +59 -0
  141. package/dist/store/empty-manifest.js.map +1 -0
  142. package/dist/store/git-host.d.ts +120 -0
  143. package/dist/store/git-host.d.ts.map +1 -0
  144. package/dist/store/git-host.js +796 -0
  145. package/dist/store/git-host.js.map +1 -0
  146. package/dist/store/index.d.ts +5 -0
  147. package/dist/store/index.d.ts.map +1 -0
  148. package/dist/store/index.js +4 -0
  149. package/dist/store/index.js.map +1 -0
  150. package/dist/store/interface.d.ts +322 -0
  151. package/dist/store/interface.d.ts.map +1 -0
  152. package/dist/store/interface.js +100 -0
  153. package/dist/store/interface.js.map +1 -0
  154. package/dist/store/kit-files.d.ts +88 -0
  155. package/dist/store/kit-files.d.ts.map +1 -0
  156. package/dist/store/kit-files.js +199 -0
  157. package/dist/store/kit-files.js.map +1 -0
  158. package/dist/store/local.d.ts +70 -0
  159. package/dist/store/local.d.ts.map +1 -0
  160. package/dist/store/local.js +651 -0
  161. package/dist/store/local.js.map +1 -0
  162. package/dist/store/manifest.d.ts +44 -0
  163. package/dist/store/manifest.d.ts.map +1 -0
  164. package/dist/store/manifest.js +116 -0
  165. package/dist/store/manifest.js.map +1 -0
  166. package/dist/store/viewer-assets.d.ts +20 -0
  167. package/dist/store/viewer-assets.d.ts.map +1 -0
  168. package/dist/store/viewer-assets.js +118 -0
  169. package/dist/store/viewer-assets.js.map +1 -0
  170. package/dist/sync/anchor.d.ts +125 -0
  171. package/dist/sync/anchor.d.ts.map +1 -0
  172. package/dist/sync/anchor.js +210 -0
  173. package/dist/sync/anchor.js.map +1 -0
  174. package/dist/sync/index.d.ts +15 -0
  175. package/dist/sync/index.d.ts.map +1 -0
  176. package/dist/sync/index.js +15 -0
  177. package/dist/sync/index.js.map +1 -0
  178. package/dist/sync/orchestrator.d.ts +160 -0
  179. package/dist/sync/orchestrator.d.ts.map +1 -0
  180. package/dist/sync/orchestrator.js +288 -0
  181. package/dist/sync/orchestrator.js.map +1 -0
  182. package/dist/tools/bind_kit.d.ts +29 -0
  183. package/dist/tools/bind_kit.d.ts.map +1 -0
  184. package/dist/tools/bind_kit.js +70 -0
  185. package/dist/tools/bind_kit.js.map +1 -0
  186. package/dist/tools/conjure.d.ts +141 -0
  187. package/dist/tools/conjure.d.ts.map +1 -0
  188. package/dist/tools/conjure.js +655 -0
  189. package/dist/tools/conjure.js.map +1 -0
  190. package/dist/tools/conjure_screen.d.ts +174 -0
  191. package/dist/tools/conjure_screen.d.ts.map +1 -0
  192. package/dist/tools/conjure_screen.js +458 -0
  193. package/dist/tools/conjure_screen.js.map +1 -0
  194. package/dist/tools/create_kit.d.ts +32 -0
  195. package/dist/tools/create_kit.d.ts.map +1 -0
  196. package/dist/tools/create_kit.js +131 -0
  197. package/dist/tools/create_kit.js.map +1 -0
  198. package/dist/tools/create_project.d.ts +267 -0
  199. package/dist/tools/create_project.d.ts.map +1 -0
  200. package/dist/tools/create_project.js +546 -0
  201. package/dist/tools/create_project.js.map +1 -0
  202. package/dist/tools/delete_files.d.ts +93 -0
  203. package/dist/tools/delete_files.d.ts.map +1 -0
  204. package/dist/tools/delete_files.js +276 -0
  205. package/dist/tools/delete_files.js.map +1 -0
  206. package/dist/tools/delete_project.d.ts +43 -0
  207. package/dist/tools/delete_project.d.ts.map +1 -0
  208. package/dist/tools/delete_project.js +118 -0
  209. package/dist/tools/delete_project.js.map +1 -0
  210. package/dist/tools/get_kit.d.ts +28 -0
  211. package/dist/tools/get_kit.d.ts.map +1 -0
  212. package/dist/tools/get_kit.js +95 -0
  213. package/dist/tools/get_kit.js.map +1 -0
  214. package/dist/tools/get_project.d.ts +37 -0
  215. package/dist/tools/get_project.d.ts.map +1 -0
  216. package/dist/tools/get_project.js +71 -0
  217. package/dist/tools/get_project.js.map +1 -0
  218. package/dist/tools/list_components.d.ts +42 -0
  219. package/dist/tools/list_components.d.ts.map +1 -0
  220. package/dist/tools/list_components.js +125 -0
  221. package/dist/tools/list_components.js.map +1 -0
  222. package/dist/tools/list_files.d.ts +32 -0
  223. package/dist/tools/list_files.d.ts.map +1 -0
  224. package/dist/tools/list_files.js +109 -0
  225. package/dist/tools/list_files.js.map +1 -0
  226. package/dist/tools/list_kits.d.ts +14 -0
  227. package/dist/tools/list_kits.d.ts.map +1 -0
  228. package/dist/tools/list_kits.js +41 -0
  229. package/dist/tools/list_kits.js.map +1 -0
  230. package/dist/tools/list_projects.d.ts +23 -0
  231. package/dist/tools/list_projects.d.ts.map +1 -0
  232. package/dist/tools/list_projects.js +66 -0
  233. package/dist/tools/list_projects.js.map +1 -0
  234. package/dist/tools/plan.d.ts +16 -0
  235. package/dist/tools/plan.d.ts.map +1 -0
  236. package/dist/tools/plan.js +146 -0
  237. package/dist/tools/plan.js.map +1 -0
  238. package/dist/tools/preview.d.ts +289 -0
  239. package/dist/tools/preview.d.ts.map +1 -0
  240. package/dist/tools/preview.js +672 -0
  241. package/dist/tools/preview.js.map +1 -0
  242. package/dist/tools/read_file.d.ts +40 -0
  243. package/dist/tools/read_file.d.ts.map +1 -0
  244. package/dist/tools/read_file.js +114 -0
  245. package/dist/tools/read_file.js.map +1 -0
  246. package/dist/tools/refine.d.ts +220 -0
  247. package/dist/tools/refine.d.ts.map +1 -0
  248. package/dist/tools/refine.js +501 -0
  249. package/dist/tools/refine.js.map +1 -0
  250. package/dist/tools/validate.d.ts +74 -0
  251. package/dist/tools/validate.d.ts.map +1 -0
  252. package/dist/tools/validate.js +224 -0
  253. package/dist/tools/validate.js.map +1 -0
  254. package/dist/tools/write_files.d.ts +158 -0
  255. package/dist/tools/write_files.d.ts.map +1 -0
  256. package/dist/tools/write_files.js +541 -0
  257. package/dist/tools/write_files.js.map +1 -0
  258. package/dist/transport.d.ts +77 -0
  259. package/dist/transport.d.ts.map +1 -0
  260. package/dist/transport.js +448 -0
  261. package/dist/transport.js.map +1 -0
  262. package/dist/ui/card-asset-broker.d.ts +42 -0
  263. package/dist/ui/card-asset-broker.d.ts.map +1 -0
  264. package/dist/ui/card-asset-broker.js +479 -0
  265. package/dist/ui/card-asset-broker.js.map +1 -0
  266. package/dist/ui/grid-resource.d.ts +252 -0
  267. package/dist/ui/grid-resource.d.ts.map +1 -0
  268. package/dist/ui/grid-resource.js +680 -0
  269. package/dist/ui/grid-resource.js.map +1 -0
  270. package/dist/ui/viewer-static/index.html +95 -0
  271. package/dist/ui/viewer-static/viewer.css +451 -0
  272. package/dist/ui/viewer-static/viewer.js +1405 -0
  273. package/dist/validate/full-scan.d.ts +87 -0
  274. package/dist/validate/full-scan.d.ts.map +1 -0
  275. package/dist/validate/full-scan.js +299 -0
  276. package/dist/validate/full-scan.js.map +1 -0
  277. package/dist/validate/index.d.ts +15 -0
  278. package/dist/validate/index.d.ts.map +1 -0
  279. package/dist/validate/index.js +18 -0
  280. package/dist/validate/index.js.map +1 -0
  281. package/dist/validate/marker.d.ts +89 -0
  282. package/dist/validate/marker.d.ts.map +1 -0
  283. package/dist/validate/marker.js +87 -0
  284. package/dist/validate/marker.js.map +1 -0
  285. package/dist/validate/phash.d.ts +135 -0
  286. package/dist/validate/phash.d.ts.map +1 -0
  287. package/dist/validate/phash.js +307 -0
  288. package/dist/validate/phash.js.map +1 -0
  289. package/dist/validate/render.d.ts +38 -0
  290. package/dist/validate/render.d.ts.map +1 -0
  291. package/dist/validate/render.js +155 -0
  292. package/dist/validate/render.js.map +1 -0
  293. package/dist/watch/index.d.ts +12 -0
  294. package/dist/watch/index.d.ts.map +1 -0
  295. package/dist/watch/index.js +12 -0
  296. package/dist/watch/index.js.map +1 -0
  297. package/dist/watch/watcher.d.ts +65 -0
  298. package/dist/watch/watcher.d.ts.map +1 -0
  299. package/dist/watch/watcher.js +238 -0
  300. package/dist/watch/watcher.js.map +1 -0
  301. package/package.json +70 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conjure_screen.js","sourceRoot":"","sources":["../../src/tools/conjure_screen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import type { KitStore } from "../store/interface.js";
3
+ /**
4
+ * Derive a URL-safe slug from a human-readable name.
5
+ * Lowercases, replaces spaces/underscores with hyphens, collapses
6
+ * runs of hyphens, and trims leading/trailing hyphens.
7
+ *
8
+ * Truncates to `SLUG_MAX_LENGTH` (re-trimming a trailing hyphen the cut
9
+ * may expose) so `buildKitId`'s output always fits the 64-char id budget
10
+ * that `KIT_ID_PATTERN` enforces — names up to `NAME_MAX_LENGTH` (64 chars)
11
+ * would otherwise slugify to more than that once the `-<6-char-hex>`
12
+ * suffix is appended, producing a kitId `get_kit`/`bind_kit` reject.
13
+ */
14
+ export declare function slugify(name: string): string;
15
+ /** Generate a 6-character hex suffix for deduplication. */
16
+ export declare function randomSuffix(): string;
17
+ /**
18
+ * Build a kitId from a display name: `<slug>-<6-char-hex>`.
19
+ *
20
+ * Exported for testability; the random part can be injected. The slug is
21
+ * always truncated (see `slugify`) so the result satisfies `KIT_ID_PATTERN`
22
+ * regardless of how long `name` is, up to `NAME_MAX_LENGTH`.
23
+ */
24
+ export declare function buildKitId(name: string, suffix?: string): string;
25
+ /**
26
+ * Register the `mcp__genie__create_kit` tool on the given MCP server.
27
+ *
28
+ * The store dependency is injected so the server can swap between
29
+ * storage adapters without touching tool code.
30
+ */
31
+ export declare function registerCreateKit(server: McpServer, store: KitStore): void;
32
+ //# sourceMappingURL=create_kit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create_kit.d.ts","sourceRoot":"","sources":["../../src/tools/create_kit.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAiBtD;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ5C;AAED,2DAA2D;AAC3D,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAIhE;AAaD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI,CA8D1E"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * MCP tool: create_kit (M1-06).
3
+ *
4
+ * Creates a new UI kit owned by the caller and returns the kitId
5
+ * that downstream tools (plan, write_files, …) lock against.
6
+ *
7
+ * Input: { name: string } — human-readable display name (1-64 chars,
8
+ * ASCII alphanumeric + space/dash/underscore).
9
+ * Output: { kitId: string } — slug derived from name + 6-char random suffix.
10
+ */
11
+ import { randomBytes } from "node:crypto";
12
+ import { z } from "zod";
13
+ import { KitAlreadyExistsError } from "../store/interface.js";
14
+ /** Validation pattern: ASCII alphanumeric, spaces, hyphens, underscores. Must contain at least one alphanumeric. */
15
+ const NAME_PATTERN = /^(?=.*[A-Za-z0-9])[A-Za-z0-9 _-]+$/;
16
+ /** Max characters for the display name. */
17
+ const NAME_MAX_LENGTH = 64;
18
+ /**
19
+ * Every `kitId` this module generates must satisfy `KIT_ID_PATTERN`
20
+ * (`get_kit.ts`): `[a-z0-9-]{3,64}` overall. A generated id is always
21
+ * `<slug>-<6-char-hex>`, so the slug itself must leave room for the
22
+ * hyphen + suffix: 64 - 1 - 6 = 57.
23
+ */
24
+ const SLUG_MAX_LENGTH = 57;
25
+ /**
26
+ * Derive a URL-safe slug from a human-readable name.
27
+ * Lowercases, replaces spaces/underscores with hyphens, collapses
28
+ * runs of hyphens, and trims leading/trailing hyphens.
29
+ *
30
+ * Truncates to `SLUG_MAX_LENGTH` (re-trimming a trailing hyphen the cut
31
+ * may expose) so `buildKitId`'s output always fits the 64-char id budget
32
+ * that `KIT_ID_PATTERN` enforces — names up to `NAME_MAX_LENGTH` (64 chars)
33
+ * would otherwise slugify to more than that once the `-<6-char-hex>`
34
+ * suffix is appended, producing a kitId `get_kit`/`bind_kit` reject.
35
+ */
36
+ export function slugify(name) {
37
+ return name
38
+ .toLowerCase()
39
+ .replace(/[_ ]+/g, "-")
40
+ .replace(/-{2,}/g, "-")
41
+ .replace(/^-|-$/g, "")
42
+ .slice(0, SLUG_MAX_LENGTH)
43
+ .replace(/-$/, "");
44
+ }
45
+ /** Generate a 6-character hex suffix for deduplication. */
46
+ export function randomSuffix() {
47
+ return randomBytes(3).toString("hex"); // 3 bytes → 6 hex chars
48
+ }
49
+ /**
50
+ * Build a kitId from a display name: `<slug>-<6-char-hex>`.
51
+ *
52
+ * Exported for testability; the random part can be injected. The slug is
53
+ * always truncated (see `slugify`) so the result satisfies `KIT_ID_PATTERN`
54
+ * regardless of how long `name` is, up to `NAME_MAX_LENGTH`.
55
+ */
56
+ export function buildKitId(name, suffix) {
57
+ const slug = slugify(name);
58
+ const sfx = suffix ?? randomSuffix();
59
+ return `${slug}-${sfx}`;
60
+ }
61
+ /** Input schema for create_kit (Zod v4). */
62
+ const inputSchema = {
63
+ name: z
64
+ .string()
65
+ .min(1)
66
+ .max(NAME_MAX_LENGTH)
67
+ .describe("Human-readable display name for the new UI kit (1-64 chars, ASCII alphanumeric + space/dash/underscore)."),
68
+ };
69
+ /**
70
+ * Register the `mcp__genie__create_kit` tool on the given MCP server.
71
+ *
72
+ * The store dependency is injected so the server can swap between
73
+ * storage adapters without touching tool code.
74
+ */
75
+ export function registerCreateKit(server, store) {
76
+ server.registerTool("mcp__genie__create_kit", {
77
+ title: "Create Kit",
78
+ description: "Create a new UI kit — returns the kitId that plan and other verbs " +
79
+ "lock against. The kit name is the human-readable display name. Reach for this " +
80
+ "first when starting fresh, before conjure/plan/write_files target the new kitId.",
81
+ inputSchema,
82
+ }, async ({ name }) => {
83
+ // Validate name characters (Zod handles length; we check the pattern).
84
+ if (!NAME_PATTERN.test(name)) {
85
+ return {
86
+ isError: true,
87
+ content: [
88
+ {
89
+ type: "text",
90
+ text: JSON.stringify({
91
+ error: "InvalidKitName",
92
+ message: "Kit name must contain only ASCII letters, digits, spaces, " +
93
+ "hyphens, or underscores.",
94
+ }),
95
+ },
96
+ ],
97
+ };
98
+ }
99
+ const kitId = buildKitId(name);
100
+ try {
101
+ const kit = await store.createKit(name, kitId);
102
+ return {
103
+ content: [
104
+ {
105
+ type: "text",
106
+ text: JSON.stringify({ kitId: kit.id }),
107
+ },
108
+ ],
109
+ };
110
+ }
111
+ catch (err) {
112
+ if (err instanceof KitAlreadyExistsError) {
113
+ return {
114
+ isError: true,
115
+ content: [
116
+ {
117
+ type: "text",
118
+ text: JSON.stringify({
119
+ error: "KitAlreadyExistsError",
120
+ message: err.message,
121
+ kitId: err.kitId,
122
+ }),
123
+ },
124
+ ],
125
+ };
126
+ }
127
+ throw err; // unexpected errors bubble up as MCP internal errors
128
+ }
129
+ });
130
+ }
131
+ //# sourceMappingURL=create_kit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create_kit.js","sourceRoot":"","sources":["../../src/tools/create_kit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,267 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { z } from "zod";
3
+ import type { KitStore } from "../store/interface.js";
4
+ export declare const CREATE_PROJECT_TOOL_NAME = "mcp__genie__create_project";
5
+ export declare const PROJECT_ID_PATTERN: RegExp;
6
+ declare const projectKindSchema: z.ZodEnum<{
7
+ workspace: "workspace";
8
+ blueprint: "blueprint";
9
+ }>;
10
+ /** Shared shape for a single kit binding entry (see `KitBinding`). Exported so
11
+ * `bind_kit`'s output schema can't drift from what `create_project`/`get_project`
12
+ * already declare for the same field (mirrors the `projectSummaryShape` pattern
13
+ * just below). */
14
+ export declare const kitBindingShape: {
15
+ kitId: z.ZodString;
16
+ default: z.ZodOptional<z.ZodBoolean>;
17
+ };
18
+ declare const kitBindingSchema: z.ZodObject<{
19
+ kitId: z.ZodString;
20
+ default: z.ZodOptional<z.ZodBoolean>;
21
+ }, z.core.$strict>;
22
+ declare const createProjectArgsSchema: z.ZodObject<{
23
+ name: z.ZodString;
24
+ kind: z.ZodEnum<{
25
+ workspace: "workspace";
26
+ blueprint: "blueprint";
27
+ }>;
28
+ fromBlueprintId: z.ZodOptional<z.ZodString>;
29
+ kitBindings: z.ZodOptional<z.ZodArray<z.ZodObject<{
30
+ kitId: z.ZodString;
31
+ default: z.ZodOptional<z.ZodBoolean>;
32
+ }, z.core.$strict>>>;
33
+ }, z.core.$strict>;
34
+ /** A recorded screen artifact within a project (written by `conjure_screen`, M1-21). */
35
+ declare const projectScreenSchema: z.ZodObject<{
36
+ id: z.ZodString;
37
+ path: z.ZodString;
38
+ title: z.ZodString;
39
+ updatedAt: z.ZodString;
40
+ }, z.core.$strict>;
41
+ declare const projectManifestSchema: z.ZodObject<{
42
+ id: z.ZodString;
43
+ name: z.ZodString;
44
+ kind: z.ZodEnum<{
45
+ workspace: "workspace";
46
+ blueprint: "blueprint";
47
+ }>;
48
+ defaultKitId: z.ZodOptional<z.ZodString>;
49
+ kitBindings: z.ZodArray<z.ZodObject<{
50
+ kitId: z.ZodString;
51
+ default: z.ZodOptional<z.ZodBoolean>;
52
+ }, z.core.$strict>>;
53
+ createdAt: z.ZodString;
54
+ updatedAt: z.ZodString;
55
+ sourceBlueprintId: z.ZodOptional<z.ZodString>;
56
+ screens: z.ZodOptional<z.ZodArray<z.ZodObject<{
57
+ id: z.ZodString;
58
+ path: z.ZodString;
59
+ title: z.ZodString;
60
+ updatedAt: z.ZodString;
61
+ }, z.core.$strict>>>;
62
+ }, z.core.$strict>;
63
+ export type ProjectKind = z.infer<typeof projectKindSchema>;
64
+ export type KitBinding = z.infer<typeof kitBindingSchema>;
65
+ export type ProjectScreen = z.infer<typeof projectScreenSchema>;
66
+ export type CreateProjectArgs = z.infer<typeof createProjectArgsSchema>;
67
+ export type ProjectManifest = z.infer<typeof projectManifestSchema>;
68
+ export interface ProjectSummary extends Record<string, unknown> {
69
+ id: string;
70
+ name: string;
71
+ kind: ProjectKind;
72
+ defaultKitId?: string;
73
+ kitBindings: KitBinding[];
74
+ updatedAt: string;
75
+ canEdit: boolean;
76
+ }
77
+ /** Full detail returned by `get_project` — a `ProjectSummary` plus screens and provenance. */
78
+ export interface ProjectDetail extends ProjectSummary {
79
+ screens: ProjectScreen[];
80
+ sourceBlueprintId?: string;
81
+ }
82
+ /**
83
+ * Shared output shape for a `ProjectSummary`, consumed by both `list_projects` and
84
+ * `get_project` so the two tools' schemas can't drift apart (Implementation Notes:
85
+ * "Share schema helpers with list_projects").
86
+ */
87
+ export declare const projectSummaryShape: {
88
+ id: z.ZodString;
89
+ name: z.ZodString;
90
+ kind: z.ZodEnum<{
91
+ workspace: "workspace";
92
+ blueprint: "blueprint";
93
+ }>;
94
+ defaultKitId: z.ZodOptional<z.ZodString>;
95
+ kitBindings: z.ZodArray<z.ZodObject<{
96
+ kitId: z.ZodString;
97
+ default: z.ZodOptional<z.ZodBoolean>;
98
+ }, z.core.$strict>>;
99
+ updatedAt: z.ZodString;
100
+ canEdit: z.ZodBoolean;
101
+ };
102
+ /** Shared output shape for a single recorded screen entry (see `ProjectDetail.screens`). */
103
+ export declare const projectScreenShape: {
104
+ id: z.ZodString;
105
+ path: z.ZodString;
106
+ title: z.ZodString;
107
+ updatedAt: z.ZodString;
108
+ };
109
+ export interface CreateProjectResult extends Record<string, unknown> {
110
+ projectId: string;
111
+ }
112
+ export type ProjectStoreErrorCode = "ERR_PROJECT_EXISTS" | "ERR_BLUEPRINT_NOT_FOUND" | "ERR_INVALID_PROJECT_NAME" | "ERR_PROJECT_NOT_FOUND" | "ERR_KIT_NOT_FOUND" | "ERR_PROJECT_READONLY" | "ERR_PROJECT_KIT_REQUIRED";
113
+ export declare class ProjectStoreError extends Error {
114
+ readonly code: ProjectStoreErrorCode;
115
+ readonly suggestedSlug?: string;
116
+ readonly projectId?: string;
117
+ readonly kitId?: string;
118
+ constructor(code: ProjectStoreErrorCode, message: string, options?: {
119
+ suggestedSlug?: string;
120
+ projectId?: string;
121
+ kitId?: string;
122
+ });
123
+ }
124
+ /** Input to `bind_kit` (M1-20) — see `ProjectStore.bindKit`. */
125
+ export interface BindKitArgs {
126
+ projectId: string;
127
+ kitId: string;
128
+ default?: boolean;
129
+ }
130
+ /**
131
+ * Input to `ProjectStore.recordScreen` (M1-21) — the durable *reference* a
132
+ * generated screen leaves in `.genie/project.json`. The artifact bytes
133
+ * themselves (`files`) are returned to the caller as an artifact set;
134
+ * `updatedAt` is stamped by the store, not supplied here.
135
+ */
136
+ export interface RecordScreenInput {
137
+ id: string;
138
+ path: string;
139
+ title: string;
140
+ }
141
+ export declare class ProjectStore {
142
+ readonly root: string;
143
+ private readonly kitStore?;
144
+ /**
145
+ * `kitStore` is optional so every existing single-arg `new ProjectStore(root)`
146
+ * call site (this file's + sibling tools' tests, `server.ts` prior to M1-20)
147
+ * keeps compiling unchanged. It is required in practice only by `bindKit`,
148
+ * which asserts its presence at call time — `server.ts` always supplies the
149
+ * real `LocalFsKitStore` it already constructs for the kit verbs.
150
+ */
151
+ constructor(root: string, kitStore?: KitStore | undefined);
152
+ createProject(args: CreateProjectArgs): Promise<CreateProjectResult>;
153
+ listProjects(): Promise<ProjectSummary[]>;
154
+ /**
155
+ * Get full detail for a single project (workspace or blueprint — same shape,
156
+ * no special-case tool family; AC4). Throws `ProjectStoreError("ERR_PROJECT_NOT_FOUND")`
157
+ * with the id echoed (AC5) for a missing, unreadable, or malformed manifest — the same
158
+ * leniency `readListManifest` already applies when enumerating projects.
159
+ *
160
+ * Validates `projectId` against `PROJECT_ID_PATTERN` before any filesystem access —
161
+ * matching `createProject`/`listProjects`, which only ever touch paths built from
162
+ * slug-shaped ids. `get_project`'s MCP tool layer already rejects non-slug ids via
163
+ * its own regex-typed input schema, but `ProjectStore` is a public export and
164
+ * `getProject` a public method: a direct/programmatic caller (bypassing the MCP
165
+ * schema) could otherwise pass something like `"../secret"` and probe paths outside
166
+ * the projects root. Rejecting here, before `readListManifest`/`join()`, closes that
167
+ * gap without changing the external contract (still `ERR_PROJECT_NOT_FOUND`).
168
+ */
169
+ getProject(projectId: string): Promise<ProjectDetail>;
170
+ /**
171
+ * Delete a project directory (M1-14a-1 / DRO-531 — the `delete_project`
172
+ * store-injection re-plumb). Owns the *persistence policy* the
173
+ * `delete_project` tool previously reached into the filesystem for directly,
174
+ * so the verb now routes through the injected `ProjectStore` (LocalFs by
175
+ * default, a git-host backend when one exists) instead of a raw `projectsRoot`
176
+ * path + `node:fs`.
177
+ *
178
+ * Semantics (preserved verbatim from the pre-seam tool):
179
+ * - Missing project → NOT an error. Returns `{ existed: false }` so the tool
180
+ * can report the idempotent "already deleted" warning. A caller re-running
181
+ * a delete after a crash must not see a hard failure.
182
+ * - Read-only project (`.genie/.readonly` marker present) → throws
183
+ * `ProjectStoreError("ERR_PROJECT_READONLY")`; nothing is removed. Same
184
+ * guard `bindKit`/`recordScreen` apply on the write path.
185
+ * - Otherwise removes the project tree recursively and returns
186
+ * `{ existed: true }`. Deleting a blueprint does NOT touch workspaces
187
+ * instantiated from it — those were copied at create time and live in
188
+ * their own directories.
189
+ *
190
+ * `projectId` is regex-checked before any filesystem access (same
191
+ * defense-in-depth as `getProject`/`bindKit`/`recordScreen`: `ProjectStore` is
192
+ * a public export and this a public method, so a direct caller bypassing the
193
+ * tool's Zod schema could otherwise pass `"../secret"` into `projectRoot()`).
194
+ * A malformed id resolves nothing to delete → `{ existed: false }`, never an
195
+ * `rm` outside the projects root.
196
+ */
197
+ deleteProject(projectId: string): Promise<{
198
+ existed: boolean;
199
+ }>;
200
+ /**
201
+ * Bind a kit to a project (M1-20). Writes the binding into
202
+ * `.genie/project.json` and returns the updated summary.
203
+ *
204
+ * - AC3: a new `kitId` is appended to `kitBindings`.
205
+ * - AC4: `default: true` sets `defaultKitId` and clears `default` from every
206
+ * other binding, so exactly one binding is ever the default. `default: false`
207
+ * clears default status from just this binding (if it held it). Omitting
208
+ * `default` entirely preserves whatever this binding's current default
209
+ * status already is (or `false` for a brand-new binding) — this is what
210
+ * keeps a same-kit re-bind idempotent (AC8) instead of silently demoting an
211
+ * existing default on every unrelated re-bind call.
212
+ * - AC5/AC6: validates the project and kit both exist first — no partial
213
+ * writes on a bad reference. `projectId` is also regex-checked up front
214
+ * (same defense-in-depth as `getProject`, above) before any filesystem
215
+ * access.
216
+ * - AC7: no blueprint special-case; `createProject` already copies
217
+ * `kitBindings` into a workspace instantiated `fromBlueprintId`, so a
218
+ * binding recorded here on a blueprint carries forward automatically.
219
+ * - AC8: re-binding the same `kitId` updates that one entry in place rather
220
+ * than appending a duplicate.
221
+ */
222
+ bindKit(args: BindKitArgs): Promise<ProjectSummary>;
223
+ /**
224
+ * Record a generated screen artifact reference into `.genie/project.json`
225
+ * (M1-21, `conjure_screen` → AC7). Appends to `manifest.screens` (the array
226
+ * `get_project` surfaces and defaults to `[]`) and bumps `updatedAt`, then
227
+ * returns the stored entry with its server-stamped `updatedAt`.
228
+ *
229
+ * Mirrors `bindKit`'s write-path guards exactly:
230
+ * - `projectId` is regex-checked before any filesystem access (same
231
+ * defense-in-depth as `getProject`/`bindKit`: `ProjectStore` is a public
232
+ * export and this a public method, so a direct caller bypassing the MCP
233
+ * schema could otherwise pass `"../secret"` into `projectRoot()`/`join()`).
234
+ * - a missing/malformed manifest → `ERR_PROJECT_NOT_FOUND` (id echoed).
235
+ * - a read-only project → `ERR_PROJECT_READONLY`; no partial write.
236
+ *
237
+ * The store persists only the *reference* (id/path/title/updatedAt); the
238
+ * artifact bytes are returned to the caller as an artifact set (Issue
239
+ * "Keep output as an artifact set"), never inlined into the manifest.
240
+ */
241
+ recordScreen(input: {
242
+ projectId: string;
243
+ screen: RecordScreenInput;
244
+ }): Promise<ProjectScreen>;
245
+ /**
246
+ * Verify `kitId` resolves to a writable `GENIE_KIT`, reusing `get_kit`'s own
247
+ * validation (Implementation Notes: "Reuse get_kit validation before writing
248
+ * the project manifest") rather than re-deriving kit-lookup semantics here.
249
+ * Maps every rejection shape `getKit` can throw — a malformed id (Zod), a
250
+ * missing kit (`ProjectNotFoundError`), or a non-kit project
251
+ * (`WrongProjectTypeError`) — onto the single `ERR_KIT_NOT_FOUND` code
252
+ * `bind_kit`'s own AC6 specifies.
253
+ */
254
+ private assertKitExists;
255
+ private projectRoot;
256
+ private manifestPath;
257
+ private writeManifest;
258
+ private readManifest;
259
+ private readBlueprint;
260
+ private readListManifest;
261
+ private findExistingProject;
262
+ private suggestSlug;
263
+ }
264
+ export declare const CREATE_PROJECT_DESCRIPTION: string;
265
+ export declare function registerCreateProjectTool(server: McpServer, store: ProjectStore): void;
266
+ export {};
267
+ //# sourceMappingURL=create_project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create_project.d.ts","sourceRoot":"","sources":["../../src/tools/create_project.ts"],"names":[],"mappings":"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"}