aimeat 1.9.1 → 1.9.3
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/dist/bin/aimeat.js +0 -0
- package/dist/locales/en.json +7 -5
- package/dist/locales/fi.json +7 -5
- package/dist/public/llms-template.txt +2 -2
- package/dist/public/views/portal-classic.js +2 -2
- package/dist/public/views/portal.js +3 -4
- package/dist/public/views/profile/agents-tab.js +79 -123
- package/dist/src/cli/connect/api-client.d.ts +24 -0
- package/dist/src/cli/connect/api-client.d.ts.map +1 -0
- package/dist/src/cli/connect/api-client.js +70 -0
- package/dist/src/cli/connect/api-client.js.map +1 -0
- package/dist/src/cli/connect/auth.d.ts +8 -0
- package/dist/src/cli/connect/auth.d.ts.map +1 -0
- package/dist/src/cli/connect/auth.js +97 -0
- package/dist/src/cli/connect/auth.js.map +1 -0
- package/dist/src/cli/connect/config.d.ts +15 -0
- package/dist/src/cli/connect/config.d.ts.map +1 -0
- package/dist/src/cli/connect/config.js +23 -0
- package/dist/src/cli/connect/config.js.map +1 -0
- package/dist/src/cli/connect/docs.d.ts +2 -0
- package/dist/src/cli/connect/docs.d.ts.map +1 -0
- package/dist/src/cli/connect/docs.js +36 -0
- package/dist/src/cli/connect/docs.js.map +1 -0
- package/dist/src/cli/connect/inbox.d.ts +2 -0
- package/dist/src/cli/connect/inbox.d.ts.map +1 -0
- package/dist/src/cli/connect/inbox.js +20 -0
- package/dist/src/cli/connect/inbox.js.map +1 -0
- package/dist/src/cli/connect/keychain.d.ts +4 -0
- package/dist/src/cli/connect/keychain.d.ts.map +1 -0
- package/dist/src/cli/connect/keychain.js +31 -0
- package/dist/src/cli/connect/keychain.js.map +1 -0
- package/dist/src/cli/connect/mcp/poller.d.ts +8 -0
- package/dist/src/cli/connect/mcp/poller.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/poller.js +34 -0
- package/dist/src/cli/connect/mcp/poller.js.map +1 -0
- package/dist/src/cli/connect/mcp/resources.d.ts +8 -0
- package/dist/src/cli/connect/mcp/resources.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/resources.js +25 -0
- package/dist/src/cli/connect/mcp/resources.js.map +1 -0
- package/dist/src/cli/connect/mcp/server.d.ts +2 -0
- package/dist/src/cli/connect/mcp/server.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/server.js +30 -0
- package/dist/src/cli/connect/mcp/server.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/agent-caps.d.ts +9 -0
- package/dist/src/cli/connect/mcp/tools/agent-caps.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/tools/agent-caps.js +27 -0
- package/dist/src/cli/connect/mcp/tools/agent-caps.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/agent-messages.d.ts +9 -0
- package/dist/src/cli/connect/mcp/tools/agent-messages.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/tools/agent-messages.js +20 -0
- package/dist/src/cli/connect/mcp/tools/agent-messages.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/agent-tasks.d.ts +9 -0
- package/dist/src/cli/connect/mcp/tools/agent-tasks.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/tools/agent-tasks.js +57 -0
- package/dist/src/cli/connect/mcp/tools/agent-tasks.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/apps.d.ts +9 -0
- package/dist/src/cli/connect/mcp/tools/apps.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/tools/apps.js +38 -0
- package/dist/src/cli/connect/mcp/tools/apps.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/boards.d.ts +9 -0
- package/dist/src/cli/connect/mcp/tools/boards.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/tools/boards.js +56 -0
- package/dist/src/cli/connect/mcp/tools/boards.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/capabilities.d.ts +8 -0
- package/dist/src/cli/connect/mcp/tools/capabilities.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/tools/capabilities.js +57 -0
- package/dist/src/cli/connect/mcp/tools/capabilities.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/catalogue.d.ts +9 -0
- package/dist/src/cli/connect/mcp/tools/catalogue.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/tools/catalogue.js +22 -0
- package/dist/src/cli/connect/mcp/tools/catalogue.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/consent.d.ts +9 -0
- package/dist/src/cli/connect/mcp/tools/consent.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/tools/consent.js +25 -0
- package/dist/src/cli/connect/mcp/tools/consent.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/core.d.ts +10 -0
- package/dist/src/cli/connect/mcp/tools/core.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/tools/core.js +138 -0
- package/dist/src/cli/connect/mcp/tools/core.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/cortex.d.ts +9 -0
- package/dist/src/cli/connect/mcp/tools/cortex.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/tools/cortex.js +33 -0
- package/dist/src/cli/connect/mcp/tools/cortex.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/extensions.d.ts +9 -0
- package/dist/src/cli/connect/mcp/tools/extensions.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/tools/extensions.js +47 -0
- package/dist/src/cli/connect/mcp/tools/extensions.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/flags.d.ts +8 -0
- package/dist/src/cli/connect/mcp/tools/flags.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/tools/flags.js +12 -0
- package/dist/src/cli/connect/mcp/tools/flags.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/groups.d.ts +9 -0
- package/dist/src/cli/connect/mcp/tools/groups.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/tools/groups.js +42 -0
- package/dist/src/cli/connect/mcp/tools/groups.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/handbook.d.ts +9 -0
- package/dist/src/cli/connect/mcp/tools/handbook.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/tools/handbook.js +13 -0
- package/dist/src/cli/connect/mcp/tools/handbook.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/index.d.ts +10 -0
- package/dist/src/cli/connect/mcp/tools/index.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/tools/index.js +41 -0
- package/dist/src/cli/connect/mcp/tools/index.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/instances.d.ts +9 -0
- package/dist/src/cli/connect/mcp/tools/instances.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/tools/instances.js +24 -0
- package/dist/src/cli/connect/mcp/tools/instances.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/knowledge.d.ts +9 -0
- package/dist/src/cli/connect/mcp/tools/knowledge.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/tools/knowledge.js +28 -0
- package/dist/src/cli/connect/mcp/tools/knowledge.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/memory-ext.d.ts +9 -0
- package/dist/src/cli/connect/mcp/tools/memory-ext.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/tools/memory-ext.js +11 -0
- package/dist/src/cli/connect/mcp/tools/memory-ext.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/organisms.d.ts +9 -0
- package/dist/src/cli/connect/mcp/tools/organisms.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/tools/organisms.js +32 -0
- package/dist/src/cli/connect/mcp/tools/organisms.js.map +1 -0
- package/dist/src/cli/connect/mcp/tools/wallet-ext.d.ts +8 -0
- package/dist/src/cli/connect/mcp/tools/wallet-ext.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/tools/wallet-ext.js +11 -0
- package/dist/src/cli/connect/mcp/tools/wallet-ext.js.map +1 -0
- package/dist/src/cli/connect/mcp/wakeup.d.ts +3 -0
- package/dist/src/cli/connect/mcp/wakeup.d.ts.map +1 -0
- package/dist/src/cli/connect/mcp/wakeup.js +59 -0
- package/dist/src/cli/connect/mcp/wakeup.js.map +1 -0
- package/dist/src/cli/connect/send.d.ts +2 -0
- package/dist/src/cli/connect/send.d.ts.map +1 -0
- package/dist/src/cli/connect/send.js +24 -0
- package/dist/src/cli/connect/send.js.map +1 -0
- package/dist/src/cli/connect/skill-bundle.d.ts +3 -0
- package/dist/src/cli/connect/skill-bundle.d.ts.map +1 -0
- package/dist/src/cli/connect/skill-bundle.js +25 -0
- package/dist/src/cli/connect/skill-bundle.js.map +1 -0
- package/dist/src/cli/connect/status.d.ts +2 -0
- package/dist/src/cli/connect/status.d.ts.map +1 -0
- package/dist/src/cli/connect/status.js +30 -0
- package/dist/src/cli/connect/status.js.map +1 -0
- package/dist/src/cli/connect/tasks.d.ts +2 -0
- package/dist/src/cli/connect/tasks.d.ts.map +1 -0
- package/dist/src/cli/connect/tasks.js +22 -0
- package/dist/src/cli/connect/tasks.js.map +1 -0
- package/dist/src/index.js +86 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/prompts.d.ts +4 -3
- package/dist/src/mcp/prompts.d.ts.map +1 -1
- package/dist/src/mcp/prompts.js +6 -5
- package/dist/src/mcp/prompts.js.map +1 -1
- package/dist/src/routes/agents.js +7 -7
- package/dist/src/routes/agents.js.map +1 -1
- package/dist/src/routes/bootstrap.js +1 -1
- package/dist/src/routes/bootstrap.js.map +1 -1
- package/dist/src/routes/lib-storage.d.ts.map +1 -1
- package/dist/src/routes/lib-storage.js +6 -1
- package/dist/src/routes/lib-storage.js.map +1 -1
- package/dist/src/routes/libs.js +3 -0
- package/dist/src/routes/libs.js.map +1 -1
- package/dist/src/routes/profile.js +1 -1
- package/dist/src/routes/prompts.d.ts +1 -0
- package/dist/src/routes/prompts.d.ts.map +1 -1
- package/dist/src/routes/prompts.js +89 -82
- package/dist/src/routes/prompts.js.map +1 -1
- package/dist/src/server-bootstrap/routes-loader.d.ts.map +1 -1
- package/dist/src/server-bootstrap/routes-loader.js +4 -0
- package/dist/src/server-bootstrap/routes-loader.js.map +1 -1
- package/dist/src/services/prompt-defaults.d.ts.map +1 -1
- package/dist/src/services/prompt-defaults.js +47 -27
- package/dist/src/services/prompt-defaults.js.map +1 -1
- package/package.json +77 -97
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/cli/connect/config.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,eAAe,GAAG,eAAe,GAAG,cAAc,GAAG,cAAc,CAAC;KAChF,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAKD,wBAAgB,YAAY,IAAI,MAAM,CAAuB;AAE7D,wBAAgB,UAAU,IAAI,mBAAmB,GAAG,IAAI,CAIvD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAG5D"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file config.ts
|
|
3
|
+
* @description Configuration loader for ~/.aimeat/config.yaml
|
|
4
|
+
*/
|
|
5
|
+
import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
|
|
6
|
+
import { join } from 'node:path';
|
|
7
|
+
import { homedir } from 'node:os';
|
|
8
|
+
import { parse, stringify } from 'yaml';
|
|
9
|
+
const CONFIG_DIR = join(homedir(), '.aimeat');
|
|
10
|
+
const CONFIG_FILE = join(CONFIG_DIR, 'config.yaml');
|
|
11
|
+
export function getConfigDir() { return CONFIG_DIR; }
|
|
12
|
+
export function loadConfig() {
|
|
13
|
+
if (!existsSync(CONFIG_FILE))
|
|
14
|
+
return null;
|
|
15
|
+
const raw = readFileSync(CONFIG_FILE, 'utf-8');
|
|
16
|
+
return parse(raw);
|
|
17
|
+
}
|
|
18
|
+
export function saveConfig(config) {
|
|
19
|
+
if (!existsSync(CONFIG_DIR))
|
|
20
|
+
mkdirSync(CONFIG_DIR, { recursive: true });
|
|
21
|
+
writeFileSync(CONFIG_FILE, stringify(config), 'utf-8');
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/cli/connect/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAcxC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;AAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAEpD,MAAM,UAAU,YAAY,KAAa,OAAO,UAAU,CAAC,CAAC,CAAC;AAE7D,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1C,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC,GAAG,CAAwB,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAA2B;IACpD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,aAAa,CAAC,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../../../src/cli/connect/docs.ts"],"names":[],"mappings":"AASA,wBAAsB,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB5D"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file docs.ts
|
|
3
|
+
* @description CLI subcommand: view documentation
|
|
4
|
+
*/
|
|
5
|
+
import { AimeatClient } from './api-client.js';
|
|
6
|
+
import { readFileSync, existsSync } from 'node:fs';
|
|
7
|
+
import { join } from 'node:path';
|
|
8
|
+
import { getConfigDir, loadConfig } from './config.js';
|
|
9
|
+
export async function runDocs(module) {
|
|
10
|
+
if (!module) {
|
|
11
|
+
const config = loadConfig();
|
|
12
|
+
const skillPath = config ? join(getConfigDir(), config.agent, 'SKILL.md') : null;
|
|
13
|
+
if (skillPath && existsSync(skillPath)) {
|
|
14
|
+
console.log(readFileSync(skillPath, 'utf-8'));
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
console.log('No local docs found. Run: npx @aimeat/connect refresh');
|
|
18
|
+
console.log('Or specify a module: npx @aimeat/connect docs tasks');
|
|
19
|
+
}
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
const client = await AimeatClient.fromConfig();
|
|
24
|
+
const resp = await client.get(`/v1/agents/me/handbook/${encodeURIComponent(module)}`);
|
|
25
|
+
if (!resp.ok) {
|
|
26
|
+
console.error(`Module "${module}" not found.`);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const data = resp.data;
|
|
30
|
+
console.log(data.system_prompt ?? JSON.stringify(data, null, 2));
|
|
31
|
+
}
|
|
32
|
+
catch (e) {
|
|
33
|
+
console.error(e.message);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=docs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs.js","sourceRoot":"","sources":["../../../../src/cli/connect/docs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAe;IAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjF,IAAI,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QACrE,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,0BAA0B,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YAAC,OAAO,CAAC,KAAK,CAAC,WAAW,MAAM,cAAc,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAkC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QAAC,OAAO,CAAC,KAAK,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;IAAC,CAAC;AACtD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inbox.d.ts","sourceRoot":"","sources":["../../../../src/cli/connect/inbox.ts"],"names":[],"mappings":"AAMA,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAO9C"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file inbox.ts
|
|
3
|
+
* @description CLI subcommand: check message inbox
|
|
4
|
+
*/
|
|
5
|
+
import { AimeatClient } from './api-client.js';
|
|
6
|
+
export async function runInbox() {
|
|
7
|
+
const client = await AimeatClient.fromConfig();
|
|
8
|
+
const resp = await client.get('/v1/agents/me/messages/inbox');
|
|
9
|
+
if (!resp.ok) {
|
|
10
|
+
console.error('Failed to fetch inbox:', resp.error);
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
const messages = resp.data?.messages ?? [];
|
|
14
|
+
if (messages.length === 0) {
|
|
15
|
+
console.log('Inbox empty.');
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
console.log(JSON.stringify(messages, null, 2));
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=inbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inbox.js","sourceRoot":"","sources":["../../../../src/cli/connect/inbox.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC9D,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QAAC,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAC9E,MAAM,QAAQ,GAAI,IAAI,CAAC,IAAiC,EAAE,QAAQ,IAAI,EAAE,CAAC;IACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function storeToken(agent: string, owner: string, token: string): Promise<void>;
|
|
2
|
+
export declare function getToken(agent: string, owner: string): Promise<string | null>;
|
|
3
|
+
export declare function deleteToken(agent: string, owner: string): Promise<boolean>;
|
|
4
|
+
//# sourceMappingURL=keychain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keychain.d.ts","sourceRoot":"","sources":["../../../../src/cli/connect/keychain.ts"],"names":[],"mappings":"AAeA,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3F;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAInF;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAKhF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file keychain.ts
|
|
3
|
+
* @description Token storage abstraction. Uses a file-based fallback since keytar
|
|
4
|
+
* requires native compilation and may not be available in all environments.
|
|
5
|
+
*/
|
|
6
|
+
import { readFileSync, writeFileSync, existsSync, unlinkSync, mkdirSync } from 'node:fs';
|
|
7
|
+
import { join } from 'node:path';
|
|
8
|
+
import { getConfigDir } from './config.js';
|
|
9
|
+
function tokenPath(agent, owner) {
|
|
10
|
+
const dir = join(getConfigDir(), 'tokens');
|
|
11
|
+
if (!existsSync(dir))
|
|
12
|
+
mkdirSync(dir, { recursive: true });
|
|
13
|
+
return join(dir, `${agent}@${owner}.token`);
|
|
14
|
+
}
|
|
15
|
+
export async function storeToken(agent, owner, token) {
|
|
16
|
+
writeFileSync(tokenPath(agent, owner), token, { mode: 0o600 });
|
|
17
|
+
}
|
|
18
|
+
export async function getToken(agent, owner) {
|
|
19
|
+
const p = tokenPath(agent, owner);
|
|
20
|
+
if (!existsSync(p))
|
|
21
|
+
return null;
|
|
22
|
+
return readFileSync(p, 'utf-8').trim();
|
|
23
|
+
}
|
|
24
|
+
export async function deleteToken(agent, owner) {
|
|
25
|
+
const p = tokenPath(agent, owner);
|
|
26
|
+
if (!existsSync(p))
|
|
27
|
+
return false;
|
|
28
|
+
unlinkSync(p);
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=keychain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keychain.js","sourceRoot":"","sources":["../../../../src/cli/connect/keychain.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,SAAS,SAAS,CAAC,KAAa,EAAE,KAAa;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC3C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,KAAK,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAa,EAAE,KAAa,EAAE,KAAa;IAC1E,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAa,EAAE,KAAa;IACzD,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAa,EAAE,KAAa;IAC5D,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACjC,UAAU,CAAC,CAAC,CAAC,CAAC;IACd,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file poller.ts
|
|
3
|
+
* @description Background poller for new tasks and messages. Triggers agent wake-up.
|
|
4
|
+
*/
|
|
5
|
+
import type { AimeatClient } from '../api-client.js';
|
|
6
|
+
import type { AimeatConnectConfig } from '../config.js';
|
|
7
|
+
export declare function startPoller(client: AimeatClient, config: AimeatConnectConfig): void;
|
|
8
|
+
//# sourceMappingURL=poller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poller.d.ts","sourceRoot":"","sources":["../../../../../src/cli/connect/mcp/poller.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAMxD,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,mBAAmB,GAAG,IAAI,CA+BnF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { wakeAgent } from './wakeup.js';
|
|
2
|
+
let lastTaskCount = -1;
|
|
3
|
+
let lastMessageCount = -1;
|
|
4
|
+
export function startPoller(client, config) {
|
|
5
|
+
const interval = (config.poll_interval ?? 30) * 1000;
|
|
6
|
+
const enc = encodeURIComponent(config.agent);
|
|
7
|
+
async function poll() {
|
|
8
|
+
try {
|
|
9
|
+
const tasksResp = await client.get(`/v1/agents/${enc}/tasks?status=queued`);
|
|
10
|
+
if (tasksResp.ok) {
|
|
11
|
+
const tasks = tasksResp.data?.tasks ?? [];
|
|
12
|
+
if (lastTaskCount >= 0 && tasks.length > lastTaskCount) {
|
|
13
|
+
await wakeAgent(config, 'task_new', `${tasks.length - lastTaskCount} new task(s) queued`);
|
|
14
|
+
}
|
|
15
|
+
lastTaskCount = tasks.length;
|
|
16
|
+
}
|
|
17
|
+
const msgResp = await client.get('/v1/agents/me/messages/inbox');
|
|
18
|
+
if (msgResp.ok) {
|
|
19
|
+
const messages = msgResp.data?.messages ?? [];
|
|
20
|
+
if (lastMessageCount >= 0 && messages.length > lastMessageCount) {
|
|
21
|
+
await wakeAgent(config, 'message_new', `${messages.length - lastMessageCount} new message(s)`);
|
|
22
|
+
}
|
|
23
|
+
lastMessageCount = messages.length;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
catch (err) {
|
|
27
|
+
console.error(`[poller] Error: ${err.message}`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
poll();
|
|
31
|
+
setInterval(poll, interval);
|
|
32
|
+
console.error(`[poller] Polling every ${config.poll_interval ?? 30}s for tasks and messages`);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=poller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poller.js","sourceRoot":"","sources":["../../../../../src/cli/connect/mcp/poller.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC;AACvB,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAC;AAE1B,MAAM,UAAU,WAAW,CAAC,MAAoB,EAAE,MAA2B;IAC3E,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACrD,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE7C,KAAK,UAAU,IAAI;QACjB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,GAAG,sBAAsB,CAAC,CAAC;YAC5E,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAI,SAAS,CAAC,IAA8B,EAAE,KAAK,IAAI,EAAE,CAAC;gBACrE,IAAI,aAAa,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;oBACvD,MAAM,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,MAAM,GAAG,aAAa,qBAAqB,CAAC,CAAC;gBAC5F,CAAC;gBACD,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;YAC/B,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;YACjE,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAI,OAAO,CAAC,IAAiC,EAAE,QAAQ,IAAI,EAAE,CAAC;gBAC5E,IAAI,gBAAgB,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;oBAChE,MAAM,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC,MAAM,GAAG,gBAAgB,iBAAiB,CAAC,CAAC;gBACjG,CAAC;gBACD,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC;YACrC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,mBAAoB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,IAAI,EAAE,CAAC;IACP,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5B,OAAO,CAAC,KAAK,CAAC,0BAA0B,MAAM,CAAC,aAAa,IAAI,EAAE,0BAA0B,CAAC,CAAC;AAChG,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file resources.ts
|
|
3
|
+
* @description MCP resource providers for handbook, skill bundle, and reference docs.
|
|
4
|
+
*/
|
|
5
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
6
|
+
import type { AimeatClient } from '../api-client.js';
|
|
7
|
+
export declare function registerResources(mcp: McpServer, client: AimeatClient): void;
|
|
8
|
+
//# sourceMappingURL=resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../../../src/cli/connect/mcp/resources.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAOrD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAmC5E"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { readFileSync, existsSync } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { getConfigDir, loadConfig } from '../config.js';
|
|
4
|
+
const MODULES = ['tasks', 'messages', 'work', 'services', 'memory', 'activity', 'social', 'collaboration', 'appdev', 'mcp'];
|
|
5
|
+
export function registerResources(mcp, client) {
|
|
6
|
+
mcp.resource('handbook', 'aimeat://handbook', { mimeType: 'application/json', description: 'Agent operating handbook' }, async (uri) => {
|
|
7
|
+
const resp = await client.get('/v1/agents/me/handbook');
|
|
8
|
+
return { contents: [{ uri: uri.toString(), text: JSON.stringify(resp.data, null, 2), mimeType: 'application/json' }] };
|
|
9
|
+
});
|
|
10
|
+
for (const mod of MODULES) {
|
|
11
|
+
mcp.resource(`handbook-${mod}`, `aimeat://handbook/${mod}`, { mimeType: 'application/json', description: `Handbook module: ${mod}` }, async (uri) => {
|
|
12
|
+
const resp = await client.get(`/v1/agents/me/handbook/${mod}`);
|
|
13
|
+
return { contents: [{ uri: uri.toString(), text: JSON.stringify(resp.data, null, 2), mimeType: 'application/json' }] };
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
mcp.resource('skill-bundle', 'aimeat://skill-bundle', { mimeType: 'text/markdown', description: 'Cached SKILL.md from last download' }, async (uri) => {
|
|
17
|
+
const config = loadConfig();
|
|
18
|
+
if (!config)
|
|
19
|
+
return { contents: [{ uri: uri.toString(), text: 'Not configured.' }] };
|
|
20
|
+
const path = join(getConfigDir(), config.agent, 'SKILL.md');
|
|
21
|
+
const text = existsSync(path) ? readFileSync(path, 'utf-8') : 'No skill bundle cached. Run: npx @aimeat/connect refresh';
|
|
22
|
+
return { contents: [{ uri: uri.toString(), text, mimeType: 'text/markdown' }] };
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=resources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../../../src/cli/connect/mcp/resources.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAExD,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAE5H,MAAM,UAAU,iBAAiB,CAAC,GAAc,EAAE,MAAoB;IACpE,GAAG,CAAC,QAAQ,CACV,UAAU,EACV,mBAAmB,EACnB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,0BAA0B,EAAE,EACzE,KAAK,EAAE,GAAG,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACxD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;IACzH,CAAC,CACF,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,GAAG,CAAC,QAAQ,CACV,YAAY,GAAG,EAAE,EACjB,qBAAqB,GAAG,EAAE,EAC1B,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,GAAG,EAAE,EAAE,EACxE,KAAK,EAAE,GAAG,EAAE,EAAE;YACZ,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;YAC/D,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC;QACzH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,QAAQ,CACV,cAAc,EACd,uBAAuB,EACvB,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,oCAAoC,EAAE,EAChF,KAAK,EAAE,GAAG,EAAE,EAAE;QACZ,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;QACrF,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,0DAA0D,CAAC;QACzH,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC;IAClF,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../../src/cli/connect/mcp/server.ts"],"names":[],"mappings":"AAYA,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB5E"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file server.ts
|
|
3
|
+
* @description MCP server entry point. Registers all tools and resources, starts transport.
|
|
4
|
+
*/
|
|
5
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
6
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
7
|
+
import { AimeatClient } from '../api-client.js';
|
|
8
|
+
import { loadConfig } from '../config.js';
|
|
9
|
+
import { registerAllTools } from './tools/index.js';
|
|
10
|
+
import { registerResources } from './resources.js';
|
|
11
|
+
import { startPoller } from './poller.js';
|
|
12
|
+
export async function runServe(_flags) {
|
|
13
|
+
const config = loadConfig();
|
|
14
|
+
if (!config) {
|
|
15
|
+
console.error('Not configured. Run: npx @aimeat/connect');
|
|
16
|
+
process.exit(1);
|
|
17
|
+
}
|
|
18
|
+
const client = await AimeatClient.fromConfig();
|
|
19
|
+
const mcp = new McpServer({
|
|
20
|
+
name: 'aimeat-connect',
|
|
21
|
+
version: '0.1.0',
|
|
22
|
+
});
|
|
23
|
+
registerAllTools(mcp, client, config.agent);
|
|
24
|
+
registerResources(mcp, client);
|
|
25
|
+
startPoller(client, config);
|
|
26
|
+
const transport = new StdioServerTransport();
|
|
27
|
+
await mcp.connect(transport);
|
|
28
|
+
console.error(`AIMEAT MCP server running (agent: ${config.agent}, node: ${config.node_url})`);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../../src/cli/connect/mcp/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAA8B;IAC3D,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;IAE/C,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC;QACxB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5C,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAE/B,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7B,OAAO,CAAC,KAAK,CAAC,qCAAqC,MAAM,CAAC,KAAK,WAAW,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;AAChG,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file agent-caps.ts
|
|
3
|
+
* @description MCP tool registrations for reporting agent capabilities and
|
|
4
|
+
* viewing activity statistics.
|
|
5
|
+
*/
|
|
6
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
7
|
+
import type { AimeatClient } from '../../api-client.js';
|
|
8
|
+
export declare function registerAgentCapsTools(mcp: McpServer, client: AimeatClient, agentName?: string): void;
|
|
9
|
+
//# sourceMappingURL=agent-caps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-caps.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/connect/mcp/tools/agent-caps.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAuBrG"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export function registerAgentCapsTools(mcp, client, agentName) {
|
|
3
|
+
const enc = encodeURIComponent(agentName);
|
|
4
|
+
mcp.tool('aimeat_agent_capabilities_report', 'Report agent capabilities to the node', {
|
|
5
|
+
technical: z.array(z.object({
|
|
6
|
+
name: z.string(),
|
|
7
|
+
type: z.string(),
|
|
8
|
+
})).optional().describe('Technical capabilities'),
|
|
9
|
+
domain: z.array(z.string()).optional().describe('Domain expertise areas'),
|
|
10
|
+
languages: z.array(z.string()).optional().describe('Supported languages'),
|
|
11
|
+
}, async ({ technical, domain, languages }) => {
|
|
12
|
+
const body = {};
|
|
13
|
+
if (technical)
|
|
14
|
+
body.technical = technical;
|
|
15
|
+
if (domain)
|
|
16
|
+
body.domain = domain;
|
|
17
|
+
if (languages)
|
|
18
|
+
body.languages = languages;
|
|
19
|
+
const resp = await client.put(`/v1/agents/${enc}/capabilities`, body);
|
|
20
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
21
|
+
});
|
|
22
|
+
mcp.tool('aimeat_agent_activity', 'View agent activity statistics', {}, async () => {
|
|
23
|
+
const resp = await client.get(`/v1/agents/${enc}/activity`);
|
|
24
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=agent-caps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-caps.js","sourceRoot":"","sources":["../../../../../../src/cli/connect/mcp/tools/agent-caps.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,sBAAsB,CAAC,GAAc,EAAE,MAAoB,EAAE,SAAkB;IAC7F,MAAM,GAAG,GAAG,kBAAkB,CAAC,SAAU,CAAC,CAAC;IAE3C,GAAG,CAAC,IAAI,CAAC,kCAAkC,EAAE,uCAAuC,EAAE;QACpF,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;SACjB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACjD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACzE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;KAC1E,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE;QAC5C,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC1C,IAAI,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACjC,IAAI,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,GAAG,eAAe,EAAE,IAAI,CAAC,CAAC;QACtE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpG,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,gCAAgC,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,GAAG,WAAW,CAAC,CAAC;QAC5D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpG,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file agent-messages.ts
|
|
3
|
+
* @description MCP tool registrations for agent-to-agent messaging. Routes are
|
|
4
|
+
* scoped to the connected agent via /v1/agents/{name}/messages.
|
|
5
|
+
*/
|
|
6
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
7
|
+
import type { AimeatClient } from '../../api-client.js';
|
|
8
|
+
export declare function registerAgentMessagesTools(mcp: McpServer, client: AimeatClient, agentName?: string): void;
|
|
9
|
+
//# sourceMappingURL=agent-messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-messages.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/connect/mcp/tools/agent-messages.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAkBzG"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export function registerAgentMessagesTools(mcp, client, agentName) {
|
|
3
|
+
const enc = encodeURIComponent(agentName);
|
|
4
|
+
mcp.tool('aimeat_message_inbox', 'Get pending inbound messages', {}, async () => {
|
|
5
|
+
const resp = await client.get(`/v1/agents/${enc}/messages/inbox`);
|
|
6
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
7
|
+
});
|
|
8
|
+
mcp.tool('aimeat_message_send', 'Send a message to another agent', {
|
|
9
|
+
to: z.string().describe('Recipient GAII'),
|
|
10
|
+
body: z.string().describe('Message body'),
|
|
11
|
+
metadata: z.record(z.string(), z.unknown()).optional().describe('Optional metadata key-value pairs'),
|
|
12
|
+
}, async ({ to, body, metadata }) => {
|
|
13
|
+
const payload = { to, body };
|
|
14
|
+
if (metadata)
|
|
15
|
+
payload.metadata = metadata;
|
|
16
|
+
const resp = await client.post(`/v1/agents/${enc}/messages`, payload);
|
|
17
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=agent-messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-messages.js","sourceRoot":"","sources":["../../../../../../src/cli/connect/mcp/tools/agent-messages.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,0BAA0B,CAAC,GAAc,EAAE,MAAoB,EAAE,SAAkB;IACjG,MAAM,GAAG,GAAG,kBAAkB,CAAC,SAAU,CAAC,CAAC;IAE3C,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,8BAA8B,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,GAAG,iBAAiB,CAAC,CAAC;QAClE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpG,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,iCAAiC,EAAE;QACjE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;KACrG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;QAClC,MAAM,OAAO,GAA4B,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtD,IAAI,QAAQ;YAAE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,cAAc,GAAG,WAAW,EAAE,OAAO,CAAC,CAAC;QACtE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpG,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file agent-tasks.ts
|
|
3
|
+
* @description MCP tool registrations for agent task management. All routes
|
|
4
|
+
* are scoped to the connected agent via /v1/agents/{name}/tasks.
|
|
5
|
+
*/
|
|
6
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
7
|
+
import type { AimeatClient } from '../../api-client.js';
|
|
8
|
+
export declare function registerAgentTasksTools(mcp: McpServer, client: AimeatClient, agentName?: string): void;
|
|
9
|
+
//# sourceMappingURL=agent-tasks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-tasks.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/connect/mcp/tools/agent-tasks.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CA+DtG"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export function registerAgentTasksTools(mcp, client, agentName) {
|
|
3
|
+
const enc = encodeURIComponent(agentName);
|
|
4
|
+
mcp.tool('aimeat_task_list', 'List tasks for the connected agent', {
|
|
5
|
+
status: z.string().optional().describe('Filter by task status'),
|
|
6
|
+
}, async ({ status }) => {
|
|
7
|
+
const qs = status ? `?status=${encodeURIComponent(status)}` : '';
|
|
8
|
+
const resp = await client.get(`/v1/agents/${enc}/tasks${qs}`);
|
|
9
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
10
|
+
});
|
|
11
|
+
mcp.tool('aimeat_task_get', 'Get task detail', {
|
|
12
|
+
task_id: z.string().describe('Task identifier'),
|
|
13
|
+
}, async ({ task_id }) => {
|
|
14
|
+
const resp = await client.get(`/v1/agents/${enc}/tasks/${encodeURIComponent(task_id)}`);
|
|
15
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
16
|
+
});
|
|
17
|
+
mcp.tool('aimeat_task_start', 'Start a queued task', {
|
|
18
|
+
task_id: z.string().describe('Task identifier'),
|
|
19
|
+
}, async ({ task_id }) => {
|
|
20
|
+
const resp = await client.post(`/v1/agents/${enc}/tasks/${encodeURIComponent(task_id)}/start`);
|
|
21
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
22
|
+
});
|
|
23
|
+
mcp.tool('aimeat_task_event', 'Append a progress event to a task', {
|
|
24
|
+
task_id: z.string().describe('Task identifier'),
|
|
25
|
+
type: z.string().describe('Event type'),
|
|
26
|
+
message: z.string().describe('Event message'),
|
|
27
|
+
}, async ({ task_id, type, message }) => {
|
|
28
|
+
const resp = await client.post(`/v1/agents/${enc}/tasks/${encodeURIComponent(task_id)}/event`, { type, message });
|
|
29
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
30
|
+
});
|
|
31
|
+
mcp.tool('aimeat_task_todo', 'Update a TODO item status within a task', {
|
|
32
|
+
task_id: z.string().describe('Task identifier'),
|
|
33
|
+
todo_id: z.string().describe('TODO item identifier'),
|
|
34
|
+
status: z.string().describe('New status for the TODO item'),
|
|
35
|
+
}, async ({ task_id, todo_id, status }) => {
|
|
36
|
+
const resp = await client.patch(`/v1/agents/${enc}/tasks/${encodeURIComponent(task_id)}/todos/${encodeURIComponent(todo_id)}`, { status });
|
|
37
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
38
|
+
});
|
|
39
|
+
mcp.tool('aimeat_task_complete', 'Complete a task', {
|
|
40
|
+
task_id: z.string().describe('Task identifier'),
|
|
41
|
+
summary: z.string().optional().describe('Completion summary'),
|
|
42
|
+
}, async ({ task_id, summary }) => {
|
|
43
|
+
const body = {};
|
|
44
|
+
if (summary)
|
|
45
|
+
body.summary = summary;
|
|
46
|
+
const resp = await client.post(`/v1/agents/${enc}/tasks/${encodeURIComponent(task_id)}/complete`, body);
|
|
47
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
48
|
+
});
|
|
49
|
+
mcp.tool('aimeat_task_fail', 'Fail a task with a reason', {
|
|
50
|
+
task_id: z.string().describe('Task identifier'),
|
|
51
|
+
reason: z.string().describe('Failure reason'),
|
|
52
|
+
}, async ({ task_id, reason }) => {
|
|
53
|
+
const resp = await client.post(`/v1/agents/${enc}/tasks/${encodeURIComponent(task_id)}/fail`, { reason });
|
|
54
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=agent-tasks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-tasks.js","sourceRoot":"","sources":["../../../../../../src/cli/connect/mcp/tools/agent-tasks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file apps.ts
|
|
3
|
+
* @description MCP tool registrations for app/package management -- publishing,
|
|
4
|
+
* listing, retrieving, archiving versions, and version history.
|
|
5
|
+
*/
|
|
6
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
7
|
+
import type { AimeatClient } from '../../api-client.js';
|
|
8
|
+
export declare function registerAppsTools(mcp: McpServer, client: AimeatClient): void;
|
|
9
|
+
//# sourceMappingURL=apps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/connect/mcp/tools/apps.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CA0C5E"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export function registerAppsTools(mcp, client) {
|
|
3
|
+
mcp.tool('aimeat_app_publish', 'Publish an app package', {
|
|
4
|
+
name: z.string().describe('App name'),
|
|
5
|
+
description: z.string().describe('App description'),
|
|
6
|
+
content: z.string().describe('App content'),
|
|
7
|
+
}, async ({ name, description, content }) => {
|
|
8
|
+
const resp = await client.post('/v1/packages', { name, description, content });
|
|
9
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
10
|
+
});
|
|
11
|
+
mcp.tool('aimeat_app_list', 'List available apps', {
|
|
12
|
+
query: z.string().optional().describe('Search query'),
|
|
13
|
+
}, async ({ query }) => {
|
|
14
|
+
const qs = query ? `?q=${encodeURIComponent(query)}` : '';
|
|
15
|
+
const resp = await client.get(`/v1/packages${qs}`);
|
|
16
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
17
|
+
});
|
|
18
|
+
mcp.tool('aimeat_app_get', 'Get app detail by group ID', {
|
|
19
|
+
group_id: z.string().describe('App group identifier'),
|
|
20
|
+
}, async ({ group_id }) => {
|
|
21
|
+
const resp = await client.get(`/v1/packages/${encodeURIComponent(group_id)}`);
|
|
22
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
23
|
+
});
|
|
24
|
+
mcp.tool('aimeat_app_delete', 'Archive an app version', {
|
|
25
|
+
group_id: z.string().describe('App group identifier'),
|
|
26
|
+
version: z.string().describe('Version to archive'),
|
|
27
|
+
}, async ({ group_id, version }) => {
|
|
28
|
+
const resp = await client.delete(`/v1/packages/${encodeURIComponent(group_id)}/versions/${encodeURIComponent(version)}`);
|
|
29
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
30
|
+
});
|
|
31
|
+
mcp.tool('aimeat_app_versions', 'List app version history', {
|
|
32
|
+
group_id: z.string().describe('App group identifier'),
|
|
33
|
+
}, async ({ group_id }) => {
|
|
34
|
+
const resp = await client.get(`/v1/packages/${encodeURIComponent(group_id)}/versions`);
|
|
35
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=apps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apps.js","sourceRoot":"","sources":["../../../../../../src/cli/connect/mcp/tools/apps.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,iBAAiB,CAAC,GAAc,EAAE,MAAoB;IAEpE,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,wBAAwB,EAAE;QACvD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QACrC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACnD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;KAC5C,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpG,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,qBAAqB,EAAE;QACjD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;KACtD,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QACrB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACnD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpG,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,4BAA4B,EAAE;QACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;KACtD,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,gBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC9E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpG,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,wBAAwB,EAAE;QACtD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACrD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;KACnD,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAC9B,gBAAgB,kBAAkB,CAAC,QAAQ,CAAC,aAAa,kBAAkB,CAAC,OAAO,CAAC,EAAE,CACvF,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpG,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,0BAA0B,EAAE;QAC1D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;KACtD,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,gBAAgB,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACvF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpG,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file boards.ts
|
|
3
|
+
* @description MCP tool registrations for board management -- creating, listing,
|
|
4
|
+
* subscribing, reacting, replying, member updates, and deletion.
|
|
5
|
+
*/
|
|
6
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
7
|
+
import type { AimeatClient } from '../../api-client.js';
|
|
8
|
+
export declare function registerBoardsTools(mcp: McpServer, client: AimeatClient): void;
|
|
9
|
+
//# sourceMappingURL=boards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boards.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/connect/mcp/tools/boards.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAmE9E"}
|