@antelopejs/dms-ai 0.0.6 → 0.1.1-next.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 (237) hide show
  1. package/README.md +83 -2
  2. package/dist/config.d.ts +7 -0
  3. package/dist/config.js +33 -0
  4. package/dist/config.js.map +1 -0
  5. package/dist/constants/sidecar.d.ts +2 -0
  6. package/dist/constants/sidecar.js +3 -1
  7. package/dist/constants/sidecar.js.map +1 -1
  8. package/dist/index.d.ts +1 -0
  9. package/dist/index.js +6 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/lifecycle/spawn-sidecar.d.ts +1 -0
  12. package/dist/lifecycle/spawn-sidecar.js +9 -0
  13. package/dist/lifecycle/spawn-sidecar.js.map +1 -1
  14. package/dist/routes/settings.d.ts +7 -0
  15. package/dist/routes/settings.js +2 -0
  16. package/dist/routes/settings.js.map +1 -1
  17. package/frontend-vue/app/components/SettingsView.vue +85 -3
  18. package/frontend-vue/app/runtime/constants.ts +0 -1
  19. package/package.json +11 -1
  20. package/sidecar/chatbox/dist/assets/index-CEZ1NLp9.js +52 -0
  21. package/sidecar/chatbox/dist/assets/{index-pP_KOHIn.css → index-D_51Vqqk.css} +1 -1
  22. package/sidecar/chatbox/dist/index.html +2 -2
  23. package/sidecar/dist/agent/attachment-files.d.ts +5 -0
  24. package/sidecar/dist/agent/attachment-files.js +29 -0
  25. package/sidecar/dist/agent/attachment-files.js.map +1 -0
  26. package/sidecar/dist/agent/provider.d.ts +40 -0
  27. package/sidecar/dist/agent/provider.js +2 -0
  28. package/sidecar/dist/agent/provider.js.map +1 -0
  29. package/sidecar/dist/agent/{claude-runner.d.ts → runner.d.ts} +8 -11
  30. package/sidecar/dist/agent/runner.js +71 -0
  31. package/sidecar/dist/agent/runner.js.map +1 -0
  32. package/sidecar/dist/agent/session.d.ts +22 -0
  33. package/sidecar/dist/agent/{claude-session.js → session.js} +39 -47
  34. package/sidecar/dist/agent/session.js.map +1 -0
  35. package/sidecar/dist/agent/switching-runner.d.ts +6 -0
  36. package/sidecar/dist/agent/switching-runner.js +58 -0
  37. package/sidecar/dist/agent/switching-runner.js.map +1 -0
  38. package/sidecar/dist/constants/agent.d.ts +2 -12
  39. package/sidecar/dist/constants/agent.js +2 -11
  40. package/sidecar/dist/constants/agent.js.map +1 -1
  41. package/sidecar/dist/constants/claude.d.ts +10 -0
  42. package/sidecar/dist/constants/claude.js +10 -0
  43. package/sidecar/dist/constants/claude.js.map +1 -0
  44. package/sidecar/dist/constants/cli.d.ts +2 -0
  45. package/sidecar/dist/constants/cli.js +3 -0
  46. package/sidecar/dist/constants/cli.js.map +1 -0
  47. package/sidecar/dist/constants/codex.d.ts +85 -0
  48. package/sidecar/dist/constants/codex.js +110 -0
  49. package/sidecar/dist/constants/codex.js.map +1 -0
  50. package/sidecar/dist/constants/http.d.ts +1 -0
  51. package/sidecar/dist/constants/http.js +1 -0
  52. package/sidecar/dist/constants/http.js.map +1 -1
  53. package/sidecar/dist/constants/mcp.d.ts +6 -0
  54. package/sidecar/dist/constants/mcp.js +11 -0
  55. package/sidecar/dist/constants/mcp.js.map +1 -1
  56. package/sidecar/dist/constants/pages.d.ts +0 -1
  57. package/sidecar/dist/constants/pages.js +0 -1
  58. package/sidecar/dist/constants/pages.js.map +1 -1
  59. package/sidecar/dist/constants/paths.d.ts +5 -0
  60. package/sidecar/dist/constants/paths.js +5 -0
  61. package/sidecar/dist/constants/paths.js.map +1 -1
  62. package/sidecar/dist/constants/ports.d.ts +0 -1
  63. package/sidecar/dist/constants/ports.js +0 -1
  64. package/sidecar/dist/constants/ports.js.map +1 -1
  65. package/sidecar/dist/constants/providers.d.ts +16 -0
  66. package/sidecar/dist/constants/providers.js +17 -0
  67. package/sidecar/dist/constants/providers.js.map +1 -0
  68. package/sidecar/dist/constants/settings.d.ts +1 -4
  69. package/sidecar/dist/constants/settings.js +2 -12
  70. package/sidecar/dist/constants/settings.js.map +1 -1
  71. package/sidecar/dist/constants/skills.d.ts +1 -0
  72. package/sidecar/dist/constants/skills.js +2 -0
  73. package/sidecar/dist/constants/skills.js.map +1 -0
  74. package/sidecar/dist/constants/timing.d.ts +1 -0
  75. package/sidecar/dist/constants/timing.js +1 -0
  76. package/sidecar/dist/constants/timing.js.map +1 -1
  77. package/sidecar/dist/constants/tool-lexicon.d.ts +7 -0
  78. package/sidecar/dist/constants/tool-lexicon.js +8 -0
  79. package/sidecar/dist/constants/tool-lexicon.js.map +1 -0
  80. package/sidecar/dist/index.d.ts +11 -0
  81. package/sidecar/dist/index.js +33 -8
  82. package/sidecar/dist/index.js.map +1 -1
  83. package/sidecar/dist/mcp/define-tool.d.ts +23 -0
  84. package/sidecar/dist/mcp/define-tool.js +4 -0
  85. package/sidecar/dist/mcp/define-tool.js.map +1 -0
  86. package/sidecar/dist/mcp/http-binding.d.ts +9 -0
  87. package/sidecar/dist/mcp/http-binding.js +123 -0
  88. package/sidecar/dist/mcp/http-binding.js.map +1 -0
  89. package/sidecar/dist/mcp/sdk-binding.js +14 -0
  90. package/sidecar/dist/mcp/sdk-binding.js.map +1 -0
  91. package/sidecar/dist/mcp/tool-definitions.d.ts +3 -0
  92. package/sidecar/dist/mcp/{server.js → tool-definitions.js} +2 -11
  93. package/sidecar/dist/mcp/tool-definitions.js.map +1 -0
  94. package/sidecar/dist/mcp/tools/ask-user.d.ts +1 -1
  95. package/sidecar/dist/mcp/tools/ask-user.js +2 -2
  96. package/sidecar/dist/mcp/tools/ask-user.js.map +1 -1
  97. package/sidecar/dist/mcp/tools/builder.d.ts +19 -19
  98. package/sidecar/dist/mcp/tools/builder.js +26 -26
  99. package/sidecar/dist/mcp/tools/builder.js.map +1 -1
  100. package/sidecar/dist/mcp/tools/find-pages-using.d.ts +1 -1
  101. package/sidecar/dist/mcp/tools/find-pages-using.js +2 -2
  102. package/sidecar/dist/mcp/tools/find-pages-using.js.map +1 -1
  103. package/sidecar/dist/mcp/tools/get-current-page.d.ts +1 -1
  104. package/sidecar/dist/mcp/tools/get-current-page.js +2 -2
  105. package/sidecar/dist/mcp/tools/get-current-page.js.map +1 -1
  106. package/sidecar/dist/mcp/tools/list-pages.d.ts +1 -1
  107. package/sidecar/dist/mcp/tools/list-pages.js +2 -2
  108. package/sidecar/dist/mcp/tools/list-pages.js.map +1 -1
  109. package/sidecar/dist/mcp/tools/navigate-to-page.d.ts +1 -1
  110. package/sidecar/dist/mcp/tools/navigate-to-page.js +2 -2
  111. package/sidecar/dist/mcp/tools/navigate-to-page.js.map +1 -1
  112. package/sidecar/dist/mcp/tools/query-logs.d.ts +1 -1
  113. package/sidecar/dist/mcp/tools/query-logs.js +2 -2
  114. package/sidecar/dist/mcp/tools/query-logs.js.map +1 -1
  115. package/sidecar/dist/mcp/tools/typecheck.d.ts +1 -1
  116. package/sidecar/dist/mcp/tools/typecheck.js +2 -2
  117. package/sidecar/dist/mcp/tools/typecheck.js.map +1 -1
  118. package/sidecar/dist/mcp/types.d.ts +6 -2
  119. package/sidecar/dist/protocol/events.d.ts +37 -0
  120. package/sidecar/dist/protocol/events.js +8 -0
  121. package/sidecar/dist/protocol/events.js.map +1 -1
  122. package/sidecar/dist/protocol/messages.d.ts +8 -0
  123. package/sidecar/dist/protocol/messages.js +2 -0
  124. package/sidecar/dist/protocol/messages.js.map +1 -1
  125. package/sidecar/dist/providers/claude/adapter.d.ts +5 -0
  126. package/sidecar/dist/{agent/sdk-adapter.js → providers/claude/adapter.js} +20 -1
  127. package/sidecar/dist/providers/claude/adapter.js.map +1 -0
  128. package/sidecar/dist/{agent → providers/claude}/attachments.d.ts +1 -1
  129. package/sidecar/dist/{agent → providers/claude}/attachments.js +3 -27
  130. package/sidecar/dist/providers/claude/attachments.js.map +1 -0
  131. package/sidecar/dist/providers/claude/config.d.ts +4 -0
  132. package/sidecar/dist/providers/claude/config.js +13 -0
  133. package/sidecar/dist/providers/claude/config.js.map +1 -0
  134. package/sidecar/dist/providers/claude/input-queue.js.map +1 -0
  135. package/sidecar/dist/providers/claude/module.d.ts +2 -0
  136. package/sidecar/dist/providers/claude/module.js +25 -0
  137. package/sidecar/dist/providers/claude/module.js.map +1 -0
  138. package/sidecar/dist/providers/claude/provider.d.ts +11 -0
  139. package/sidecar/dist/{agent/claude-runner.js → providers/claude/provider.js} +118 -96
  140. package/sidecar/dist/providers/claude/provider.js.map +1 -0
  141. package/sidecar/dist/{agent/resolve-claude-binary.js → providers/claude/resolve-binary.js} +3 -3
  142. package/sidecar/dist/{agent/resolve-claude-binary.js.map → providers/claude/resolve-binary.js.map} +1 -1
  143. package/sidecar/dist/providers/claude/sdk-loader.js +16 -0
  144. package/sidecar/dist/providers/claude/sdk-loader.js.map +1 -0
  145. package/sidecar/dist/providers/codex/adapter.d.ts +7 -0
  146. package/sidecar/dist/providers/codex/adapter.js +147 -0
  147. package/sidecar/dist/providers/codex/adapter.js.map +1 -0
  148. package/sidecar/dist/providers/codex/attachments.d.ts +7 -0
  149. package/sidecar/dist/providers/codex/attachments.js +73 -0
  150. package/sidecar/dist/providers/codex/attachments.js.map +1 -0
  151. package/sidecar/dist/providers/codex/client.d.ts +34 -0
  152. package/sidecar/dist/providers/codex/client.js +128 -0
  153. package/sidecar/dist/providers/codex/client.js.map +1 -0
  154. package/sidecar/dist/providers/codex/config.d.ts +34 -0
  155. package/sidecar/dist/providers/codex/config.js +111 -0
  156. package/sidecar/dist/providers/codex/config.js.map +1 -0
  157. package/sidecar/dist/providers/codex/event-stream.d.ts +8 -0
  158. package/sidecar/dist/providers/codex/event-stream.js +53 -0
  159. package/sidecar/dist/providers/codex/event-stream.js.map +1 -0
  160. package/sidecar/dist/providers/codex/module.d.ts +2 -0
  161. package/sidecar/dist/providers/codex/module.js +54 -0
  162. package/sidecar/dist/providers/codex/module.js.map +1 -0
  163. package/sidecar/dist/providers/codex/permissions.d.ts +21 -0
  164. package/sidecar/dist/providers/codex/permissions.js +77 -0
  165. package/sidecar/dist/providers/codex/permissions.js.map +1 -0
  166. package/sidecar/dist/providers/codex/process.d.ts +23 -0
  167. package/sidecar/dist/providers/codex/process.js +208 -0
  168. package/sidecar/dist/providers/codex/process.js.map +1 -0
  169. package/sidecar/dist/providers/codex/protocol/common.d.ts +59 -0
  170. package/sidecar/dist/providers/codex/protocol/common.js +2 -0
  171. package/sidecar/dist/providers/codex/protocol/common.js.map +1 -0
  172. package/sidecar/dist/providers/codex/protocol/index.d.ts +3 -0
  173. package/sidecar/dist/providers/codex/protocol/index.js +3 -0
  174. package/sidecar/dist/providers/codex/protocol/index.js.map +1 -0
  175. package/sidecar/dist/providers/codex/protocol/serde_json.d.ts +3 -0
  176. package/sidecar/dist/providers/codex/protocol/serde_json.js +2 -0
  177. package/sidecar/dist/providers/codex/protocol/serde_json.js.map +1 -0
  178. package/sidecar/dist/providers/codex/protocol/v2.d.ts +481 -0
  179. package/sidecar/dist/providers/codex/protocol/v2.js +2 -0
  180. package/sidecar/dist/providers/codex/protocol/v2.js.map +1 -0
  181. package/sidecar/dist/providers/codex/provider.d.ts +14 -0
  182. package/sidecar/dist/providers/codex/provider.js +225 -0
  183. package/sidecar/dist/providers/codex/provider.js.map +1 -0
  184. package/sidecar/dist/providers/codex/resolve-binary.d.ts +10 -0
  185. package/sidecar/dist/providers/codex/resolve-binary.js +80 -0
  186. package/sidecar/dist/providers/codex/resolve-binary.js.map +1 -0
  187. package/sidecar/dist/providers/codex/skills.d.ts +10 -0
  188. package/sidecar/dist/providers/codex/skills.js +42 -0
  189. package/sidecar/dist/providers/codex/skills.js.map +1 -0
  190. package/sidecar/dist/providers/registry.d.ts +7 -0
  191. package/sidecar/dist/providers/registry.js +31 -0
  192. package/sidecar/dist/providers/registry.js.map +1 -0
  193. package/sidecar/dist/providers/types.d.ts +25 -0
  194. package/sidecar/dist/providers/types.js +5 -0
  195. package/sidecar/dist/providers/types.js.map +1 -0
  196. package/sidecar/dist/server/http.d.ts +2 -0
  197. package/sidecar/dist/server/http.js +26 -12
  198. package/sidecar/dist/server/http.js.map +1 -1
  199. package/sidecar/dist/server/routing.d.ts +4 -4
  200. package/sidecar/dist/server/routing.js +7 -1
  201. package/sidecar/dist/server/routing.js.map +1 -1
  202. package/sidecar/dist/server/ws.d.ts +2 -0
  203. package/sidecar/dist/server/ws.js +40 -17
  204. package/sidecar/dist/server/ws.js.map +1 -1
  205. package/sidecar/dist/skills/build-catalog.d.ts +2 -0
  206. package/sidecar/dist/skills/build-catalog.js +12 -1
  207. package/sidecar/dist/skills/build-catalog.js.map +1 -1
  208. package/sidecar/dist/state/conversations.d.ts +3 -1
  209. package/sidecar/dist/state/conversations.js +20 -0
  210. package/sidecar/dist/state/conversations.js.map +1 -1
  211. package/sidecar/dist/state/safe-segment.d.ts +1 -0
  212. package/sidecar/dist/state/safe-segment.js +17 -0
  213. package/sidecar/dist/state/safe-segment.js.map +1 -0
  214. package/sidecar/dist/state/settings-store.js +7 -0
  215. package/sidecar/dist/state/settings-store.js.map +1 -1
  216. package/sidecar/dist/state/settings-types.d.ts +2 -0
  217. package/sidecar/dist/state/settings-types.js.map +1 -1
  218. package/sidecar/dist/state/types.d.ts +11 -0
  219. package/sidecar/dist/state/types.js +7 -0
  220. package/sidecar/dist/state/types.js.map +1 -1
  221. package/sidecar/package.json +3 -0
  222. package/sidecar/chatbox/dist/assets/index-Cy2BwTG0.js +0 -50
  223. package/sidecar/dist/agent/attachments.js.map +0 -1
  224. package/sidecar/dist/agent/claude-runner.js.map +0 -1
  225. package/sidecar/dist/agent/claude-session.d.ts +0 -18
  226. package/sidecar/dist/agent/claude-session.js.map +0 -1
  227. package/sidecar/dist/agent/input-queue.js.map +0 -1
  228. package/sidecar/dist/agent/sdk-adapter.d.ts +0 -3
  229. package/sidecar/dist/agent/sdk-adapter.js.map +0 -1
  230. package/sidecar/dist/agent/sdk-loader.js +0 -14
  231. package/sidecar/dist/agent/sdk-loader.js.map +0 -1
  232. package/sidecar/dist/mcp/server.js.map +0 -1
  233. /package/sidecar/dist/mcp/{server.d.ts → sdk-binding.d.ts} +0 -0
  234. /package/sidecar/dist/{agent → providers/claude}/input-queue.d.ts +0 -0
  235. /package/sidecar/dist/{agent → providers/claude}/input-queue.js +0 -0
  236. /package/sidecar/dist/{agent/resolve-claude-binary.d.ts → providers/claude/resolve-binary.d.ts} +0 -0
  237. /package/sidecar/dist/{agent → providers/claude}/sdk-loader.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { ZodRawShape } from "zod";
2
+ export interface McpToolTextContent {
3
+ type: "text";
4
+ text: string;
5
+ }
6
+ export interface McpToolResult {
7
+ content: McpToolTextContent[];
8
+ [key: string]: unknown;
9
+ }
10
+ export type McpToolArgs<Schema extends ZodRawShape> = {
11
+ [K in keyof Schema]: Schema[K] extends {
12
+ _output: infer Output;
13
+ } ? Output : never;
14
+ } & {};
15
+ export type McpToolHandler<Schema extends ZodRawShape> = (args: McpToolArgs<Schema>, extra: unknown) => Promise<McpToolResult>;
16
+ export interface McpToolDefinition<Schema extends ZodRawShape = ZodRawShape> {
17
+ name: string;
18
+ description: string;
19
+ schema: Schema;
20
+ handler: McpToolHandler<Schema>;
21
+ }
22
+ export type AnyMcpToolDefinition = McpToolDefinition<any>;
23
+ export declare function defineTool<Schema extends ZodRawShape>(name: string, description: string, schema: Schema, handler: McpToolHandler<Schema>): McpToolDefinition<Schema>;
@@ -0,0 +1,4 @@
1
+ export function defineTool(name, description, schema, handler) {
2
+ return { name, description, schema, handler };
3
+ }
4
+ //# sourceMappingURL=define-tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-tool.js","sourceRoot":"","sources":["../../src/mcp/define-tool.ts"],"names":[],"mappings":"AA0CA,MAAM,UAAU,UAAU,CACxB,IAAY,EACZ,WAAmB,EACnB,MAAc,EACd,OAA+B;IAE/B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAChD,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { IncomingMessage, ServerResponse } from "node:http";
2
+ import type { AiMcpServerDeps } from "./types.js";
3
+ export interface McpHttpRegistry {
4
+ register(deps: AiMcpServerDeps): Promise<string>;
5
+ release(conversationId: string): Promise<void>;
6
+ handleRequest(req: IncomingMessage, res: ServerResponse): Promise<void>;
7
+ dispose(): Promise<void>;
8
+ }
9
+ export declare function createMcpHttpRegistry(): McpHttpRegistry;
@@ -0,0 +1,123 @@
1
+ import { randomBytes, randomUUID, timingSafeEqual } from "node:crypto";
2
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
3
+ import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
4
+ import { SIDECAR_TOKEN_BYTES } from "../constants/daemon.js";
5
+ import { CONTENT_TYPE, HTTP_STATUS } from "../constants/http.js";
6
+ import { MCP_AUTHORIZATION_HEADER, MCP_BEARER_PREFIX, MCP_LOOPBACK_HOSTNAMES, MCP_SERVER_NAME, MCP_SERVER_VERSION, } from "../constants/mcp.js";
7
+ import { buildToolDefinitions } from "./tool-definitions.js";
8
+ function registerDefinition(server, definition) {
9
+ server.registerTool(definition.name, { description: definition.description, inputSchema: definition.schema }, definition.handler);
10
+ }
11
+ async function buildServer(deps) {
12
+ const server = new McpServer({
13
+ name: MCP_SERVER_NAME,
14
+ version: MCP_SERVER_VERSION,
15
+ });
16
+ for (const definition of buildToolDefinitions(deps)) {
17
+ registerDefinition(server, definition);
18
+ }
19
+ return server;
20
+ }
21
+ function readBearerToken(req) {
22
+ const header = req.headers[MCP_AUTHORIZATION_HEADER];
23
+ const value = Array.isArray(header) ? header[0] : header;
24
+ if (value === undefined)
25
+ return null;
26
+ if (!value.toLowerCase().startsWith(MCP_BEARER_PREFIX))
27
+ return null;
28
+ return value.slice(MCP_BEARER_PREFIX.length).trim();
29
+ }
30
+ function isLoopbackHostname(value) {
31
+ if (value === undefined)
32
+ return false;
33
+ const withoutScheme = value.replace(/^https?:\/\//, "");
34
+ const hostname = withoutScheme.replace(/:\d+$/, "");
35
+ return MCP_LOOPBACK_HOSTNAMES.includes(hostname);
36
+ }
37
+ function isLoopbackRequest(req) {
38
+ if (!isLoopbackHostname(req.headers.host))
39
+ return false;
40
+ const origin = req.headers.origin;
41
+ if (origin === undefined)
42
+ return true;
43
+ return isLoopbackHostname(origin);
44
+ }
45
+ function tokensMatch(candidate, expected) {
46
+ const a = Buffer.from(candidate);
47
+ const b = Buffer.from(expected);
48
+ if (a.length !== b.length)
49
+ return false;
50
+ return timingSafeEqual(a, b);
51
+ }
52
+ function sendError(res, status, error) {
53
+ const body = JSON.stringify({ error });
54
+ res.writeHead(status, {
55
+ "Content-Type": CONTENT_TYPE.JSON,
56
+ "Content-Length": Buffer.byteLength(body),
57
+ });
58
+ res.end(body);
59
+ }
60
+ export function createMcpHttpRegistry() {
61
+ const byConversation = new Map();
62
+ function resolve(token) {
63
+ let matched = null;
64
+ for (const binding of byConversation.values()) {
65
+ if (tokensMatch(token, binding.token))
66
+ matched = binding;
67
+ }
68
+ return matched;
69
+ }
70
+ async function closeBinding(binding) {
71
+ await binding.transport.close();
72
+ await binding.server.close();
73
+ }
74
+ return {
75
+ async register(deps) {
76
+ await this.release(deps.conversationId);
77
+ const server = await buildServer(deps);
78
+ const transport = new StreamableHTTPServerTransport({
79
+ sessionIdGenerator: () => randomUUID(),
80
+ enableJsonResponse: true,
81
+ });
82
+ await server.connect(transport);
83
+ const token = randomBytes(SIDECAR_TOKEN_BYTES).toString("hex");
84
+ byConversation.set(deps.conversationId, {
85
+ conversationId: deps.conversationId,
86
+ token,
87
+ server,
88
+ transport,
89
+ });
90
+ return token;
91
+ },
92
+ async release(conversationId) {
93
+ const binding = byConversation.get(conversationId);
94
+ if (binding === undefined)
95
+ return;
96
+ byConversation.delete(conversationId);
97
+ await closeBinding(binding);
98
+ },
99
+ async handleRequest(req, res) {
100
+ if (!isLoopbackRequest(req)) {
101
+ sendError(res, HTTP_STATUS.FORBIDDEN, "non-loopback request");
102
+ return;
103
+ }
104
+ const token = readBearerToken(req);
105
+ if (token === null) {
106
+ sendError(res, HTTP_STATUS.UNAUTHORIZED, "missing bearer token");
107
+ return;
108
+ }
109
+ const binding = resolve(token);
110
+ if (binding === null) {
111
+ sendError(res, HTTP_STATUS.UNAUTHORIZED, "unknown bearer token");
112
+ return;
113
+ }
114
+ await binding.transport.handleRequest(req, res);
115
+ },
116
+ async dispose() {
117
+ const bindings = [...byConversation.values()];
118
+ byConversation.clear();
119
+ await Promise.all(bindings.map(closeBinding));
120
+ },
121
+ };
122
+ }
123
+ //# sourceMappingURL=http-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-binding.js","sourceRoot":"","sources":["../../src/mcp/http-binding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { createSdkMcpServer, tool } from "@anthropic-ai/claude-agent-sdk";
2
+ import { MCP_SERVER_NAME, MCP_SERVER_VERSION } from "../constants/mcp.js";
3
+ import { buildToolDefinitions } from "./tool-definitions.js";
4
+ function toSdkTool(definition) {
5
+ return tool(definition.name, definition.description, definition.schema, definition.handler);
6
+ }
7
+ export function createAiMcpServer(deps) {
8
+ return createSdkMcpServer({
9
+ name: MCP_SERVER_NAME,
10
+ version: MCP_SERVER_VERSION,
11
+ tools: buildToolDefinitions(deps).map(toSdkTool),
12
+ });
13
+ }
14
+ //# sourceMappingURL=sdk-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-binding.js","sourceRoot":"","sources":["../../src/mcp/sdk-binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAG7D,SAAS,SAAS,CAAC,UAAgC;IACjD,OAAO,IAAI,CACT,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,MAAM,EACjB,UAAU,CAAC,OAAO,CACnB,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,iBAAiB,CAAC,IAAqB;IACrD,OAAO,kBAAkB,CAAC;QACxB,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,kBAAkB;QAC3B,KAAK,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;KACjD,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { AnyMcpToolDefinition } from "./define-tool.js";
2
+ import type { AiMcpServerDeps } from "./types.js";
3
+ export declare function buildToolDefinitions(deps: AiMcpServerDeps): AnyMcpToolDefinition[];
@@ -1,5 +1,3 @@
1
- import { createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";
2
- import { MCP_SERVER_NAME, MCP_SERVER_VERSION } from "../constants/mcp.js";
3
1
  import { buildAskUserTool } from "./tools/ask-user.js";
4
2
  import { buildBuilderTools } from "./tools/builder.js";
5
3
  import { buildFindPagesUsingTool } from "./tools/find-pages-using.js";
@@ -8,7 +6,7 @@ import { buildListPagesTool } from "./tools/list-pages.js";
8
6
  import { buildNavigateToPageTool } from "./tools/navigate-to-page.js";
9
7
  import { buildQueryLogsTool } from "./tools/query-logs.js";
10
8
  import { buildTypecheckTool } from "./tools/typecheck.js";
11
- function buildTools(deps) {
9
+ export function buildToolDefinitions(deps) {
12
10
  const builderTools = deps.builderEnabled
13
11
  ? buildBuilderTools({ builderClient: deps.builderClient })
14
12
  : [];
@@ -40,11 +38,4 @@ function buildTools(deps) {
40
38
  buildQueryLogsTool({ logsClient: deps.logsClient }),
41
39
  ];
42
40
  }
43
- export function createAiMcpServer(deps) {
44
- return createSdkMcpServer({
45
- name: MCP_SERVER_NAME,
46
- version: MCP_SERVER_VERSION,
47
- tools: buildTools(deps),
48
- });
49
- }
50
- //# sourceMappingURL=server.js.map
41
+ //# sourceMappingURL=tool-definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-definitions.js","sourceRoot":"","sources":["../../src/mcp/tool-definitions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,MAAM,UAAU,oBAAoB,CAClC,IAAqB;IAErB,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc;QACtC,CAAC,CAAC,iBAAiB,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1D,CAAC,CAAC,EAAE,CAAC;IACP,OAAO;QACL,GAAG,YAAY;QACf,uBAAuB,CAAC,IAAI,CAAC,cAAc,CAAC;QAC5C,uBAAuB,CAAC;YACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC;QACF,kBAAkB,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/C,uBAAuB,CAAC;YACtB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC;QACF,gBAAgB,CAAC;YACf,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;QACF,kBAAkB,CAAC;YACjB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC;QACF,kBAAkB,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC"}
@@ -4,7 +4,7 @@ export interface AskUserDeps {
4
4
  conversationId: string;
5
5
  requestQuestion: (req: QuestionRequest) => Promise<string[] | null>;
6
6
  }
7
- export declare function buildAskUserTool(deps: AskUserDeps): import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
7
+ export declare function buildAskUserTool(deps: AskUserDeps): import("../define-tool.js").McpToolDefinition<{
8
8
  readonly questions: z.ZodArray<z.ZodObject<{
9
9
  question: z.ZodString;
10
10
  header: z.ZodString;
@@ -1,7 +1,7 @@
1
- import { tool } from "@anthropic-ai/claude-agent-sdk";
2
1
  import { z } from "zod";
3
2
  import { ASK_USER_RESULT_NO_ANSWER, ASK_USER_RESULT_PREFIX, ASK_USER_TOOL_DESCRIPTION, ASK_USER_TOOL_NAME, } from "../../constants/mcp.js";
4
3
  import { QuestionSchema } from "../../protocol/events.js";
4
+ import { defineTool } from "../define-tool.js";
5
5
  const INPUT_SCHEMA = {
6
6
  questions: z.array(QuestionSchema).min(1).max(4),
7
7
  };
@@ -18,7 +18,7 @@ function buildContent(text) {
18
18
  return { content: [{ type: "text", text }] };
19
19
  }
20
20
  export function buildAskUserTool(deps) {
21
- return tool(ASK_USER_TOOL_NAME, ASK_USER_TOOL_DESCRIPTION, INPUT_SCHEMA, async ({ questions }) => {
21
+ return defineTool(ASK_USER_TOOL_NAME, ASK_USER_TOOL_DESCRIPTION, INPUT_SCHEMA, async ({ questions }) => {
22
22
  const answers = await deps.requestQuestion({
23
23
  conversationId: deps.conversationId,
24
24
  questions,
@@ -1 +1 @@
1
- {"version":3,"file":"ask-user.js","sourceRoot":"","sources":["../../../src/mcp/tools/ask-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAqB,MAAM,0BAA0B,CAAC;AAO7E,MAAM,YAAY,GAAG;IACnB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACxC,CAAC;AAEX,SAAS,eAAe,CACtB,SAAyB,EACzB,OAAwB;IAExB,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,yBAAyB,CAAC;IACvD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC;QAC3C,OAAO,KAAK,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,sBAAsB,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAGhC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAiB;IAChD,OAAO,IAAI,CACT,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,EACZ,KAAK,EAAE,EAAE,SAAS,EAAiC,EAAE,EAAE;QACrD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC;YACzC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,SAAS;SACV,CAAC,CAAC;QACH,OAAO,YAAY,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ask-user.js","sourceRoot":"","sources":["../../../src/mcp/tools/ask-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAqB,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAO/C,MAAM,YAAY,GAAG;IACnB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACxC,CAAC;AAEX,SAAS,eAAe,CACtB,SAAyB,EACzB,OAAwB;IAExB,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,yBAAyB,CAAC;IACvD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC;QAC3C,OAAO,KAAK,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,sBAAsB,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAGhC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAiB;IAChD,OAAO,UAAU,CACf,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,EACZ,KAAK,EAAE,EAAE,SAAS,EAAiC,EAAE,EAAE;QACrD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC;YACzC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,SAAS;SACV,CAAC,CAAC;QACH,OAAO,YAAY,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -3,19 +3,19 @@ import type { BuilderClient } from "../../builder/builder-client.js";
3
3
  export interface BuilderToolsDeps {
4
4
  builderClient: BuilderClient;
5
5
  }
6
- export declare function buildBuilderTools(deps: BuilderToolsDeps): (import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{}> | import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
6
+ export declare function buildBuilderTools(deps: BuilderToolsDeps): (import("../define-tool.js").McpToolDefinition<{}> | import("../define-tool.js").McpToolDefinition<{
7
7
  pageRef: z.ZodString;
8
- }> | import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
8
+ }> | import("../define-tool.js").McpToolDefinition<{
9
9
  name: z.ZodString;
10
10
  displayName: z.ZodString;
11
11
  category: z.ZodString;
12
12
  icon: z.ZodOptional<z.ZodString>;
13
13
  order: z.ZodOptional<z.ZodNumber>;
14
14
  description: z.ZodOptional<z.ZodString>;
15
- }> | import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
15
+ }> | import("../define-tool.js").McpToolDefinition<{
16
16
  pageRef: z.ZodString;
17
17
  patch: z.ZodRecord<z.ZodString, z.ZodUnknown>;
18
- }> | import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
18
+ }> | import("../define-tool.js").McpToolDefinition<{
19
19
  page: z.ZodString;
20
20
  parent: z.ZodOptional<z.ZodString>;
21
21
  slot: z.ZodOptional<z.ZodString>;
@@ -24,31 +24,31 @@ export declare function buildBuilderTools(deps: BuilderToolsDeps): (import("@ant
24
24
  type: z.ZodString;
25
25
  config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
26
26
  controller: z.ZodOptional<z.ZodString>;
27
- }> | import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
27
+ }> | import("../define-tool.js").McpToolDefinition<{
28
28
  path: z.ZodString;
29
29
  patch: z.ZodRecord<z.ZodString, z.ZodUnknown>;
30
30
  replace: z.ZodOptional<z.ZodBoolean>;
31
- }> | import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
31
+ }> | import("../define-tool.js").McpToolDefinition<{
32
32
  path: z.ZodString;
33
33
  parent: z.ZodString;
34
34
  slot: z.ZodOptional<z.ZodString>;
35
35
  index: z.ZodNumber;
36
- }> | import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
36
+ }> | import("../define-tool.js").McpToolDefinition<{
37
37
  path: z.ZodString;
38
- }> | import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
38
+ }> | import("../define-tool.js").McpToolDefinition<{
39
39
  name: z.ZodString;
40
40
  displayName: z.ZodString;
41
41
  parent: z.ZodOptional<z.ZodString>;
42
42
  icon: z.ZodOptional<z.ZodString>;
43
43
  order: z.ZodOptional<z.ZodNumber>;
44
- }> | import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
44
+ }> | import("../define-tool.js").McpToolDefinition<{
45
45
  ref: z.ZodString;
46
46
  patch: z.ZodRecord<z.ZodString, z.ZodUnknown>;
47
- }> | import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
47
+ }> | import("../define-tool.js").McpToolDefinition<{
48
48
  ref: z.ZodString;
49
- }> | import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
49
+ }> | import("../define-tool.js").McpToolDefinition<{
50
50
  pageRef: z.ZodOptional<z.ZodString>;
51
- }> | import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
51
+ }> | import("../define-tool.js").McpToolDefinition<{
52
52
  name: z.ZodString;
53
53
  displayName: z.ZodOptional<z.ZodString>;
54
54
  schema: z.ZodOptional<z.ZodString>;
@@ -87,10 +87,10 @@ export declare function buildBuilderTools(deps: BuilderToolsDeps): (import("@ant
87
87
  archive: "archive";
88
88
  export: "export";
89
89
  }>>>;
90
- }> | import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
90
+ }> | import("../define-tool.js").McpToolDefinition<{
91
91
  ref: z.ZodString;
92
92
  keepData: z.ZodOptional<z.ZodBoolean>;
93
- }> | import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
93
+ }> | import("../define-tool.js").McpToolDefinition<{
94
94
  ref: z.ZodString;
95
95
  field: z.ZodObject<{
96
96
  dataType: z.ZodObject<{
@@ -111,7 +111,7 @@ export declare function buildBuilderTools(deps: BuilderToolsDeps): (import("@ant
111
111
  order: z.ZodOptional<z.ZodNumber>;
112
112
  name: z.ZodString;
113
113
  }, z.core.$strip>;
114
- }> | import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
114
+ }> | import("../define-tool.js").McpToolDefinition<{
115
115
  path: z.ZodString;
116
116
  patch: z.ZodObject<{
117
117
  dataType: z.ZodOptional<z.ZodObject<{
@@ -131,16 +131,16 @@ export declare function buildBuilderTools(deps: BuilderToolsDeps): (import("@ant
131
131
  indexed: z.ZodOptional<z.ZodBoolean>;
132
132
  order: z.ZodOptional<z.ZodNumber>;
133
133
  }, z.core.$strip>;
134
- }> | import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
134
+ }> | import("../define-tool.js").McpToolDefinition<{
135
135
  resourceType: z.ZodOptional<z.ZodString>;
136
- }> | import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
136
+ }> | import("../define-tool.js").McpToolDefinition<{
137
137
  page: z.ZodString;
138
138
  name: z.ZodString;
139
139
  resource: z.ZodString;
140
140
  template: z.ZodString;
141
141
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
142
142
  endpoint: z.ZodOptional<z.ZodString>;
143
- }> | import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
143
+ }> | import("../define-tool.js").McpToolDefinition<{
144
144
  query: z.ZodString;
145
145
  patch: z.ZodObject<{
146
146
  resource: z.ZodOptional<z.ZodString>;
@@ -148,6 +148,6 @@ export declare function buildBuilderTools(deps: BuilderToolsDeps): (import("@ant
148
148
  params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
149
149
  endpoint: z.ZodOptional<z.ZodString>;
150
150
  }, z.core.$strip>;
151
- }> | import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
151
+ }> | import("../define-tool.js").McpToolDefinition<{
152
152
  query: z.ZodString;
153
153
  }>)[];
@@ -1,6 +1,6 @@
1
- import { tool } from "@anthropic-ai/claude-agent-sdk";
2
1
  import { z } from "zod";
3
2
  import { BUILDER_ESCALATION_NOTE, BUILDER_EXPR_REFUSAL, BUILDER_REF_NOTE, } from "../../prompts/builder.js";
3
+ import { defineTool } from "../define-tool.js";
4
4
  function content(text) {
5
5
  return { content: [{ type: "text", text }] };
6
6
  }
@@ -108,10 +108,10 @@ const FIELD_ASPECTS_PATCH = z.object({
108
108
  export function buildBuilderTools(deps) {
109
109
  const run = async (op, args) => content(JSON.stringify(await deps.builderClient.call(op, args)));
110
110
  return [
111
- tool("BuilderCatalog", note("Lists every block type and DataType the page builder can emit, with their config schemas. Call this before adding blocks so you use valid types and options. For a config field whose schema is marked `x-dataType` (e.g. a Form field's `type`), pass a DataType value `{ $dataType: \"<id>\", config: {…} }` using an id and config from this catalog's `dataTypes` — never a raw `$expr`."), {}, () => run("GetCatalog", [])),
112
- tool("BuilderListPages", note("Lists all builder-editable pages (route, id, category, file)."), {}, () => run("ListPages", [])),
113
- tool("BuilderPageStructure", note(`Returns a page's block tree (each block's path, type, editability, config) plus a version hash for optimistic concurrency. ${BLOCK_PATH_FORMAT}`), { pageRef: z.string() }, ({ pageRef }) => run("GetPageStructure", [pageRef])),
114
- tool("BuilderCreatePage", note("Creates a new page under an existing category and wires it into the barrel so it registers."), {
111
+ defineTool("BuilderCatalog", note("Lists every block type and DataType the page builder can emit, with their config schemas. Call this before adding blocks so you use valid types and options. For a config field whose schema is marked `x-dataType` (e.g. a Form field's `type`), pass a DataType value `{ $dataType: \"<id>\", config: {…} }` using an id and config from this catalog's `dataTypes` — never a raw `$expr`."), {}, () => run("GetCatalog", [])),
112
+ defineTool("BuilderListPages", note("Lists all builder-editable pages (route, id, category, file)."), {}, () => run("ListPages", [])),
113
+ defineTool("BuilderPageStructure", note(`Returns a page's block tree (each block's path, type, editability, config) plus a version hash for optimistic concurrency. ${BLOCK_PATH_FORMAT}`), { pageRef: z.string() }, ({ pageRef }) => run("GetPageStructure", [pageRef])),
114
+ defineTool("BuilderCreatePage", note("Creates a new page under an existing category and wires it into the barrel so it registers."), {
115
115
  name: z.string(),
116
116
  displayName: z.string(),
117
117
  category: z.string(),
@@ -119,11 +119,11 @@ export function buildBuilderTools(deps) {
119
119
  order: z.number().optional(),
120
120
  description: z.string().optional(),
121
121
  }, (input) => run("CreatePage", [input])),
122
- tool("BuilderConfigurePage", note("Updates a page's metadata (displayName, icon, order, description)."), { pageRef: z.string(), patch: CONFIG }, async ({ pageRef, patch }) => hasExprSentinel(patch)
122
+ defineTool("BuilderConfigurePage", note("Updates a page's metadata (displayName, icon, order, description)."), { pageRef: z.string(), patch: CONFIG }, async ({ pageRef, patch }) => hasExprSentinel(patch)
123
123
  ? exprRefusal()
124
124
  : run("ConfigurePage", [pageRef, patch])),
125
- tool("BuilderDeletePage", note("Deletes a page file and removes its barrel import."), { pageRef: z.string() }, ({ pageRef }) => run("DeletePage", [pageRef])),
126
- tool("BuilderAddBlock", note("Adds a block. Omit `parent` for a top-level block, or pass a container block's path to nest. `type` and `config` must match the catalog. Block types the catalog marks `controllerArg: true` (e.g. `TableView`) bind to a data resource: pass `controller` = the resource `ref` from BuilderListResources (its DataAPI class becomes the block's leading argument) and put the display options in `config`."), {
125
+ defineTool("BuilderDeletePage", note("Deletes a page file and removes its barrel import."), { pageRef: z.string() }, ({ pageRef }) => run("DeletePage", [pageRef])),
126
+ defineTool("BuilderAddBlock", note("Adds a block. Omit `parent` for a top-level block, or pass a container block's path to nest. `type` and `config` must match the catalog. Block types the catalog marks `controllerArg: true` (e.g. `TableView`) bind to a data resource: pass `controller` = the resource `ref` from BuilderListResources (its DataAPI class becomes the block's leading argument) and put the display options in `config`."), {
127
127
  page: z.string(),
128
128
  parent: PARENT_PATH.optional(),
129
129
  slot: z.string().optional(),
@@ -138,31 +138,31 @@ export function buildBuilderTools(deps) {
138
138
  }, async (input) => hasExprSentinel(input.config)
139
139
  ? exprRefusal()
140
140
  : run("AddBlock", [input])),
141
- tool("BuilderConfigureBlock", note("Merges (or replaces, with replace:true) options into a block's config. Children are managed with Add/Move/Remove, not here."), { path: BLOCK_PATH, patch: CONFIG, replace: z.boolean().optional() }, async ({ path, patch, replace, }) => hasExprSentinel(patch)
141
+ defineTool("BuilderConfigureBlock", note("Merges (or replaces, with replace:true) options into a block's config. Children are managed with Add/Move/Remove, not here."), { path: BLOCK_PATH, patch: CONFIG, replace: z.boolean().optional() }, async ({ path, patch, replace, }) => hasExprSentinel(patch)
142
142
  ? exprRefusal()
143
143
  : run("ConfigureBlock", [path, patch, { replace }])),
144
- tool("BuilderMoveBlock", note("Moves a child block to a new position within a container."), {
144
+ defineTool("BuilderMoveBlock", note("Moves a child block to a new position within a container."), {
145
145
  path: BLOCK_PATH,
146
146
  parent: PARENT_PATH,
147
147
  slot: z.string().optional(),
148
148
  index: z.number(),
149
149
  }, ({ path, parent, slot, index, }) => run("MoveBlock", [path, { parent, slot, index }])),
150
- tool("BuilderRemoveBlock", note("Removes a block and its whole subtree."), { path: BLOCK_PATH }, ({ path }) => run("RemoveBlock", [path])),
151
- tool("BuilderCreateCategory", note("Creates a navigation category (optionally under a parent category)."), {
150
+ defineTool("BuilderRemoveBlock", note("Removes a block and its whole subtree."), { path: BLOCK_PATH }, ({ path }) => run("RemoveBlock", [path])),
151
+ defineTool("BuilderCreateCategory", note("Creates a navigation category (optionally under a parent category)."), {
152
152
  name: z.string(),
153
153
  displayName: z.string(),
154
154
  parent: z.string().optional(),
155
155
  icon: z.string().optional(),
156
156
  order: z.number().optional(),
157
157
  }, (input) => run("CreateCategory", [input])),
158
- tool("BuilderConfigureCategory", note("Updates a category's metadata (displayName, icon, order)."), { ref: z.string(), patch: CONFIG }, async ({ ref, patch }) => hasExprSentinel(patch)
158
+ defineTool("BuilderConfigureCategory", note("Updates a category's metadata (displayName, icon, order)."), { ref: z.string(), patch: CONFIG }, async ({ ref, patch }) => hasExprSentinel(patch)
159
159
  ? exprRefusal()
160
160
  : run("ConfigureCategory", [ref, patch])),
161
- tool("BuilderDeleteCategory", note("Deletes a category. Refused with referential_integrity if any page still references it."), { ref: z.string() }, ({ ref }) => run("DeleteCategory", [ref])),
162
- tool("BuilderRefresh", note("Reconciles the builder's source index with disk after out-of-band edits (e.g. a vibe-mode excursion)."), { pageRef: z.string().optional() }, ({ pageRef }) => run("RefreshSourceIndex", pageRef ? [{ page: pageRef }] : [])),
163
- tool("BuilderListResources", note("Lists every data resource (its ref, class/table names, /api route, field count, files). A resource is a Database Table+Model paired with a DataAPI controller."), {}, () => run("ListResources", [])),
164
- tool("BuilderResourceStructure", note("Returns a resource's fields with their semantic aspects, its `routes` (absent when it serves the full set), and a version hash for optimistic concurrency. Hand-edited or relation fields come back marked `opaque` — safe mode cannot reconfigure those."), { ref: z.string() }, ({ ref }) => run("GetResourceStructure", [ref])),
165
- tool("BuilderCreateResource", note("Creates a data resource — a Database Table+Model plus a matching DataAPI controller at /api/<name> — as a folder wired into the nearest barrel. Every resource auto-manages its own `_id`. When you limit `routes`, keep the view in sync: drop the TableView rowActions whose routes you left out, or bind a Form instead."), {
161
+ defineTool("BuilderDeleteCategory", note("Deletes a category. Refused with referential_integrity if any page still references it."), { ref: z.string() }, ({ ref }) => run("DeleteCategory", [ref])),
162
+ defineTool("BuilderRefresh", note("Reconciles the builder's source index with disk after out-of-band edits (e.g. a vibe-mode excursion)."), { pageRef: z.string().optional() }, ({ pageRef }) => run("RefreshSourceIndex", pageRef ? [{ page: pageRef }] : [])),
163
+ defineTool("BuilderListResources", note("Lists every data resource (its ref, class/table names, /api route, field count, files). A resource is a Database Table+Model paired with a DataAPI controller."), {}, () => run("ListResources", [])),
164
+ defineTool("BuilderResourceStructure", note("Returns a resource's fields with their semantic aspects, its `routes` (absent when it serves the full set), and a version hash for optimistic concurrency. Hand-edited or relation fields come back marked `opaque` — safe mode cannot reconfigure those."), { ref: z.string() }, ({ ref }) => run("GetResourceStructure", [ref])),
165
+ defineTool("BuilderCreateResource", note("Creates a data resource — a Database Table+Model plus a matching DataAPI controller at /api/<name> — as a folder wired into the nearest barrel. Every resource auto-manages its own `_id`. When you limit `routes`, keep the view in sync: drop the TableView rowActions whose routes you left out, or bind a Form instead."), {
166
166
  name: z.string(),
167
167
  displayName: z.string().optional(),
168
168
  schema: z.string().optional(),
@@ -171,19 +171,19 @@ export function buildBuilderTools(deps) {
171
171
  location: RESOURCE_LOCATION.optional(),
172
172
  routes: z.array(RESOURCE_ROUTE).min(1).optional(),
173
173
  }, async (input) => hasExprSentinel(input) ? exprRefusal() : run("CreateResource", [input])),
174
- tool("BuilderDeleteResource", note("Deletes a resource: removes its database.ts/data-api.ts/index.ts files, unwires the barrel export, and (by default) clears the resource's database table so a later resource reusing the name re-seeds cleanly instead of inheriting stale rows. Pass keepData: true to leave the table data in place. Does not detect pages whose TableView references its /api route."), { ref: z.string(), keepData: z.boolean().optional() }, ({ ref, keepData }) => run("DeleteResource", keepData === undefined ? [ref] : [ref, { keepData }])),
175
- tool("BuilderAddField", note("Adds a field to a resource, editing the Table and DataAPI classes together in one atomic op."), { ref: z.string(), field: FIELD_SPEC }, async ({ ref, field }) => hasExprSentinel(field) ? exprRefusal() : run("AddField", [ref, field])),
176
- tool("BuilderConfigureField", note("Reconfigures a field by merging the patch over its current aspects and re-deriving the whole decorator stack on both classes (no drift). Field name is immutable — rename via BuilderRemoveField + BuilderAddField."), { path: FIELD_PATH, patch: FIELD_ASPECTS_PATCH }, async ({ path, patch }) => hasExprSentinel(patch)
174
+ defineTool("BuilderDeleteResource", note("Deletes a resource: removes its database.ts/data-api.ts/index.ts files, unwires the barrel export, and (by default) clears the resource's database table so a later resource reusing the name re-seeds cleanly instead of inheriting stale rows. Pass keepData: true to leave the table data in place. Does not detect pages whose TableView references its /api route."), { ref: z.string(), keepData: z.boolean().optional() }, ({ ref, keepData }) => run("DeleteResource", keepData === undefined ? [ref] : [ref, { keepData }])),
175
+ defineTool("BuilderAddField", note("Adds a field to a resource, editing the Table and DataAPI classes together in one atomic op."), { ref: z.string(), field: FIELD_SPEC }, async ({ ref, field }) => hasExprSentinel(field) ? exprRefusal() : run("AddField", [ref, field])),
176
+ defineTool("BuilderConfigureField", note("Reconfigures a field by merging the patch over its current aspects and re-deriving the whole decorator stack on both classes (no drift). Field name is immutable — rename via BuilderRemoveField + BuilderAddField."), { path: FIELD_PATH, patch: FIELD_ASPECTS_PATCH }, async ({ path, patch }) => hasExprSentinel(patch)
177
177
  ? exprRefusal()
178
178
  : run("ConfigureField", [path, patch])),
179
- tool("BuilderRemoveField", note("Removes a field from a resource's Table and DataAPI classes in one atomic op. Leaves seed rows untouched."), { path: FIELD_PATH }, ({ path }) => run("RemoveField", [path])),
180
- tool("BuilderQueryTemplates", note("Lists the query templates BuilderAddQuery can compile, each with its id, what it computes, its `output` kind, and the JSON Schema for its `params`. Call this before adding a query — the schema is the reference for every parameter and value shape."), {
179
+ defineTool("BuilderRemoveField", note("Removes a field from a resource's Table and DataAPI classes in one atomic op. Leaves seed rows untouched."), { path: FIELD_PATH }, ({ path }) => run("RemoveField", [path])),
180
+ defineTool("BuilderQueryTemplates", note("Lists the query templates BuilderAddQuery can compile, each with its id, what it computes, its `output` kind, and the JSON Schema for its `params`. Call this before adding a query — the schema is the reference for every parameter and value shape."), {
181
181
  resourceType: z
182
182
  .string()
183
183
  .optional()
184
184
  .describe("Filter to templates for one resource type (v1 has only `database-table`). Omit for all."),
185
185
  }, ({ resourceType }) => run("ListQueryTemplates", resourceType ? [resourceType] : [])),
186
- tool("BuilderAddQuery", note("Adds a query — a page-hosted GET route serving one computed number that the DataAPI cannot give you. Compiles the template into a method on the resource's model and a route on the page, atomically. Returns `{ query, route }`; `route` is the full URL to pass as a KpiCard's `fetchUrl`, and it serves `{ \"value\": <number> }`."), {
186
+ defineTool("BuilderAddQuery", note("Adds a query — a page-hosted GET route serving one computed number that the DataAPI cannot give you. Compiles the template into a method on the resource's model and a route on the page, atomically. Returns `{ query, route }`; `route` is the full URL to pass as a KpiCard's `fetchUrl`, and it serves `{ \"value\": <number> }`."), {
187
187
  page: z
188
188
  .string()
189
189
  .describe("PageRef the query is served from — the page that displays it, not the resource's page."),
@@ -199,7 +199,7 @@ export function buildBuilderTools(deps) {
199
199
  params: QUERY_PARAMS.optional(),
200
200
  endpoint: QUERY_ENDPOINT.optional(),
201
201
  }, async ({ page, ...input }) => hasExprSentinel(input) ? exprRefusal() : run("AddQuery", [page, input])),
202
- tool("BuilderConfigureQuery", note("Recompiles a query, replacing both its route and its chain. Only the keys you pass change; the rest are re-read from the query. A query BuilderPageStructure reports as `opaque` is refused with opaque_target, leaving the hand-edit intact. Renaming is not supported — remove and re-add. Never affects another page's query, even one sharing the same model method."), {
202
+ defineTool("BuilderConfigureQuery", note("Recompiles a query, replacing both its route and its chain. Only the keys you pass change; the rest are re-read from the query. A query BuilderPageStructure reports as `opaque` is refused with opaque_target, leaving the hand-edit intact. Renaming is not supported — remove and re-add. Never affects another page's query, even one sharing the same model method."), {
203
203
  query: QUERY_REF,
204
204
  patch: z.object({
205
205
  resource: z.string().optional(),
@@ -210,7 +210,7 @@ export function buildBuilderTools(deps) {
210
210
  }, async ({ query, patch }) => hasExprSentinel(patch)
211
211
  ? exprRefusal()
212
212
  : run("ConfigureQuery", [query, patch])),
213
- tool("BuilderRemoveQuery", note("Removes a query's route from the page, and its model method too once no route on any page still calls it. Works on an opaque query as well — the builder can always remove what it cannot edit. Does not detect blocks whose fetchUrl points at the removed route: fix those in the same turn."), { query: QUERY_REF }, ({ query }) => run("RemoveQuery", [query])),
213
+ defineTool("BuilderRemoveQuery", note("Removes a query's route from the page, and its model method too once no route on any page still calls it. Works on an opaque query as well — the builder can always remove what it cannot edit. Does not detect blocks whose fetchUrl points at the removed route: fix those in the same turn."), { query: QUERY_REF }, ({ query }) => run("RemoveQuery", [query])),
214
214
  ];
215
215
  }
216
216
  //# sourceMappingURL=builder.js.map