@aigentyc/mcp 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENTS.md CHANGED
@@ -224,5 +224,5 @@ Requires npm credentials with publish rights on `@aigentyc`.
224
224
  ## Where to ask for help
225
225
 
226
226
  - Bugs / feature requests → file in this repo
227
- - Questions about the **platform** (`app.aigentyc.com`) → main monorepo
227
+ - Questions about the **platform** (`app.aigentyc.ai`) → main monorepo
228
228
  - Questions about embedding a chat UI → `@aigentyc/chat-sdk`
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @aigentyc/mcp
2
2
 
3
- Model Context Protocol server for [aiGentyc](https://aigentyc.com) — lets
3
+ Model Context Protocol server for [aiGentyc](https://aigentyc.ai) — lets
4
4
  Claude Code, Cursor, Windsurf, and any other MCP-compatible agent drive the
5
5
  content/authoring side of your aiGentyc project (documents, crawling, data
6
6
  stores, custom tools, config, backups, …) without clicking through the
package/context7.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
- "url": "https://context7.com/llmstxt/cdn_jsdelivr_net_npm_aigentyc_mcp_0_4_0_llms_txt",
2
+ "url": "https://context7.com/llmstxt/cdn_jsdelivr_net_npm_aigentyc_mcp_0_4_1_llms_txt",
3
3
  "public_key": "pk_dHiyF4hGXkgbb1jdrT7TU"
4
4
  }
package/dist/cli.js CHANGED
@@ -3,6 +3,7 @@ import { parseArgs } from "node:util";
3
3
  import { assertSafePerms, configPath, DEFAULT_BASE_URL, loadConfig, saveConfig, upsertProfile, } from "./config.js";
4
4
  import { installCommand } from "./install-cmd.js";
5
5
  import { runStdioServer } from "./server.js";
6
+ import { verifyKey } from "./verify.js";
6
7
  async function main() {
7
8
  const [cmd, ...rest] = process.argv.slice(2);
8
9
  switch (cmd) {
@@ -57,6 +58,7 @@ LOGIN OPTIONS
57
58
  --api-key <k> aiGentyc API key (tyco_pk_...)
58
59
  --project-id <p> Project UUID the key is scoped to
59
60
  --profile <name> Named profile (default: "default")
61
+ --label <text> Friendly display name for switching between projects
60
62
  --base-url <url> Dashboard base URL (default: ${DEFAULT_BASE_URL})
61
63
  --no-activate Do not set this profile as active
62
64
  --allow-insecure Dev-only: allow plaintext HTTP to non-loopback hosts
@@ -97,6 +99,7 @@ async function loginCmd(argv) {
97
99
  "api-key": { type: "string" },
98
100
  "project-id": { type: "string" },
99
101
  profile: { type: "string", default: "default" },
102
+ label: { type: "string" },
100
103
  "base-url": { type: "string", default: DEFAULT_BASE_URL },
101
104
  "no-activate": { type: "boolean", default: false },
102
105
  "allow-insecure": { type: "boolean", default: false },
@@ -108,68 +111,19 @@ async function loginCmd(argv) {
108
111
  console.error("login requires both --api-key and --project-id. See --help.");
109
112
  process.exit(2);
110
113
  }
111
- // Verify the key. In production, auth-service is fronted by nginx at the
112
- // same base URL, so POST /api/auth/api-keys/verify works. In local dev,
113
- // auth is on a different port and we get a 404 — fall back to pinging the
114
- // dashboard documents endpoint, which is the canonical authenticated surface.
114
+ // Verify the key before saving (shared with the projects_add MCP tool).
115
115
  const baseUrl = values["base-url"].replace(/\/$/, "");
116
- const verifyUrl = `${baseUrl}/api/auth/api-keys/verify`;
117
- const pingUrl = `${baseUrl}/api/dashboard/${encodeURIComponent(projectId)}/documents?pageSize=1`;
118
- let verified = false;
119
- try {
120
- const res = await fetch(verifyUrl, {
121
- method: "POST",
122
- headers: { "Content-Type": "application/json" },
123
- body: JSON.stringify({ key: apiKey }),
124
- });
125
- if (res.status === 404) {
126
- // Auth endpoint not at this origin (dev). Fall through to dashboard ping.
127
- }
128
- else {
129
- const body = (await res.json().catch(() => ({})));
130
- if (!res.ok || !body.valid) {
131
- console.error(`Key verification failed: ${body.error || `HTTP ${res.status}`}`);
132
- process.exit(1);
133
- }
134
- if (body.projectId && body.projectId !== projectId) {
135
- console.error(`API key is scoped to project ${body.projectId}, not ${projectId}. Refusing to save.`);
136
- process.exit(1);
137
- }
138
- verified = true;
139
- }
140
- }
141
- catch (err) {
142
- console.error(`Could not reach ${verifyUrl}: ${err.message}`);
116
+ const result = await verifyKey({ baseUrl, projectId, apiKey });
117
+ if (!result.ok) {
118
+ console.error(`${result.error} Refusing to save.`);
143
119
  process.exit(1);
144
120
  }
145
- if (!verified) {
146
- // Dashboard ping fallback.
147
- try {
148
- const res = await fetch(pingUrl, {
149
- method: "GET",
150
- headers: { Authorization: `Bearer ${apiKey}` },
151
- });
152
- if (res.status === 401) {
153
- console.error("Key rejected by dashboard (401). Refusing to save.");
154
- process.exit(1);
155
- }
156
- if (res.status === 403) {
157
- console.error("Key accepted but not authorized for this project (403). Refusing to save.");
158
- process.exit(1);
159
- }
160
- // 200 or 404 (project not found) → key was accepted by auth layer.
161
- }
162
- catch (err) {
163
- console.error(`Could not reach ${pingUrl}: ${err.message}`);
164
- process.exit(1);
165
- }
166
- }
167
121
  const allowInsecure = !!values["allow-insecure"];
168
122
  if (allowInsecure) {
169
123
  console.warn("WARNING: --allow-insecure is enabled. Plaintext HTTP will be permitted. Use for local dev only.");
170
124
  }
171
125
  const existing = await loadConfig();
172
- const next = upsertProfile(existing, values.profile, { baseUrl, projectId, apiKey, allowInsecure }, !values["no-activate"]);
126
+ const next = upsertProfile(existing, values.profile, { baseUrl, projectId, apiKey, label: values.label, allowInsecure }, !values["no-activate"]);
173
127
  await saveConfig(next);
174
128
  console.log(`Saved profile "${values.profile}" → ${configPath()} (active: ${next.activeProfile})`);
175
129
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -1,11 +1,18 @@
1
1
  import type { ProfileConfig } from "./config.js";
2
2
  export interface DashboardClient {
3
- profile: ProfileConfig;
3
+ /** The profile this client currently targets. Mutated via `useProfile`. */
4
+ readonly profile: ProfileConfig;
5
+ /**
6
+ * Re-point the client at a different project (apiKey + baseUrl + projectId).
7
+ * Every subsequent request uses the new credential, so all tools switch
8
+ * projects without re-registering or restarting the server.
9
+ */
10
+ useProfile(profile: ProfileConfig): void;
4
11
  get<T = unknown>(path: string, query?: Record<string, unknown>): Promise<T>;
5
12
  post<T = unknown>(path: string, body?: unknown): Promise<T>;
6
13
  put<T = unknown>(path: string, body?: unknown): Promise<T>;
7
14
  patch<T = unknown>(path: string, body?: unknown): Promise<T>;
8
15
  delete<T = unknown>(path: string, body?: unknown): Promise<T>;
9
16
  }
10
- export declare function createClient(profile: ProfileConfig): DashboardClient;
17
+ export declare function createClient(initial: ProfileConfig): DashboardClient;
11
18
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,aAAa,CAAC;IACvB,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5E,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5D,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3D,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/D;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,CAuFpE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IACzC,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5E,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5D,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3D,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC/D;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,CA+FpE"}
package/dist/client.js CHANGED
@@ -1,8 +1,11 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import { AigentycError, httpStatusToCode } from "./errors.js";
3
- export function createClient(profile) {
4
- const baseUrl = profile.baseUrl.replace(/\/$/, "");
3
+ export function createClient(initial) {
4
+ // Mutable so `useProfile` can swap projects mid-session. Read fresh on every
5
+ // request — never capture baseUrl/apiKey in a closure at create time.
6
+ let profile = initial;
5
7
  async function request(method, path, opts = {}) {
8
+ const baseUrl = profile.baseUrl.replace(/\/$/, "");
6
9
  const url = new URL(baseUrl + path);
7
10
  if (opts.query) {
8
11
  for (const [k, v] of Object.entries(opts.query)) {
@@ -54,7 +57,12 @@ export function createClient(profile) {
54
57
  return payload;
55
58
  }
56
59
  return {
57
- profile,
60
+ get profile() {
61
+ return profile;
62
+ },
63
+ useProfile(next) {
64
+ profile = next;
65
+ },
58
66
  get: (path, query) => request("GET", path, { query }),
59
67
  post: (path, body) => request("POST", path, { body }),
60
68
  put: (path, body) => request("PUT", path, { body }),
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -2,6 +2,11 @@ export interface ProfileConfig {
2
2
  baseUrl: string;
3
3
  projectId: string;
4
4
  apiKey: string;
5
+ /**
6
+ * Friendly display name for this project, used when listing/switching
7
+ * projects in a conversation. Falls back to the profile key when absent.
8
+ */
9
+ label?: string;
5
10
  /**
6
11
  * When true, the client will allow plaintext HTTP to non-loopback hosts.
7
12
  * Dev-only — never enable in production.
@@ -21,6 +26,11 @@ export declare function configPath(): string;
21
26
  export declare function loadConfig(): Promise<AigentycConfig | null>;
22
27
  export declare function requireConfig(): Promise<AigentycConfig>;
23
28
  export declare function getActiveProfile(cfg: AigentycConfig): ProfileConfig;
29
+ /**
30
+ * Switch the active profile to `name` (validating it exists). Returns a new
31
+ * config object — callers persist it with saveConfig to survive restarts.
32
+ */
33
+ export declare function setActiveProfile(cfg: AigentycConfig, name: string): AigentycConfig;
24
34
  /**
25
35
  * Persist config with 0600 perms. Refuses to overwrite wider perms without fix.
26
36
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACzC;AAED,QAAA,MAAM,gBAAgB,4BAA4B,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAInC;AAOD,wBAAsB,UAAU,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAYjE;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,cAAc,CAAC,CAQ7D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,cAAc,GAAG,aAAa,CAUnE;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAQnE;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAUrD;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,cAAc,GAAG,IAAI,EAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,OAAO,GAClB,cAAc,CAOhB;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACzC;AAED,QAAA,MAAM,gBAAgB,4BAA4B,CAAC;AAEnD;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAInC;AAOD,wBAAsB,UAAU,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAYjE;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,cAAc,CAAC,CAQ7D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,cAAc,GAAG,aAAa,CAUnE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,MAAM,GACX,cAAc,CAOhB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAQnE;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAUrD;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,cAAc,GAAG,IAAI,EAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,OAAO,GAClB,cAAc,CAOhB;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
package/dist/config.js CHANGED
@@ -45,6 +45,16 @@ export function getActiveProfile(cfg) {
45
45
  }
46
46
  return profile;
47
47
  }
48
+ /**
49
+ * Switch the active profile to `name` (validating it exists). Returns a new
50
+ * config object — callers persist it with saveConfig to survive restarts.
51
+ */
52
+ export function setActiveProfile(cfg, name) {
53
+ if (!cfg.profiles[name]) {
54
+ throw new Error(`Profile '${name}' not found. Available: ${Object.keys(cfg.profiles).join(", ") || "(none)"}`);
55
+ }
56
+ return { activeProfile: name, profiles: cfg.profiles };
57
+ }
48
58
  /**
49
59
  * Persist config with 0600 perms. Refuses to overwrite wider perms without fix.
50
60
  */
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAkB3E,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AAEnD;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC7C,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC5D,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmB,CAAC;QACjD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAClE,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;IAC/B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,+BAA+B,UAAU,EAAE,6DAA6D,CACzG,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAmB;IAClD,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,mBAAmB,GAAG,CAAC,aAAa,2BAA2B,MAAM,CAAC,IAAI,CACxE,GAAG,CAAC,QAAQ,CACb,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAC3B,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAmB;IAClD,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;QAClD,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;IACH,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACpC,2CAA2C;IAC3C,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;IAC7B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,mBAAmB,IAAI,qBAAqB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,uCAAuC,IAAI,EAAE,CAC1G,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,GAA0B,EAC1B,IAAY,EACZ,OAAsB,EACtB,UAAmB;IAEnB,MAAM,IAAI,GAAmB,GAAG;QAC9B,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAE;QACrE,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;IAC9B,IAAI,UAAU,IAAI,CAAC,IAAI,CAAC,aAAa;QAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IACjE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ This file is the deep reference for AI coding tools (Cursor, Claude Code, Windsu
8
8
 
9
9
  # @aigentyc/mcp
10
10
 
11
- Model Context Protocol server for [aiGentyc](https://aigentyc.com) — lets
11
+ Model Context Protocol server for [aiGentyc](https://aigentyc.ai) — lets
12
12
  Claude Code, Cursor, Windsurf, and any other MCP-compatible agent drive the
13
13
  content/authoring side of your aiGentyc project (documents, crawling, data
14
14
  stores, custom tools, config, backups, …) without clicking through the
@@ -370,7 +370,7 @@ Requires npm credentials with publish rights on `@aigentyc`.
370
370
  ## Where to ask for help
371
371
 
372
372
  - Bugs / feature requests → file in this repo
373
- - Questions about the **platform** (`app.aigentyc.com`) → main monorepo
373
+ - Questions about the **platform** (`app.aigentyc.ai`) → main monorepo
374
374
  - Questions about embedding a chat UI → `@aigentyc/chat-sdk`
375
375
 
376
376
  ---
@@ -561,7 +561,7 @@ config_update({ patch: { systemPrompt: "You are the support agent for ACME..." }
561
561
 
562
562
  ## Versioning
563
563
 
564
- Server (`@aigentyc/mcp` on npm) and platform (`app.aigentyc.com`) version independently. The platform maintains backward compatibility with older MCP releases — endpoints aren't broken without deprecation.
564
+ Server (`@aigentyc/mcp` on npm) and platform (`app.aigentyc.ai`) version independently. The platform maintains backward compatibility with older MCP releases — endpoints aren't broken without deprecation.
565
565
 
566
566
  ---
567
567
 
@@ -570,7 +570,7 @@ Server (`@aigentyc/mcp` on npm) and platform (`app.aigentyc.com`) version indepe
570
570
  All MCP tools registered at server startup, grouped by domain prefix. Use these names verbatim when invoking via an MCP client.
571
571
 
572
572
 
573
- _Total tools: **131**_
573
+ _Total tools: **144**_
574
574
 
575
575
 
576
576
  ### `aigentyc`
@@ -802,6 +802,29 @@ _Total tools: **131**_
802
802
  | `personas_upsert` | Upsert a chat persona identified by `key`. If a persona with that key exists it is patched, otherwise a new one is created. The persona defines tone, response length, language style, and custom instructions for the chat agent when this persona is active. |
803
803
  | `personas_delete` | Delete a persona by key. Destructive. |
804
804
 
805
+ ### `projects`
806
+
807
+ | tool | description |
808
+ | ---- | ----------- |
809
+ | `projects_list` | List every project (profile) configured locally, with its name, label, and projectId, and which one is currently active. Call this first when the user refers to a project by name so you can switch to it with projects_use. |
810
+ | `projects_current` | Return the project all other tools currently target (name, label, projectId, baseUrl). |
811
+ | `projects_use` | Switch the project that every other tool targets. Accepts a profile name, a projectId, or a label. The switch persists across restarts and stays in effect until changed. Use this when the user says 'work on project X'. Returns a get-started snapshot of the project you switched to. |
812
+ | `projects_add` | Save a new project locally so you can switch to it later without leaving the conversation. The API key is project-scoped and stored in ~/.aigentyc/config.json with 0600 permissions. The key is verified against the backend before saving. By default the new project becomes active immediately. |
813
+
814
+ ### `scrapers`
815
+
816
+ | tool | description |
817
+ | ---- | ----------- |
818
+ | `scrapers_list` | List every scraper in the project with its name, start URL, schedule, destinations, and enabled state. Secrets (customHeaders) are never returned. |
819
+ | `scrapers_get` | Fetch one scraper including its full `config` recipe (so it can be edited or re-run). customHeaders are never returned. |
820
+ | `scrapers_create` | Create a scraper. `config.url` and `config.container.selector` are required — build the recipe with scrapers_infer_selectors (or the browser extension) first. Automation: set `cronExpression` for scheduled runs and/or `webhookEnabled` for URL-triggered runs. With neither, it's a saved config you fire manually via scrapers_trigger. Set `destinations.dataStoreId` and/or `destinations.kb` to route results. |
821
+ | `scrapers_update` | Update any subset of a scraper's fields. Changing cronExpression/enabled keeps the backing schedule job in sync. Omitted fields keep their stored values; enabling webhookEnabled mints a token if none exists. |
822
+ | `scrapers_delete` | Delete a scraper and its backing schedule job. Destructive — re-invoke with confirm=true. |
823
+ | `scrapers_trigger` | Enqueue an immediate (manual) run of the scraper's backing job and return its queueId. Fails if the scraper is disabled or has no execution job configured. |
824
+ | `scrapers_runs_list` | Return recent execution attempts (status, durations, errors) plus permanently-failed dead-letter entries for the scraper's job. Empty when the scraper has never run. |
825
+ | `scrapers_run_retry` | Re-queue a dead-letter (permanently failed) run by its queueId. Get queueIds from scrapers_runs_list's `deadLetter` array. |
826
+ | `scrapers_infer_selectors` | Given an HTML fragment of a repeating list, infer the container selector and per-field relative selectors (key, label, type, selector) to build a scrape `config`. Synchronous/interactive. Requires the project to have an OpenAI API key configured. |
827
+
805
828
  ### `tools`
806
829
 
807
830
  | tool | description |
@@ -5,7 +5,7 @@ import { z } from "zod";
5
5
  import { pid, projectIdArg } from "./helpers.js";
6
6
  import { defineTool } from "./types.js";
7
7
  const SUPPORTED_FRAMEWORKS = ["next", "vite", "react", "html"];
8
- const PUBLIC_API_DEFAULT = "https://app.aigentyc.com";
8
+ const PUBLIC_API_DEFAULT = "https://app.aigentyc.ai";
9
9
  function snippet(framework, projectId, apiEndpoint, apiKey) {
10
10
  // If the caller passed an apiKey, inline it. Otherwise emit an env-var
11
11
  // placeholder so the embed works on third-party domains out of the box.
@@ -20,7 +20,7 @@ function snippet(framework, projectId, apiEndpoint, apiKey) {
20
20
  "The CSS import is required — the widget renders unstyled without it.",
21
21
  apiKey
22
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.",
23
+ : "**apiKey is required for embeds on domains other than app.aigentyc.ai.** 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
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
25
  ];
26
26
  const common = {
@@ -1 +1 @@
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
+ {"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/tools/embed.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAoBpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,wBAAgB,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,EAAE,CA6B3D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAsBpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,wBAAgB,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,EAAE,CAgC3D"}
@@ -16,9 +16,13 @@ import { linkSourcesTools } from "./link_sources.js";
16
16
  import { miscTools } from "./misc.js";
17
17
  import { pageQuestionsTools } from "./page_questions.js";
18
18
  import { personasTools } from "./personas.js";
19
+ import { projectsTools } from "./projects.js";
20
+ import { scrapersTools } from "./scrapers.js";
19
21
  import { toolsCrudTools } from "./tools_crud.js";
20
22
  export function allTools(client) {
21
23
  return [
24
+ // Project switching — connect once, then "work on project X" (no re-init).
25
+ ...projectsTools(client),
22
26
  // End-to-end discovery + embedding entry points (call these first).
23
27
  ...embedTools(client),
24
28
  // Content authoring
@@ -28,6 +32,7 @@ export function allTools(client) {
28
32
  ...linkSourcesTools(client),
29
33
  ...pageQuestionsTools(client),
30
34
  ...dataStoresTools(client),
35
+ ...scrapersTools(client),
31
36
  // Custom tools / flows
32
37
  ...toolsCrudTools(client),
33
38
  // Forms (forms + option sources + provider integrations)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,MAAM,UAAU,QAAQ,CAAC,MAAuB;IAC9C,OAAO;QACL,oEAAoE;QACpE,GAAG,UAAU,CAAC,MAAM,CAAC;QACrB,oBAAoB;QACpB,GAAG,cAAc,CAAC,MAAM,CAAC;QACzB,GAAG,UAAU,CAAC,MAAM,CAAC;QACrB,GAAG,YAAY,CAAC,MAAM,CAAC;QACvB,GAAG,gBAAgB,CAAC,MAAM,CAAC;QAC3B,GAAG,kBAAkB,CAAC,MAAM,CAAC;QAC7B,GAAG,eAAe,CAAC,MAAM,CAAC;QAC1B,uBAAuB;QACvB,GAAG,cAAc,CAAC,MAAM,CAAC;QACzB,yDAAyD;QACzD,GAAG,UAAU,CAAC,MAAM,CAAC;QACrB,GAAG,sBAAsB,CAAC,MAAM,CAAC;QACjC,GAAG,iBAAiB,CAAC,MAAM,CAAC;QAC5B,WAAW;QACX,GAAG,kBAAkB,CAAC,MAAM,CAAC;QAC7B,GAAG,gBAAgB,CAAC,MAAM,CAAC;QAC3B,GAAG,aAAa,CAAC,MAAM,CAAC;QACxB,cAAc;QACd,GAAG,WAAW,CAAC,MAAM,CAAC;QACtB,GAAG,YAAY,CAAC,MAAM,CAAC;QACvB,uBAAuB;QACvB,GAAG,SAAS,CAAC,MAAM,CAAC;QACpB,GAAG,SAAS,CAAC,MAAM,CAAC;QACpB,GAAG,cAAc,CAAC,MAAM,CAAC;KAC1B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,MAAM,UAAU,QAAQ,CAAC,MAAuB;IAC9C,OAAO;QACL,2EAA2E;QAC3E,GAAG,aAAa,CAAC,MAAM,CAAC;QACxB,oEAAoE;QACpE,GAAG,UAAU,CAAC,MAAM,CAAC;QACrB,oBAAoB;QACpB,GAAG,cAAc,CAAC,MAAM,CAAC;QACzB,GAAG,UAAU,CAAC,MAAM,CAAC;QACrB,GAAG,YAAY,CAAC,MAAM,CAAC;QACvB,GAAG,gBAAgB,CAAC,MAAM,CAAC;QAC3B,GAAG,kBAAkB,CAAC,MAAM,CAAC;QAC7B,GAAG,eAAe,CAAC,MAAM,CAAC;QAC1B,GAAG,aAAa,CAAC,MAAM,CAAC;QACxB,uBAAuB;QACvB,GAAG,cAAc,CAAC,MAAM,CAAC;QACzB,yDAAyD;QACzD,GAAG,UAAU,CAAC,MAAM,CAAC;QACrB,GAAG,sBAAsB,CAAC,MAAM,CAAC;QACjC,GAAG,iBAAiB,CAAC,MAAM,CAAC;QAC5B,WAAW;QACX,GAAG,kBAAkB,CAAC,MAAM,CAAC;QAC7B,GAAG,gBAAgB,CAAC,MAAM,CAAC;QAC3B,GAAG,aAAa,CAAC,MAAM,CAAC;QACxB,cAAc;QACd,GAAG,WAAW,CAAC,MAAM,CAAC;QACtB,GAAG,YAAY,CAAC,MAAM,CAAC;QACvB,uBAAuB;QACvB,GAAG,SAAS,CAAC,MAAM,CAAC;QACpB,GAAG,SAAS,CAAC,MAAM,CAAC;QACpB,GAAG,cAAc,CAAC,MAAM,CAAC;KAC1B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { DashboardClient } from "../client.js";
2
+ import { type ToolDef } from "./types.js";
3
+ export declare function projectsTools(client: DashboardClient): ToolDef[];
4
+ //# sourceMappingURL=projects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAapD,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAqBtD,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,EAAE,CA6JhE"}
@@ -0,0 +1,164 @@
1
+ import { z } from "zod";
2
+ import { DEFAULT_BASE_URL, loadConfig, requireConfig, saveConfig, setActiveProfile, upsertProfile, } from "../config.js";
3
+ import { AigentycError } from "../errors.js";
4
+ import { verifyKey } from "../verify.js";
5
+ import { defineTool } from "./types.js";
6
+ /**
7
+ * Resolve a profile by its name, projectId, or (case-insensitive) label so the
8
+ * agent can switch using whatever the user said ("beta", "proj_123", ...).
9
+ */
10
+ function resolveProfile(cfg, query) {
11
+ if (cfg.profiles[query])
12
+ return { name: query, profile: cfg.profiles[query] };
13
+ for (const [name, p] of Object.entries(cfg.profiles)) {
14
+ if (p.projectId === query)
15
+ return { name, profile: p };
16
+ }
17
+ const q = query.toLowerCase();
18
+ for (const [name, p] of Object.entries(cfg.profiles)) {
19
+ if (p.label && p.label.toLowerCase() === q)
20
+ return { name, profile: p };
21
+ }
22
+ return null;
23
+ }
24
+ export function projectsTools(client) {
25
+ return [
26
+ defineTool({
27
+ name: "projects_list",
28
+ title: "List configured projects you can switch between",
29
+ description: "List every project (profile) configured locally, with its name, label, and projectId, and which one is currently active. Call this first when the user refers to a project by name so you can switch to it with projects_use.",
30
+ inputSchema: z.object({}),
31
+ handler: async () => {
32
+ const cfg = await requireConfig();
33
+ return {
34
+ active: cfg.activeProfile,
35
+ projects: Object.entries(cfg.profiles).map(([name, p]) => ({
36
+ name,
37
+ label: p.label,
38
+ projectId: p.projectId,
39
+ baseUrl: p.baseUrl,
40
+ isActive: name === cfg.activeProfile,
41
+ })),
42
+ };
43
+ },
44
+ }),
45
+ defineTool({
46
+ name: "projects_current",
47
+ title: "Show the currently active project",
48
+ description: "Return the project all other tools currently target (name, label, projectId, baseUrl).",
49
+ inputSchema: z.object({}),
50
+ handler: async () => {
51
+ const cfg = await requireConfig();
52
+ const p = cfg.profiles[cfg.activeProfile];
53
+ return {
54
+ name: cfg.activeProfile,
55
+ label: p?.label,
56
+ projectId: p?.projectId,
57
+ baseUrl: p?.baseUrl,
58
+ };
59
+ },
60
+ }),
61
+ defineTool({
62
+ name: "projects_use",
63
+ title: "Switch the active project for all subsequent tools",
64
+ description: "Switch the project that every other tool targets. Accepts a profile name, a projectId, or a label. The switch persists across restarts and stays in effect until changed. Use this when the user says 'work on project X'. Returns a get-started snapshot of the project you switched to.",
65
+ inputSchema: z.object({
66
+ project: z
67
+ .string()
68
+ .min(1)
69
+ .describe("Which project to switch to: a profile name, projectId, or label. See projects_list."),
70
+ }),
71
+ handler: async ({ project }) => {
72
+ const cfg = await requireConfig();
73
+ const match = resolveProfile(cfg, project);
74
+ if (!match) {
75
+ throw new AigentycError("NOT_FOUND", `No configured project matches "${project}". Available: ${Object.keys(cfg.profiles).join(", ") || "(none)"}. Add one with projects_add.`);
76
+ }
77
+ // Swap the live credential (apiKey + baseUrl + projectId) and persist.
78
+ client.useProfile(match.profile);
79
+ await saveConfig(setActiveProfile(cfg, match.name));
80
+ let getStarted;
81
+ try {
82
+ getStarted = await client.get(`/api/dashboard/${match.profile.projectId}/get-started`);
83
+ }
84
+ catch (err) {
85
+ getStarted = {
86
+ note: "Switched, but could not load get-started.",
87
+ error: err instanceof Error ? err.message : String(err),
88
+ };
89
+ }
90
+ return {
91
+ switchedTo: match.name,
92
+ label: match.profile.label,
93
+ projectId: match.profile.projectId,
94
+ getStarted,
95
+ };
96
+ },
97
+ }),
98
+ defineTool({
99
+ name: "projects_add",
100
+ title: "Connect a new project (one-time) and optionally switch to it",
101
+ description: "Save a new project locally so you can switch to it later without leaving the conversation. The API key is project-scoped and stored in ~/.aigentyc/config.json with 0600 permissions. The key is verified against the backend before saving. By default the new project becomes active immediately.",
102
+ inputSchema: z.object({
103
+ name: z
104
+ .string()
105
+ .min(1)
106
+ .describe("Profile name to save this project under (used to switch)."),
107
+ projectId: z.string().min(1).describe("The project's ID."),
108
+ apiKey: z
109
+ .string()
110
+ .min(1)
111
+ .describe("Project-scoped API key (e.g. tyco_...)."),
112
+ baseUrl: z
113
+ .string()
114
+ .url()
115
+ .optional()
116
+ .describe(`Backend base URL. Defaults to ${DEFAULT_BASE_URL}.`),
117
+ label: z
118
+ .string()
119
+ .optional()
120
+ .describe("Friendly display name used when listing/switching."),
121
+ allowInsecure: z
122
+ .boolean()
123
+ .optional()
124
+ .describe("Allow plaintext HTTP to non-loopback hosts. Dev only."),
125
+ activate: z
126
+ .boolean()
127
+ .optional()
128
+ .describe("Switch to this project after adding. Default true."),
129
+ }),
130
+ handler: async (args) => {
131
+ const baseUrl = (args.baseUrl ?? DEFAULT_BASE_URL).replace(/\/$/, "");
132
+ const result = await verifyKey({
133
+ baseUrl,
134
+ projectId: args.projectId,
135
+ apiKey: args.apiKey,
136
+ });
137
+ if (!result.ok) {
138
+ throw new AigentycError("UNAUTHORIZED", `${result.error ?? "Key verification failed."} Refusing to save.`);
139
+ }
140
+ const profile = {
141
+ baseUrl,
142
+ projectId: args.projectId,
143
+ apiKey: args.apiKey,
144
+ label: args.label,
145
+ allowInsecure: args.allowInsecure,
146
+ };
147
+ const activate = args.activate !== false;
148
+ const existing = await loadConfig();
149
+ const next = upsertProfile(existing, args.name, profile, activate);
150
+ await saveConfig(next);
151
+ if (activate)
152
+ client.useProfile(profile);
153
+ return {
154
+ added: args.name,
155
+ label: profile.label,
156
+ projectId: profile.projectId,
157
+ activeProfile: next.activeProfile,
158
+ activated: activate,
159
+ };
160
+ },
161
+ }),
162
+ ];
163
+ }
164
+ //# sourceMappingURL=projects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/tools/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAEL,gBAAgB,EAChB,UAAU,EAEV,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAgB,MAAM,YAAY,CAAC;AAEtD;;;GAGG;AACH,SAAS,cAAc,CACrB,GAAmB,EACnB,KAAa;IAEb,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IAC9E,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,CAAC,SAAS,KAAK,KAAK;YAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACzD,CAAC;IACD,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC1E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAuB;IACnD,OAAO;QACL,UAAU,CAAC;YACT,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,iDAAiD;YACxD,WAAW,EACT,+NAA+N;YACjO,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE,CAAC;gBAClC,OAAO;oBACL,MAAM,EAAE,GAAG,CAAC,aAAa;oBACzB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACzD,IAAI;wBACJ,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,QAAQ,EAAE,IAAI,KAAK,GAAG,CAAC,aAAa;qBACrC,CAAC,CAAC;iBACJ,CAAC;YACJ,CAAC;SACF,CAAC;QAEF,UAAU,CAAC;YACT,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,mCAAmC;YAC1C,WAAW,EACT,wFAAwF;YAC1F,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE,CAAC;gBAClC,MAAM,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC1C,OAAO;oBACL,IAAI,EAAE,GAAG,CAAC,aAAa;oBACvB,KAAK,EAAE,CAAC,EAAE,KAAK;oBACf,SAAS,EAAE,CAAC,EAAE,SAAS;oBACvB,OAAO,EAAE,CAAC,EAAE,OAAO;iBACpB,CAAC;YACJ,CAAC;SACF,CAAC;QAEF,UAAU,CAAC;YACT,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,oDAAoD;YAC3D,WAAW,EACT,2RAA2R;YAC7R,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,CAAC;qBACP,MAAM,EAAE;qBACR,GAAG,CAAC,CAAC,CAAC;qBACN,QAAQ,CACP,qFAAqF,CACtF;aACJ,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;gBAC7B,MAAM,GAAG,GAAG,MAAM,aAAa,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,IAAI,aAAa,CACrB,WAAW,EACX,kCAAkC,OAAO,iBACvC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAC1C,8BAA8B,CAC/B,CAAC;gBACJ,CAAC;gBACD,uEAAuE;gBACvE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACjC,MAAM,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAEpD,IAAI,UAAmB,CAAC;gBACxB,IAAI,CAAC;oBACH,UAAU,GAAG,MAAM,MAAM,CAAC,GAAG,CAC3B,kBAAkB,KAAK,CAAC,OAAO,CAAC,SAAS,cAAc,CACxD,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,UAAU,GAAG;wBACX,IAAI,EAAE,2CAA2C;wBACjD,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACxD,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,UAAU,EAAE,KAAK,CAAC,IAAI;oBACtB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;oBAC1B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS;oBAClC,UAAU;iBACX,CAAC;YACJ,CAAC;SACF,CAAC;QAEF,UAAU,CAAC;YACT,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,8DAA8D;YACrE,WAAW,EACT,qSAAqS;YACvS,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;gBACpB,IAAI,EAAE,CAAC;qBACJ,MAAM,EAAE;qBACR,GAAG,CAAC,CAAC,CAAC;qBACN,QAAQ,CAAC,2DAA2D,CAAC;gBACxE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBAC1D,MAAM,EAAE,CAAC;qBACN,MAAM,EAAE;qBACR,GAAG,CAAC,CAAC,CAAC;qBACN,QAAQ,CAAC,yCAAyC,CAAC;gBACtD,OAAO,EAAE,CAAC;qBACP,MAAM,EAAE;qBACR,GAAG,EAAE;qBACL,QAAQ,EAAE;qBACV,QAAQ,CAAC,iCAAiC,gBAAgB,GAAG,CAAC;gBACjE,KAAK,EAAE,CAAC;qBACL,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,oDAAoD,CAAC;gBACjE,aAAa,EAAE,CAAC;qBACb,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CAAC,uDAAuD,CAAC;gBACpE,QAAQ,EAAE,CAAC;qBACR,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,QAAQ,CAAC,oDAAoD,CAAC;aAClE,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACtE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;oBAC7B,OAAO;oBACP,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;iBACpB,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;oBACf,MAAM,IAAI,aAAa,CACrB,cAAc,EACd,GAAG,MAAM,CAAC,KAAK,IAAI,0BAA0B,oBAAoB,CAClE,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,GAAkB;oBAC7B,OAAO;oBACP,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,aAAa,EAAE,IAAI,CAAC,aAAa;iBAClC,CAAC;gBACF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC;gBACzC,MAAM,QAAQ,GAAG,MAAM,UAAU,EAAE,CAAC;gBACpC,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACnE,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;gBACvB,IAAI,QAAQ;oBAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACzC,OAAO;oBACL,KAAK,EAAE,IAAI,CAAC,IAAI;oBAChB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,SAAS,EAAE,QAAQ;iBACpB,CAAC;YACJ,CAAC;SACF,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { DashboardClient } from "../client.js";
2
+ import { type ToolDef } from "./types.js";
3
+ export declare function scrapersTools(client: DashboardClient): ToolDef[];
4
+ //# sourceMappingURL=scrapers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrapers.d.ts","sourceRoot":"","sources":["../../src/tools/scrapers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAoEtD,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,EAAE,CAiLhE"}
@@ -0,0 +1,218 @@
1
+ import { z } from "zod";
2
+ import { pid, projectIdArg } from "./helpers.js";
3
+ import { defineTool } from "./types.js";
4
+ // Scrapers store a ScrapeConfig (the "recipe", normally built by the
5
+ // aigentyc-scraper browser extension) plus execution metadata: where results
6
+ // land (destinations), how to dedup (upsertKey), and when to run (cron /
7
+ // webhook / manual). Creating one provisions a backing cron-service job, so
8
+ // trigger + run history flow through that job.
9
+ const scrapeConfig = z
10
+ .object({
11
+ url: z.string().url().describe("The list/grid page URL to scrape."),
12
+ container: z
13
+ .object({
14
+ selector: z
15
+ .string()
16
+ .min(1)
17
+ .describe("CSS selector matching EVERY repeating item on the page."),
18
+ })
19
+ .passthrough()
20
+ .describe("How to find the repeating items. Use scrapers_infer_selectors to build this."),
21
+ })
22
+ .passthrough()
23
+ .describe("The scrape recipe. Beyond url + container.selector it carries per-field selectors and options (extra keys preserved verbatim).");
24
+ const destinations = z
25
+ .object({
26
+ dataStoreId: z
27
+ .string()
28
+ .optional()
29
+ .describe("Data store the scraped rows are upserted into."),
30
+ kb: z
31
+ .boolean()
32
+ .optional()
33
+ .describe("When true, scraped content is also pushed into the knowledge base."),
34
+ })
35
+ .describe("Where scraped results land. Empty = saved config only.");
36
+ // Fields shared by create + update. Required-ness differs, so create overrides
37
+ // `config` to be mandatory below.
38
+ const sharedFields = {
39
+ name: z.string().optional().describe("Display name. Defaults to the start URL."),
40
+ config: scrapeConfig.optional(),
41
+ upsertKey: z
42
+ .string()
43
+ .nullable()
44
+ .optional()
45
+ .describe("Field key used to dedup rows across runs. null = append-only."),
46
+ destinations: destinations.optional(),
47
+ cronExpression: z
48
+ .string()
49
+ .nullable()
50
+ .optional()
51
+ .describe("5-field cron for scheduled runs. null/omit = no schedule (manual/webhook only)."),
52
+ timezone: z.string().optional().describe("IANA timezone for the cron. Default UTC."),
53
+ webhookEnabled: z
54
+ .boolean()
55
+ .optional()
56
+ .describe("Mint a per-scraper webhook token so runs can be triggered by URL."),
57
+ customHeaders: z
58
+ .record(z.string())
59
+ .nullable()
60
+ .optional()
61
+ .describe("Headers sent on each fetch (e.g. auth). Stored encrypted; never echoed back."),
62
+ enabled: z.boolean().optional().describe("Whether scheduled runs fire. Default true."),
63
+ };
64
+ export function scrapersTools(client) {
65
+ return [
66
+ defineTool({
67
+ name: "scrapers_list",
68
+ title: "List scrapers",
69
+ description: "List every scraper in the project with its name, start URL, schedule, destinations, and enabled state. Secrets (customHeaders) are never returned.",
70
+ inputSchema: z.object({ projectId: projectIdArg }),
71
+ handler: async (args) => {
72
+ const projectId = pid(client, args.projectId);
73
+ return client.get(`/api/dashboard/${projectId}/scrapers`);
74
+ },
75
+ }),
76
+ defineTool({
77
+ name: "scrapers_get",
78
+ title: "Get a scraper",
79
+ description: "Fetch one scraper including its full `config` recipe (so it can be edited or re-run). customHeaders are never returned.",
80
+ inputSchema: z.object({
81
+ projectId: projectIdArg,
82
+ scraperId: z.string().min(1),
83
+ }),
84
+ handler: async (args) => {
85
+ const projectId = pid(client, args.projectId);
86
+ return client.get(`/api/dashboard/${projectId}/scrapers/${encodeURIComponent(args.scraperId)}`);
87
+ },
88
+ }),
89
+ defineTool({
90
+ name: "scrapers_create",
91
+ title: "Create a scraper",
92
+ description: [
93
+ "Create a scraper. `config.url` and `config.container.selector` are required — build the recipe with scrapers_infer_selectors (or the browser extension) first.",
94
+ "",
95
+ "Automation: set `cronExpression` for scheduled runs and/or `webhookEnabled` for URL-triggered runs. With neither, it's a saved config you fire manually via scrapers_trigger.",
96
+ "Set `destinations.dataStoreId` and/or `destinations.kb` to route results.",
97
+ ].join("\n"),
98
+ inputSchema: z.object({
99
+ projectId: projectIdArg,
100
+ ...sharedFields,
101
+ config: scrapeConfig,
102
+ }),
103
+ handler: async (args) => {
104
+ const { projectId: rawPid, ...body } = args;
105
+ const projectId = pid(client, rawPid);
106
+ return client.post(`/api/dashboard/${projectId}/scrapers`, body);
107
+ },
108
+ }),
109
+ defineTool({
110
+ name: "scrapers_update",
111
+ title: "Update a scraper",
112
+ description: "Update any subset of a scraper's fields. Changing cronExpression/enabled keeps the backing schedule job in sync. Omitted fields keep their stored values; enabling webhookEnabled mints a token if none exists.",
113
+ inputSchema: z.object({
114
+ projectId: projectIdArg,
115
+ scraperId: z.string().min(1),
116
+ ...sharedFields,
117
+ }),
118
+ handler: async (args) => {
119
+ const { projectId: rawPid, scraperId, ...body } = args;
120
+ const projectId = pid(client, rawPid);
121
+ return client.put(`/api/dashboard/${projectId}/scrapers/${encodeURIComponent(scraperId)}`, body);
122
+ },
123
+ }),
124
+ defineTool({
125
+ name: "scrapers_delete",
126
+ title: "Delete a scraper",
127
+ description: "Delete a scraper and its backing schedule job. Destructive — re-invoke with confirm=true.",
128
+ inputSchema: z.object({
129
+ projectId: projectIdArg,
130
+ scraperId: z.string().min(1),
131
+ confirm: z.boolean().default(false),
132
+ }),
133
+ handler: async (args) => {
134
+ if (!args.confirm) {
135
+ return {
136
+ deleted: false,
137
+ reason: "Destructive. Re-invoke with confirm=true.",
138
+ };
139
+ }
140
+ const projectId = pid(client, args.projectId);
141
+ return client.delete(`/api/dashboard/${projectId}/scrapers/${encodeURIComponent(args.scraperId)}`);
142
+ },
143
+ }),
144
+ defineTool({
145
+ name: "scrapers_trigger",
146
+ title: "Run a scraper now",
147
+ description: "Enqueue an immediate (manual) run of the scraper's backing job and return its queueId. Fails if the scraper is disabled or has no execution job configured.",
148
+ inputSchema: z.object({
149
+ projectId: projectIdArg,
150
+ scraperId: z.string().min(1),
151
+ }),
152
+ handler: async (args) => {
153
+ const projectId = pid(client, args.projectId);
154
+ return client.post(`/api/dashboard/${projectId}/scrapers/${encodeURIComponent(args.scraperId)}/trigger`);
155
+ },
156
+ }),
157
+ defineTool({
158
+ name: "scrapers_runs_list",
159
+ title: "List scraper run history",
160
+ description: "Return recent execution attempts (status, durations, errors) plus permanently-failed dead-letter entries for the scraper's job. Empty when the scraper has never run.",
161
+ inputSchema: z.object({
162
+ projectId: projectIdArg,
163
+ scraperId: z.string().min(1),
164
+ }),
165
+ handler: async (args) => {
166
+ const projectId = pid(client, args.projectId);
167
+ return client.get(`/api/dashboard/${projectId}/scrapers/${encodeURIComponent(args.scraperId)}/runs`);
168
+ },
169
+ }),
170
+ defineTool({
171
+ name: "scrapers_run_retry",
172
+ title: "Retry a failed scraper run",
173
+ description: "Re-queue a dead-letter (permanently failed) run by its queueId. Get queueIds from scrapers_runs_list's `deadLetter` array.",
174
+ inputSchema: z.object({
175
+ projectId: projectIdArg,
176
+ scraperId: z.string().min(1),
177
+ queueId: z.string().min(1).describe("Dead-letter entry id to retry."),
178
+ }),
179
+ handler: async (args) => {
180
+ const projectId = pid(client, args.projectId);
181
+ return client.post(`/api/dashboard/${projectId}/scrapers/${encodeURIComponent(args.scraperId)}/runs`, { queueId: args.queueId });
182
+ },
183
+ }),
184
+ defineTool({
185
+ name: "scrapers_infer_selectors",
186
+ title: "Infer scraper selectors from HTML",
187
+ description: [
188
+ "Given an HTML fragment of a repeating list, infer the container selector and per-field relative selectors (key, label, type, selector) to build a scrape `config`.",
189
+ "Synchronous/interactive. Requires the project to have an OpenAI API key configured.",
190
+ ].join("\n"),
191
+ inputSchema: z.object({
192
+ projectId: projectIdArg,
193
+ html: z
194
+ .string()
195
+ .min(1)
196
+ .describe("HTML fragment of the list/grid (truncated to ~15k chars server-side)."),
197
+ sample: z
198
+ .object({
199
+ selector: z.string().optional(),
200
+ tagName: z.string().optional(),
201
+ text: z.string().optional(),
202
+ })
203
+ .optional()
204
+ .describe("The example element the user clicked inside one item."),
205
+ mode: z
206
+ .enum(["container", "fields"])
207
+ .optional()
208
+ .describe("Restrict inference to just the container or just the fields."),
209
+ }),
210
+ handler: async (args) => {
211
+ const { projectId: rawPid, ...body } = args;
212
+ const projectId = pid(client, rawPid);
213
+ return client.post(`/api/dashboard/${projectId}/scraper/infer-selectors`, body);
214
+ },
215
+ }),
216
+ ];
217
+ }
218
+ //# sourceMappingURL=scrapers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrapers.js","sourceRoot":"","sources":["../../src/tools/scrapers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Verify a project-scoped API key against a backend, shared by the `login`
3
+ * CLI command and the `projects_add` MCP tool so both apply the same checks.
4
+ *
5
+ * In production the auth-service is fronted at the same origin, so
6
+ * POST /api/auth/api-keys/verify works. In local dev that endpoint 404s, so
7
+ * we fall back to pinging the dashboard documents route — the canonical
8
+ * authenticated surface — and infer acceptance from the status code.
9
+ */
10
+ export interface VerifyResult {
11
+ ok: boolean;
12
+ /** projectId the key is scoped to, when the verify endpoint reported one. */
13
+ scopedProjectId?: string;
14
+ /** Human-readable reason when ok is false. */
15
+ error?: string;
16
+ }
17
+ export declare function verifyKey(args: {
18
+ baseUrl: string;
19
+ projectId: string;
20
+ apiKey: string;
21
+ }): Promise<VerifyResult>;
22
+ //# sourceMappingURL=verify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,YAAY,CAAC,CA+DxB"}
package/dist/verify.js ADDED
@@ -0,0 +1,59 @@
1
+ export async function verifyKey(args) {
2
+ const baseUrl = args.baseUrl.replace(/\/$/, "");
3
+ const verifyUrl = `${baseUrl}/api/auth/api-keys/verify`;
4
+ const pingUrl = `${baseUrl}/api/dashboard/${encodeURIComponent(args.projectId)}/documents?pageSize=1`;
5
+ // 1. auth-service verify endpoint (production path).
6
+ try {
7
+ const res = await fetch(verifyUrl, {
8
+ method: "POST",
9
+ headers: { "Content-Type": "application/json" },
10
+ body: JSON.stringify({ key: args.apiKey }),
11
+ });
12
+ if (res.status !== 404) {
13
+ const body = (await res.json().catch(() => ({})));
14
+ if (!res.ok || !body.valid) {
15
+ return { ok: false, error: body.error || `HTTP ${res.status}` };
16
+ }
17
+ if (body.projectId && body.projectId !== args.projectId) {
18
+ return {
19
+ ok: false,
20
+ scopedProjectId: body.projectId,
21
+ error: `API key is scoped to project ${body.projectId}, not ${args.projectId}.`,
22
+ };
23
+ }
24
+ return { ok: true, scopedProjectId: body.projectId };
25
+ }
26
+ // 404 → auth endpoint not at this origin (dev). Fall through to ping.
27
+ }
28
+ catch (err) {
29
+ return {
30
+ ok: false,
31
+ error: `Could not reach ${verifyUrl}: ${err.message}`,
32
+ };
33
+ }
34
+ // 2. Dashboard ping fallback (dev path).
35
+ try {
36
+ const res = await fetch(pingUrl, {
37
+ method: "GET",
38
+ headers: { Authorization: `Bearer ${args.apiKey}` },
39
+ });
40
+ if (res.status === 401) {
41
+ return { ok: false, error: "Key rejected by dashboard (401)." };
42
+ }
43
+ if (res.status === 403) {
44
+ return {
45
+ ok: false,
46
+ error: "Key accepted but not authorized for this project (403).",
47
+ };
48
+ }
49
+ // 200 or 404 (project not found) → key was accepted by the auth layer.
50
+ return { ok: true };
51
+ }
52
+ catch (err) {
53
+ return {
54
+ ok: false,
55
+ error: `Could not reach ${pingUrl}: ${err.message}`,
56
+ };
57
+ }
58
+ }
59
+ //# sourceMappingURL=verify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAI/B;IACC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,GAAG,OAAO,2BAA2B,CAAC;IACxD,MAAM,OAAO,GAAG,GAAG,OAAO,kBAAkB,kBAAkB,CAC5D,IAAI,CAAC,SAAS,CACf,uBAAuB,CAAC;IAEzB,qDAAqD;IACrD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE;YACjC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;SAC3C,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAI/C,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC3B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;YAClE,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;gBACxD,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,eAAe,EAAE,IAAI,CAAC,SAAS;oBAC/B,KAAK,EAAE,gCAAgC,IAAI,CAAC,SAAS,SAAS,IAAI,CAAC,SAAS,GAAG;iBAChF,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QACvD,CAAC;QACD,sEAAsE;IACxE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,mBAAmB,SAAS,KAAM,GAAa,CAAC,OAAO,EAAE;SACjE,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;YAC/B,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE;SACpD,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC;QAClE,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,yDAAyD;aACjE,CAAC;QACJ,CAAC;QACD,uEAAuE;QACvE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,mBAAmB,OAAO,KAAM,GAAa,CAAC,OAAO,EAAE;SAC/D,CAAC;IACJ,CAAC;AACH,CAAC"}
package/llms.txt CHANGED
@@ -182,4 +182,4 @@ config_update({ patch: { systemPrompt: "You are the support agent for ACME..." }
182
182
 
183
183
  ## Versioning
184
184
 
185
- Server (`@aigentyc/mcp` on npm) and platform (`app.aigentyc.com`) version independently. The platform maintains backward compatibility with older MCP releases — endpoints aren't broken without deprecation.
185
+ Server (`@aigentyc/mcp` on npm) and platform (`app.aigentyc.ai`) version independently. The platform maintains backward compatibility with older MCP releases — endpoints aren't broken without deprecation.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aigentyc/mcp",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Model Context Protocol server for aiGentyc — content & authoring tools for LLM agents",
5
5
  "license": "MIT",
6
6
  "type": "module",