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.
Files changed (141) hide show
  1. package/dist/bin/aimeat.js +0 -0
  2. package/dist/public/views/profile/agents-tab.js +10 -10
  3. package/dist/src/cli/connect/api-client.d.ts +24 -0
  4. package/dist/src/cli/connect/api-client.d.ts.map +1 -0
  5. package/dist/src/cli/connect/api-client.js +73 -0
  6. package/dist/src/cli/connect/api-client.js.map +1 -0
  7. package/dist/src/cli/connect/auth.d.ts +8 -0
  8. package/dist/src/cli/connect/auth.d.ts.map +1 -0
  9. package/dist/src/cli/connect/auth.js +161 -0
  10. package/dist/src/cli/connect/auth.js.map +1 -0
  11. package/dist/src/cli/connect/config.d.ts +15 -0
  12. package/dist/src/cli/connect/config.d.ts.map +1 -0
  13. package/dist/src/cli/connect/config.js +23 -0
  14. package/dist/src/cli/connect/config.js.map +1 -0
  15. package/dist/src/cli/connect/docs.d.ts +2 -0
  16. package/dist/src/cli/connect/docs.d.ts.map +1 -0
  17. package/dist/src/cli/connect/docs.js +41 -0
  18. package/dist/src/cli/connect/docs.js.map +1 -0
  19. package/dist/src/cli/connect/inbox.d.ts +2 -0
  20. package/dist/src/cli/connect/inbox.d.ts.map +1 -0
  21. package/dist/src/cli/connect/inbox.js +32 -0
  22. package/dist/src/cli/connect/inbox.js.map +1 -0
  23. package/dist/src/cli/connect/keychain.d.ts +4 -0
  24. package/dist/src/cli/connect/keychain.d.ts.map +1 -0
  25. package/dist/src/cli/connect/keychain.js +31 -0
  26. package/dist/src/cli/connect/keychain.js.map +1 -0
  27. package/dist/src/cli/connect/mcp/poller.d.ts +11 -0
  28. package/dist/src/cli/connect/mcp/poller.d.ts.map +1 -0
  29. package/dist/src/cli/connect/mcp/poller.js +34 -0
  30. package/dist/src/cli/connect/mcp/poller.js.map +1 -0
  31. package/dist/src/cli/connect/mcp/resources.d.ts +11 -0
  32. package/dist/src/cli/connect/mcp/resources.d.ts.map +1 -0
  33. package/dist/src/cli/connect/mcp/resources.js +25 -0
  34. package/dist/src/cli/connect/mcp/resources.js.map +1 -0
  35. package/dist/src/cli/connect/mcp/server.d.ts +2 -0
  36. package/dist/src/cli/connect/mcp/server.d.ts.map +1 -0
  37. package/dist/src/cli/connect/mcp/server.js +40 -0
  38. package/dist/src/cli/connect/mcp/server.js.map +1 -0
  39. package/dist/src/cli/connect/mcp/tools/agent-caps.d.ts +9 -0
  40. package/dist/src/cli/connect/mcp/tools/agent-caps.d.ts.map +1 -0
  41. package/dist/src/cli/connect/mcp/tools/agent-caps.js +27 -0
  42. package/dist/src/cli/connect/mcp/tools/agent-caps.js.map +1 -0
  43. package/dist/src/cli/connect/mcp/tools/agent-messages.d.ts +9 -0
  44. package/dist/src/cli/connect/mcp/tools/agent-messages.d.ts.map +1 -0
  45. package/dist/src/cli/connect/mcp/tools/agent-messages.js +20 -0
  46. package/dist/src/cli/connect/mcp/tools/agent-messages.js.map +1 -0
  47. package/dist/src/cli/connect/mcp/tools/agent-tasks.d.ts +9 -0
  48. package/dist/src/cli/connect/mcp/tools/agent-tasks.d.ts.map +1 -0
  49. package/dist/src/cli/connect/mcp/tools/agent-tasks.js +57 -0
  50. package/dist/src/cli/connect/mcp/tools/agent-tasks.js.map +1 -0
  51. package/dist/src/cli/connect/mcp/tools/apps.d.ts +9 -0
  52. package/dist/src/cli/connect/mcp/tools/apps.d.ts.map +1 -0
  53. package/dist/src/cli/connect/mcp/tools/apps.js +38 -0
  54. package/dist/src/cli/connect/mcp/tools/apps.js.map +1 -0
  55. package/dist/src/cli/connect/mcp/tools/boards.d.ts +9 -0
  56. package/dist/src/cli/connect/mcp/tools/boards.d.ts.map +1 -0
  57. package/dist/src/cli/connect/mcp/tools/boards.js +56 -0
  58. package/dist/src/cli/connect/mcp/tools/boards.js.map +1 -0
  59. package/dist/src/cli/connect/mcp/tools/capabilities.d.ts +8 -0
  60. package/dist/src/cli/connect/mcp/tools/capabilities.d.ts.map +1 -0
  61. package/dist/src/cli/connect/mcp/tools/capabilities.js +57 -0
  62. package/dist/src/cli/connect/mcp/tools/capabilities.js.map +1 -0
  63. package/dist/src/cli/connect/mcp/tools/catalogue.d.ts +9 -0
  64. package/dist/src/cli/connect/mcp/tools/catalogue.d.ts.map +1 -0
  65. package/dist/src/cli/connect/mcp/tools/catalogue.js +22 -0
  66. package/dist/src/cli/connect/mcp/tools/catalogue.js.map +1 -0
  67. package/dist/src/cli/connect/mcp/tools/consent.d.ts +9 -0
  68. package/dist/src/cli/connect/mcp/tools/consent.d.ts.map +1 -0
  69. package/dist/src/cli/connect/mcp/tools/consent.js +25 -0
  70. package/dist/src/cli/connect/mcp/tools/consent.js.map +1 -0
  71. package/dist/src/cli/connect/mcp/tools/core.d.ts +10 -0
  72. package/dist/src/cli/connect/mcp/tools/core.d.ts.map +1 -0
  73. package/dist/src/cli/connect/mcp/tools/core.js +138 -0
  74. package/dist/src/cli/connect/mcp/tools/core.js.map +1 -0
  75. package/dist/src/cli/connect/mcp/tools/cortex.d.ts +9 -0
  76. package/dist/src/cli/connect/mcp/tools/cortex.d.ts.map +1 -0
  77. package/dist/src/cli/connect/mcp/tools/cortex.js +33 -0
  78. package/dist/src/cli/connect/mcp/tools/cortex.js.map +1 -0
  79. package/dist/src/cli/connect/mcp/tools/extensions.d.ts +9 -0
  80. package/dist/src/cli/connect/mcp/tools/extensions.d.ts.map +1 -0
  81. package/dist/src/cli/connect/mcp/tools/extensions.js +47 -0
  82. package/dist/src/cli/connect/mcp/tools/extensions.js.map +1 -0
  83. package/dist/src/cli/connect/mcp/tools/flags.d.ts +8 -0
  84. package/dist/src/cli/connect/mcp/tools/flags.d.ts.map +1 -0
  85. package/dist/src/cli/connect/mcp/tools/flags.js +12 -0
  86. package/dist/src/cli/connect/mcp/tools/flags.js.map +1 -0
  87. package/dist/src/cli/connect/mcp/tools/groups.d.ts +9 -0
  88. package/dist/src/cli/connect/mcp/tools/groups.d.ts.map +1 -0
  89. package/dist/src/cli/connect/mcp/tools/groups.js +42 -0
  90. package/dist/src/cli/connect/mcp/tools/groups.js.map +1 -0
  91. package/dist/src/cli/connect/mcp/tools/handbook.d.ts +9 -0
  92. package/dist/src/cli/connect/mcp/tools/handbook.d.ts.map +1 -0
  93. package/dist/src/cli/connect/mcp/tools/handbook.js +13 -0
  94. package/dist/src/cli/connect/mcp/tools/handbook.js.map +1 -0
  95. package/dist/src/cli/connect/mcp/tools/index.d.ts +10 -0
  96. package/dist/src/cli/connect/mcp/tools/index.d.ts.map +1 -0
  97. package/dist/src/cli/connect/mcp/tools/index.js +41 -0
  98. package/dist/src/cli/connect/mcp/tools/index.js.map +1 -0
  99. package/dist/src/cli/connect/mcp/tools/instances.d.ts +9 -0
  100. package/dist/src/cli/connect/mcp/tools/instances.d.ts.map +1 -0
  101. package/dist/src/cli/connect/mcp/tools/instances.js +24 -0
  102. package/dist/src/cli/connect/mcp/tools/instances.js.map +1 -0
  103. package/dist/src/cli/connect/mcp/tools/knowledge.d.ts +9 -0
  104. package/dist/src/cli/connect/mcp/tools/knowledge.d.ts.map +1 -0
  105. package/dist/src/cli/connect/mcp/tools/knowledge.js +28 -0
  106. package/dist/src/cli/connect/mcp/tools/knowledge.js.map +1 -0
  107. package/dist/src/cli/connect/mcp/tools/memory-ext.d.ts +9 -0
  108. package/dist/src/cli/connect/mcp/tools/memory-ext.d.ts.map +1 -0
  109. package/dist/src/cli/connect/mcp/tools/memory-ext.js +11 -0
  110. package/dist/src/cli/connect/mcp/tools/memory-ext.js.map +1 -0
  111. package/dist/src/cli/connect/mcp/tools/organisms.d.ts +9 -0
  112. package/dist/src/cli/connect/mcp/tools/organisms.d.ts.map +1 -0
  113. package/dist/src/cli/connect/mcp/tools/organisms.js +32 -0
  114. package/dist/src/cli/connect/mcp/tools/organisms.js.map +1 -0
  115. package/dist/src/cli/connect/mcp/tools/wallet-ext.d.ts +8 -0
  116. package/dist/src/cli/connect/mcp/tools/wallet-ext.d.ts.map +1 -0
  117. package/dist/src/cli/connect/mcp/tools/wallet-ext.js +11 -0
  118. package/dist/src/cli/connect/mcp/tools/wallet-ext.js.map +1 -0
  119. package/dist/src/cli/connect/mcp/wakeup.d.ts +3 -0
  120. package/dist/src/cli/connect/mcp/wakeup.d.ts.map +1 -0
  121. package/dist/src/cli/connect/mcp/wakeup.js +59 -0
  122. package/dist/src/cli/connect/mcp/wakeup.js.map +1 -0
  123. package/dist/src/cli/connect/send.d.ts +2 -0
  124. package/dist/src/cli/connect/send.d.ts.map +1 -0
  125. package/dist/src/cli/connect/send.js +35 -0
  126. package/dist/src/cli/connect/send.js.map +1 -0
  127. package/dist/src/cli/connect/skill-bundle.d.ts +3 -0
  128. package/dist/src/cli/connect/skill-bundle.d.ts.map +1 -0
  129. package/dist/src/cli/connect/skill-bundle.js +28 -0
  130. package/dist/src/cli/connect/skill-bundle.js.map +1 -0
  131. package/dist/src/cli/connect/status.d.ts +2 -0
  132. package/dist/src/cli/connect/status.d.ts.map +1 -0
  133. package/dist/src/cli/connect/status.js +33 -0
  134. package/dist/src/cli/connect/status.js.map +1 -0
  135. package/dist/src/cli/connect/tasks.d.ts +2 -0
  136. package/dist/src/cli/connect/tasks.d.ts.map +1 -0
  137. package/dist/src/cli/connect/tasks.js +32 -0
  138. package/dist/src/cli/connect/tasks.js.map +1 -0
  139. package/dist/src/index.js +112 -0
  140. package/dist/src/index.js.map +1 -1
  141. 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,3 @@
1
+ import type { AimeatConnectConfig } from '../config.js';
2
+ export declare function wakeAgent(config: AimeatConnectConfig, event: string, detail: string): Promise<void>;
3
+ //# sourceMappingURL=wakeup.d.ts.map
@@ -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,2 @@
1
+ export declare function runSend(flags: Record<string, string>): Promise<void>;
2
+ //# sourceMappingURL=send.d.ts.map
@@ -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,3 @@
1
+ import type { AimeatClient } from './api-client.js';
2
+ export declare function downloadSkillBundle(client: AimeatClient, agentName: string): Promise<void>;
3
+ //# sourceMappingURL=skill-bundle.d.ts.map
@@ -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,2 @@
1
+ export declare function runStatus(): Promise<void>;
2
+ //# sourceMappingURL=status.d.ts.map
@@ -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,2 @@
1
+ export declare function runTasks(): Promise<void>;
2
+ //# sourceMappingURL=tasks.d.ts.map
@@ -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 ?? '';