@antelopejs/dms-ai 0.9.1 → 0.9.2

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 (106) hide show
  1. package/README.md +31 -34
  2. package/dist/constants/http.d.ts +1 -0
  3. package/dist/constants/http.js +1 -0
  4. package/dist/constants/http.js.map +1 -1
  5. package/dist/database/catalog.js +21 -3
  6. package/dist/database/catalog.js.map +1 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/lifecycle/sidecar-owner.js.map +1 -1
  9. package/dist/lifecycle/spawn-sidecar.js +2 -2
  10. package/dist/lifecycle/spawn-sidecar.js.map +1 -1
  11. package/dist/lifecycle/terminate-process.d.ts +1 -0
  12. package/dist/lifecycle/terminate-process.js +8 -4
  13. package/dist/lifecycle/terminate-process.js.map +1 -1
  14. package/dist/logging/log-buffer.js +22 -14
  15. package/dist/logging/log-buffer.js.map +1 -1
  16. package/dist/pages/settings/availability.js +33 -4
  17. package/dist/pages/settings/availability.js.map +1 -1
  18. package/dist/pages-registry.js +2 -6
  19. package/dist/pages-registry.js.map +1 -1
  20. package/dist/routes/activity.js +4 -3
  21. package/dist/routes/activity.js.map +1 -1
  22. package/dist/routes/banner.d.ts +2 -1
  23. package/dist/routes/banner.js +4 -1
  24. package/dist/routes/banner.js.map +1 -1
  25. package/dist/routes/builder.d.ts +5 -5
  26. package/dist/routes/builder.js +62 -49
  27. package/dist/routes/builder.js.map +1 -1
  28. package/dist/routes/changes.js +8 -7
  29. package/dist/routes/changes.js.map +1 -1
  30. package/dist/routes/codex-account.js +11 -5
  31. package/dist/routes/codex-account.js.map +1 -1
  32. package/dist/routes/content-json.d.ts +6 -0
  33. package/dist/routes/content-json.js +12 -0
  34. package/dist/routes/content-json.js.map +1 -0
  35. package/dist/routes/metrics.js +8 -8
  36. package/dist/routes/metrics.js.map +1 -1
  37. package/dist/routes/settings.js +3 -2
  38. package/dist/routes/settings.js.map +1 -1
  39. package/dist/routes/sidecar-answers.d.ts +10 -0
  40. package/dist/routes/sidecar-answers.js +90 -0
  41. package/dist/routes/sidecar-answers.js.map +1 -0
  42. package/dist/routes/sidecar-results.d.ts +2 -1
  43. package/dist/routes/sidecar-results.js +8 -2
  44. package/dist/routes/sidecar-results.js.map +1 -1
  45. package/dist/routes/skills.d.ts +2 -2
  46. package/dist/routes/skills.js +3 -2
  47. package/dist/routes/skills.js.map +1 -1
  48. package/dist/routes/status.js +23 -4
  49. package/dist/routes/status.js.map +1 -1
  50. package/dist/sidecar/answer-schemas.d.ts +8 -0
  51. package/dist/sidecar/answer-schemas.js +60 -0
  52. package/dist/sidecar/answer-schemas.js.map +1 -0
  53. package/dist/sidecar/http-client.d.ts +4 -2
  54. package/dist/sidecar/http-client.js +5 -2
  55. package/dist/sidecar/http-client.js.map +1 -1
  56. package/dist/sidecar/index.d.ts +1 -0
  57. package/dist/sidecar/index.js +1 -0
  58. package/dist/sidecar/index.js.map +1 -1
  59. package/dist/types/status.d.ts +2 -2
  60. package/frontend-vue/package.json +1 -1
  61. package/frontend-vue/tests/panel-states.test.ts +10 -2
  62. package/package.json +14 -9
  63. package/sidecar/dist/agent/typecheck.js +14 -1
  64. package/sidecar/dist/agent/typecheck.js.map +1 -1
  65. package/sidecar/dist/audit/call-audit.js.map +1 -1
  66. package/sidecar/dist/builder/builder-client.d.ts +3 -1
  67. package/sidecar/dist/builder/builder-client.js.map +1 -1
  68. package/sidecar/dist/index.js.map +1 -1
  69. package/sidecar/dist/mcp/http-binding.js +1 -1
  70. package/sidecar/dist/mcp/http-binding.js.map +1 -1
  71. package/sidecar/dist/mcp/tools/builder-compose.d.ts +4 -4
  72. package/sidecar/dist/mcp/tools/builder-compose.js +4 -3
  73. package/sidecar/dist/mcp/tools/builder-compose.js.map +1 -1
  74. package/sidecar/dist/mcp/tools/builder-expr.d.ts +5 -2
  75. package/sidecar/dist/mcp/tools/builder-expr.js +8 -11
  76. package/sidecar/dist/mcp/tools/builder-expr.js.map +1 -1
  77. package/sidecar/dist/mcp/tools/builder-gate.js.map +1 -1
  78. package/sidecar/dist/mcp/tools/builder-project.d.ts +2 -1
  79. package/sidecar/dist/mcp/tools/builder-project.js +29 -13
  80. package/sidecar/dist/mcp/tools/builder-project.js.map +1 -1
  81. package/sidecar/dist/mcp/tools/builder-queries.d.ts +6 -6
  82. package/sidecar/dist/mcp/tools/builder-queries.js +9 -10
  83. package/sidecar/dist/mcp/tools/builder-queries.js.map +1 -1
  84. package/sidecar/dist/mcp/tools/builder-table-view.js +10 -8
  85. package/sidecar/dist/mcp/tools/builder-table-view.js.map +1 -1
  86. package/sidecar/dist/mcp/tools/builder.d.ts +14 -14
  87. package/sidecar/dist/mcp/tools/builder.js +17 -12
  88. package/sidecar/dist/mcp/tools/builder.js.map +1 -1
  89. package/sidecar/dist/providers/claude/sdk-loader.js +2 -5
  90. package/sidecar/dist/providers/claude/sdk-loader.js.map +1 -1
  91. package/sidecar/dist/providers/codex/client.d.ts +3 -1
  92. package/sidecar/dist/providers/codex/client.js +26 -14
  93. package/sidecar/dist/providers/codex/client.js.map +1 -1
  94. package/sidecar/dist/providers/codex/provider.js +3 -3
  95. package/sidecar/dist/providers/codex/provider.js.map +1 -1
  96. package/sidecar/dist/providers/codex/skills.d.ts +36 -3
  97. package/sidecar/dist/providers/codex/skills.js +16 -0
  98. package/sidecar/dist/providers/codex/skills.js.map +1 -1
  99. package/sidecar/dist/server/routing.js.map +1 -1
  100. package/sidecar/dist/server/tool-calls.js +13 -12
  101. package/sidecar/dist/server/tool-calls.js.map +1 -1
  102. package/sidecar/dist/state/change-sets.js.map +1 -1
  103. package/sidecar/dist/state/settings-store.js.map +1 -1
  104. package/sidecar/dist/state/store.js +1 -4
  105. package/sidecar/dist/state/store.js.map +1 -1
  106. package/sidecar/package.json +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"builder-compose.js","sourceRoot":"","sources":["../../../src/mcp/tools/builder-compose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder-compose.js","sourceRoot":"","sources":["../../../src/mcp/tools/builder-compose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAEL,oBAAoB,EACpB,WAAW,EACX,IAAI,GACL,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,WAAW,GACf,ypCAAypC,CAAC;AAE5pC,MAAM,OAAO,GAAG,WAAW,CAAC;AAG5B,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,GAAG,YAAY;IACf,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,uEAAuE,CACxE;IACH,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAClC,+DAA+D,CAChE;CACF,CAAC,CAAC;AAaH,MAAM,aAAa,GAAiC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAC9D,CAAC,CAAC,MAAM,CAAC;IACP,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,CACP,oFAAoF,CACrF;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC9D,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACjC,gIAAgI,CACjI;IACD,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,kEAAkE,CACnE;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IAClE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC/B,qDAAqD,CACtD;IACD,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACpC,wDAAwD,CACzD;IACD,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,aAAa,CAAC;SACpB,QAAQ,EAAE;SACV,QAAQ,CAAC,4CAA4C,CAAC;CAC1D,CAAC,CACH,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,CAAC;IACN,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,CAAC,mDAAmD,CAAC;IAChE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,CAAC,gDAAgD,CAAC;IAC7D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,+DAA+D,CAChE;CACJ,CAAC;KACD,QAAQ,CACP,uFAAuF,CACxF,CAAC;AAEJ,MAAM,SAAS,GAAG,CAAC;KAChB,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC;KACD,QAAQ,CACP,oIAAoI,CACrI,CAAC;AAGJ,MAAM,UAAU,iBAAiB,CAAC,GAAe;IAC/C,OAAO;QACL,UAAU,CACR,oBAAoB,EACpB,IAAI,CAAC,WAAW,CAAC,EACjB;YACE,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,2CAA2C,CAAC;YACxD,MAAM,EAAE,WAAW,CAAC,QAAQ,EAAE;YAC9B,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,iHAAiH,CAClH;YACH,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE;YAC/B,MAAM,EAAE,CAAC;iBACN,KAAK,CAAC,aAAa,CAAC;iBACpB,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,0DAA0D,CAAC;YACvE,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CACP,uFAAuF,CACxF;YACH,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;SAC5B,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;YACtE,MAAM,KAAK,GAAG;gBACZ,IAAI,EAAE,OAAO;gBACb,MAAM;gBACN,MAAM;gBACN,SAAS;gBACT,MAAM;gBACN,OAAO;gBACP,IAAI;aACL,CAAC;YACF,OAAO,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC;gBACtC,CAAC,CAAC,WAAW,EAAE;gBACf,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAClC,CAAC,CACF;KACF,CAAC;AACJ,CAAC"}
@@ -1,5 +1,8 @@
1
+ import { z } from "zod";
2
+ import type { OperationName } from "@antelopejs/interface-dms-builder";
3
+ import type { BuilderOpArgs } from "../../builder/builder-client.js";
1
4
  import type { McpToolResult } from "../define-tool.js";
2
- export type BuilderRun = (op: string, args: unknown[]) => Promise<McpToolResult>;
5
+ export type BuilderRun = <N extends OperationName>(op: N, args: BuilderOpArgs<N>) => Promise<McpToolResult>;
3
6
  export declare function note(description: string): string;
4
- export declare function hasExprSentinel(value: unknown): boolean;
7
+ export declare const containsExprSentinel: z.ZodType<boolean>;
5
8
  export declare function exprRefusal(): McpToolResult;
@@ -5,17 +5,14 @@ export function note(description) {
5
5
  return `${description}\n\n${BUILDER_ESCALATION_NOTE}`;
6
6
  }
7
7
  const EXPR_SENTINEL = z.object({ $expr: z.string() });
8
- const EXPR_CARRIER = z.record(z.string(), z.unknown());
9
- export function hasExprSentinel(value) {
10
- if (Array.isArray(value)) {
11
- return value.some(hasExprSentinel);
12
- }
13
- if (EXPR_SENTINEL.safeParse(value).success) {
14
- return true;
15
- }
16
- const record = EXPR_CARRIER.safeParse(value);
17
- return record.success && Object.values(record.data).some(hasExprSentinel);
18
- }
8
+ export const containsExprSentinel = z.lazy(() => z.union([
9
+ EXPR_SENTINEL.transform(() => true),
10
+ z.array(containsExprSentinel).transform((items) => items.some(Boolean)),
11
+ z
12
+ .record(z.string(), containsExprSentinel)
13
+ .transform((members) => Object.values(members).some(Boolean)),
14
+ z.unknown().transform(() => false),
15
+ ]));
19
16
  export function exprRefusal() {
20
17
  return opResult({
21
18
  ok: false,
@@ -1 +1 @@
1
- {"version":3,"file":"builder-expr.js","sourceRoot":"","sources":["../../../src/mcp/tools/builder-expr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAShD,MAAM,UAAU,IAAI,CAAC,WAAmB;IACtC,OAAO,GAAG,WAAW,OAAO,uBAAuB,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtD,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAGvD,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAC5E,CAAC;AAGD,MAAM,UAAU,WAAW;IACzB,OAAO,QAAQ,CAAC;QACd,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,oBAAoB,EAAE;KAC7D,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"builder-expr.js","sourceRoot":"","sources":["../../../src/mcp/tools/builder-expr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAShD,MAAM,UAAU,IAAI,CAAC,WAAmB;IACtC,OAAO,GAAG,WAAW,OAAO,uBAAuB,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAGtD,MAAM,CAAC,MAAM,oBAAoB,GAAuB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAClE,CAAC,CAAC,KAAK,CAAC;IACN,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;IACnC,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvE,CAAC;SACE,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC;SACxC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/D,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;CACnC,CAAC,CACH,CAAC;AAGF,MAAM,UAAU,WAAW;IACzB,OAAO,QAAQ,CAAC;QACd,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,oBAAoB,EAAE;KAC7D,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"builder-gate.js","sourceRoot":"","sources":["../../../src/mcp/tools/builder-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,GAC1B,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,IAAI,yBAAyB,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IAClE,OAAO;QACL,GAAG,UAAU;QACb,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,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,CAAC,CAAC;QACrC,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,EACrB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAuBnC,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,IAAI,yBAAyB,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IAClE,OAAO;QACL,GAAG,UAAU;QACb,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,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,CAAC,CAAC;QACrC,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,9 +1,10 @@
1
- import type { JsonValue } from "../../protocol/json.js";
1
+ import { type JsonValue } from "../../protocol/json.js";
2
2
  import { z } from "zod";
3
3
  import type { BuilderClient } from "../../builder/builder-client.js";
4
4
  import { type AnyMcpToolDefinition, type McpToolResult } from "../define-tool.js";
5
5
  import type { BuilderGate } from "./builder-gate.js";
6
6
  export declare const PLANNED_CHANGES_ARG = "plannedChanges";
7
7
  export declare function opResult(value: JsonValue): McpToolResult;
8
+ export declare const JSON_RECORD: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>;
8
9
  export declare const TARGET_MODULE: z.ZodOptional<z.ZodString>;
9
10
  export declare function buildProjectTools(client: BuilderClient, gate: BuilderGate | undefined): AnyMcpToolDefinition[];
@@ -1,3 +1,4 @@
1
+ import { JsonValueSchema } from "../../protocol/json.js";
1
2
  import { z } from "zod";
2
3
  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, BUILDER_PREVIEW_MAP_RESOURCES_OP, BUILDER_UNKNOWN_OP, PAGES_TO_REMOVE_ARG, } from "../../constants/builder.js";
3
4
  import { defineTool, } from "../define-tool.js";
@@ -14,6 +15,7 @@ export function opResult(value) {
14
15
  ? { content: [{ type: "text", text }], isError: true }
15
16
  : { content: [{ type: "text", text }] };
16
17
  }
18
+ export const JSON_RECORD = z.record(z.string(), JsonValueSchema);
17
19
  export const TARGET_MODULE = z
18
20
  .string()
19
21
  .optional()
@@ -25,8 +27,8 @@ const IMPORT_OVERRIDE = z.object({
25
27
  });
26
28
  const MODULE_ENTRY = z
27
29
  .object({
28
- source: z.record(z.string(), z.unknown()).optional(),
29
- config: z.record(z.string(), z.unknown()).optional(),
30
+ source: JSON_RECORD.optional(),
31
+ config: JSON_RECORD.optional(),
30
32
  env: z
31
33
  .record(z.string(), z.string())
32
34
  .optional()
@@ -180,28 +182,42 @@ const MAPPING_DESCRIPTION = "The relations a module maps for a connection, read
180
182
  const ANALYSIS_ANSWER = z.object({
181
183
  ok: z.unknown().optional(),
182
184
  data: z
183
- .object({ id: z.unknown().optional(), status: z.unknown().optional() })
185
+ .object({ id: z.string().optional(), status: z.unknown().optional() })
184
186
  .optional()
185
187
  .catch(undefined),
186
188
  });
187
189
  function delay(ms) {
188
190
  return new Promise((resolve) => setTimeout(resolve, ms));
189
191
  }
192
+ const MISSING_ANALYSIS_INPUT = {
193
+ ok: false,
194
+ error: {
195
+ code: "invalid_input",
196
+ detail: "Pass `connection` and `module` to start an analysis, or `job` to read a running one.",
197
+ },
198
+ };
199
+ async function startOrRead(client, args) {
200
+ if (args.job) {
201
+ return client.call("GetAnalysis", [args.job]);
202
+ }
203
+ if (args.connection === undefined || args.module === undefined) {
204
+ return MISSING_ANALYSIS_INPUT;
205
+ }
206
+ return client.call("AnalyseDatabase", [
207
+ {
208
+ connection: args.connection,
209
+ module: args.module,
210
+ schemas: args.schemas,
211
+ },
212
+ ]);
213
+ }
190
214
  async function analysis(client, args) {
191
- const job = args.job;
192
- let answer = await (job
193
- ? client.call("GetAnalysis", [job])
194
- : client.call("AnalyseDatabase", [
195
- {
196
- connection: args.connection,
197
- module: args.module,
198
- schemas: args.schemas,
199
- },
200
- ]));
215
+ let answer = await startOrRead(client, args);
201
216
  let state = ANALYSIS_ANSWER.safeParse(answer).data ?? {};
202
217
  const deadline = Date.now() + BUILDER_ANALYSIS_WAIT_MS;
203
218
  while (state.ok &&
204
219
  state.data?.status === "running" &&
220
+ state.data.id !== undefined &&
205
221
  Date.now() < deadline) {
206
222
  await delay(BUILDER_ANALYSIS_POLL_MS);
207
223
  answer = await client.call("GetAnalysis", [state.data.id]);
@@ -1 +1 @@
1
- {"version":3,"file":"builder-project.js","sourceRoot":"","sources":["../../../src/mcp/tools/builder-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder-project.js","sourceRoot":"","sources":["../../../src/mcp/tools/builder-project.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { z } from "zod";
2
2
  import { type BuilderRun } from "./builder-expr.js";
3
- export declare const QUERY_ARGS: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3
+ export declare const QUERY_ARGS: z.ZodRecord<z.ZodString, z.ZodType<import("../../protocol/json.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../../protocol/json.js").JsonValue, unknown>>>;
4
4
  export declare const QUERY_FIELDS: {
5
5
  name: z.ZodString;
6
6
  resource: z.ZodString;
7
7
  template: z.ZodString;
8
- params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
8
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("../../protocol/json.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../../protocol/json.js").JsonValue, unknown>>>>;
9
9
  response: z.ZodOptional<z.ZodEnum<{
10
10
  value: "value";
11
11
  items: "items";
@@ -21,7 +21,7 @@ export declare function buildQueryTools(run: BuilderRun): (import("../define-too
21
21
  name: z.ZodString;
22
22
  resource: z.ZodString;
23
23
  template: z.ZodString;
24
- params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
24
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("../../protocol/json.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../../protocol/json.js").JsonValue, unknown>>>>;
25
25
  response: z.ZodOptional<z.ZodEnum<{
26
26
  value: "value";
27
27
  items: "items";
@@ -32,11 +32,11 @@ export declare function buildQueryTools(run: BuilderRun): (import("../define-too
32
32
  endpoint: z.ZodOptional<z.ZodString>;
33
33
  page: z.ZodString;
34
34
  }> | import("../define-tool.js").McpToolDefinition<{
35
- args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
35
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("../../protocol/json.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../../protocol/json.js").JsonValue, unknown>>>>;
36
36
  name: z.ZodString;
37
37
  resource: z.ZodString;
38
38
  template: z.ZodString;
39
- params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
39
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("../../protocol/json.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../../protocol/json.js").JsonValue, unknown>>>>;
40
40
  response: z.ZodOptional<z.ZodEnum<{
41
41
  value: "value";
42
42
  items: "items";
@@ -50,7 +50,7 @@ export declare function buildQueryTools(run: BuilderRun): (import("../define-too
50
50
  patch: z.ZodObject<{
51
51
  resource: z.ZodOptional<z.ZodString>;
52
52
  template: z.ZodOptional<z.ZodString>;
53
- params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
53
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("../../protocol/json.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../../protocol/json.js").JsonValue, unknown>>>>;
54
54
  response: z.ZodOptional<z.ZodEnum<{
55
55
  value: "value";
56
56
  items: "items";
@@ -1,24 +1,21 @@
1
1
  import { z } from "zod";
2
2
  import { defineTool } from "../define-tool.js";
3
- import { exprRefusal, hasExprSentinel, note, } from "./builder-expr.js";
3
+ import { JSON_RECORD } from "./builder-project.js";
4
+ import { containsExprSentinel, exprRefusal, note, } from "./builder-expr.js";
4
5
  const QUERY_REF = z
5
6
  .string()
6
7
  .describe("A query ref `<pageRef>@<queryName>` (e.g. `/catalog/books@inStockCount`), as reported in BuilderPageStructure's `queries`.");
7
8
  const QUERY_ENDPOINT = z
8
9
  .string()
9
10
  .describe('Route path relative to the page\'s slug, e.g. `/stats/in-stock`. Must start with `/` and not collide with another route the page serves. Omit for `/stats/<kebab-name>`. A `$param` bound with `in: "param"` reads a path segment, so include a matching `:name` (e.g. `/stats/by-author/:author`).');
10
- const QUERY_PARAMS = z
11
- .record(z.string(), z.unknown())
12
- .describe("The template's parameters, keyed exactly as the `params` schema BuilderQueryTemplates reports for it — that schema documents every key and value shape, and an unrecognised key is rejected.");
11
+ const QUERY_PARAMS = JSON_RECORD.describe("The template's parameters, keyed exactly as the `params` schema BuilderQueryTemplates reports for it — that schema documents every key and value shape, and an unrecognised key is rejected.");
13
12
  const QUERY_RESPONSE = z
14
13
  .enum(["series", "card", "value", "items"])
15
14
  .describe("How the route arranges a `series` template's points for the block that reads them: `series` (the default) one point per group, for a bare chart such as ChartLine, ChartColumn or ChartBar; `card` a figure above its series, for a ChartCard; `value` a figure and its sparkline, for a KpiCard; `items` ranked entries, for a TopListCard. A block reads only its own arrangement, so match the block. A `count` or `aggregate` query answers `{ value }` whatever you pass.");
16
15
  const QUERY_COMPARE = z
17
16
  .boolean()
18
17
  .describe("Also answer the preceding period so a card shows a delta. Only meaningful when the query binds its period with `$param` `from` and `to`.");
19
- export const QUERY_ARGS = z
20
- .record(z.string(), z.unknown())
21
- .describe('The values the route would receive, by the name it exposes them under, e.g. `{ "from": "2026-01-01", "to": "2026-03-31" }` for a query binding `$param` `from` and `to`. With `compare`, also `compareFrom` and `compareTo`.');
18
+ export const QUERY_ARGS = JSON_RECORD.describe('The values the route would receive, by the name it exposes them under, e.g. `{ "from": "2026-01-01", "to": "2026-03-31" }` for a query binding `$param` `from` and `to`. With `compare`, also `compareFrom` and `compareTo`.');
22
19
  export const QUERY_FIELDS = {
23
20
  name: z
24
21
  .string()
@@ -45,11 +42,13 @@ export function buildQueryTools(run) {
45
42
  .string()
46
43
  .describe("PageRef the query is served from — the page that displays it, not the resource's page."),
47
44
  ...QUERY_FIELDS,
48
- }, async ({ page, ...input }) => hasExprSentinel(input) ? exprRefusal() : run("AddQuery", [page, input])),
45
+ }, async ({ page, ...input }) => containsExprSentinel.parse(input)
46
+ ? exprRefusal()
47
+ : run("AddQuery", [page, input])),
49
48
  defineTool("BuilderPreviewQuery", note("Runs a query that is not saved and answers what its route would, as `{ body, truncated }`, writing nothing. Takes BuilderAddQuery's query fields (no page) and `args`. An empty `series` or `items` in `body` means the block reading it renders empty: fix the query before wiring its route."), {
50
49
  ...QUERY_FIELDS,
51
50
  args: QUERY_ARGS.optional(),
52
- }, async ({ args, ...query }) => hasExprSentinel({ query, args })
51
+ }, async ({ args, ...query }) => containsExprSentinel.parse({ query, args })
53
52
  ? exprRefusal()
54
53
  : run("PreviewQuery", [
55
54
  args === undefined ? { query } : { query, args },
@@ -64,7 +63,7 @@ export function buildQueryTools(run) {
64
63
  compare: QUERY_COMPARE.optional(),
65
64
  endpoint: QUERY_ENDPOINT.optional(),
66
65
  }),
67
- }, async ({ query, patch }) => hasExprSentinel(patch)
66
+ }, async ({ query, patch }) => containsExprSentinel.parse(patch)
68
67
  ? exprRefusal()
69
68
  : run("ConfigureQuery", [query, patch])),
70
69
  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])),
@@ -1 +1 @@
1
- {"version":3,"file":"builder-queries.js","sourceRoot":"","sources":["../../../src/mcp/tools/builder-queries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder-queries.js","sourceRoot":"","sources":["../../../src/mcp/tools/builder-queries.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { defineTool } from "../define-tool.js";
3
3
  import { TABLE_VIEW_SETTINGS } from "./builder-table-view-schema.js";
4
- import { exprRefusal, hasExprSentinel, note, } from "./builder-expr.js";
4
+ import { containsExprSentinel, exprRefusal, note, } from "./builder-expr.js";
5
5
  const DESCRIPTION = "Sets displays, named views and footer figures on a table page's TableView, checking every choice against the columns of the table first: a kanban needs a single-choice column, a sum a number or price column, a view's filters filterable columns and its sort sortable ones, the default display one the table offers. A key left out stays as the page has it; `null` removes it. A footer figure also mounts the controller's summary route. Nothing is written when a choice is refused or the page would not typecheck. Read the column names and types with BuilderResourceStructure first. For the page's title, icon, description and order use BuilderConfigurePage.";
6
6
  export function buildTableViewTools(run) {
7
7
  return [
@@ -12,13 +12,15 @@ export function buildTableViewTools(run) {
12
12
  .optional()
13
13
  .describe("The TableView block's name; only needed when the page holds several."),
14
14
  ...TABLE_VIEW_SETTINGS,
15
- }, async ({ pageRef, block, ...settings }) => hasExprSentinel(settings)
16
- ? exprRefusal()
17
- : run("ConfigureTableView", [
18
- pageRef,
19
- Object.fromEntries(Object.entries(settings).filter(([, value]) => value !== undefined)),
20
- ...(block === undefined ? [] : [{ block }]),
21
- ])),
15
+ }, async ({ pageRef, block, ...settings }) => {
16
+ if (containsExprSentinel.parse(settings)) {
17
+ return exprRefusal();
18
+ }
19
+ const set = Object.fromEntries(Object.entries(settings).filter(([, value]) => value !== undefined));
20
+ return block === undefined
21
+ ? run("ConfigureTableView", [pageRef, set])
22
+ : run("ConfigureTableView", [pageRef, set, { block }]);
23
+ }),
22
24
  ];
23
25
  }
24
26
  //# sourceMappingURL=builder-table-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder-table-view.js","sourceRoot":"","sources":["../../../src/mcp/tools/builder-table-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAEL,WAAW,EACX,eAAe,EACf,IAAI,GACL,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,GACf,ipBAAipB,CAAC;AAEppB,MAAM,UAAU,mBAAmB,CAAC,GAAe;IACjD,OAAO;QACL,UAAU,CACR,2BAA2B,EAC3B,IAAI,CAAC,WAAW,CAAC,EACjB;YACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;YACnB,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,sEAAsE,CACvE;YACH,GAAG,mBAAmB;SACvB,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,CACxC,eAAe,CAAC,QAAQ,CAAC;YACvB,CAAC,CAAC,WAAW,EAAE;YACf,CAAC,CAAC,GAAG,CAAC,oBAAoB,EAAE;gBACxB,OAAO;gBACP,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAC7B,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CACnC,CACF;gBACD,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;aAC5C,CAAC,CACT;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"builder-table-view.js","sourceRoot":"","sources":["../../../src/mcp/tools/builder-table-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAEL,oBAAoB,EACpB,WAAW,EACX,IAAI,GACL,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,GACf,ipBAAipB,CAAC;AAEppB,MAAM,UAAU,mBAAmB,CAAC,GAAe;IACjD,OAAO;QACL,UAAU,CACR,2BAA2B,EAC3B,IAAI,CAAC,WAAW,CAAC,EACjB;YACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;YACnB,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,sEAAsE,CACvE;YACH,GAAG,mBAAmB;SACvB,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE;YACxC,IAAI,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,OAAO,WAAW,EAAE,CAAC;YACvB,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAC5B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CACpE,CAAC;YACF,OAAO,KAAK,KAAK,SAAS;gBACxB,CAAC,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC3C,CAAC,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC,CACF;KACF,CAAC;AACJ,CAAC"}
@@ -11,7 +11,7 @@ export declare function buildBuilderTools(deps: BuilderToolsDeps): (import("../d
11
11
  name: z.ZodString;
12
12
  resource: z.ZodString;
13
13
  template: z.ZodString;
14
- params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
14
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("../../protocol/json.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../../protocol/json.js").JsonValue, unknown>>>>;
15
15
  response: z.ZodOptional<z.ZodEnum<{
16
16
  value: "value";
17
17
  items: "items";
@@ -22,11 +22,11 @@ export declare function buildBuilderTools(deps: BuilderToolsDeps): (import("../d
22
22
  endpoint: z.ZodOptional<z.ZodString>;
23
23
  page: z.ZodString;
24
24
  }> | import("../define-tool.js").McpToolDefinition<{
25
- args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
25
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("../../protocol/json.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../../protocol/json.js").JsonValue, unknown>>>>;
26
26
  name: z.ZodString;
27
27
  resource: z.ZodString;
28
28
  template: z.ZodString;
29
- params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
29
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("../../protocol/json.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../../protocol/json.js").JsonValue, unknown>>>>;
30
30
  response: z.ZodOptional<z.ZodEnum<{
31
31
  value: "value";
32
32
  items: "items";
@@ -40,7 +40,7 @@ export declare function buildBuilderTools(deps: BuilderToolsDeps): (import("../d
40
40
  patch: z.ZodObject<{
41
41
  resource: z.ZodOptional<z.ZodString>;
42
42
  template: z.ZodOptional<z.ZodString>;
43
- params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
43
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("../../protocol/json.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../../protocol/json.js").JsonValue, unknown>>>>;
44
44
  response: z.ZodOptional<z.ZodEnum<{
45
45
  value: "value";
46
46
  items: "items";
@@ -70,7 +70,7 @@ export declare function buildBuilderTools(deps: BuilderToolsDeps): (import("../d
70
70
  }, z.core.$strip>>;
71
71
  blocks: z.ZodArray<z.ZodType<import("./builder-compose.js").ComposeBlockInput, unknown, z.core.$ZodTypeInternals<import("./builder-compose.js").ComposeBlockInput, unknown>>>;
72
72
  preview: z.ZodOptional<z.ZodBoolean>;
73
- args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
73
+ args: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("../../protocol/json.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../../protocol/json.js").JsonValue, unknown>>>>;
74
74
  }> | import("../define-tool.js").McpToolDefinition<{
75
75
  kanban: z.ZodOptional<z.ZodNullable<z.ZodObject<{
76
76
  groupBy: z.ZodString;
@@ -185,7 +185,7 @@ export declare function buildBuilderTools(deps: BuilderToolsDeps): (import("../d
185
185
  module: z.ZodOptional<z.ZodString>;
186
186
  }> | import("../define-tool.js").McpToolDefinition<{
187
187
  pageRef: z.ZodString;
188
- patch: z.ZodRecord<z.ZodString, z.ZodUnknown>;
188
+ patch: z.ZodRecord<z.ZodString, z.ZodType<import("../../protocol/json.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../../protocol/json.js").JsonValue, unknown>>>;
189
189
  }> | import("../define-tool.js").McpToolDefinition<{
190
190
  page: z.ZodString;
191
191
  parent: z.ZodOptional<z.ZodString>;
@@ -193,11 +193,11 @@ export declare function buildBuilderTools(deps: BuilderToolsDeps): (import("../d
193
193
  index: z.ZodOptional<z.ZodNumber>;
194
194
  name: z.ZodString;
195
195
  type: z.ZodString;
196
- config: z.ZodRecord<z.ZodString, z.ZodUnknown>;
196
+ config: z.ZodRecord<z.ZodString, z.ZodType<import("../../protocol/json.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../../protocol/json.js").JsonValue, unknown>>>;
197
197
  controller: z.ZodOptional<z.ZodString>;
198
198
  }> | import("../define-tool.js").McpToolDefinition<{
199
199
  path: z.ZodString;
200
- patch: z.ZodRecord<z.ZodString, z.ZodUnknown>;
200
+ patch: z.ZodRecord<z.ZodString, z.ZodType<import("../../protocol/json.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../../protocol/json.js").JsonValue, unknown>>>;
201
201
  replace: z.ZodOptional<z.ZodBoolean>;
202
202
  }> | import("../define-tool.js").McpToolDefinition<{
203
203
  path: z.ZodString;
@@ -215,7 +215,7 @@ export declare function buildBuilderTools(deps: BuilderToolsDeps): (import("../d
215
215
  module: z.ZodOptional<z.ZodString>;
216
216
  }> | import("../define-tool.js").McpToolDefinition<{
217
217
  ref: z.ZodString;
218
- patch: z.ZodRecord<z.ZodString, z.ZodUnknown>;
218
+ patch: z.ZodRecord<z.ZodString, z.ZodType<import("../../protocol/json.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../../protocol/json.js").JsonValue, unknown>>>;
219
219
  }> | import("../define-tool.js").McpToolDefinition<{
220
220
  ref: z.ZodString;
221
221
  }> | import("../define-tool.js").McpToolDefinition<{
@@ -227,7 +227,7 @@ export declare function buildBuilderTools(deps: BuilderToolsDeps): (import("../d
227
227
  fields: z.ZodArray<z.ZodObject<{
228
228
  dataType: z.ZodObject<{
229
229
  $dataType: z.ZodString;
230
- config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
230
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("../../protocol/json.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../../protocol/json.js").JsonValue, unknown>>>>;
231
231
  }, z.core.$strip>;
232
232
  label: z.ZodOptional<z.ZodString>;
233
233
  listable: z.ZodOptional<z.ZodBoolean>;
@@ -243,7 +243,7 @@ export declare function buildBuilderTools(deps: BuilderToolsDeps): (import("../d
243
243
  order: z.ZodOptional<z.ZodNumber>;
244
244
  name: z.ZodString;
245
245
  }, z.core.$strip>>;
246
- seeds: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
246
+ seeds: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodType<import("../../protocol/json.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../../protocol/json.js").JsonValue, unknown>>>>>;
247
247
  location: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
248
248
  category: z.ZodString;
249
249
  }, z.core.$strip>, z.ZodObject<{
@@ -251,9 +251,9 @@ export declare function buildBuilderTools(deps: BuilderToolsDeps): (import("../d
251
251
  }, z.core.$strip>]>>;
252
252
  routes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
253
253
  edit: "edit";
254
- create: "create";
255
254
  list: "list";
256
255
  get: "get";
256
+ create: "create";
257
257
  delete: "delete";
258
258
  select: "select";
259
259
  archive: "archive";
@@ -268,7 +268,7 @@ export declare function buildBuilderTools(deps: BuilderToolsDeps): (import("../d
268
268
  field: z.ZodObject<{
269
269
  dataType: z.ZodObject<{
270
270
  $dataType: z.ZodString;
271
- config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
271
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("../../protocol/json.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../../protocol/json.js").JsonValue, unknown>>>>;
272
272
  }, z.core.$strip>;
273
273
  label: z.ZodOptional<z.ZodString>;
274
274
  listable: z.ZodOptional<z.ZodBoolean>;
@@ -289,7 +289,7 @@ export declare function buildBuilderTools(deps: BuilderToolsDeps): (import("../d
289
289
  patch: z.ZodObject<{
290
290
  dataType: z.ZodOptional<z.ZodObject<{
291
291
  $dataType: z.ZodString;
292
- config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
292
+ config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("../../protocol/json.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../../protocol/json.js").JsonValue, unknown>>>>;
293
293
  }, z.core.$strip>>;
294
294
  label: z.ZodOptional<z.ZodString>;
295
295
  listable: z.ZodOptional<z.ZodBoolean>;
@@ -1,14 +1,15 @@
1
1
  import { z } from "zod";
2
2
  import { BUILDER_REF_NOTE } from "../../prompts/builder.js";
3
+ import { JsonValueSchema } from "../../protocol/json.js";
3
4
  import { defineTool } from "../define-tool.js";
4
- import { exprRefusal, hasExprSentinel, note, } from "./builder-expr.js";
5
+ import { containsExprSentinel, exprRefusal, note, } from "./builder-expr.js";
5
6
  import { buildComposeTools } from "./builder-compose.js";
6
7
  import { buildQueryTools } from "./builder-queries.js";
7
8
  import { buildTableViewTools } from "./builder-table-view.js";
8
9
  import { gateBuilderTools } from "./builder-gate.js";
9
- import { buildProjectTools, opResult, TARGET_MODULE, } from "./builder-project.js";
10
+ import { buildProjectTools, JSON_RECORD, opResult, TARGET_MODULE, } from "./builder-project.js";
10
11
  import { summarizeCatalog } from "./builder-catalog.js";
11
- const CONFIG = z.record(z.string(), z.unknown());
12
+ const CONFIG = JSON_RECORD;
12
13
  const BLOCK_PATH_FORMAT = "A block path from BuilderPageStructure: `<pageRef>#<block>` for a top-level block, then `/<child>` per nesting level (e.g. `/dashboard#grid/row/kpi`). Separators: `#` after the page, `/` between blocks.";
13
14
  const BLOCK_PATH = z.string().describe(BLOCK_PATH_FORMAT);
14
15
  const PARENT_PATH = z
@@ -21,7 +22,7 @@ const DATA_TYPE_VALUE = z.object({
21
22
  .string()
22
23
  .describe("A `dataTypes` id from BuilderCatalog, e.g. `string`, `select`."),
23
24
  config: z
24
- .record(z.string(), z.unknown())
25
+ .record(z.string(), JsonValueSchema)
25
26
  .optional()
26
27
  .describe(`That DataType's own config, per BuilderCatalog. ${BUILDER_REF_NOTE}`),
27
28
  });
@@ -124,7 +125,7 @@ function buildPageTools(run) {
124
125
  .describe("What the page is for, in a sentence."),
125
126
  module: TARGET_MODULE,
126
127
  }, (input) => run("CreatePage", [input])),
127
- defineTool("BuilderConfigurePage", note("Updates a page's metadata: displayName, icon, order (lowest first, then by title; a dashboard takes 0, mapped table pages 100), description. Works on pages BuilderMapResources wrote too."), { pageRef: z.string(), patch: CONFIG }, async ({ pageRef, patch }) => hasExprSentinel(patch)
128
+ defineTool("BuilderConfigurePage", note("Updates a page's metadata: displayName, icon, order (lowest first, then by title; a dashboard takes 0, mapped table pages 100), description. Works on pages BuilderMapResources wrote too."), { pageRef: z.string(), patch: CONFIG }, async ({ pageRef, patch }) => containsExprSentinel.parse(patch)
128
129
  ? exprRefusal()
129
130
  : run("ConfigurePage", [pageRef, patch])),
130
131
  defineTool("BuilderDeletePage", note("Deletes a page file and removes its barrel import."), { pageRef: z.string() }, ({ pageRef }) => run("DeletePage", [pageRef])),
@@ -144,10 +145,10 @@ function buildBlockTools(run) {
144
145
  .string()
145
146
  .optional()
146
147
  .describe("Resource ref (from BuilderListResources) for a controller-leading block such as TableView. Required for those types; rejected for others."),
147
- }, async (input) => hasExprSentinel(input.config)
148
+ }, async (input) => containsExprSentinel.parse(input.config)
148
149
  ? exprRefusal()
149
150
  : run("AddBlock", [input])),
150
- 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)
151
+ 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 }) => containsExprSentinel.parse(patch)
151
152
  ? exprRefusal()
152
153
  : run("ConfigureBlock", [path, patch, { replace }])),
153
154
  defineTool("BuilderMoveBlock", note("Moves a child block to a new position within a container."), {
@@ -165,7 +166,7 @@ function buildBlockTools(run) {
165
166
  order: z.number().optional(),
166
167
  module: TARGET_MODULE,
167
168
  }, (input) => run("CreateCategory", [input])),
168
- defineTool("BuilderConfigureCategory", note("Updates a category's metadata (displayName, icon, order)."), { ref: z.string(), patch: CONFIG }, async ({ ref, patch }) => hasExprSentinel(patch)
169
+ defineTool("BuilderConfigureCategory", note("Updates a category's metadata (displayName, icon, order)."), { ref: z.string(), patch: CONFIG }, async ({ ref, patch }) => containsExprSentinel.parse(patch)
169
170
  ? exprRefusal()
170
171
  : run("ConfigureCategory", [ref, patch])),
171
172
  defineTool("BuilderDeleteCategory", note("Deletes a category. Refused with referential_integrity if any page still references it."), { ref: z.string() }, ({ ref }) => run("DeleteCategory", [ref])),
@@ -181,14 +182,18 @@ function buildResourceTools(run) {
181
182
  displayName: z.string().optional(),
182
183
  schema: z.string().optional(),
183
184
  fields: z.array(FIELD_SPEC),
184
- seeds: z.array(z.record(z.string(), z.unknown())).optional(),
185
+ seeds: z.array(JSON_RECORD).optional(),
185
186
  location: RESOURCE_LOCATION.optional(),
186
187
  routes: z.array(RESOURCE_ROUTE).min(1).optional(),
187
188
  module: TARGET_MODULE,
188
- }, async (input) => hasExprSentinel(input) ? exprRefusal() : run("CreateResource", [input])),
189
+ }, async (input) => containsExprSentinel.parse(input)
190
+ ? exprRefusal()
191
+ : run("CreateResource", [input])),
189
192
  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 }])),
190
- 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])),
191
- 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)
193
+ 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 }) => containsExprSentinel.parse(field)
194
+ ? exprRefusal()
195
+ : run("AddField", [ref, field])),
196
+ 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 }) => containsExprSentinel.parse(patch)
192
197
  ? exprRefusal()
193
198
  : run("ConfigureField", [path, patch])),
194
199
  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])),