aimeat 1.9.2 → 1.9.4
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/public/views/profile/agents-tab.js +10 -10
- 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 +73 -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 +161 -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 +41 -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 +32 -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 +11 -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 +11 -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 +40 -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 +35 -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 +28 -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 +33 -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 +32 -0
- package/dist/src/cli/connect/tasks.js.map +1 -0
- package/dist/src/index.js +112 -0
- package/dist/src/index.js.map +1 -1
- package/package.json +77 -97
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export function registerMemoryExtTools(mcp, client) {
|
|
3
|
+
mcp.tool('aimeat_memory_read_public', 'Read another agent\'s public memory entry', {
|
|
4
|
+
gaii: z.string().describe('Target agent or owner GAII/GHII'),
|
|
5
|
+
key: z.string().describe('Memory entry key'),
|
|
6
|
+
}, async ({ gaii, key }) => {
|
|
7
|
+
const resp = await client.get(`/v1/memory/${encodeURIComponent(gaii)}/${encodeURIComponent(key)}`);
|
|
8
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=memory-ext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-ext.js","sourceRoot":"","sources":["../../../../../../src/cli/connect/mcp/tools/memory-ext.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,sBAAsB,CAAC,GAAc,EAAE,MAAoB;IAEzE,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,2CAA2C,EAAE;QACjF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAC5D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;KAC7C,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE;QACzB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAC3B,cAAc,kBAAkB,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CACpE,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;AACL,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file organisms.ts
|
|
3
|
+
* @description MCP tool registrations for organism (collective) management --
|
|
4
|
+
* listing, viewing, joining, leaving, and member listing.
|
|
5
|
+
*/
|
|
6
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
7
|
+
import type { AimeatClient } from '../../api-client.js';
|
|
8
|
+
export declare function registerOrganismsTools(mcp: McpServer, client: AimeatClient): void;
|
|
9
|
+
//# sourceMappingURL=organisms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organisms.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/connect/mcp/tools/organisms.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,GAAG,IAAI,CAkCjF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export function registerOrganismsTools(mcp, client) {
|
|
3
|
+
mcp.tool('aimeat_organism_list', 'List organisms', {}, async () => {
|
|
4
|
+
const resp = await client.get('/v1/organisms');
|
|
5
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
6
|
+
});
|
|
7
|
+
mcp.tool('aimeat_organism_get', 'Get organism detail', {
|
|
8
|
+
id: z.string().describe('Organism identifier'),
|
|
9
|
+
}, async ({ id }) => {
|
|
10
|
+
const resp = await client.get(`/v1/organisms/${encodeURIComponent(id)}`);
|
|
11
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
12
|
+
});
|
|
13
|
+
mcp.tool('aimeat_organism_join', 'Join an organism', {
|
|
14
|
+
id: z.string().describe('Organism identifier'),
|
|
15
|
+
}, async ({ id }) => {
|
|
16
|
+
const resp = await client.post(`/v1/organisms/${encodeURIComponent(id)}/join`);
|
|
17
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
18
|
+
});
|
|
19
|
+
mcp.tool('aimeat_organism_leave', 'Leave an organism', {
|
|
20
|
+
id: z.string().describe('Organism identifier'),
|
|
21
|
+
}, async ({ id }) => {
|
|
22
|
+
const resp = await client.post(`/v1/organisms/${encodeURIComponent(id)}/leave`);
|
|
23
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
24
|
+
});
|
|
25
|
+
mcp.tool('aimeat_organism_members', 'List organism members', {
|
|
26
|
+
id: z.string().describe('Organism identifier'),
|
|
27
|
+
}, async ({ id }) => {
|
|
28
|
+
const resp = await client.get(`/v1/organisms/${encodeURIComponent(id)}/members`);
|
|
29
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=organisms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organisms.js","sourceRoot":"","sources":["../../../../../../src/cli/connect/mcp/tools/organisms.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file wallet-ext.ts
|
|
3
|
+
* @description MCP tool registration for wallet transaction history.
|
|
4
|
+
*/
|
|
5
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
6
|
+
import type { AimeatClient } from '../../api-client.js';
|
|
7
|
+
export declare function registerWalletExtTools(mcp: McpServer, client: AimeatClient): void;
|
|
8
|
+
//# sourceMappingURL=wallet-ext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet-ext.d.ts","sourceRoot":"","sources":["../../../../../../src/cli/connect/mcp/tools/wallet-ext.ts"],"names":[],"mappings":"AAAA;;;GAGG;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,GAAG,IAAI,CASjF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export function registerWalletExtTools(mcp, client) {
|
|
3
|
+
mcp.tool('aimeat_wallet_transactions', 'View morsel wallet transaction history', {
|
|
4
|
+
limit: z.number().optional().describe('Maximum transactions to return'),
|
|
5
|
+
}, async ({ limit }) => {
|
|
6
|
+
const qs = limit !== undefined ? `?limit=${limit}` : '';
|
|
7
|
+
const resp = await client.get(`/v1/wallet/transactions${qs}`);
|
|
8
|
+
return { content: [{ type: 'text', text: JSON.stringify(resp.data ?? resp, null, 2) }] };
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=wallet-ext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet-ext.js","sourceRoot":"","sources":["../../../../../../src/cli/connect/mcp/tools/wallet-ext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,sBAAsB,CAAC,GAAc,EAAE,MAAoB;IAEzE,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,wCAAwC,EAAE;QAC/E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;KACxE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QACrB,MAAM,EAAE,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;QAC9D,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 @@
|
|
|
1
|
+
{"version":3,"file":"wakeup.d.ts","sourceRoot":"","sources":["../../../../../src/cli/connect/mcp/wakeup.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,wBAAsB,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCzG"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file wakeup.ts
|
|
3
|
+
* @description Agent wake-up via shell command or webhook POST.
|
|
4
|
+
*/
|
|
5
|
+
import { exec } from 'node:child_process';
|
|
6
|
+
export async function wakeAgent(config, event, detail) {
|
|
7
|
+
const wake = config.wake;
|
|
8
|
+
if (!wake)
|
|
9
|
+
return;
|
|
10
|
+
const strategy = wake.strategy ?? 'command_first';
|
|
11
|
+
const command = wake.command?.replace('{{agent}}', config.agent);
|
|
12
|
+
const webhook = wake.webhook;
|
|
13
|
+
if ((strategy === 'command_only' || strategy === 'command_first') && command) {
|
|
14
|
+
try {
|
|
15
|
+
await execCommand(command);
|
|
16
|
+
console.error(`[wake] Command succeeded: ${command}`);
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
catch (err) {
|
|
20
|
+
console.error(`[wake] Command failed: ${err.message}`);
|
|
21
|
+
if (strategy === 'command_only')
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if ((strategy === 'webhook_only' || strategy === 'webhook_first' || strategy === 'command_first') && webhook) {
|
|
26
|
+
try {
|
|
27
|
+
await fetch(webhook, {
|
|
28
|
+
method: 'POST',
|
|
29
|
+
headers: { 'Content-Type': 'application/json' },
|
|
30
|
+
body: JSON.stringify({ event, agent: config.agent, detail }),
|
|
31
|
+
});
|
|
32
|
+
console.error(`[wake] Webhook POST succeeded: ${webhook}`);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
console.error(`[wake] Webhook failed: ${err.message}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
if (strategy === 'webhook_first' && command) {
|
|
40
|
+
try {
|
|
41
|
+
await execCommand(command);
|
|
42
|
+
console.error(`[wake] Command fallback succeeded: ${command}`);
|
|
43
|
+
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
console.error(`[wake] Command fallback failed: ${err.message}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function execCommand(cmd) {
|
|
50
|
+
return new Promise((resolve, reject) => {
|
|
51
|
+
exec(cmd, { timeout: 10_000 }, (err) => {
|
|
52
|
+
if (err)
|
|
53
|
+
reject(err);
|
|
54
|
+
else
|
|
55
|
+
resolve();
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=wakeup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wakeup.js","sourceRoot":"","sources":["../../../../../src/cli/connect/mcp/wakeup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAG1C,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAA2B,EAAE,KAAa,EAAE,MAAc;IACxF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,eAAe,CAAC;IAClD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAE7B,IAAI,CAAC,QAAQ,KAAK,cAAc,IAAI,QAAQ,KAAK,eAAe,CAAC,IAAI,OAAO,EAAE,CAAC;QAC7E,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,0BAA2B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAClE,IAAI,QAAQ,KAAK,cAAc;gBAAE,OAAO;QAC1C,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,KAAK,cAAc,IAAI,QAAQ,KAAK,eAAe,IAAI,QAAQ,KAAK,eAAe,CAAC,IAAI,OAAO,EAAE,CAAC;QAC7G,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,OAAO,EAAE;gBACnB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;aAC7D,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,kCAAkC,OAAO,EAAE,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,0BAA2B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,KAAK,eAAe,IAAI,OAAO,EAAE,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,sCAAsC,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,mCAAoC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;YACrC,IAAI,GAAG;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;gBAChB,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../../src/cli/connect/send.ts"],"names":[],"mappings":"AAUA,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB1E"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file send.ts
|
|
3
|
+
* @description CLI subcommand: send a message
|
|
4
|
+
* @structure Validates message flags and posts an agent message through the authenticated connector client.
|
|
5
|
+
* @usage Called by `aimeat connect send --to <GAII> --body <message>`.
|
|
6
|
+
* @version-history v1.9.4 — 2026-05-28 — Update connector guidance and fail missing arguments with a nonzero exit.
|
|
7
|
+
*/
|
|
8
|
+
import { AimeatClient } from './api-client.js';
|
|
9
|
+
import { loadConfig } from './config.js';
|
|
10
|
+
export async function runSend(flags) {
|
|
11
|
+
if (!flags.to || !flags.body) {
|
|
12
|
+
console.error('Usage: npx aimeat connect send --to GAII --body "message"');
|
|
13
|
+
process.exitCode = 1;
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
try {
|
|
17
|
+
const client = await AimeatClient.fromConfig();
|
|
18
|
+
const config = loadConfig();
|
|
19
|
+
const resp = await client.post(`/v1/agents/${encodeURIComponent(config.agent)}/messages`, {
|
|
20
|
+
to: flags.to,
|
|
21
|
+
body: flags.body,
|
|
22
|
+
});
|
|
23
|
+
if (!resp.ok) {
|
|
24
|
+
console.error('Failed to send:', resp.error);
|
|
25
|
+
process.exitCode = 1;
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
console.log('Message sent.');
|
|
29
|
+
}
|
|
30
|
+
catch (e) {
|
|
31
|
+
console.error(e.message);
|
|
32
|
+
process.exitCode = 1;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=send.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../../../src/cli/connect/send.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAA6B;IACzD,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC3E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,UAAU,EAAG,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,cAAc,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE;YACxF,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-bundle.d.ts","sourceRoot":"","sources":["../../../../src/cli/connect/skill-bundle.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBhG"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file skill-bundle.ts
|
|
3
|
+
* @description Download and cache the agent's skill bundle ZIP.
|
|
4
|
+
* @structure Fetches the authenticated skill bundle archive and stores the ZIP plus a local SKILL.md pointer.
|
|
5
|
+
* @usage Called after `aimeat connect` auth and by `aimeat connect refresh`.
|
|
6
|
+
* @version-history v1.9.4 — 2026-05-28 — Close one-shot CLI HTTP connections after bundle downloads.
|
|
7
|
+
*/
|
|
8
|
+
import { writeFileSync, mkdirSync, existsSync } from 'node:fs';
|
|
9
|
+
import { join } from 'node:path';
|
|
10
|
+
import { getConfigDir } from './config.js';
|
|
11
|
+
export async function downloadSkillBundle(client, agentName) {
|
|
12
|
+
const bundleDir = join(getConfigDir(), agentName);
|
|
13
|
+
if (!existsSync(bundleDir))
|
|
14
|
+
mkdirSync(bundleDir, { recursive: true });
|
|
15
|
+
const url = `${client.getBaseUrl()}/v1/agents/${encodeURIComponent(agentName)}/skill-bundle`;
|
|
16
|
+
const token = client.getTokenValue();
|
|
17
|
+
const headers = { Connection: 'close' };
|
|
18
|
+
if (token)
|
|
19
|
+
headers['Authorization'] = `Bearer ${token}`;
|
|
20
|
+
const res = await fetch(url, { headers });
|
|
21
|
+
if (!res.ok)
|
|
22
|
+
throw new Error(`Skill bundle download failed: ${res.status}`);
|
|
23
|
+
const buffer = Buffer.from(await res.arrayBuffer());
|
|
24
|
+
const zipPath = join(bundleDir, 'skill-bundle.zip');
|
|
25
|
+
writeFileSync(zipPath, buffer);
|
|
26
|
+
writeFileSync(join(bundleDir, 'SKILL.md'), `# Skill Bundle\n\nDownloaded from ${client.getBaseUrl()}\nExtract skill-bundle.zip for full reference.\n`);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=skill-bundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-bundle.js","sourceRoot":"","sources":["../../../../src/cli/connect/skill-bundle.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAoB,EAAE,SAAiB;IAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtE,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,cAAc,kBAAkB,CAAC,SAAS,CAAC,eAAe,CAAC;IAC7F,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;IACrC,MAAM,OAAO,GAA2B,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;IAChE,IAAI,KAAK;QAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;IAExD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAE5E,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IACpD,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/B,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EACvC,qCAAqC,MAAM,CAAC,UAAU,EAAE,kDAAkD,CAAC,CAAC;AAChH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../src/cli/connect/status.ts"],"names":[],"mappings":"AAUA,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAiB/C"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file status.ts
|
|
3
|
+
* @description CLI subcommand: show agent status
|
|
4
|
+
* @structure Loads connector config, verifies the stored token, and prints the current agent identity.
|
|
5
|
+
* @usage Called by `aimeat connect status` and `aimeat connect whoami`.
|
|
6
|
+
* @version-history v1.9.4 — 2026-05-28 — Update connector guidance and use the name-based inbox endpoint.
|
|
7
|
+
*/
|
|
8
|
+
import { AimeatClient } from './api-client.js';
|
|
9
|
+
import { loadConfig } from './config.js';
|
|
10
|
+
export async function runStatus() {
|
|
11
|
+
const config = loadConfig();
|
|
12
|
+
if (!config) {
|
|
13
|
+
console.log('Not configured. Run: npx aimeat connect');
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
console.log(`Agent: ${config.agent}`);
|
|
17
|
+
console.log(`Owner: ${config.owner}`);
|
|
18
|
+
console.log(`Node: ${config.node_url}`);
|
|
19
|
+
try {
|
|
20
|
+
const client = await AimeatClient.fromConfig();
|
|
21
|
+
const resp = await client.get('/v1/wallet');
|
|
22
|
+
if (resp.ok) {
|
|
23
|
+
const wallet = resp.data;
|
|
24
|
+
console.log(`Balance: ${wallet.balance ?? 'unknown'} morsels`);
|
|
25
|
+
}
|
|
26
|
+
const me = await client.get(`/v1/agents/${encodeURIComponent(config.agent)}/inbox`);
|
|
27
|
+
console.log(`Status: ${me.ok ? 'Connected' : 'Token invalid'}`);
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
console.log('Status: Not connected');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../../src/cli/connect/status.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,IAAI,CAAC,IAA4B,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,OAAO,IAAI,SAAS,UAAU,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAAC,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../../../src/cli/connect/tasks.ts"],"names":[],"mappings":"AAUA,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAiB9C"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file tasks.ts
|
|
3
|
+
* @description CLI subcommand: list assigned tasks
|
|
4
|
+
* @structure Loads connector credentials, fetches agent tasks, and prints them as JSON.
|
|
5
|
+
* @usage Called by `aimeat connect tasks`.
|
|
6
|
+
* @version-history v1.9.4 — 2026-05-28 — Handle missing config and request failures without stack traces.
|
|
7
|
+
*/
|
|
8
|
+
import { AimeatClient } from './api-client.js';
|
|
9
|
+
import { loadConfig } from './config.js';
|
|
10
|
+
export async function runTasks() {
|
|
11
|
+
try {
|
|
12
|
+
const client = await AimeatClient.fromConfig();
|
|
13
|
+
const config = loadConfig();
|
|
14
|
+
const resp = await client.get(`/v1/agents/${encodeURIComponent(config.agent)}/tasks`);
|
|
15
|
+
if (!resp.ok) {
|
|
16
|
+
console.error('Failed to fetch tasks:', resp.error);
|
|
17
|
+
process.exitCode = 1;
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const tasks = resp.data?.tasks ?? [];
|
|
21
|
+
if (tasks.length === 0) {
|
|
22
|
+
console.log('No tasks.');
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
console.log(JSON.stringify(tasks, null, 2));
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
console.error(e.message);
|
|
29
|
+
process.exitCode = 1;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=tasks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../../../src/cli/connect/tasks.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,UAAU,EAAG,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtF,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACpD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAI,IAAI,CAAC,IAA8B,EAAE,KAAK,IAAI,EAAE,CAAC;QAChE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* @file index.ts
|
|
4
|
+
* @description Main AIMEAT CLI entry point, including node management commands and agent connector dispatch.
|
|
5
|
+
* @structure Parses top-level CLI flags, routes subcommands, starts the server, and delegates connector commands.
|
|
6
|
+
* @usage Executed through the published `aimeat` binary.
|
|
7
|
+
* @version-history v1.9.4 — 2026-05-28 — Allow agent connector flags and drain async auth handles before exit.
|
|
8
|
+
*/
|
|
2
9
|
import { parseArgs } from 'node:util';
|
|
3
10
|
import { readFileSync, writeFileSync, existsSync } from 'node:fs';
|
|
4
11
|
import { dirname, join } from 'node:path';
|
|
@@ -29,6 +36,11 @@ const { values, positionals } = parseArgs({
|
|
|
29
36
|
format: { type: 'string' },
|
|
30
37
|
file: { type: 'string' },
|
|
31
38
|
from: { type: 'string' },
|
|
39
|
+
url: { type: 'string' },
|
|
40
|
+
owner: { type: 'string' },
|
|
41
|
+
agent: { type: 'string' },
|
|
42
|
+
to: { type: 'string' },
|
|
43
|
+
body: { type: 'string' },
|
|
32
44
|
help: { type: 'boolean', short: 'h' },
|
|
33
45
|
version: { type: 'boolean', short: 'v' },
|
|
34
46
|
},
|
|
@@ -50,6 +62,15 @@ USAGE
|
|
|
50
62
|
aimeat maintenance on [MSG] Enable maintenance mode (optional message)
|
|
51
63
|
aimeat maintenance off Disable maintenance mode
|
|
52
64
|
aimeat maintenance Show maintenance status
|
|
65
|
+
aimeat connect [opts] Connect an AI agent (device auth flow)
|
|
66
|
+
aimeat connect serve Start MCP server for connected agent
|
|
67
|
+
aimeat connect status Show agent connection status
|
|
68
|
+
aimeat connect inbox Check message inbox
|
|
69
|
+
aimeat connect tasks List assigned tasks
|
|
70
|
+
aimeat connect send [opts] Send a message (--to GAII --body "text")
|
|
71
|
+
aimeat connect docs [module] View agent handbook / module docs
|
|
72
|
+
aimeat connect refresh Re-download skill bundle
|
|
73
|
+
aimeat connect logout Remove stored credentials
|
|
53
74
|
aimeat seed Seed example packages (digital signage, etc.)
|
|
54
75
|
aimeat backup [FILE] Export all data to JSON
|
|
55
76
|
aimeat restore <FILE> Import data from JSON backup
|
|
@@ -352,6 +373,97 @@ else if (subcommand === 'restore') {
|
|
|
352
373
|
}
|
|
353
374
|
});
|
|
354
375
|
}
|
|
376
|
+
else if (subcommand === 'connect') {
|
|
377
|
+
const connectAction = positionals[1];
|
|
378
|
+
let shouldExitAfterConnect = true;
|
|
379
|
+
let connectExitDelayMs = 0;
|
|
380
|
+
// Parse --url, --owner, --agent, --to, --body from raw argv
|
|
381
|
+
const rawArgs = process.argv.slice(2);
|
|
382
|
+
const connectFlags = {};
|
|
383
|
+
for (let i = 0; i < rawArgs.length; i++) {
|
|
384
|
+
if (rawArgs[i].startsWith('--') && rawArgs[i + 1] && !rawArgs[i + 1].startsWith('--')) {
|
|
385
|
+
connectFlags[rawArgs[i].slice(2)] = rawArgs[++i];
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
if (connectAction === 'serve') {
|
|
389
|
+
const { runServe } = await import('./cli/connect/mcp/server.js');
|
|
390
|
+
await runServe(connectFlags);
|
|
391
|
+
shouldExitAfterConnect = false;
|
|
392
|
+
}
|
|
393
|
+
else if (connectAction === 'inbox') {
|
|
394
|
+
const { runInbox } = await import('./cli/connect/inbox.js');
|
|
395
|
+
await runInbox();
|
|
396
|
+
}
|
|
397
|
+
else if (connectAction === 'tasks') {
|
|
398
|
+
const { runTasks } = await import('./cli/connect/tasks.js');
|
|
399
|
+
await runTasks();
|
|
400
|
+
}
|
|
401
|
+
else if (connectAction === 'send') {
|
|
402
|
+
const { runSend } = await import('./cli/connect/send.js');
|
|
403
|
+
await runSend(connectFlags);
|
|
404
|
+
}
|
|
405
|
+
else if (connectAction === 'status' || connectAction === 'whoami') {
|
|
406
|
+
const { runStatus } = await import('./cli/connect/status.js');
|
|
407
|
+
await runStatus();
|
|
408
|
+
}
|
|
409
|
+
else if (connectAction === 'docs') {
|
|
410
|
+
const { runDocs } = await import('./cli/connect/docs.js');
|
|
411
|
+
await runDocs(positionals[2]);
|
|
412
|
+
}
|
|
413
|
+
else if (connectAction === 'refresh') {
|
|
414
|
+
const { AimeatClient } = await import('./cli/connect/api-client.js');
|
|
415
|
+
const { downloadSkillBundle } = await import('./cli/connect/skill-bundle.js');
|
|
416
|
+
const { loadConfig, getConfigDir } = await import('./cli/connect/config.js');
|
|
417
|
+
const cfg = loadConfig();
|
|
418
|
+
if (!cfg) {
|
|
419
|
+
console.error('Not configured. Run: npx aimeat connect');
|
|
420
|
+
process.exit(1);
|
|
421
|
+
}
|
|
422
|
+
try {
|
|
423
|
+
const cl = await AimeatClient.fromConfig();
|
|
424
|
+
await downloadSkillBundle(cl, cfg.agent);
|
|
425
|
+
console.log(`Skill bundle refreshed at ${getConfigDir()}/${cfg.agent}/`);
|
|
426
|
+
}
|
|
427
|
+
catch (e) {
|
|
428
|
+
console.error(e.message);
|
|
429
|
+
process.exit(1);
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
else if (connectAction === 'logout') {
|
|
433
|
+
const { deleteToken } = await import('./cli/connect/keychain.js');
|
|
434
|
+
const { loadConfig } = await import('./cli/connect/config.js');
|
|
435
|
+
const cfg = loadConfig();
|
|
436
|
+
if (cfg) {
|
|
437
|
+
await deleteToken(cfg.agent, cfg.owner);
|
|
438
|
+
console.log('Credentials removed.');
|
|
439
|
+
}
|
|
440
|
+
else
|
|
441
|
+
console.log('Not configured.');
|
|
442
|
+
}
|
|
443
|
+
else if (connectAction === 'config') {
|
|
444
|
+
const { loadConfig, getConfigDir } = await import('./cli/connect/config.js');
|
|
445
|
+
const c = loadConfig();
|
|
446
|
+
if (c)
|
|
447
|
+
console.log(JSON.stringify(c, null, 2));
|
|
448
|
+
else
|
|
449
|
+
console.log(`No config found. Expected at: ${getConfigDir()}/config.yaml`);
|
|
450
|
+
}
|
|
451
|
+
else {
|
|
452
|
+
// Default: run auth
|
|
453
|
+
const { runAuth } = await import('./cli/connect/auth.js');
|
|
454
|
+
await runAuth({
|
|
455
|
+
url: connectFlags.url,
|
|
456
|
+
owner: connectFlags.owner,
|
|
457
|
+
agent: connectFlags.agent,
|
|
458
|
+
});
|
|
459
|
+
connectExitDelayMs = 250;
|
|
460
|
+
}
|
|
461
|
+
if (shouldExitAfterConnect) {
|
|
462
|
+
if (connectExitDelayMs > 0)
|
|
463
|
+
await new Promise(resolve => setTimeout(resolve, connectExitDelayMs));
|
|
464
|
+
process.exit(process.exitCode ?? 0);
|
|
465
|
+
}
|
|
466
|
+
}
|
|
355
467
|
else if (subcommand === 'seed') {
|
|
356
468
|
const baseUrl = `http://localhost:${config.port}`;
|
|
357
469
|
const adminPw = config.adminPassword ?? '';
|