@antelopejs/dms-ai 0.4.1 → 0.5.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 (123) hide show
  1. package/README.md +1 -1
  2. package/dist/constants/database.d.ts +7 -0
  3. package/dist/constants/database.js +11 -0
  4. package/dist/constants/database.js.map +1 -0
  5. package/dist/constants/pages.d.ts +3 -0
  6. package/dist/constants/pages.js +3 -0
  7. package/dist/constants/pages.js.map +1 -1
  8. package/dist/database/catalog.d.ts +4 -0
  9. package/dist/database/catalog.js +25 -0
  10. package/dist/database/catalog.js.map +1 -0
  11. package/dist/logging/log-buffer.js +1 -1
  12. package/dist/logging/log-buffer.js.map +1 -1
  13. package/dist/pages/settings/page.d.ts +1 -0
  14. package/dist/pages/settings/page.js +1 -0
  15. package/dist/pages/settings/page.js.map +1 -1
  16. package/dist/routes/builder.js +8 -0
  17. package/dist/routes/builder.js.map +1 -1
  18. package/dist/routes/codex-account.d.ts +8 -0
  19. package/dist/routes/codex-account.js +162 -0
  20. package/dist/routes/codex-account.js.map +1 -0
  21. package/dist/routes/database.d.ts +21 -0
  22. package/dist/routes/database.js +115 -0
  23. package/dist/routes/database.js.map +1 -0
  24. package/dist/routes/index.d.ts +2 -0
  25. package/dist/routes/index.js +2 -0
  26. package/dist/routes/index.js.map +1 -1
  27. package/frontend-vue/app/chat/utils/tool-lexicon.ts +46 -0
  28. package/frontend-vue/i18n/locales/dms-ai-pages-en-GB.json +30 -1
  29. package/frontend-vue/i18n/locales/dms-ai-pages-fr-FR.json +30 -1
  30. package/frontend-vue/i18n/locales/dms-ai-panel-en-GB.json +8 -0
  31. package/frontend-vue/i18n/locales/dms-ai-panel-fr-FR.json +8 -0
  32. package/frontend-vue/package.json +1 -1
  33. package/frontend-vue/tests/panel-states.test.ts +1 -1
  34. package/package.json +4 -3
  35. package/sidecar/dist/agent/permission-preview.js +49 -2
  36. package/sidecar/dist/agent/permission-preview.js.map +1 -1
  37. package/sidecar/dist/agent/tool-kinds.d.ts +1 -0
  38. package/sidecar/dist/agent/tool-kinds.js +2 -1
  39. package/sidecar/dist/agent/tool-kinds.js.map +1 -1
  40. package/sidecar/dist/constants/builder.d.ts +7 -1
  41. package/sidecar/dist/constants/builder.js +10 -0
  42. package/sidecar/dist/constants/builder.js.map +1 -1
  43. package/sidecar/dist/constants/chatgpt.d.ts +39 -0
  44. package/sidecar/dist/constants/chatgpt.js +55 -0
  45. package/sidecar/dist/constants/chatgpt.js.map +1 -0
  46. package/sidecar/dist/constants/codex.d.ts +4 -5
  47. package/sidecar/dist/constants/codex.js +4 -5
  48. package/sidecar/dist/constants/codex.js.map +1 -1
  49. package/sidecar/dist/constants/database.d.ts +11 -0
  50. package/sidecar/dist/constants/database.js +17 -0
  51. package/sidecar/dist/constants/database.js.map +1 -0
  52. package/sidecar/dist/constants/http.d.ts +3 -0
  53. package/sidecar/dist/constants/http.js +3 -0
  54. package/sidecar/dist/constants/http.js.map +1 -1
  55. package/sidecar/dist/constants/mcp.js +2 -0
  56. package/sidecar/dist/constants/mcp.js.map +1 -1
  57. package/sidecar/dist/constants/providers.d.ts +1 -1
  58. package/sidecar/dist/constants/providers.js +1 -1
  59. package/sidecar/dist/constants/providers.js.map +1 -1
  60. package/sidecar/dist/constants/tool-kinds.d.ts +1 -0
  61. package/sidecar/dist/constants/tool-kinds.js +7 -0
  62. package/sidecar/dist/constants/tool-kinds.js.map +1 -1
  63. package/sidecar/dist/database/database-client.d.ts +11 -0
  64. package/sidecar/dist/database/database-client.js +50 -0
  65. package/sidecar/dist/database/database-client.js.map +1 -0
  66. package/sidecar/dist/index.js +6 -0
  67. package/sidecar/dist/index.js.map +1 -1
  68. package/sidecar/dist/mcp/tool-definitions.js +2 -0
  69. package/sidecar/dist/mcp/tool-definitions.js.map +1 -1
  70. package/sidecar/dist/mcp/tools/builder-gate.js +3 -1
  71. package/sidecar/dist/mcp/tools/builder-gate.js.map +1 -1
  72. package/sidecar/dist/mcp/tools/builder-project.d.ts +8 -0
  73. package/sidecar/dist/mcp/tools/builder-project.js +181 -0
  74. package/sidecar/dist/mcp/tools/builder-project.js.map +1 -0
  75. package/sidecar/dist/mcp/tools/builder.d.ts +5 -2
  76. package/sidecar/dist/mcp/tools/builder.js +5 -11
  77. package/sidecar/dist/mcp/tools/builder.js.map +1 -1
  78. package/sidecar/dist/mcp/tools/database.d.ts +6 -0
  79. package/sidecar/dist/mcp/tools/database.js +42 -0
  80. package/sidecar/dist/mcp/tools/database.js.map +1 -0
  81. package/sidecar/dist/mcp/types.d.ts +2 -0
  82. package/sidecar/dist/providers/claude/safe-mode.js +11 -1
  83. package/sidecar/dist/providers/claude/safe-mode.js.map +1 -1
  84. package/sidecar/dist/providers/codex/chatgpt/credentials.d.ts +10 -0
  85. package/sidecar/dist/providers/codex/chatgpt/credentials.js +63 -0
  86. package/sidecar/dist/providers/codex/chatgpt/credentials.js.map +1 -0
  87. package/sidecar/dist/providers/codex/chatgpt/http.d.ts +3 -0
  88. package/sidecar/dist/providers/codex/chatgpt/http.js +66 -0
  89. package/sidecar/dist/providers/codex/chatgpt/http.js.map +1 -0
  90. package/sidecar/dist/providers/codex/chatgpt/lock.d.ts +1 -0
  91. package/sidecar/dist/providers/codex/chatgpt/lock.js +58 -0
  92. package/sidecar/dist/providers/codex/chatgpt/lock.js.map +1 -0
  93. package/sidecar/dist/providers/codex/chatgpt/login.d.ts +8 -0
  94. package/sidecar/dist/providers/codex/chatgpt/login.js +138 -0
  95. package/sidecar/dist/providers/codex/chatgpt/login.js.map +1 -0
  96. package/sidecar/dist/providers/codex/chatgpt/oauth.d.ts +38 -0
  97. package/sidecar/dist/providers/codex/chatgpt/oauth.js +167 -0
  98. package/sidecar/dist/providers/codex/chatgpt/oauth.js.map +1 -0
  99. package/sidecar/dist/providers/codex/chatgpt/store.d.ts +21 -0
  100. package/sidecar/dist/providers/codex/chatgpt/store.js +75 -0
  101. package/sidecar/dist/providers/codex/chatgpt/store.js.map +1 -0
  102. package/sidecar/dist/providers/codex/config.d.ts +1 -5
  103. package/sidecar/dist/providers/codex/config.js +27 -4
  104. package/sidecar/dist/providers/codex/config.js.map +1 -1
  105. package/sidecar/dist/providers/codex/module.js +11 -4
  106. package/sidecar/dist/providers/codex/module.js.map +1 -1
  107. package/sidecar/dist/providers/codex/process.d.ts +1 -1
  108. package/sidecar/dist/providers/codex/process.js +7 -3
  109. package/sidecar/dist/providers/codex/process.js.map +1 -1
  110. package/sidecar/dist/providers/codex/provider.d.ts +0 -1
  111. package/sidecar/dist/providers/codex/provider.js +7 -5
  112. package/sidecar/dist/providers/codex/provider.js.map +1 -1
  113. package/sidecar/dist/server/http.js +38 -0
  114. package/sidecar/dist/server/http.js.map +1 -1
  115. package/sidecar/dist/server/permission-events.js +3 -1
  116. package/sidecar/dist/server/permission-events.js.map +1 -1
  117. package/sidecar/dist/server/raw-data.js +1 -1
  118. package/sidecar/dist/server/raw-data.js.map +1 -1
  119. package/sidecar/dist/server/safety-net.js +1 -1
  120. package/sidecar/dist/server/safety-net.js.map +1 -1
  121. package/skills/dms-ai/SKILL.md +1 -1
  122. package/skills/dms-external-database/REFERENCE.md +132 -0
  123. package/skills/dms-external-database/SKILL.md +142 -0
@@ -6,9 +6,12 @@ export const HTTP_STATUS = {
6
6
  NOT_FOUND: 404,
7
7
  CONFLICT: 409,
8
8
  SERVER_ERROR: 500,
9
+ BAD_GATEWAY: 502,
10
+ UNAVAILABLE: 503,
9
11
  };
10
12
  export const CONTENT_TYPE = {
11
13
  JSON: "application/json; charset=utf-8",
12
14
  TEXT: "text/plain; charset=utf-8",
15
+ HTML: "text/html; charset=utf-8",
13
16
  };
14
17
  //# sourceMappingURL=http.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/constants/http.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,EAAE,EAAE,GAAG;IACP,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,GAAG;IACjB,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,GAAG;IACd,QAAQ,EAAE,GAAG;IACb,YAAY,EAAE,GAAG;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,iCAAiC;IACvC,IAAI,EAAE,2BAA2B;CACzB,CAAC"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/constants/http.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,EAAE,EAAE,GAAG;IACP,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,GAAG;IACjB,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,GAAG;IACd,QAAQ,EAAE,GAAG;IACb,YAAY,EAAE,GAAG;IACjB,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,GAAG;CACR,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,iCAAiC;IACvC,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE,0BAA0B;CACxB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { DATABASE_TOOL_NAMES } from "./database.js";
1
2
  import { BUILDER_TOOL_NAMES } from "./builder.js";
2
3
  import { QUERY_LOGS_TOOL_NAME } from "./logs.js";
3
4
  import { FIND_PAGES_TOOL_NAME, LIST_PAGES_TOOL_NAME } from "./pages.js";
@@ -39,6 +40,7 @@ export const FIRST_PARTY_AUTO_ALLOW_TOOL_NAMES = new Set([
39
40
  PREVIEW_BLOCKS_TOOL_NAME,
40
41
  TYPECHECK_TOOL_NAME,
41
42
  QUERY_LOGS_TOOL_NAME,
43
+ ...DATABASE_TOOL_NAMES,
42
44
  ...BUILDER_TOOL_NAMES,
43
45
  ].map((name) => `${MCP_TOOL_NAME_PREFIX}${name}`));
44
46
  export const MCP_HTTP_PATH = "/mcp";
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/constants/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC;AAC5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAc,CAAC;AAGlD,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,cAAc,IAAI,CAAC;AAE/D,MAAM,CAAC,MAAM,0BAA0B,GAAG,gBAAgB,CAAC;AAC3D,MAAM,CAAC,MAAM,iCAAiC,GAC5C,mHAAmH,CAAC;AAEtH,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AACnD,MAAM,CAAC,MAAM,yBAAyB,GACpC,8LAA8L,CAAC;AACjM,MAAM,CAAC,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AACjE,MAAM,CAAC,MAAM,gCAAgC,GAAG,cAAc,CAAC;AAC/D,MAAM,CAAC,MAAM,8BAA8B,GACzC,uCAAuC,CAAC;AAG1C,MAAM,CAAC,MAAM,6BAA6B,GAAG,2BAA2B,CAAC;AAIzE,MAAM,CAAC,MAAM,6BAA6B,GAAG,oBAAoB,CAAC;AAClE,MAAM,CAAC,MAAM,6BAA6B,GACxC,yDAAyD,CAAC;AAC5D,MAAM,CAAC,MAAM,2BAA2B,GACtC,0DAA0D,CAAC;AAE7D,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAE5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAC5C,MAAM,CAAC,MAAM,yBAAyB,GACpC,4UAA4U,CAAC;AAC/U,MAAM,CAAC,MAAM,sBAAsB,GAAG,gBAAgB,CAAC;AACvD,MAAM,CAAC,MAAM,uBAAuB,GAClC,qDAAqD,CAAC;AACxD,MAAM,CAAC,MAAM,yBAAyB,GACpC,oEAAoE,CAAC;AAMvE,MAAM,CAAC,MAAM,mCAAmC,GAAG,iBAAiB,CAAC;AACrE,MAAM,CAAC,MAAM,kCAAkC,GAAG,kDAAkD,oBAAoB,GAAG,kBAAkB,0DAA0D,CAAC;AAQxM,MAAM,CAAC,MAAM,iCAAiC,GAAwB,IAAI,GAAG,CAC3E;IACE,0BAA0B;IAC1B,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,wBAAwB;IACxB,mBAAmB;IACnB,oBAAoB;IACpB,GAAG,kBAAkB;CACtB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,oBAAoB,GAAG,IAAI,EAAE,CAAC,CAClD,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;AAEpC,MAAM,CAAC,MAAM,qBAAqB,GAAG,0BAA0B,aAAa,EAAE,CAAC;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,eAAe,CAAC;AACxD,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAG3C,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,WAAW;IACX,WAAW;IACX,KAAK;IACL,OAAO;CACR,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,CAAC;AAI5B,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CACnC,mBAAmB,EACnB,IAAI,CAAC,GAAG,CAAC,GAAG,uBAAuB,CAAC,GAAG,aAAa,CACrD,CAAC;AAIF,MAAM,yBAAyB,GAAG,CAAC,GAAG,aAAa,CAAC;AAMpD,MAAM,CAAC,MAAM,mBAAmB,GAC9B,oBAAoB,GAAG,yBAAyB,CAAC;AACnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,GAAG,aAAa,CAAC"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/constants/mcp.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ export declare const PROVIDER_UNAVAILABLE_REASONS: {
2
2
  readonly CLAUDE_SDK_MISSING: "The Claude agent SDK is not installed alongside the sidecar.";
3
3
  readonly CODEX_CLI_MISSING: "Install @openai/codex, at the exact version dms-ai pins, to enable this provider.";
4
4
  readonly CODEX_VERSION_MISMATCH: "The installed codex binary (%installed%) does not match the protocol types the sidecar ships (%pinned%). Install @openai/codex@%pinned%.";
5
- readonly CODEX_API_KEY_MISSING: "Set OPENAI_API_KEY in the host environment to enable this provider.";
5
+ readonly CODEX_NOT_SIGNED_IN: "Sign in with ChatGPT in Assistant › Settings to run Codex on your ChatGPT plan.";
6
6
  };
7
7
  export declare const PROVIDER_LABELS: {
8
8
  readonly claude: "Anthropic (Claude)";
@@ -2,7 +2,7 @@ export const PROVIDER_UNAVAILABLE_REASONS = {
2
2
  CLAUDE_SDK_MISSING: "The Claude agent SDK is not installed alongside the sidecar.",
3
3
  CODEX_CLI_MISSING: "Install @openai/codex, at the exact version dms-ai pins, to enable this provider.",
4
4
  CODEX_VERSION_MISMATCH: "The installed codex binary (%installed%) does not match the protocol types the sidecar ships (%pinned%). Install @openai/codex@%pinned%.",
5
- CODEX_API_KEY_MISSING: "Set OPENAI_API_KEY in the host environment to enable this provider.",
5
+ CODEX_NOT_SIGNED_IN: "Sign in with ChatGPT in Assistant › Settings to run Codex on your ChatGPT plan.",
6
6
  };
7
7
  export const PROVIDER_LABELS = {
8
8
  claude: "Anthropic (Claude)",
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/constants/providers.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,kBAAkB,EAChB,8DAA8D;IAChE,iBAAiB,EACf,mFAAmF;IAIrF,sBAAsB,EACpB,0IAA0I;IAC5I,qBAAqB,EACnB,qEAAqE;CAC/D,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM,EAAE,oBAAoB;IAC5B,KAAK,EAAE,gBAAgB;CACf,CAAC;AAOX,MAAM,CAAC,MAAM,0BAA0B,GAAG,qBAAqB,CAAC;AAChE,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAC;AAC9C,MAAM,CAAC,MAAM,gCAAgC,GAAG,aAAa,CAAC;AAC9D,MAAM,CAAC,MAAM,6BAA6B,GAAG,UAAU,CAAC;AACxD,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC;AAElD,MAAM,CAAC,MAAM,mBAAmB,GAAG,mCAAmC,CAAC"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/constants/providers.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,kBAAkB,EAChB,8DAA8D;IAChE,iBAAiB,EACf,mFAAmF;IAIrF,sBAAsB,EACpB,0IAA0I;IAC5I,mBAAmB,EACjB,iFAAiF;CAC3E,CAAC;AAEX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM,EAAE,oBAAoB;IAC5B,KAAK,EAAE,gBAAgB;CACf,CAAC;AAOX,MAAM,CAAC,MAAM,0BAA0B,GAAG,qBAAqB,CAAC;AAChE,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAC;AAC9C,MAAM,CAAC,MAAM,gCAAgC,GAAG,aAAa,CAAC;AAC9D,MAAM,CAAC,MAAM,6BAA6B,GAAG,UAAU,CAAC;AACxD,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC;AAElD,MAAM,CAAC,MAAM,mBAAmB,GAAG,mCAAmC,CAAC"}
@@ -6,6 +6,7 @@ export declare const BUILDER_READ_TOOL_NAMES: readonly string[];
6
6
  export declare const BUILDER_DESTRUCTIVE_TOOL_NAMES: readonly string[];
7
7
  export declare const BUILDER_BLOCK_REMOVAL_TOOL_NAMES: readonly string[];
8
8
  export declare const BUILDER_DELETE_RESOURCE_TOOL_NAME = "BuilderDeleteResource";
9
+ export declare const BUILDER_CONFIG_TOOL_NAMES: readonly string[];
9
10
  export declare const PROJECT_READ_TOOL_NAMES: readonly string[];
10
11
  export declare const ASSISTANT_TOOL_NAMES: readonly string[];
11
12
  export declare const BUILDER_MUTATING_TOOL_NAMES: readonly string[];
@@ -1,4 +1,5 @@
1
1
  import { BUILDER_TOOL_NAMES } from "./builder.js";
2
+ import { DATABASE_TOOL_NAMES } from "./database.js";
2
3
  import { QUERY_LOGS_TOOL_NAME } from "./logs.js";
3
4
  import { ASK_USER_TOOL_NAME, GET_CURRENT_PAGE_TOOL_NAME, NAVIGATE_TOOL_NAME, } from "./mcp.js";
4
5
  import { FIND_PAGES_TOOL_NAME, LIST_PAGES_TOOL_NAME } from "./pages.js";
@@ -31,6 +32,8 @@ export const BUILDER_READ_TOOL_NAMES = [
31
32
  "BuilderResourceStructure",
32
33
  "BuilderQueryTemplates",
33
34
  "BuilderRefresh",
35
+ "BuilderAnalyseDatabase",
36
+ "BuilderMapping",
34
37
  ];
35
38
  export const BUILDER_DESTRUCTIVE_TOOL_NAMES = [
36
39
  "BuilderDeletePage",
@@ -44,6 +47,9 @@ export const BUILDER_BLOCK_REMOVAL_TOOL_NAMES = [
44
47
  "BuilderMoveBlock",
45
48
  ];
46
49
  export const BUILDER_DELETE_RESOURCE_TOOL_NAME = "BuilderDeleteResource";
50
+ export const BUILDER_CONFIG_TOOL_NAMES = [
51
+ "BuilderConfigureProject",
52
+ ];
47
53
  export const PROJECT_READ_TOOL_NAMES = [
48
54
  GET_CURRENT_PAGE_TOOL_NAME,
49
55
  NAVIGATE_TOOL_NAME,
@@ -51,6 +57,7 @@ export const PROJECT_READ_TOOL_NAMES = [
51
57
  LIST_PAGES_TOOL_NAME,
52
58
  TYPECHECK_TOOL_NAME,
53
59
  QUERY_LOGS_TOOL_NAME,
60
+ ...DATABASE_TOOL_NAMES,
54
61
  ];
55
62
  export const ASSISTANT_TOOL_NAMES = [
56
63
  ASK_USER_TOOL_NAME,
@@ -1 +1 @@
1
- {"version":3,"file":"tool-kinds.js","sourceRoot":"","sources":["../../src/constants/tool-kinds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGrD,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,MAAM;IACN,OAAO;IACP,WAAW;IACX,cAAc;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAsB,CAAC,MAAM,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,cAAc,GAAsB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAG3E,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,MAAM;IACN,IAAI;IACJ,MAAM;IACN,MAAM;IACN,cAAc;IACd,WAAW;IACX,OAAO;IACP,MAAM;IACN,cAAc;CACf,CAAC;AAGF,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,gBAAgB;IAChB,kBAAkB;IAClB,sBAAsB;IACtB,sBAAsB;IACtB,0BAA0B;IAC1B,uBAAuB;IACvB,gBAAgB;CACjB,CAAC;AAGF,MAAM,CAAC,MAAM,8BAA8B,GAAsB;IAC/D,mBAAmB;IACnB,uBAAuB;IACvB,oBAAoB;IACpB,uBAAuB;IACvB,oBAAoB;CACrB,CAAC;AAGF,MAAM,CAAC,MAAM,gCAAgC,GAAsB;IACjE,oBAAoB;IACpB,kBAAkB;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG,uBAAuB,CAAC;AAGzE,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,0BAA0B;IAC1B,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,kBAAkB;IAClB,wBAAwB;IACxB,WAAW;IACX,OAAO;IACP,MAAM;IACN,cAAc;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GACtC,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"tool-kinds.js","sourceRoot":"","sources":["../../src/constants/tool-kinds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGrD,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,MAAM;IACN,OAAO;IACP,WAAW;IACX,cAAc;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAsB,CAAC,MAAM,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,cAAc,GAAsB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAG3E,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,MAAM;IACN,IAAI;IACJ,MAAM;IACN,MAAM;IACN,cAAc;IACd,WAAW;IACX,OAAO;IACP,MAAM;IACN,cAAc;CACf,CAAC;AAGF,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,gBAAgB;IAChB,kBAAkB;IAClB,sBAAsB;IACtB,sBAAsB;IACtB,0BAA0B;IAC1B,uBAAuB;IACvB,gBAAgB;IAChB,wBAAwB;IACxB,gBAAgB;CACjB,CAAC;AAGF,MAAM,CAAC,MAAM,8BAA8B,GAAsB;IAC/D,mBAAmB;IACnB,uBAAuB;IACvB,oBAAoB;IACpB,uBAAuB;IACvB,oBAAoB;CACrB,CAAC;AAGF,MAAM,CAAC,MAAM,gCAAgC,GAAsB;IACjE,oBAAoB;IACpB,kBAAkB;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG,uBAAuB,CAAC;AAMzE,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,yBAAyB;CAC1B,CAAC;AAGF,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,0BAA0B;IAC1B,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;IACpB,GAAG,mBAAmB;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,kBAAkB;IAClB,wBAAwB;IACxB,WAAW;IACX,OAAO;IACP,MAAM;IACN,cAAc;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GACtC,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC"}
@@ -0,0 +1,11 @@
1
+ export interface DatabaseClient {
2
+ get(path: string): Promise<unknown>;
3
+ post(path: string, body: unknown): Promise<unknown>;
4
+ }
5
+ export interface DatabaseClientOptions {
6
+ backendBaseUrl: string;
7
+ token?: string;
8
+ fetchImpl?: typeof fetch;
9
+ logger?: Pick<Console, "warn">;
10
+ }
11
+ export declare function createDatabaseClient(opts: DatabaseClientOptions): DatabaseClient;
@@ -0,0 +1,50 @@
1
+ import { SIDECAR_AUTH_HEADER } from "../constants/daemon.js";
2
+ import { DATABASE_FETCH_TIMEOUT_MS, DATABASE_LOG_PREFIX, } from "../constants/database.js";
3
+ function buildHeaders(token) {
4
+ const headers = {
5
+ "content-type": "application/json",
6
+ };
7
+ if (token !== undefined) {
8
+ headers[SIDECAR_AUTH_HEADER] = token;
9
+ }
10
+ return headers;
11
+ }
12
+ async function failure(response) {
13
+ try {
14
+ return { ok: false, status: response.status, error: await response.json() };
15
+ }
16
+ catch {
17
+ return { ok: false, status: response.status };
18
+ }
19
+ }
20
+ export function createDatabaseClient(opts) {
21
+ const fetchImpl = opts.fetchImpl ?? fetch;
22
+ const logger = opts.logger ?? console;
23
+ const headers = buildHeaders(opts.token);
24
+ const base = opts.backendBaseUrl.replace(/\/$/, "");
25
+ const request = async (path, init) => {
26
+ const controller = new AbortController();
27
+ const timer = setTimeout(() => controller.abort(), DATABASE_FETCH_TIMEOUT_MS);
28
+ try {
29
+ const response = await fetchImpl(`${base}${path}`, {
30
+ ...init,
31
+ headers,
32
+ signal: controller.signal,
33
+ });
34
+ return response.ok ? await response.json() : await failure(response);
35
+ }
36
+ catch (err) {
37
+ const reason = err instanceof Error ? err.message : String(err);
38
+ logger.warn(`${DATABASE_LOG_PREFIX} ${path} failed (${reason})`);
39
+ return { ok: false, error: { code: "request_failed", detail: reason } };
40
+ }
41
+ finally {
42
+ clearTimeout(timer);
43
+ }
44
+ };
45
+ return {
46
+ get: (path) => request(path, { method: "GET" }),
47
+ post: (path, body) => request(path, { method: "POST", body: JSON.stringify(body) }),
48
+ };
49
+ }
50
+ //# sourceMappingURL=database-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database-client.js","sourceRoot":"","sources":["../../src/database/database-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EACL,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAelC,SAAS,YAAY,CAAC,KAAyB;IAC7C,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;KACnC,CAAC;IACF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC;IACvC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAGD,KAAK,UAAU,OAAO,CAAC,QAAkB;IACvC,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;IAChD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,IAA2B;IAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC;IACtC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,KAAK,EAAE,IAAY,EAAE,IAAiB,EAAoB,EAAE;QAC1E,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EACxB,yBAAyB,CAC1B,CAAC;QACF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE;gBACjD,GAAG,IAAI;gBACP,OAAO;gBACP,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,MAAM,CAAC,IAAI,CAAC,GAAG,mBAAmB,IAAI,IAAI,YAAY,MAAM,GAAG,CAAC,CAAC;YACjE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;QAC1E,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IACF,OAAO;QACL,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC/C,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CACnB,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;KAChE,CAAC;AACJ,CAAC"}
@@ -3,6 +3,7 @@ import { randomBytes } from "node:crypto";
3
3
  import os from "node:os";
4
4
  import path from "node:path";
5
5
  import { fileURLToPath } from "node:url";
6
+ import { createDatabaseClient } from "./database/database-client.js";
6
7
  import { createBuilderClient } from "./builder/builder-client.js";
7
8
  import { setBuilderAvailable } from "./builder/capability.js";
8
9
  import { SIDECAR_BUILDER_FLAG } from "./constants/builder.js";
@@ -206,6 +207,10 @@ function buildWsStack({ args, server, conversationStore, settingsStore, idleCont
206
207
  backendBaseUrl: args.backendUrl,
207
208
  token: backendToken,
208
209
  });
210
+ const databaseClient = createDatabaseClient({
211
+ backendBaseUrl: args.backendUrl,
212
+ token: backendToken,
213
+ });
209
214
  const scanner = createImportsScanner();
210
215
  const hostSocketRegistry = createHostSocketRegistry();
211
216
  const navigationCompleter = createNavigationCompleter();
@@ -225,6 +230,7 @@ function buildWsStack({ args, server, conversationStore, settingsStore, idleCont
225
230
  logsClient,
226
231
  builderClient,
227
232
  builderEnabled: args.builderEnabled,
233
+ databaseClient,
228
234
  navigationCompleter,
229
235
  },
230
236
  hostState,
@@ -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":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EACL,kBAAkB,EAElB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EACL,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,gBAAgB,GAGjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EACL,4BAA4B,GAE7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EAEL,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,mBAAmB,GAEpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,SAAS,sBAAsB;IAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,mBAAmB;QAAE,OAAO;IACzD,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACxC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;AAC3C,CAAC;AAED,sBAAsB,EAAE,CAAC;AAgBzB,SAAS,gBAAgB,CAAC,KAAa;IACrC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAMD,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,MAAM,CAClB,CAAC,CAAC,EAAoB,EAAE,CACtB,CAAC,KAAK,IAAI;YACV,OAAO,CAAC,KAAK,QAAQ;YACrB,OAAQ,CAAiB,CAAC,MAAM,KAAK,QAAQ;YAC7C,OAAQ,CAAiB,CAAC,GAAG,KAAK,QAAQ,CAC7C,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,WAAW,GAA8B;IAC7C,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACzB,CAAC,CAAC,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IACD,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACvB,CAAC,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACjB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IACb,CAAC;IACD,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACjB,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IACb,CAAC;IACD,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACxB,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAChC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;IAChB,CAAC;IACD,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC/B,CAAC,CAAC,cAAc,GAAG,CAAC,KAAK,GAAG,CAAC;IAC/B,CAAC;CACF,CAAC;AAEF,SAAS,aAAa;IACpB,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,OAAO,CAAC,GAAG,EAAE;QACnB,UAAU,EAAE,2BAA2B;QACvC,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,EAAE;QACb,cAAc,EAAE,KAAK;KACtB,CAAC;AACJ,CAAC;AAGD,MAAM,UAAU,SAAS,CAAC,IAAuB;IAC/C,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;YAC/C,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAClB,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAID,MAAM,gBAAgB,GAA8B;IAClD,SAAS;IACT,QAAQ;IACR,QAAQ;CACT,CAAC;AAuBF,KAAK,UAAU,gBAAgB,CAC7B,IAAkB,EAClB,KAAoB;IAEpB,IAAI,KAAK,CAAC,IAAI;QAAE,OAAO;IACvB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,GAAe,EACf,SAA+B,OAAO;IAEtC,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,kBAAkB,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,IAAY;IAEZ,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IACxC,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,MAAM,iBAAiB,CAAC,YAAY,EAAE,CAAC;IACvC,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,IAAY;IAC5C,MAAM,aAAa,GAAG,mBAAmB,CAAC;QACxC,QAAQ,EAAE,qBAAqB,CAAC,IAAI,CAAC;KACtC,CAAC,CAAC;IACH,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;IAC3B,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,UAAU,CAAC,IAAgB,EAAE,IAAY;IAChD,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;AAC/D,CAAC;AAuBD,KAAK,UAAU,gBAAgB,CAC7B,IAAY,EACZ,aAAqB;IAErB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,iBAAiB,CAAC;QACpC,GAAG,EAAE,eAAe,CAAC;YACnB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC;YAChD,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC;SAClD,CAAC;QACF,KAAK,EAAE,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;KACxE,CAAC,CAAC;IACH,MAAM,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACvC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,IAAI,EACJ,MAAM,EACN,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,eAAe,EACf,YAAY,EACZ,WAAW,EACX,eAAe,EACf,IAAI,EACJ,WAAW,EACX,MAAM,GACM;IACZ,MAAM,QAAQ,GAAG,oBAAoB,CAAC;QACpC,cAAc,EAAE,IAAI,CAAC,UAAU;QAC/B,KAAK,EAAE,YAAY;KACpB,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,eAAe,CAAC;QAChC,eAAe,EAAE,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC;KACjE,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,gBAAgB,CAAC;QAClC,cAAc,EAAE,IAAI,CAAC,UAAU;QAC/B,KAAK,EAAE,YAAY;KACpB,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,mBAAmB,CAAC;QACxC,cAAc,EAAE,IAAI,CAAC,UAAU;QAC/B,KAAK,EAAE,YAAY;KACpB,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,oBAAoB,CAAC;QAC1C,cAAc,EAAE,IAAI,CAAC,UAAU;QAC/B,KAAK,EAAE,YAAY;KACpB,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;IACvC,MAAM,kBAAkB,GAAG,wBAAwB,EAAE,CAAC;IACtD,MAAM,mBAAmB,GAAG,yBAAyB,EAAE,CAAC;IACxD,OAAO,cAAc,CAAC,MAAM,EAAE;QAC5B,WAAW;QACX,eAAe,EAAE,IAAI,CAAC,IAAI;QAC1B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,iBAAiB;QACjB,aAAa;QAGb,OAAO,EAAE;YACP,cAAc,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE;YAChD,QAAQ;YACR,OAAO;YACP,eAAe,EAAE,IAAI,CAAC,IAAI;YAC1B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU;YACV,aAAa;YACb,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,cAAc;YACd,mBAAmB;SACpB;QACD,SAAS;QACT,kBAAkB;QAClB,mBAAmB;QACnB,cAAc;QACd,eAAe;QACf,WAAW;QACX,MAAM;QACN,eAAe,EAAE;YACf,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAChC,eAAe;YACf,SAAS,EAAE,GAAG,EAAE,CACd,qBAAqB,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;SACnE;KACF,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,OAAsB;IAEtB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACxC,OAAO,CAAC,IAAI,CAAC,GAAG,4BAA4B,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACzC,MAAM,iBAAiB,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAG1D,MAAM,eAAe,GAAoB;QACvC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;KACzC,CAAC;IACF,MAAM,YAAY,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,WAAW,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrE,MAAM,MAAM,GAAmB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;IACjD,MAAM,cAAc,GAAG,4BAA4B,CAAC;QAClD,MAAM,EAAE,gBAAgB;QACxB,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE;KAC3B,CAAC,CAAC;IACH,MAAM,yBAAyB,CAC7B,mBAAmB,CACjB,IAAI,CAAC,SAAS,EACd,aAAa,CAAC,GAAG,EAAE,CAAC,gBAAgB,EACpC,EAAE,CAAC,OAAO,EAAE,CACb,CACF,CAAC;IAIF,MAAM,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,qBAAqB,EAAE,CAAC;IAChD,MAAM,WAAW,GAAG,MAAM,gBAAgB,CACxC,IAAI,CAAC,IAAI,EACT,aAAa,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAC5C,CAAC;IACF,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,gBAAgB,CAAC;QAC9C,MAAM;QACN,WAAW;QACX,eAAe;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,cAAc,CAAC,KAAK;QACnC,iBAAiB;QACjB,aAAa;QACb,eAAe;QAGf,eAAe,EAAE,GAAG,EAAE,CACpB,mBAAmB,CACjB,IAAI,CAAC,SAAS,EACd,aAAa,CAAC,GAAG,EAAE,CAAC,gBAAgB,EACpC,EAAE,CAAC,OAAO,EAAE,CACb;KACJ,CAAC,CAAC;IACH,MAAM,EAAE,GAAG,YAAY,CAAC;QACtB,IAAI;QACJ,MAAM;QACN,iBAAiB;QACjB,aAAa;QACb,cAAc;QACd,eAAe;QACf,YAAY;QACZ,WAAW;QACX,eAAe;QACf,IAAI;QACJ,WAAW;QACX,MAAM;KACP,CAAC,CAAC;IACH,MAAM,KAAK,GAAkB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAiB;QACzB,MAAM;QACN,EAAE;QACF,iBAAiB;QACjB,aAAa;QACb,WAAW;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC;IACF,MAAM,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,KAAK,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAC3C,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE;QACzB,IAAI;QACJ,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,OAAO;QACP,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,KAAK,EAAE,YAAY;QACnB,WAAW;KACZ,CAAC,CAAC;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACzB,CAAC;AAKD,SAAS,YAAY;IACnB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChE,CAAC;AAED,IAAI,YAAY,EAAE,EAAE,CAAC;IACnB,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { buildAskUserTool } from "./tools/ask-user.js";
2
2
  import { buildBuilderTools } from "./tools/builder.js";
3
+ import { buildDatabaseTools } from "./tools/database.js";
3
4
  import { buildFindPagesUsingTool } from "./tools/find-pages-using.js";
4
5
  import { buildGetCurrentPageTool } from "./tools/get-current-page.js";
5
6
  import { buildListPagesTool } from "./tools/list-pages.js";
@@ -44,6 +45,7 @@ export function buildToolDefinitions(deps) {
44
45
  getLastEditedFile: deps.getLastEditedFile,
45
46
  }),
46
47
  buildQueryLogsTool({ logsClient: deps.logsClient }),
48
+ ...buildDatabaseTools({ databaseClient: deps.databaseClient }),
47
49
  ];
48
50
  }
49
51
  //# sourceMappingURL=tool-definitions.js.map
@@ -1 +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,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,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;YAChB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,IAAI,EAAE,IAAI,CAAC,aAAa;SACzB,CAAC;QACJ,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,sBAAsB,CAAC;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,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"}
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,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,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,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,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;YAChB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,IAAI,EAAE,IAAI,CAAC,aAAa;SACzB,CAAC;QACJ,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,sBAAsB,CAAC;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,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;QACnD,GAAG,kBAAkB,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;KAC/D,CAAC;AACJ,CAAC"}
@@ -1,10 +1,12 @@
1
- import { isMutatingBuilderTool } from "../../agent/tool-kinds.js";
1
+ import { isConfigBuilderTool, isMutatingBuilderTool, } from "../../agent/tool-kinds.js";
2
2
  function refusal(message) {
3
3
  return { content: [{ type: "text", text: message ?? "" }], isError: true };
4
4
  }
5
5
  function withGate(definition, gate) {
6
6
  if (!isMutatingBuilderTool(definition.name))
7
7
  return definition;
8
+ if (isConfigBuilderTool(definition.name))
9
+ return definition;
8
10
  return {
9
11
  ...definition,
10
12
  handler: async (args, extra) => {
@@ -1 +1 @@
1
- {"version":3,"file":"builder-gate.js","sourceRoot":"","sources":["../../../src/mcp/tools/builder-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAsBlE,SAAS,OAAO,CAAC,OAA2B;IAC1C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,QAAQ,CACf,UAAgC,EAChC,IAAiB;IAEjB,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/D,OAAO;QACL,GAAG,UAAU;QACb,OAAO,EAAE,KAAK,EAAE,IAA6B,EAAE,KAAc,EAAE,EAAE;YAC/D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,SAAS;gBAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC1D,MAAM,OAAO,GACX,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAClE,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC;AACJ,CAAC;AAGD,MAAM,UAAU,gBAAgB,CAC9B,KAA6B,EAC7B,IAAiB;IAEjB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"builder-gate.js","sourceRoot":"","sources":["../../../src/mcp/tools/builder-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AAsBnC,SAAS,OAAO,CAAC,OAA2B;IAC1C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,QAAQ,CACf,UAAgC,EAChC,IAAiB;IAEjB,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/D,IAAI,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IAC5D,OAAO;QACL,GAAG,UAAU;QACb,OAAO,EAAE,KAAK,EAAE,IAA6B,EAAE,KAAc,EAAE,EAAE;YAC/D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,SAAS;gBAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC1D,MAAM,OAAO,GACX,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAClE,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC;AACJ,CAAC;AAGD,MAAM,UAAU,gBAAgB,CAC9B,KAA6B,EAC7B,IAAiB;IAEjB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/D,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { z } from "zod";
2
+ import type { BuilderClient } from "../../builder/builder-client.js";
3
+ import { type AnyMcpToolDefinition, type McpToolResult } from "../define-tool.js";
4
+ import type { BuilderGate } from "./builder-gate.js";
5
+ export declare const PLANNED_CHANGES_ARG = "plannedChanges";
6
+ export declare function opResult(value: unknown): McpToolResult;
7
+ export declare const TARGET_MODULE: z.ZodOptional<z.ZodString>;
8
+ export declare function buildProjectTools(client: BuilderClient, gate: BuilderGate | undefined): AnyMcpToolDefinition[];
@@ -0,0 +1,181 @@
1
+ import { z } from "zod";
2
+ import { BUILDER_ANALYSE_DATABASE_TOOL_NAME, BUILDER_ANALYSIS_POLL_MS, BUILDER_ANALYSIS_WAIT_MS, BUILDER_CONFIGURE_PROJECT_TOOL_NAME, BUILDER_MAP_RESOURCES_TOOL_NAME, BUILDER_MAPPING_TOOL_NAME, } from "../../constants/builder.js";
3
+ import { defineTool, } from "../define-tool.js";
4
+ export const PLANNED_CHANGES_ARG = "plannedChanges";
5
+ export function opResult(value) {
6
+ const text = JSON.stringify(value);
7
+ const failed = value?.ok === false;
8
+ return failed
9
+ ? { content: [{ type: "text", text }], isError: true }
10
+ : { content: [{ type: "text", text }] };
11
+ }
12
+ export const TARGET_MODULE = z
13
+ .string()
14
+ .optional()
15
+ .describe("A project module id from antelope.config.ts to write into; omit for the project's own. The module generated for a connected database is one.");
16
+ const IMPORT_OVERRIDE = z.object({
17
+ interface: z.string(),
18
+ source: z.string().optional(),
19
+ id: z.string().optional(),
20
+ });
21
+ const MODULE_ENTRY = z
22
+ .object({
23
+ source: z.record(z.string(), z.unknown()).optional(),
24
+ config: z.record(z.string(), z.unknown()).optional(),
25
+ env: z
26
+ .record(z.string(), z.string())
27
+ .optional()
28
+ .describe("Config path under the module's `config` → the NAME of the environment variable that supplies it, e.g. `{ url: \"ERP_DATABASE_URL\" }`. Never put a secret's value anywhere in a step."),
29
+ importOverrides: z.array(IMPORT_OVERRIDE).optional(),
30
+ exportPriority: z.record(z.string(), z.number()).optional(),
31
+ })
32
+ .describe("What to write into the module's entry of antelope.config.ts.");
33
+ const STEP = z.discriminatedUnion("op", [
34
+ z.object({ op: z.literal("AddModule"), id: z.string(), entry: MODULE_ENTRY }),
35
+ z.object({
36
+ op: z.literal("ConfigureModule"),
37
+ id: z.string(),
38
+ entry: MODULE_ENTRY,
39
+ }),
40
+ z.object({
41
+ op: z.literal("CreateLocalModule"),
42
+ id: z.string(),
43
+ path: z
44
+ .string()
45
+ .describe("Relative to the project root, e.g. `modules/erp-tables`."),
46
+ entry: MODULE_ENTRY.optional(),
47
+ }),
48
+ ]);
49
+ const CONFIGURE_PROJECT_DESCRIPTION = "Edits antelope.config.ts in one step: adds modules (AddModule), merges into existing ones (ConfigureModule: config, importOverrides pins and connections, exportPriority, env variable names) and scaffolds local modules (CreateLocalModule). Every step is validated before anything is written, and a refused step writes nothing. The user always approves the change, shown as a diff. A restart is needed before new modules load.";
50
+ const MAPPED_FIELD = z.object({
51
+ column: z.string(),
52
+ declared: z
53
+ .string()
54
+ .optional()
55
+ .describe("One of the column's `accepts`, from the proposal or DatabaseDescribe; the first by default."),
56
+ label: z.string().optional(),
57
+ listable: z.boolean().optional(),
58
+ filterable: z.boolean().optional(),
59
+ sortable: z.boolean().optional(),
60
+ searchable: z.boolean().optional(),
61
+ relation: z
62
+ .string()
63
+ .optional()
64
+ .describe("`schema.name` of another relation in this call, or one the module mapped before: makes the column a relation column onto that relation's single-column key."),
65
+ });
66
+ const MAPPED_RESOURCE = z.object({
67
+ relation: z.string().describe("`schema.name`."),
68
+ className: z.string().optional(),
69
+ label: z
70
+ .string()
71
+ .optional()
72
+ .describe("The column relation columns pointing here show; also the TableView's labelKey."),
73
+ title: z
74
+ .string()
75
+ .optional()
76
+ .describe("The page's title; the relation's name, humanized, by default."),
77
+ tableView: z
78
+ .boolean()
79
+ .describe("False for a stats-only relation; forced false without a key."),
80
+ writable: z
81
+ .boolean()
82
+ .describe("False serves the TableView without new, edit and delete."),
83
+ fields: z.array(MAPPED_FIELD),
84
+ });
85
+ const EXCLUDED = z.object({
86
+ relation: z.string().describe("`schema.name`."),
87
+ reason: z.string(),
88
+ });
89
+ const MAP_RESOURCES_DESCRIPTION = "Maps relations of a connected database into a project module bound to it (created with BuilderConfigureProject): table classes and models with the database's names verbatim, DataAPI controllers and one TableView page per relation that has a key. Only your choices are sent: the Builder reads the relations' descriptions from its own catalog connection and checks every choice against them. A relation mapped before is rewritten from the new choices, its page created, kept or removed. `excluded` records relations decided against, so the next analysis does not propose them. Answers what was written and `leftOut`: columns a TableView cannot show, with why.";
90
+ const ANALYSE_DATABASE_DESCRIPTION = "Runs the Builder's analysis of a connected database: it reads the catalog and the profiles and proposes a mapping by fixed rules, writing nothing. Answers the proposal: resources in the shape BuilderMapResources takes, each choice with its rule and `kind` (`fact` from the catalog, or `default`, a judgement to check), the relations excluded and why, and `open`: what the rules could not decide, each with its options. Profiling is slow: when the analysis is still running after a minute this answers its progress and `job`; call again with that `job` to read on.";
91
+ const MAPPING_DESCRIPTION = "The relations a module maps for a connection, read back from its code as their current choices, in the proposal's shape (every rule `mapped`), with `included`: the columns the module declares. Read it before mapping a relation again with BuilderMapResources, so you send its current choices with only what you change.";
92
+ function delay(ms) {
93
+ return new Promise((resolve) => setTimeout(resolve, ms));
94
+ }
95
+ async function analysis(client, args) {
96
+ const job = typeof args.job === "string" ? args.job : undefined;
97
+ let state = (await (job
98
+ ? client.call("GetAnalysis", [job])
99
+ : client.call("AnalyseDatabase", [
100
+ {
101
+ connection: args.connection,
102
+ module: args.module,
103
+ schemas: args.schemas,
104
+ },
105
+ ])));
106
+ const deadline = Date.now() + BUILDER_ANALYSIS_WAIT_MS;
107
+ while (state?.ok &&
108
+ state.data?.status === "running" &&
109
+ Date.now() < deadline) {
110
+ await delay(BUILDER_ANALYSIS_POLL_MS);
111
+ state = (await client.call("GetAnalysis", [
112
+ state.data.id,
113
+ ]));
114
+ }
115
+ return opResult(state);
116
+ }
117
+ async function confirmedRun(client, gate, args) {
118
+ const steps = args.steps;
119
+ const planned = (await client.call("ConfigureProject", [
120
+ steps,
121
+ { dryRun: true },
122
+ ]));
123
+ if (planned?.ok === false) {
124
+ return opResult(planned);
125
+ }
126
+ if (gate) {
127
+ const decision = await gate(BUILDER_CONFIGURE_PROJECT_TOOL_NAME, {
128
+ ...args,
129
+ [PLANNED_CHANGES_ARG]: planned?.changes ?? [],
130
+ });
131
+ if (!decision.isAllowed) {
132
+ return {
133
+ content: [{ type: "text", text: decision.message ?? "" }],
134
+ isError: true,
135
+ };
136
+ }
137
+ }
138
+ return opResult(await client.call("ConfigureProject", [steps]));
139
+ }
140
+ export function buildProjectTools(client, gate) {
141
+ return [
142
+ defineTool(BUILDER_CONFIGURE_PROJECT_TOOL_NAME, CONFIGURE_PROJECT_DESCRIPTION, { steps: z.array(STEP).min(1) }, (args) => confirmedRun(client, gate, args)),
143
+ defineTool(BUILDER_MAP_RESOURCES_TOOL_NAME, MAP_RESOURCES_DESCRIPTION, {
144
+ module: z
145
+ .string()
146
+ .describe("The project module bound to the connection's database."),
147
+ connection: z
148
+ .string()
149
+ .describe("A connection id from DatabaseConnections."),
150
+ resources: z.array(MAPPED_RESOURCE),
151
+ excluded: z.array(EXCLUDED).optional(),
152
+ }, async (input) => opResult(await client.call("MapResources", [input]))),
153
+ defineTool(BUILDER_ANALYSE_DATABASE_TOOL_NAME, ANALYSE_DATABASE_DESCRIPTION, {
154
+ connection: z
155
+ .string()
156
+ .optional()
157
+ .describe("A connection id from DatabaseConnections, to start an analysis."),
158
+ module: z
159
+ .string()
160
+ .optional()
161
+ .describe("The project module bound to the connection's database; relations it mapped or excluded are not proposed again."),
162
+ schemas: z
163
+ .array(z.string())
164
+ .optional()
165
+ .describe("Limit the analysis to these schemas, as a `schemas` open item asks."),
166
+ job: z
167
+ .string()
168
+ .optional()
169
+ .describe("A running analysis's `id`, to read on instead of starting one."),
170
+ }, (args) => analysis(client, args)),
171
+ defineTool(BUILDER_MAPPING_TOOL_NAME, MAPPING_DESCRIPTION, {
172
+ connection: z
173
+ .string()
174
+ .describe("A connection id from DatabaseConnections."),
175
+ module: z
176
+ .string()
177
+ .describe("The project module bound to the connection's database."),
178
+ }, async (args) => opResult(await client.call("GetMapping", [args.connection, args.module]))),
179
+ ];
180
+ }
181
+ //# sourceMappingURL=builder-project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder-project.js","sourceRoot":"","sources":["../../../src/mcp/tools/builder-project.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,10 @@ export interface BuilderToolsDeps {
5
5
  builderClient: BuilderClient;
6
6
  gate?: BuilderGate;
7
7
  }
8
- export declare function buildBuilderTools(deps: BuilderToolsDeps): import("../define-tool.js").AnyMcpToolDefinition[] | (import("../define-tool.js").McpToolDefinition<{
8
+ export declare function buildBuilderTools(deps: BuilderToolsDeps): (import("../define-tool.js").AnyMcpToolDefinition | import("../define-tool.js").McpToolDefinition<{
9
9
  blocks: z.ZodOptional<z.ZodArray<z.ZodString>>;
10
10
  dataTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
11
- }> | import("../define-tool.js").McpToolDefinition<{}> | import("../define-tool.js").McpToolDefinition<{
11
+ }> | import("../define-tool.js").McpToolDefinition<{
12
12
  pageRef: z.ZodString;
13
13
  }> | import("../define-tool.js").McpToolDefinition<{
14
14
  name: z.ZodString;
@@ -17,6 +17,7 @@ export declare function buildBuilderTools(deps: BuilderToolsDeps): import("../de
17
17
  icon: z.ZodOptional<z.ZodString>;
18
18
  order: z.ZodOptional<z.ZodNumber>;
19
19
  description: z.ZodOptional<z.ZodString>;
20
+ module: z.ZodOptional<z.ZodString>;
20
21
  }> | import("../define-tool.js").McpToolDefinition<{
21
22
  pageRef: z.ZodString;
22
23
  patch: z.ZodRecord<z.ZodString, z.ZodUnknown>;
@@ -46,6 +47,7 @@ export declare function buildBuilderTools(deps: BuilderToolsDeps): import("../de
46
47
  parent: z.ZodOptional<z.ZodString>;
47
48
  icon: z.ZodOptional<z.ZodString>;
48
49
  order: z.ZodOptional<z.ZodNumber>;
50
+ module: z.ZodOptional<z.ZodString>;
49
51
  }> | import("../define-tool.js").McpToolDefinition<{
50
52
  ref: z.ZodString;
51
53
  patch: z.ZodRecord<z.ZodString, z.ZodUnknown>;
@@ -92,6 +94,7 @@ export declare function buildBuilderTools(deps: BuilderToolsDeps): import("../de
92
94
  archive: "archive";
93
95
  export: "export";
94
96
  }>>>;
97
+ module: z.ZodOptional<z.ZodString>;
95
98
  }> | import("../define-tool.js").McpToolDefinition<{
96
99
  ref: z.ZodString;
97
100
  keepData: z.ZodOptional<z.ZodBoolean>;
@@ -2,18 +2,8 @@ import { z } from "zod";
2
2
  import { BUILDER_ESCALATION_NOTE, BUILDER_EXPR_REFUSAL, BUILDER_REF_NOTE, } from "../../prompts/builder.js";
3
3
  import { defineTool } from "../define-tool.js";
4
4
  import { gateBuilderTools } from "./builder-gate.js";
5
+ import { buildProjectTools, opResult, TARGET_MODULE, } from "./builder-project.js";
5
6
  import { shapeCatalog } from "./builder-catalog.js";
6
- function isFailedOp(value) {
7
- return (value !== null &&
8
- typeof value === "object" &&
9
- value.ok === false);
10
- }
11
- function opResult(value) {
12
- const text = JSON.stringify(value);
13
- if (!isFailedOp(value))
14
- return { content: [{ type: "text", text }] };
15
- return { content: [{ type: "text", text }], isError: true };
16
- }
17
7
  function note(description) {
18
8
  return `${description}\n\n${BUILDER_ESCALATION_NOTE}`;
19
9
  }
@@ -127,6 +117,7 @@ function buildUngatedBuilderTools(deps) {
127
117
  ...buildBlockTools(run),
128
118
  ...buildResourceTools(run),
129
119
  ...buildQueryTools(run),
120
+ ...buildProjectTools(deps.builderClient, deps.gate),
130
121
  ];
131
122
  }
132
123
  const CATALOG_NAMES = z.array(z.string()).optional();
@@ -147,6 +138,7 @@ function buildPageTools(run) {
147
138
  icon: z.string().optional(),
148
139
  order: z.number().optional(),
149
140
  description: z.string().optional(),
141
+ module: TARGET_MODULE,
150
142
  }, (input) => run("CreatePage", [input])),
151
143
  defineTool("BuilderConfigurePage", note("Updates a page's metadata (displayName, icon, order, description)."), { pageRef: z.string(), patch: CONFIG }, async ({ pageRef, patch }) => hasExprSentinel(patch)
152
144
  ? exprRefusal()
@@ -187,6 +179,7 @@ function buildBlockTools(run) {
187
179
  parent: z.string().optional(),
188
180
  icon: z.string().optional(),
189
181
  order: z.number().optional(),
182
+ module: TARGET_MODULE,
190
183
  }, (input) => run("CreateCategory", [input])),
191
184
  defineTool("BuilderConfigureCategory", note("Updates a category's metadata (displayName, icon, order)."), { ref: z.string(), patch: CONFIG }, async ({ ref, patch }) => hasExprSentinel(patch)
192
185
  ? exprRefusal()
@@ -207,6 +200,7 @@ function buildResourceTools(run) {
207
200
  seeds: z.array(z.record(z.string(), z.unknown())).optional(),
208
201
  location: RESOURCE_LOCATION.optional(),
209
202
  routes: z.array(RESOURCE_ROUTE).min(1).optional(),
203
+ module: TARGET_MODULE,
210
204
  }, async (input) => hasExprSentinel(input) ? exprRefusal() : run("CreateResource", [input])),
211
205
  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 }])),
212
206
  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])),