@aigentyc/mcp 0.1.4 → 0.2.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.
package/context7.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
- "url": "https://context7.com/llmstxt/cdn_jsdelivr_net_npm_aigentyc_mcp_0_1_4_llms_txt",
2
+ "url": "https://context7.com/llmstxt/cdn_jsdelivr_net_npm_aigentyc_mcp_0_2_0_llms_txt",
3
3
  "public_key": "pk_dHiyF4hGXkgbb1jdrT7TU"
4
4
  }
@@ -608,8 +608,8 @@ _Total tools: **86**_
608
608
 
609
609
  | tool | description |
610
610
  | ---- | ----------- |
611
- | `chat_widget_get_snippet` | Return install command + framework-specific code snippet for embedding the aiGentyc chat widget into an existing app. Public chat works with just projectId no api key required. For URL-sourced content + custom tools to actually do anything, the project must be configured (see aigentyc_get_started). |
612
- | `chat_widget_setup` | One-shot setup for embedding chat: confirms the project is ready (KB has content, system prompt set), returns a paste-ready snippet, and warns about anything still missing. Use this AFTER adding content. For pure code-snippet generation without status checks, use chat_widget_get_snippet. |
611
+ | `chat_widget_get_snippet` | Return install command + framework-specific code snippet for embedding the aiGentyc chat widget into an existing app. For embeds on third-party domains, an apiKey is required (pass it via apiKey arg to inline it, or leave it blank to emit an env-var placeholder with setup instructions). For URL-sourced content + custom tools to actually do anything, the project must be configured (see aigentyc_get_started). |
612
+ | `chat_widget_setup` | One-shot setup for embedding chat: confirms the project is ready (KB has content, system prompt set), returns a paste-ready snippet, and warns about anything still missing. Use this AFTER adding content. For pure code-snippet generation without status checks, use chat_widget_get_snippet. Pass an `apiKey` if the user has one; the snippet otherwise uses an env-var placeholder and the notes explain where to generate a project-scoped key. |
613
613
  | `chat_widget_scaffold` | Run `npm create aigentyc-chat@latest` in a chosen directory to scaffold a Vite or Next.js starter wired to this project. Refuses paths that escape $CWD or $HOME. Asks for confirmation. After scaffolding, the user runs `cd <dir> && npm install && npm run dev`. |
614
614
 
615
615
  ### `config`
@@ -746,8 +746,8 @@ _Total tools: **86**_
746
746
  | ---- | ----------- |
747
747
  | `tools_list` | List every custom tool in the project (rest_api, custom_execute, hybrid, data_store, web_search). |
748
748
  | `tools_get` | Fetch one custom tool with its full config. |
749
- | `tools_create` | Create a custom tool the chat agent can call. Tool code referencing `process.env` is rejected — put secrets in apiConfig.headers with template placeholders. |
750
- | `tools_update` | Patch selected fields of an existing custom tool. |
749
+ | `tools_create` | Create a custom tool the chat agent can call. **Display Type** — prefer passing `displayType` (preset \| custom_html \| json_render \| visualization) over the low-level `uiRenderMode`. The MCP normalizes it automatically. • preset — pre-built component (combine with uiComponent) • custom_html — HTML/CSS template (requires customHtml) • json_render — declarative spec (requires jsonRenderSpec) • visualization — recharts; the tool's output must include the chart spec **Forms** (email or custom endpoint) are built as `toolType: "data_store"` + `displayType: "json_render"` + a jsonRenderSpec containing `_formConfig` nested at the spec root. Example: ```json jsonRenderSpec: { root: "form", elements: { form: { type: "Stack", children: [...] }, ... }, state: { form: { name: "", email: "" } }, _formConfig: { mode: "email", to: "you@co.com", subject: "New lead", successMessage: "Thanks!" } } ``` **Security**: tool code referencing `process.env` is rejected server-side — put secrets in apiConfig.headers with template placeholders. |
750
+ | `tools_update` | Patch selected fields of an existing custom tool. `displayType` is normalized the same way as in tools_create. |
751
751
  | `tools_delete` | Delete a custom tool. Destructive. |
752
752
  | `tools_execute_dry_run` | Invoke a custom tool in test mode with sample input. Safe for iteration; does not count against usage. |
753
753
 
@@ -1 +1 @@
1
- {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/tools/embed.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AA6FtD,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,EAAE,CAoK7D"}
1
+ {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/tools/embed.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAkHtD,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,EAAE,CAuL7D"}
@@ -6,15 +6,27 @@ import { pid, projectIdArg } from "./helpers.js";
6
6
  import { defineTool } from "./types.js";
7
7
  const SUPPORTED_FRAMEWORKS = ["next", "vite", "react", "html"];
8
8
  const PUBLIC_API_DEFAULT = "https://app.aigentyc.com";
9
- function snippet(framework, projectId, apiEndpoint) {
9
+ function snippet(framework, projectId, apiEndpoint, apiKey) {
10
+ // If the caller passed an apiKey, inline it. Otherwise emit an env-var
11
+ // placeholder so the embed works on third-party domains out of the box.
12
+ const apiKeyProp = apiKey
13
+ ? ` apiKey="${apiKey}"\n`
14
+ : ` apiKey={process.env.NEXT_PUBLIC_AIGENTYC_API_KEY}\n`;
15
+ const apiKeyPropVite = apiKey
16
+ ? ` apiKey="${apiKey}"\n`
17
+ : ` apiKey={import.meta.env.VITE_AIGENTYC_API_KEY}\n`;
18
+ const commonNotes = [
19
+ "react>=19 and react-dom>=19 are the only required peers.",
20
+ "The CSS import is required — the widget renders unstyled without it.",
21
+ apiKey
22
+ ? "apiKey was inlined in the snippet. For client-side code, prefer reading from an env var so you can rotate keys without rebuilding."
23
+ : "**apiKey is required for embeds on domains other than app.aigentyc.com.** Generate a project-scoped key from your Aigentyc dashboard (Settings → API Keys) and set it in your env: `NEXT_PUBLIC_AIGENTYC_API_KEY` (Next.js) or `VITE_AIGENTYC_API_KEY` (Vite). Without it, `/api/kb/chat` returns 401.",
24
+ "Make sure your project's origin allowlist (dashboard → Settings → API Keys → Allowed Origins) includes your embed domain (e.g. https://your-app.com). Otherwise the API rejects the request even with a valid key.",
25
+ ];
10
26
  const common = {
11
27
  install: "npm install @aigentyc/chat-sdk",
12
28
  cssImport: 'import "@aigentyc/chat-sdk/theme/styles.css";',
13
- notes: [
14
- "react>=19 and react-dom>=19 are the only required peers.",
15
- "The CSS import is required — the widget renders unstyled without it.",
16
- "No apiKey is needed for public chat. Add one only if your setup requires authenticated tool execution.",
17
- ],
29
+ notes: commonNotes,
18
30
  };
19
31
  switch (framework) {
20
32
  case "next":
@@ -30,7 +42,7 @@ export default function Page() {
30
42
  <Chat
31
43
  projectId="${projectId}"
32
44
  apiEndpoint="${apiEndpoint}"
33
- />
45
+ ${apiKeyProp} />
34
46
  );
35
47
  }`,
36
48
  };
@@ -47,7 +59,7 @@ export default function App() {
47
59
  <Chat
48
60
  projectId="${projectId}"
49
61
  apiEndpoint="${apiEndpoint}"
50
- />
62
+ ${apiKeyPropVite} />
51
63
  );
52
64
  }`,
53
65
  };
@@ -80,19 +92,24 @@ export function embedTools(client) {
80
92
  defineTool({
81
93
  name: "chat_widget_get_snippet",
82
94
  title: "Get a paste-ready @aigentyc/chat-sdk snippet",
83
- description: "Return install command + framework-specific code snippet for embedding the aiGentyc chat widget into an existing app. Public chat works with just projectId no api key required. For URL-sourced content + custom tools to actually do anything, the project must be configured (see aigentyc_get_started).",
95
+ description: "Return install command + framework-specific code snippet for embedding the aiGentyc chat widget into an existing app. For embeds on third-party domains, an apiKey is required (pass it via apiKey arg to inline it, or leave it blank to emit an env-var placeholder with setup instructions). For URL-sourced content + custom tools to actually do anything, the project must be configured (see aigentyc_get_started).",
84
96
  inputSchema: z.object({
85
97
  projectId: projectIdArg,
86
98
  framework: z.enum(SUPPORTED_FRAMEWORKS).default("next"),
99
+ apiKey: z
100
+ .string()
101
+ .optional()
102
+ .describe("Optional project-scoped API key to inline into the snippet. If omitted, the snippet uses an env-var placeholder. For security, prefer env vars over inlined keys in committed code."),
87
103
  }),
88
104
  handler: async (args) => {
89
105
  const projectId = pid(client, args.projectId);
90
106
  const apiEndpoint = normalizeBaseForChat(client.profile.baseUrl);
91
- const parts = snippet(args.framework, projectId, apiEndpoint);
107
+ const parts = snippet(args.framework, projectId, apiEndpoint, args.apiKey);
92
108
  return {
93
109
  framework: args.framework,
94
110
  projectId,
95
111
  apiEndpoint,
112
+ apiKeyProvided: Boolean(args.apiKey),
96
113
  ...parts,
97
114
  };
98
115
  },
@@ -100,16 +117,20 @@ export function embedTools(client) {
100
117
  defineTool({
101
118
  name: "chat_widget_setup",
102
119
  title: "Embed-ready chat widget setup",
103
- description: "One-shot setup for embedding chat: confirms the project is ready (KB has content, system prompt set), returns a paste-ready snippet, and warns about anything still missing. Use this AFTER adding content. For pure code-snippet generation without status checks, use chat_widget_get_snippet.",
120
+ description: "One-shot setup for embedding chat: confirms the project is ready (KB has content, system prompt set), returns a paste-ready snippet, and warns about anything still missing. Use this AFTER adding content. For pure code-snippet generation without status checks, use chat_widget_get_snippet. Pass an `apiKey` if the user has one; the snippet otherwise uses an env-var placeholder and the notes explain where to generate a project-scoped key.",
104
121
  inputSchema: z.object({
105
122
  projectId: projectIdArg,
106
123
  framework: z.enum(SUPPORTED_FRAMEWORKS).default("next"),
124
+ apiKey: z
125
+ .string()
126
+ .optional()
127
+ .describe("Optional project-scoped API key. If provided, it is inlined into the snippet. Otherwise the snippet uses an env-var placeholder with setup instructions."),
107
128
  }),
108
129
  handler: async (args) => {
109
130
  const projectId = pid(client, args.projectId);
110
131
  const apiEndpoint = normalizeBaseForChat(client.profile.baseUrl);
111
132
  const status = await client.get(`/api/dashboard/${projectId}/get-started`);
112
- const parts = snippet(args.framework, projectId, apiEndpoint);
133
+ const parts = snippet(args.framework, projectId, apiEndpoint, args.apiKey);
113
134
  const blockers = [];
114
135
  if (!status.kb.ready) {
115
136
  blockers.push(`KB is empty — add documents first (files_upload, documents_create_from_text, or extract_from_urls).`);
@@ -117,11 +138,15 @@ export function embedTools(client) {
117
138
  if (!status.config.systemPromptSet) {
118
139
  blockers.push(`System prompt is empty — set with config_update({ patch: { systemPrompt: "..." } }).`);
119
140
  }
141
+ if (!args.apiKey) {
142
+ blockers.push(`apiKey not provided — the snippet uses an env-var placeholder. For embeds on non-aigentyc domains you MUST set NEXT_PUBLIC_AIGENTYC_API_KEY (Next.js) or VITE_AIGENTYC_API_KEY (Vite) in .env, otherwise /api/kb/chat returns 401. Generate a project-scoped key from the dashboard: Settings → API Keys → Create.`);
143
+ }
120
144
  return {
121
145
  ready: blockers.length === 0,
122
146
  framework: args.framework,
123
147
  projectId,
124
148
  apiEndpoint,
149
+ apiKeyProvided: Boolean(args.apiKey),
125
150
  publicChatPreviewUrl: status.embedding.publicChatUrl,
126
151
  blockers,
127
152
  nextSteps: status.nextSteps,
@@ -1 +1 @@
1
- {"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/tools/embed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/tools/embed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,UAAU,EAAgB,MAAM,YAAY,CAAC;AAqBtD,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAU,CAAC;AAExE,MAAM,kBAAkB,GAAG,0BAA0B,CAAC;AAStD,SAAS,OAAO,CACd,SAAoB,EACpB,SAAiB,EACjB,WAAmB,EACnB,MAA0B;IAE1B,uEAAuE;IACvE,wEAAwE;IACxE,MAAM,UAAU,GAAG,MAAM;QACvB,CAAC,CAAC,iBAAiB,MAAM,KAAK;QAC9B,CAAC,CAAC,2DAA2D,CAAC;IAChE,MAAM,cAAc,GAAG,MAAM;QAC3B,CAAC,CAAC,iBAAiB,MAAM,KAAK;QAC9B,CAAC,CAAC,wDAAwD,CAAC;IAE7D,MAAM,WAAW,GAAG;QAClB,0DAA0D;QAC1D,sEAAsE;QACtE,MAAM;YACJ,CAAC,CAAC,oIAAoI;YACtI,CAAC,CAAC,wSAAwS;QAC5S,oNAAoN;KACrN,CAAC;IAEF,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,gCAAgC;QACzC,SAAS,EAAE,+CAA+C;QAC1D,KAAK,EAAE,WAAW;KACnB,CAAC;IAEF,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO;gBACL,GAAG,MAAM;gBACT,IAAI,EAAE;;;;;;;;mBAQK,SAAS;qBACP,WAAW;EAC9B,UAAU;;EAEV;aACK,CAAC;QACJ,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,OAAO;gBACL,GAAG,MAAM;gBACT,IAAI,EAAE;;;;;;;mBAOK,SAAS;qBACP,WAAW;EAC9B,cAAc;;EAEd;aACK,CAAC;QACJ,KAAK,MAAM;YACT,OAAO;gBACL,OAAO,EACL,2GAA2G;gBAC7G,IAAI,EAAE,2FAA2F;gBACjG,KAAK,EAAE;oBACL,sEAAsE;iBACvE;aACF,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAe;IAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACvC,OAAO,GAAG,IAAI,kBAAkB,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAuB;IAChD,OAAO;QACL,UAAU,CAAC;YACT,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,uDAAuD;YAC9D,WAAW,EACT,2VAA2V;YAC7V,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;YAClD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9C,OAAO,MAAM,CAAC,GAAG,CAAC,kBAAkB,SAAS,cAAc,CAAC,CAAC;YAC/D,CAAC;SACF,CAAC;QAEF,UAAU,CAAC;YACT,IAAI,EAAE,yBAAyB;YAC/B,KAAK,EAAE,8CAA8C;YACrD,WAAW,EACT,4ZAA4Z;YAC9Z,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,SAAS,EAAE,YAAY;gBACvB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBACvD,MAAM,EAAE,CAAC;qBACN,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CACP,qLAAqL,CACtL;aACJ,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9C,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACjE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3E,OAAO;oBACL,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,SAAS;oBACT,WAAW;oBACX,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;oBACpC,GAAG,KAAK;iBACT,CAAC;YACJ,CAAC;SACF,CAAC;QAEF,UAAU,CAAC;YACT,IAAI,EAAE,mBAAmB;YACzB,KAAK,EAAE,+BAA+B;YACtC,WAAW,EACT,wbAAwb;YAC1b,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,SAAS,EAAE,YAAY;gBACvB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBACvD,MAAM,EAAE,CAAC;qBACN,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CACP,0JAA0J,CAC3J;aACJ,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9C,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAEjE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAK5B,kBAAkB,SAAS,cAAc,CAAC,CAAC;gBAE9C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAE3E,MAAM,QAAQ,GAAa,EAAE,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;oBACrB,QAAQ,CAAC,IAAI,CACX,qGAAqG,CACtG,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;oBACnC,QAAQ,CAAC,IAAI,CACX,sFAAsF,CACvF,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjB,QAAQ,CAAC,IAAI,CACX,oTAAoT,CACrT,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,KAAK,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;oBAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,SAAS;oBACT,WAAW;oBACX,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;oBACpC,oBAAoB,EAAE,MAAM,CAAC,SAAS,CAAC,aAAa;oBACpD,QAAQ;oBACR,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,GAAG,KAAK;iBACT,CAAC;YACJ,CAAC;SACF,CAAC;QAEF,UAAU,CAAC;YACT,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,2DAA2D;YAClE,WAAW,EACT,qQAAqQ;YACvQ,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,SAAS,EAAE,YAAY;gBACvB,WAAW,EAAE,CAAC;qBACX,MAAM,EAAE;qBACR,GAAG,CAAC,CAAC,CAAC;qBACN,QAAQ,CACP,mGAAmG,CACpG;gBACH,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;gBACxD,OAAO,EAAE,CAAC;qBACP,OAAO,EAAE;qBACT,OAAO,CAAC,KAAK,CAAC;qBACd,QAAQ,CACP,uFAAuF,CACxF;aACJ,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAE9C,kEAAkE;gBAClE,iEAAiE;gBACjE,8DAA8D;gBAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC3C,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxD,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CACnD,CAAC;gBACF,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACxC,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAClC,CAAC;gBACF,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO;wBACL,UAAU,EAAE,KAAK;wBACjB,KAAK,EAAE,yBAAyB,QAAQ,oBAAoB,OAAO,CAAC,GAAG,EAAE,gBAAgB,OAAO,EAAE,IAAI;qBACvG,CAAC;gBACJ,CAAC;gBAED,MAAM,OAAO,GAAG,KAAK,CAAC;gBACtB,MAAM,OAAO,GAAG;oBACd,QAAQ;oBACR,sBAAsB;oBACtB,IAAI,CAAC,WAAW;oBAChB,IAAI;oBACJ,cAAc,IAAI,CAAC,QAAQ,EAAE;oBAC7B,gBAAgB,SAAS,EAAE;iBAC5B,CAAC;gBACF,MAAM,WAAW,GAAG,GAAG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAEtD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClB,OAAO;wBACL,UAAU,EAAE,KAAK;wBACjB,MAAM,EACJ,yHAAyH;wBAC3H,QAAQ,EAAE,WAAW;wBACrB,WAAW,EAAE,QAAQ;wBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;qBACxB,CAAC;gBACJ,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC9C,OAAO;oBACL,UAAU,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC;oBAC7B,WAAW,EAAE,QAAQ;oBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,OAAO,EAAE,WAAW;oBACpB,QAAQ,EAAE,MAAM,CAAC,IAAI;oBACrB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;oBAClC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;oBAClC,SAAS,EAAE;wBACT,MAAM,IAAI,CAAC,WAAW,EAAE;wBACxB,aAAa;wBACb,aAAa;qBACd;iBACF,CAAC;YACJ,CAAC;SACF,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CACb,GAAW,EACX,IAAc;IAEd,OAAO,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;YACnC,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;YACnC,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools_crud.d.ts","sourceRoot":"","sources":["../../src/tools/tools_crud.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAyDtD,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,EAAE,CAgLjE"}
1
+ {"version":3,"file":"tools_crud.d.ts","sourceRoot":"","sources":["../../src/tools/tools_crud.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AA2QtD,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,EAAE,CAwMjE"}
@@ -4,29 +4,159 @@ import { defineTool } from "./types.js";
4
4
  const toolType = z.enum([
5
5
  "rest_api",
6
6
  "custom_execute",
7
+ // `transform` is the legacy alias for `custom_execute` — both refer to a
8
+ // pure-JS tool body run in a sandbox. The backend accepts either; we accept
9
+ // both here to avoid rejecting valid requests against the current API.
10
+ "transform",
7
11
  "hybrid",
8
12
  "data_store",
9
13
  "web_search",
10
14
  ]);
11
- // Server accepts the JSON fields opaquely; we mirror that here.
12
- const createToolSchema = z.object({
15
+ /**
16
+ * High-level Display Type — mirrors the dashboard's Display Type selector.
17
+ * Each value maps to a specific (uiRenderMode, required-fields) combination,
18
+ * saving MCP callers from having to guess internal field pairings.
19
+ */
20
+ const displayType = z
21
+ .enum(["preset", "custom_html", "json_render", "visualization"])
22
+ .optional()
23
+ .describe([
24
+ "High-level Display Type (matches the dashboard's Display Type dropdown).",
25
+ "Sets the right combination of underlying fields automatically:",
26
+ " • preset — pre-built component. Combine with uiComponent (e.g. 'JsonDisplay', 'BattCard').",
27
+ " • custom_html — HTML/CSS template. Requires customHtml; customCss optional.",
28
+ " • json_render — declarative JSON-render spec. Requires jsonRenderSpec.",
29
+ " • visualization — recharts-based chart. The tool's output payload must include the chart spec.",
30
+ "If you pass BOTH displayType AND uiRenderMode, uiRenderMode wins (backwards compat).",
31
+ ].join("\n"));
32
+ /**
33
+ * Shape of a tool input parameter, matching `ToolInputParameter` in the
34
+ * backend. Strict schema so MCP callers get clear errors if they misspell
35
+ * `type` (instead of the backend silently coercing it).
36
+ */
37
+ const toolInputParameterSchema = z.object({
38
+ name: z.string().min(1).describe("camelCase param name exposed to the AI"),
39
+ displayName: z.string().optional(),
40
+ description: z.string().min(1).describe("How the AI should understand this parameter"),
41
+ type: z.enum(["string", "number", "boolean", "array", "object"]).default("string"),
42
+ required: z.boolean().default(false),
43
+ defaultValue: z.unknown().optional(),
44
+ itemType: z.enum(["string", "number", "boolean"]).optional().describe("Only for type=array"),
45
+ enum: z.array(z.string()).optional().describe("Restrict string values to this set"),
46
+ });
47
+ /**
48
+ * REST API config for toolType=rest_api / hybrid. Typed so MCP callers don't
49
+ * have to guess — matches `ToolApiConfig` in the backend.
50
+ */
51
+ const apiConfigSchema = z
52
+ .object({
53
+ endpoint: z.string().url().describe("Full URL (https://…). {{input.x}} templates supported."),
54
+ method: z.enum(["GET", "POST", "PUT", "PATCH", "DELETE"]).default("GET"),
55
+ headers: z.record(z.string()).optional().describe("Header map; {{input.x}} substitution supported."),
56
+ body: z.unknown().optional().describe("JSON body for POST/PUT/PATCH. {{input.x}} substitution supported."),
57
+ queryParams: z.record(z.string()).optional(),
58
+ authConfig: z
59
+ .object({
60
+ type: z.enum(["none", "bearer", "basic", "apiKey"]).default("none"),
61
+ token: z.string().optional(),
62
+ username: z.string().optional(),
63
+ password: z.string().optional(),
64
+ headerName: z.string().optional(),
65
+ })
66
+ .partial()
67
+ .optional(),
68
+ })
69
+ .passthrough(); // allow unknown keys since the backend evolves
70
+ /**
71
+ * Data store config for toolType=data_store. Mirrors the dashboard's
72
+ * "Data Store Configuration" panel (data store picker + searchable /
73
+ * filterable / display columns + result limits).
74
+ */
75
+ const dataStoreConfigSchema = z
76
+ .object({
77
+ dataStoreId: z.string().min(1).describe("ID of the data store to query (see data_stores_list)"),
78
+ searchableColumns: z
79
+ .array(z.string())
80
+ .optional()
81
+ .describe("Columns included in free-text search. Defaults to all columns if omitted."),
82
+ filterableColumns: z
83
+ .array(z.string())
84
+ .optional()
85
+ .describe("Columns the AI can filter on (e.g. input.city, input.status). Each becomes an input parameter the model can pass."),
86
+ displayColumns: z
87
+ .array(z.string())
88
+ .optional()
89
+ .describe("Columns shown in the result table. Defaults to all columns if omitted."),
90
+ maxResults: z.number().int().min(1).max(100).optional().describe("Default row cap (default 10)."),
91
+ responseMode: z
92
+ .enum(["rows_only", "full"])
93
+ .optional()
94
+ .describe("rows_only (default): flat projected array. full: { storeName, columns, rows, totalMatches, returned }."),
95
+ columnEnums: z
96
+ .record(z.array(z.string()))
97
+ .optional()
98
+ .describe("Per-column enum values, if you want to restrict what the AI can filter by."),
99
+ })
100
+ .passthrough();
101
+ /**
102
+ * Web search config for toolType=web_search. Opaque enough that we leave it
103
+ * as passthrough — the field most users care about is `extractionPrompt`.
104
+ */
105
+ const webSearchConfigSchema = z
106
+ .object({
107
+ extractionPrompt: z
108
+ .string()
109
+ .optional()
110
+ .describe("Instruction for the LLM on what to extract from search results."),
111
+ maxResults: z.number().int().min(1).max(20).optional(),
112
+ searchEngine: z.string().optional(),
113
+ })
114
+ .passthrough();
115
+ // Server accepts the JSON fields opaquely; we mirror them with typed shapes
116
+ // so MCP callers get meaningful validation errors instead of the backend
117
+ // silently ignoring misspelt keys.
118
+ const createToolSchemaBase = z
119
+ .object({
13
120
  projectId: projectIdArg,
14
121
  name: z.string().min(1).max(100),
15
122
  displayName: z.string().min(1).max(255),
16
123
  description: z.string().min(1),
17
124
  toolType: toolType.default("rest_api"),
18
- inputSchema: z.array(z.record(z.unknown())).default([]),
19
- apiConfig: z.record(z.unknown()).optional().nullable(),
125
+ inputSchema: z.array(toolInputParameterSchema).default([]),
126
+ apiConfig: apiConfigSchema.optional().nullable(),
20
127
  transformCode: z
21
128
  .string()
22
129
  .optional()
23
130
  .describe("JavaScript code for toolType=custom_execute (runs as the whole tool body) or hybrid (runs on input.apiResult after the REST call). Sandboxed; no Node APIs. Rejected server-side if it contains `process.env`."),
24
- dataStoreConfig: z.record(z.unknown()).optional().nullable(),
25
- webSearchConfig: z.record(z.unknown()).optional().nullable(),
26
- stopWhen: z.number().int().min(0).default(0),
27
- searchKbAfter: z.boolean().default(false),
28
- timeoutMs: z.number().int().min(100).max(60000).default(5000),
29
- uiComponent: z.string().default("JsonDisplay"),
131
+ dataStoreConfig: dataStoreConfigSchema.optional().nullable(),
132
+ webSearchConfig: webSearchConfigSchema.optional().nullable(),
133
+ stopWhen: z
134
+ .number()
135
+ .int()
136
+ .min(0)
137
+ .default(0)
138
+ .describe("Max invocations of this tool in a single chat turn. 0 = unlimited. Use e.g. 3 for tools the AI likes to call in loops (search refinements, paginated fetches)."),
139
+ searchKbAfter: z
140
+ .boolean()
141
+ .default(false)
142
+ .describe("If true, the assistant follows up every invocation of this tool with a knowledge-base search. Useful when the tool surfaces facts the model should ground its reply on."),
143
+ timeoutMs: z
144
+ .number()
145
+ .int()
146
+ .min(100)
147
+ .max(60000)
148
+ .default(5000)
149
+ .describe("Max execution time per invocation. Applies to the HTTP call (rest_api/hybrid), the sandboxed JS body (custom_execute/transform), and the data store query."),
150
+ // Only relevant when displayType='preset' (or uiRenderMode='preset'). For
151
+ // other displayTypes this field is ignored. Known presets:
152
+ // • JsonDisplay — default; pretty-prints any JSON payload
153
+ // • DataStoreResult — tabular view; chosen automatically for data_store
154
+ // tools that don't have customHtml
155
+ // • none — render nothing (side-effect-only tools)
156
+ uiComponent: z
157
+ .enum(["JsonDisplay", "DataStoreResult", "none"])
158
+ .default("JsonDisplay")
159
+ .describe("Preset component name. Only used when displayType='preset'. Known values: JsonDisplay | DataStoreResult | none."),
30
160
  customHtml: z.string().optional(),
31
161
  customCss: z.string().optional(),
32
162
  audience: z.array(z.string()).optional(),
@@ -36,15 +166,67 @@ const createToolSchema = z.object({
36
166
  tags: z.array(z.string()).optional(),
37
167
  componentActions: z.array(z.record(z.unknown())).optional(),
38
168
  jsonRenderSpec: z.record(z.unknown()).optional(),
39
- uiRenderMode: z.enum(["legacy", "json"]).default("legacy"),
169
+ // High-level selector (recommended). Normalized in the handler below.
170
+ displayType,
171
+ // Low-level override. Covers the full SDK dispatcher: legacy (HTML template),
172
+ // json/json_render (JSON-render spec), visualization (recharts), preset/text
173
+ // (JSON card), hidden/none (render nothing). `json` and `json_render` are
174
+ // aliases the SDK accepts interchangeably.
175
+ uiRenderMode: z
176
+ .enum([
177
+ "legacy",
178
+ "json",
179
+ "json_render",
180
+ "visualization",
181
+ "preset",
182
+ "text",
183
+ "hidden",
184
+ "none",
185
+ ])
186
+ .optional(),
40
187
  mobileGridCols: z.number().int().min(1).max(12).optional(),
41
188
  desktopGridCols: z.number().int().min(1).max(12).optional(),
42
189
  initialRenderLimit: z.number().int().min(0).max(200).optional(),
43
190
  });
191
+ // defineTool expects a ZodObject (so its `.shape` can be handed to the MCP
192
+ // SDK's registerTool). `.superRefine(...)` would wrap in ZodEffects and break
193
+ // that contract, so we validate displayType/field pairing manually in the
194
+ // handler below via `assertDisplayTypeValid()`.
195
+ const createToolSchema = createToolSchemaBase;
196
+ function assertDisplayTypeValid(data) {
197
+ if (data.displayType === "custom_html" && !data.customHtml) {
198
+ throw new Error("displayType='custom_html' requires customHtml — pass the HTML template (customCss is optional).");
199
+ }
200
+ if (data.displayType === "json_render" && !data.jsonRenderSpec) {
201
+ throw new Error("displayType='json_render' requires jsonRenderSpec — the declarative spec object with root/elements/state.");
202
+ }
203
+ }
204
+ /**
205
+ * Map a caller-provided `displayType` to the underlying `uiRenderMode` the
206
+ * backend expects. Explicit `uiRenderMode` wins (so advanced users can opt
207
+ * out). `displayType` itself is stripped — the backend doesn't know about it.
208
+ */
209
+ function normalizeDisplayType(body) {
210
+ const { displayType: dt, uiRenderMode, ...rest } = body;
211
+ let mode = uiRenderMode;
212
+ if (!mode && dt) {
213
+ if (dt === "preset")
214
+ mode = "preset";
215
+ else if (dt === "custom_html")
216
+ mode = "legacy";
217
+ else if (dt === "json_render")
218
+ mode = "json";
219
+ else if (dt === "visualization")
220
+ mode = "visualization";
221
+ }
222
+ if (!mode)
223
+ mode = "legacy";
224
+ return { ...rest, uiRenderMode: mode };
225
+ }
44
226
  const updateToolSchema = z.object({
45
227
  projectId: projectIdArg,
46
228
  toolId: z.string().min(1),
47
- patch: createToolSchema
229
+ patch: createToolSchemaBase
48
230
  .omit({ projectId: true })
49
231
  .partial()
50
232
  .describe("Any subset of tool fields to update. Sending executeCode or transformCode containing 'process.env' is rejected server-side."),
@@ -77,22 +259,46 @@ export function toolsCrudTools(client) {
77
259
  defineTool({
78
260
  name: "tools_create",
79
261
  title: "Create a custom tool",
80
- description: "Create a custom tool the chat agent can call. Tool code referencing `process.env` is rejected — put secrets in apiConfig.headers with template placeholders.",
262
+ description: [
263
+ "Create a custom tool the chat agent can call.",
264
+ "",
265
+ "**Display Type** — prefer passing `displayType` (preset | custom_html | json_render | visualization) over the low-level `uiRenderMode`. The MCP normalizes it automatically.",
266
+ " • preset — pre-built component (combine with uiComponent)",
267
+ " • custom_html — HTML/CSS template (requires customHtml)",
268
+ " • json_render — declarative spec (requires jsonRenderSpec)",
269
+ " • visualization — recharts; the tool's output must include the chart spec",
270
+ "",
271
+ "**Forms** (email or custom endpoint) are built as `toolType: \"data_store\"` + `displayType: \"json_render\"` + a jsonRenderSpec containing `_formConfig` nested at the spec root. Example:",
272
+ "```json",
273
+ "jsonRenderSpec: {",
274
+ " root: \"form\",",
275
+ " elements: { form: { type: \"Stack\", children: [...] }, ... },",
276
+ " state: { form: { name: \"\", email: \"\" } },",
277
+ " _formConfig: { mode: \"email\", to: \"you@co.com\", subject: \"New lead\", successMessage: \"Thanks!\" }",
278
+ "}",
279
+ "```",
280
+ "",
281
+ "**Security**: tool code referencing `process.env` is rejected server-side — put secrets in apiConfig.headers with template placeholders.",
282
+ ].join("\n"),
81
283
  inputSchema: createToolSchema,
82
284
  handler: async (args) => {
83
- const { projectId: rawPid, ...body } = args;
285
+ assertDisplayTypeValid(args);
286
+ const { projectId: rawPid, ...rest } = args;
84
287
  const projectId = pid(client, rawPid);
288
+ const body = normalizeDisplayType(rest);
85
289
  return client.post(`/api/dashboard/${projectId}/tools`, body);
86
290
  },
87
291
  }),
88
292
  defineTool({
89
293
  name: "tools_update",
90
294
  title: "Update a custom tool",
91
- description: "Patch selected fields of an existing custom tool.",
295
+ description: "Patch selected fields of an existing custom tool. `displayType` is normalized the same way as in tools_create.",
92
296
  inputSchema: updateToolSchema,
93
297
  handler: async (args) => {
298
+ assertDisplayTypeValid(args.patch);
94
299
  const projectId = pid(client, args.projectId);
95
- return client.patch(`/api/dashboard/${projectId}/tools/${encodeURIComponent(args.toolId)}`, args.patch);
300
+ const patch = normalizeDisplayType(args.patch);
301
+ return client.patch(`/api/dashboard/${projectId}/tools/${encodeURIComponent(args.toolId)}`, patch);
96
302
  },
97
303
  }),
98
304
  defineTool({
@@ -1 +1 @@
1
- {"version":3,"file":"tools_crud.js","sourceRoot":"","sources":["../../src/tools/tools_crud.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools_crud.js","sourceRoot":"","sources":["../../src/tools/tools_crud.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,UAAU,EAAgB,MAAM,YAAY,CAAC;AAEtD,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC;IACtB,UAAU;IACV,gBAAgB;IAChB,yEAAyE;IACzE,4EAA4E;IAC5E,uEAAuE;IACvE,WAAW;IACX,QAAQ;IACR,YAAY;IACZ,YAAY;CACb,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,WAAW,GAAG,CAAC;KAClB,IAAI,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;KAC/D,QAAQ,EAAE;KACV,QAAQ,CACP;IACE,0EAA0E;IAC1E,gEAAgE;IAChE,sGAAsG;IACtG,kFAAkF;IAClF,6EAA6E;IAC7E,mGAAmG;IACnG,sFAAsF;CACvF,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AAEJ;;;;GAIG;AACH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IACtF,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAClF,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACpC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAC5F,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CACpF,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,eAAe,GAAG,CAAC;KACtB,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;IAC7F,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACxE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IACpG,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;IAC1G,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,UAAU,EAAE,CAAC;SACV,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACnE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAClC,CAAC;SACD,OAAO,EAAE;SACT,QAAQ,EAAE;CACd,CAAC;KACD,WAAW,EAAE,CAAC,CAAC,+CAA+C;AAEjE;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,CAAC;KAC5B,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IAC/F,iBAAiB,EAAE,CAAC;SACjB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,2EAA2E,CAAC;IACxF,iBAAiB,EAAE,CAAC;SACjB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CACP,mHAAmH,CACpH;IACH,cAAc,EAAE,CAAC;SACd,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,wEAAwE,CAAC;IACrF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACjG,YAAY,EAAE,CAAC;SACZ,IAAI,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;SAC3B,QAAQ,EAAE;SACV,QAAQ,CACP,wGAAwG,CACzG;IACH,WAAW,EAAE,CAAC;SACX,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SAC3B,QAAQ,EAAE;SACV,QAAQ,CAAC,4EAA4E,CAAC;CAC1F,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB;;;GAGG;AACH,MAAM,qBAAqB,GAAG,CAAC;KAC5B,MAAM,CAAC;IACN,gBAAgB,EAAE,CAAC;SAChB,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,iEAAiE,CAAC;IAC9E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,4EAA4E;AAC5E,yEAAyE;AACzE,mCAAmC;AACnC,MAAM,oBAAoB,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,SAAS,EAAE,YAAY;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;IACtC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1D,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAChD,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,gNAAgN,CACjN;IACH,eAAe,EAAE,qBAAqB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5D,eAAe,EAAE,qBAAqB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5D,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,CACP,gKAAgK,CACjK;IACH,aAAa,EAAE,CAAC;SACb,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,yKAAyK,CAC1K;IACH,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,GAAG,CAAC;SACR,GAAG,CAAC,KAAK,CAAC;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACP,4JAA4J,CAC7J;IACH,0EAA0E;IAC1E,2DAA2D;IAC3D,iEAAiE;IACjE,2EAA2E;IAC3E,2DAA2D;IAC3D,iEAAiE;IACjE,WAAW,EAAE,CAAC;SACX,IAAI,CAAC,CAAC,aAAa,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;SAChD,OAAO,CAAC,aAAa,CAAC;SACtB,QAAQ,CACP,iHAAiH,CAClH;IACH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC7C,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC9C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3D,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,sEAAsE;IACtE,WAAW;IACX,8EAA8E;IAC9E,6EAA6E;IAC7E,0EAA0E;IAC1E,2CAA2C;IAC3C,YAAY,EAAE,CAAC;SACZ,IAAI,CAAC;QACJ,QAAQ;QACR,MAAM;QACN,aAAa;QACb,eAAe;QACf,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,MAAM;KACP,CAAC;SACD,QAAQ,EAAE;IACb,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1D,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3D,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CAChE,CAAC,CAAC;AAEL,2EAA2E;AAC3E,8EAA8E;AAC9E,0EAA0E;AAC1E,gDAAgD;AAChD,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;AAE9C,SAAS,sBAAsB,CAAC,IAI/B;IACC,IAAI,IAAI,CAAC,WAAW,KAAK,aAAa,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CACb,iGAAiG,CAClG,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,WAAW,KAAK,aAAa,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CACb,2GAA2G,CAC5G,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAoC,IAAO;IACtE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,IAGlD,CAAC;IACF,IAAI,IAAI,GAAG,YAAY,CAAC;IACxB,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QAChB,IAAI,EAAE,KAAK,QAAQ;YAAE,IAAI,GAAG,QAAQ,CAAC;aAChC,IAAI,EAAE,KAAK,aAAa;YAAE,IAAI,GAAG,QAAQ,CAAC;aAC1C,IAAI,EAAE,KAAK,aAAa;YAAE,IAAI,GAAG,MAAM,CAAC;aACxC,IAAI,EAAE,KAAK,eAAe;YAAE,IAAI,GAAG,eAAe,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,IAAI,GAAG,QAAQ,CAAC;IAC3B,OAAO,EAAE,GAAG,IAAI,EAAE,YAAY,EAAE,IAAI,EAA4B,CAAC;AACnE,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,SAAS,EAAE,YAAY;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,KAAK,EAAE,oBAAoB;SACxB,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;SACzB,OAAO,EAAE;SACT,QAAQ,CACP,6HAA6H,CAC9H;CACJ,CAAC,CAAC;AAEH,MAAM,UAAU,cAAc,CAAC,MAAuB;IACpD,OAAO;QACL,UAAU,CAAC;YACT,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EACT,mGAAmG;YACrG,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;YAClD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9C,OAAO,MAAM,CAAC,GAAG,CAAC,kBAAkB,SAAS,QAAQ,CAAC,CAAC;YACzD,CAAC;SACF,CAAC;QACF,UAAU,CAAC;YACT,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,mBAAmB;YAC1B,WAAW,EAAE,6CAA6C;YAC1D,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,SAAS,EAAE,YAAY;gBACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;aAC1B,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9C,OAAO,MAAM,CAAC,GAAG,CACf,kBAAkB,SAAS,UAAU,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CACvE,CAAC;YACJ,CAAC;SACF,CAAC;QACF,UAAU,CAAC;YACT,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EAAE;gBACX,+CAA+C;gBAC/C,EAAE;gBACF,8KAA8K;gBAC9K,qEAAqE;gBACrE,8DAA8D;gBAC9D,iEAAiE;gBACjE,8EAA8E;gBAC9E,EAAE;gBACF,6LAA6L;gBAC7L,SAAS;gBACT,mBAAmB;gBACnB,mBAAmB;gBACnB,kEAAkE;gBAClE,iDAAiD;gBACjD,4GAA4G;gBAC5G,GAAG;gBACH,KAAK;gBACL,EAAE;gBACF,0IAA0I;aAC3I,CAAC,IAAI,CAAC,IAAI,CAAC;YACZ,WAAW,EAAE,gBAAgB;YAC7B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,sBAAsB,CAAC,IAA+B,CAAC,CAAC;gBACxD,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;gBAC5C,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACtC,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAA+B,CAAC,CAAC;gBACnE,OAAO,MAAM,CAAC,IAAI,CAAC,kBAAkB,SAAS,QAAQ,EAAE,IAAI,CAAC,CAAC;YAChE,CAAC;SACF,CAAC;QACF,UAAU,CAAC;YACT,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EACT,gHAAgH;YAClH,WAAW,EAAE,gBAAgB;YAC7B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,sBAAsB,CAAC,IAAI,CAAC,KAAgC,CAAC,CAAC;gBAC9D,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9C,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAgC,CAAC,CAAC;gBAC1E,OAAO,MAAM,CAAC,KAAK,CACjB,kBAAkB,SAAS,UAAU,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EACtE,KAAK,CACN,CAAC;YACJ,CAAC;SACF,CAAC;QACF,UAAU,CAAC;YACT,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EAAE,oCAAoC;YACjD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,SAAS,EAAE,YAAY;gBACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;aACpC,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClB,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,2CAA2C;qBACpD,CAAC;gBACJ,CAAC;gBACD,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9C,OAAO,MAAM,CAAC,MAAM,CAClB,kBAAkB,SAAS,UAAU,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CACvE,CAAC;YACJ,CAAC;SACF,CAAC;QACF,UAAU,CAAC;YACT,IAAI,EAAE,uBAAuB;YAC7B,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EACT,wGAAwG;YAC1G,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,SAAS,EAAE,YAAY;gBACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;aAClC,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9C,OAAO,MAAM,CAAC,IAAI,CAChB,kBAAkB,SAAS,UAAU,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAC9E,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAC3C,CAAC;YACJ,CAAC;SACF,CAAC;QACF,UAAU,CAAC;YACT,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,6DAA6D;YAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;YAClD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9C,OAAO,MAAM,CAAC,GAAG,CAAC,kBAAkB,SAAS,QAAQ,CAAC,CAAC;YACzD,CAAC;SACF,CAAC;QACF,UAAU,CAAC;YACT,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,2BAA2B;YACxC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,SAAS,EAAE,YAAY;gBACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;aAC1B,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9C,OAAO,MAAM,CAAC,GAAG,CACf,kBAAkB,SAAS,UAAU,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CACvE,CAAC;YACJ,CAAC;SACF,CAAC;QACF,UAAU,CAAC;YACT,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,gCAAgC;YAC7C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,SAAS,EAAE,YAAY;gBACvB,IAAI,EAAE,CAAC;qBACJ,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;qBACnB,QAAQ,CACP,+EAA+E,CAChF;aACJ,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,kBAAkB,SAAS,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACrE,CAAC;SACF,CAAC;QACF,UAAU,CAAC;YACT,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,wBAAwB;YACrC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,SAAS,EAAE,YAAY;gBACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;aAC7B,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9C,OAAO,MAAM,CAAC,KAAK,CACjB,kBAAkB,SAAS,UAAU,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EACtE,IAAI,CAAC,KAAK,CACX,CAAC;YACJ,CAAC;SACF,CAAC;QACF,UAAU,CAAC;YACT,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,6BAA6B;YAC1C,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,SAAS,EAAE,YAAY;gBACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;aACpC,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClB,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,2CAA2C;qBACpD,CAAC;gBACJ,CAAC;gBACD,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9C,OAAO,MAAM,CAAC,MAAM,CAClB,kBAAkB,SAAS,UAAU,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CACvE,CAAC;YACJ,CAAC;SACF,CAAC;KACH,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aigentyc/mcp",
3
- "version": "0.1.4",
3
+ "version": "0.2.0",
4
4
  "description": "Model Context Protocol server for aiGentyc — content & authoring tools for LLM agents",
5
5
  "license": "MIT",
6
6
  "type": "module",