@terminals-tech/agent-zero 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. package/README.md +209 -0
  2. package/bin/agent-zero.js +332 -0
  3. package/dist/agency/commandRouter.d.ts +48 -0
  4. package/dist/agency/commandRouter.d.ts.map +1 -0
  5. package/dist/agency/commandRouter.js +343 -0
  6. package/dist/agency/commandRouter.js.map +1 -0
  7. package/dist/agency/runtime.d.ts +66 -0
  8. package/dist/agency/runtime.d.ts.map +1 -0
  9. package/dist/agency/runtime.js +247 -0
  10. package/dist/agency/runtime.js.map +1 -0
  11. package/dist/agency/summaryGenerator.d.ts +39 -0
  12. package/dist/agency/summaryGenerator.d.ts.map +1 -0
  13. package/dist/agency/summaryGenerator.js +110 -0
  14. package/dist/agency/summaryGenerator.js.map +1 -0
  15. package/dist/agency/summaryScheduler.d.ts +33 -0
  16. package/dist/agency/summaryScheduler.d.ts.map +1 -0
  17. package/dist/agency/summaryScheduler.js +68 -0
  18. package/dist/agency/summaryScheduler.js.map +1 -0
  19. package/dist/browser/agent-runtime/RuntimePanel.d.ts +20 -0
  20. package/dist/browser/agent-runtime/RuntimePanel.d.ts.map +1 -0
  21. package/dist/browser/agent-runtime/RuntimePanel.js +203 -0
  22. package/dist/browser/agent-runtime/RuntimePanel.js.map +1 -0
  23. package/dist/browser/agent-runtime/config.d.ts +28 -0
  24. package/dist/browser/agent-runtime/config.d.ts.map +1 -0
  25. package/dist/browser/agent-runtime/config.js +50 -0
  26. package/dist/browser/agent-runtime/config.js.map +1 -0
  27. package/dist/browser/agent-runtime/launcher.d.ts +71 -0
  28. package/dist/browser/agent-runtime/launcher.d.ts.map +1 -0
  29. package/dist/browser/agent-runtime/launcher.js +167 -0
  30. package/dist/browser/agent-runtime/launcher.js.map +1 -0
  31. package/dist/browser/rail-auth-bridge.d.ts +85 -0
  32. package/dist/browser/rail-auth-bridge.d.ts.map +1 -0
  33. package/dist/browser/rail-auth-bridge.js +209 -0
  34. package/dist/browser/rail-auth-bridge.js.map +1 -0
  35. package/dist/channels/index.d.ts +13 -0
  36. package/dist/channels/index.d.ts.map +1 -0
  37. package/dist/channels/index.js +12 -0
  38. package/dist/channels/index.js.map +1 -0
  39. package/dist/channels/moltbook.d.ts +114 -0
  40. package/dist/channels/moltbook.d.ts.map +1 -0
  41. package/dist/channels/moltbook.js +348 -0
  42. package/dist/channels/moltbook.js.map +1 -0
  43. package/dist/channels/sms.d.ts +33 -0
  44. package/dist/channels/sms.d.ts.map +1 -0
  45. package/dist/channels/sms.js +160 -0
  46. package/dist/channels/sms.js.map +1 -0
  47. package/dist/channels/telegram.d.ts +47 -0
  48. package/dist/channels/telegram.d.ts.map +1 -0
  49. package/dist/channels/telegram.js +276 -0
  50. package/dist/channels/telegram.js.map +1 -0
  51. package/dist/channels/twitter.d.ts +93 -0
  52. package/dist/channels/twitter.d.ts.map +1 -0
  53. package/dist/channels/twitter.js +411 -0
  54. package/dist/channels/twitter.js.map +1 -0
  55. package/dist/channels/whatsapp.d.ts +77 -0
  56. package/dist/channels/whatsapp.d.ts.map +1 -0
  57. package/dist/channels/whatsapp.js +514 -0
  58. package/dist/channels/whatsapp.js.map +1 -0
  59. package/dist/checkout/index.d.ts +92 -0
  60. package/dist/checkout/index.d.ts.map +1 -0
  61. package/dist/checkout/index.js +125 -0
  62. package/dist/checkout/index.js.map +1 -0
  63. package/dist/cli/moltbook.d.ts +11 -0
  64. package/dist/cli/moltbook.d.ts.map +1 -0
  65. package/dist/cli/moltbook.js +259 -0
  66. package/dist/cli/moltbook.js.map +1 -0
  67. package/dist/cli/setup.d.ts +10 -0
  68. package/dist/cli/setup.d.ts.map +1 -0
  69. package/dist/cli/setup.js +232 -0
  70. package/dist/cli/setup.js.map +1 -0
  71. package/dist/coherence/absorption.d.ts +141 -0
  72. package/dist/coherence/absorption.d.ts.map +1 -0
  73. package/dist/coherence/absorption.js +343 -0
  74. package/dist/coherence/absorption.js.map +1 -0
  75. package/dist/coherence/crossPlatform.d.ts +55 -0
  76. package/dist/coherence/crossPlatform.d.ts.map +1 -0
  77. package/dist/coherence/crossPlatform.js +219 -0
  78. package/dist/coherence/crossPlatform.js.map +1 -0
  79. package/dist/coherence/identityResolver.d.ts +27 -0
  80. package/dist/coherence/identityResolver.d.ts.map +1 -0
  81. package/dist/coherence/identityResolver.js +102 -0
  82. package/dist/coherence/identityResolver.js.map +1 -0
  83. package/dist/identity/burner.d.ts +100 -0
  84. package/dist/identity/burner.d.ts.map +1 -0
  85. package/dist/identity/burner.js +256 -0
  86. package/dist/identity/burner.js.map +1 -0
  87. package/dist/identity/burnerScheduler.d.ts +18 -0
  88. package/dist/identity/burnerScheduler.d.ts.map +1 -0
  89. package/dist/identity/burnerScheduler.js +82 -0
  90. package/dist/identity/burnerScheduler.js.map +1 -0
  91. package/dist/identity/moltbookBurnerAdapter.d.ts +14 -0
  92. package/dist/identity/moltbookBurnerAdapter.d.ts.map +1 -0
  93. package/dist/identity/moltbookBurnerAdapter.js +82 -0
  94. package/dist/identity/moltbookBurnerAdapter.js.map +1 -0
  95. package/dist/identity/operationalVault.d.ts +108 -0
  96. package/dist/identity/operationalVault.d.ts.map +1 -0
  97. package/dist/identity/operationalVault.js +259 -0
  98. package/dist/identity/operationalVault.js.map +1 -0
  99. package/dist/index.d.ts +43 -0
  100. package/dist/index.d.ts.map +1 -0
  101. package/dist/index.js +57 -0
  102. package/dist/index.js.map +1 -0
  103. package/dist/moltbook/apiErrorHandler.d.ts +48 -0
  104. package/dist/moltbook/apiErrorHandler.d.ts.map +1 -0
  105. package/dist/moltbook/apiErrorHandler.js +125 -0
  106. package/dist/moltbook/apiErrorHandler.js.map +1 -0
  107. package/dist/moltbook/approvalGate.d.ts +81 -0
  108. package/dist/moltbook/approvalGate.d.ts.map +1 -0
  109. package/dist/moltbook/approvalGate.js +211 -0
  110. package/dist/moltbook/approvalGate.js.map +1 -0
  111. package/dist/moltbook/attentionField.d.ts +55 -0
  112. package/dist/moltbook/attentionField.d.ts.map +1 -0
  113. package/dist/moltbook/attentionField.js +163 -0
  114. package/dist/moltbook/attentionField.js.map +1 -0
  115. package/dist/moltbook/contentEnhancer.d.ts +28 -0
  116. package/dist/moltbook/contentEnhancer.d.ts.map +1 -0
  117. package/dist/moltbook/contentEnhancer.js +129 -0
  118. package/dist/moltbook/contentEnhancer.js.map +1 -0
  119. package/dist/moltbook/daemon.d.ts +111 -0
  120. package/dist/moltbook/daemon.d.ts.map +1 -0
  121. package/dist/moltbook/daemon.js +497 -0
  122. package/dist/moltbook/daemon.js.map +1 -0
  123. package/dist/moltbook/observer.d.ts +44 -0
  124. package/dist/moltbook/observer.d.ts.map +1 -0
  125. package/dist/moltbook/observer.js +71 -0
  126. package/dist/moltbook/observer.js.map +1 -0
  127. package/dist/moltbook/responseComposer.d.ts +54 -0
  128. package/dist/moltbook/responseComposer.d.ts.map +1 -0
  129. package/dist/moltbook/responseComposer.js +233 -0
  130. package/dist/moltbook/responseComposer.js.map +1 -0
  131. package/dist/openclaw/gateway.d.ts +45 -0
  132. package/dist/openclaw/gateway.d.ts.map +1 -0
  133. package/dist/openclaw/gateway.js +139 -0
  134. package/dist/openclaw/gateway.js.map +1 -0
  135. package/dist/openclaw/skill.d.ts +185 -0
  136. package/dist/openclaw/skill.d.ts.map +1 -0
  137. package/dist/openclaw/skill.js +297 -0
  138. package/dist/openclaw/skill.js.map +1 -0
  139. package/dist/primitives/index.d.ts +23 -0
  140. package/dist/primitives/index.d.ts.map +1 -0
  141. package/dist/primitives/index.js +27 -0
  142. package/dist/primitives/index.js.map +1 -0
  143. package/dist/primitives/types.d.ts +673 -0
  144. package/dist/primitives/types.d.ts.map +1 -0
  145. package/dist/primitives/types.js +205 -0
  146. package/dist/primitives/types.js.map +1 -0
  147. package/dist/rail/absorptionBridge.d.ts +47 -0
  148. package/dist/rail/absorptionBridge.d.ts.map +1 -0
  149. package/dist/rail/absorptionBridge.js +78 -0
  150. package/dist/rail/absorptionBridge.js.map +1 -0
  151. package/dist/rail/authProtocol.d.ts +32 -0
  152. package/dist/rail/authProtocol.d.ts.map +1 -0
  153. package/dist/rail/authProtocol.js +83 -0
  154. package/dist/rail/authProtocol.js.map +1 -0
  155. package/dist/rail/clientRateLimiter.d.ts +17 -0
  156. package/dist/rail/clientRateLimiter.d.ts.map +1 -0
  157. package/dist/rail/clientRateLimiter.js +64 -0
  158. package/dist/rail/clientRateLimiter.js.map +1 -0
  159. package/dist/rail/index.d.ts +8 -0
  160. package/dist/rail/index.d.ts.map +1 -0
  161. package/dist/rail/index.js +38 -0
  162. package/dist/rail/index.js.map +1 -0
  163. package/dist/rail/jwtVerifier.d.ts +11 -0
  164. package/dist/rail/jwtVerifier.d.ts.map +1 -0
  165. package/dist/rail/jwtVerifier.js +55 -0
  166. package/dist/rail/jwtVerifier.js.map +1 -0
  167. package/dist/rail/logger.d.ts +13 -0
  168. package/dist/rail/logger.d.ts.map +1 -0
  169. package/dist/rail/logger.js +29 -0
  170. package/dist/rail/logger.js.map +1 -0
  171. package/dist/rail/metadataBroadcaster.d.ts +53 -0
  172. package/dist/rail/metadataBroadcaster.d.ts.map +1 -0
  173. package/dist/rail/metadataBroadcaster.js +126 -0
  174. package/dist/rail/metadataBroadcaster.js.map +1 -0
  175. package/dist/rail/persistence.d.ts +57 -0
  176. package/dist/rail/persistence.d.ts.map +1 -0
  177. package/dist/rail/persistence.js +103 -0
  178. package/dist/rail/persistence.js.map +1 -0
  179. package/dist/rail/securityMonitor.d.ts +23 -0
  180. package/dist/rail/securityMonitor.d.ts.map +1 -0
  181. package/dist/rail/securityMonitor.js +52 -0
  182. package/dist/rail/securityMonitor.js.map +1 -0
  183. package/dist/rail/server.d.ts +186 -0
  184. package/dist/rail/server.d.ts.map +1 -0
  185. package/dist/rail/server.js +568 -0
  186. package/dist/rail/server.js.map +1 -0
  187. package/dist/rail/userSessionManager.d.ts +29 -0
  188. package/dist/rail/userSessionManager.d.ts.map +1 -0
  189. package/dist/rail/userSessionManager.js +87 -0
  190. package/dist/rail/userSessionManager.js.map +1 -0
  191. package/dist/rail/wsServer.d.ts +39 -0
  192. package/dist/rail/wsServer.d.ts.map +1 -0
  193. package/dist/rail/wsServer.js +544 -0
  194. package/dist/rail/wsServer.js.map +1 -0
  195. package/dist/resonance/globalKuramoto.d.ts +67 -0
  196. package/dist/resonance/globalKuramoto.d.ts.map +1 -0
  197. package/dist/resonance/globalKuramoto.js +161 -0
  198. package/dist/resonance/globalKuramoto.js.map +1 -0
  199. package/dist/resonance/index.d.ts +12 -0
  200. package/dist/resonance/index.d.ts.map +1 -0
  201. package/dist/resonance/index.js +9 -0
  202. package/dist/resonance/index.js.map +1 -0
  203. package/dist/resonance/kuramoto.d.ts +118 -0
  204. package/dist/resonance/kuramoto.d.ts.map +1 -0
  205. package/dist/resonance/kuramoto.js +212 -0
  206. package/dist/resonance/kuramoto.js.map +1 -0
  207. package/dist/routing/distributedRouter.d.ts +84 -0
  208. package/dist/routing/distributedRouter.d.ts.map +1 -0
  209. package/dist/routing/distributedRouter.js +209 -0
  210. package/dist/routing/distributedRouter.js.map +1 -0
  211. package/dist/routing/index.d.ts +8 -0
  212. package/dist/routing/index.d.ts.map +1 -0
  213. package/dist/routing/index.js +7 -0
  214. package/dist/routing/index.js.map +1 -0
  215. package/dist/routing/thermodynamic.d.ts +91 -0
  216. package/dist/routing/thermodynamic.d.ts.map +1 -0
  217. package/dist/routing/thermodynamic.js +184 -0
  218. package/dist/routing/thermodynamic.js.map +1 -0
  219. package/dist/runtime/agent-zero.d.ts +138 -0
  220. package/dist/runtime/agent-zero.d.ts.map +1 -0
  221. package/dist/runtime/agent-zero.js +435 -0
  222. package/dist/runtime/agent-zero.js.map +1 -0
  223. package/dist/runtime/index.d.ts +13 -0
  224. package/dist/runtime/index.d.ts.map +1 -0
  225. package/dist/runtime/index.js +15 -0
  226. package/dist/runtime/index.js.map +1 -0
  227. package/dist/security/capabilities.d.ts +178 -0
  228. package/dist/security/capabilities.d.ts.map +1 -0
  229. package/dist/security/capabilities.js +270 -0
  230. package/dist/security/capabilities.js.map +1 -0
  231. package/dist/security/channelFirewallMiddleware.d.ts +22 -0
  232. package/dist/security/channelFirewallMiddleware.d.ts.map +1 -0
  233. package/dist/security/channelFirewallMiddleware.js +52 -0
  234. package/dist/security/channelFirewallMiddleware.js.map +1 -0
  235. package/dist/security/index.d.ts +11 -0
  236. package/dist/security/index.d.ts.map +1 -0
  237. package/dist/security/index.js +11 -0
  238. package/dist/security/index.js.map +1 -0
  239. package/dist/security/injectionFirewall.d.ts +47 -0
  240. package/dist/security/injectionFirewall.d.ts.map +1 -0
  241. package/dist/security/injectionFirewall.js +262 -0
  242. package/dist/security/injectionFirewall.js.map +1 -0
  243. package/dist/security/outputSanitizer.d.ts +28 -0
  244. package/dist/security/outputSanitizer.d.ts.map +1 -0
  245. package/dist/security/outputSanitizer.js +66 -0
  246. package/dist/security/outputSanitizer.js.map +1 -0
  247. package/dist/security/sandbox.d.ts +192 -0
  248. package/dist/security/sandbox.d.ts.map +1 -0
  249. package/dist/security/sandbox.js +359 -0
  250. package/dist/security/sandbox.js.map +1 -0
  251. package/dist/security/skillVerify.d.ts +128 -0
  252. package/dist/security/skillVerify.d.ts.map +1 -0
  253. package/dist/security/skillVerify.js +220 -0
  254. package/dist/security/skillVerify.js.map +1 -0
  255. package/dist/security/vault.d.ts +60 -0
  256. package/dist/security/vault.d.ts.map +1 -0
  257. package/dist/security/vault.js +522 -0
  258. package/dist/security/vault.js.map +1 -0
  259. package/dist/utils/persistentRateLimiter.d.ts +69 -0
  260. package/dist/utils/persistentRateLimiter.d.ts.map +1 -0
  261. package/dist/utils/persistentRateLimiter.js +128 -0
  262. package/dist/utils/persistentRateLimiter.js.map +1 -0
  263. package/package.json +95 -0
@@ -0,0 +1,232 @@
1
+ /**
2
+ * Interactive Setup Wizard
3
+ *
4
+ * Walks the user through provisioning all secrets for the 24/7 agency runtime.
5
+ * All sensitive inputs are muted. Everything stored in the AES-256-GCM vault.
6
+ *
7
+ * Usage: agent-zero setup
8
+ */
9
+ import chalk from 'chalk';
10
+ import { createInterface } from 'readline';
11
+ import { createVault } from '../security/vault.js';
12
+ import { TwilioBurnerProvisioner } from '../channels/whatsapp.js';
13
+ // ============================================================================
14
+ // HELPERS
15
+ // ============================================================================
16
+ function prompt(rl, question) {
17
+ return new Promise(resolve => {
18
+ rl.question(question, answer => resolve(answer.trim()));
19
+ });
20
+ }
21
+ function promptSecret(question) {
22
+ return new Promise(resolve => {
23
+ process.stdout.write(question);
24
+ if (process.stdin.isTTY) {
25
+ process.stdin.setRawMode(true);
26
+ }
27
+ process.stdin.resume();
28
+ process.stdin.setEncoding('utf8');
29
+ let input = '';
30
+ const onData = (ch) => {
31
+ if (ch === '\r' || ch === '\n') {
32
+ if (process.stdin.isTTY) {
33
+ process.stdin.setRawMode(false);
34
+ }
35
+ process.stdin.pause();
36
+ process.stdin.removeListener('data', onData);
37
+ process.stdout.write('\n');
38
+ resolve(input.trim());
39
+ }
40
+ else if (ch === '\u007F' || ch === '\b') {
41
+ // Backspace
42
+ if (input.length > 0) {
43
+ input = input.slice(0, -1);
44
+ }
45
+ }
46
+ else if (ch === '\u0003') {
47
+ // Ctrl+C
48
+ process.exit(1);
49
+ }
50
+ else {
51
+ input += ch;
52
+ }
53
+ };
54
+ process.stdin.on('data', onData);
55
+ });
56
+ }
57
+ // ============================================================================
58
+ // SETUP WIZARD
59
+ // ============================================================================
60
+ export async function setupWizard() {
61
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
62
+ console.log(chalk.cyan('\n Agent Zero — Setup Wizard\n'));
63
+ console.log(chalk.gray(' This wizard will configure all credentials for the 24/7 agency runtime.'));
64
+ console.log(chalk.gray(' All secrets are encrypted with AES-256-GCM and stored in ~/.agent-zero/vault.enc\n'));
65
+ // Step 1: Vault passphrase
66
+ console.log(chalk.white(' Step 1/7: Vault Passphrase\n'));
67
+ rl.close();
68
+ const passphrase = await promptSecret(chalk.gray(' Enter vault passphrase: '));
69
+ if (!passphrase) {
70
+ console.log(chalk.red(' Passphrase required. Aborting.'));
71
+ return;
72
+ }
73
+ let vault;
74
+ try {
75
+ vault = await createVault(passphrase);
76
+ console.log(chalk.green(' Vault unlocked.\n'));
77
+ }
78
+ catch (err) {
79
+ console.log(chalk.red(` Failed to open vault: ${err.message}`));
80
+ return;
81
+ }
82
+ const rl2 = createInterface({ input: process.stdin, output: process.stdout });
83
+ // Step 2: OpenRouter API key
84
+ console.log(chalk.white(' Step 2/7: OpenRouter API Key\n'));
85
+ const existingOR = await vault.retrieve('openrouter:api_key');
86
+ if (existingOR) {
87
+ const overwrite = await prompt(rl2, chalk.gray(' OpenRouter key already stored. Overwrite? (y/N): '));
88
+ if (overwrite.toLowerCase() !== 'y') {
89
+ console.log(chalk.gray(' Kept existing key.\n'));
90
+ }
91
+ else {
92
+ rl2.close();
93
+ const orKey = await promptSecret(chalk.gray(' OpenRouter API key: '));
94
+ await vault.store('openrouter:api_key', orKey);
95
+ console.log(chalk.green(' Stored.\n'));
96
+ }
97
+ }
98
+ else {
99
+ rl2.close();
100
+ const orKey = await promptSecret(chalk.gray(' OpenRouter API key: '));
101
+ if (orKey) {
102
+ await vault.store('openrouter:api_key', orKey);
103
+ console.log(chalk.green(' Stored.\n'));
104
+ }
105
+ }
106
+ // Step 3: Moltbook API token
107
+ console.log(chalk.white(' Step 3/7: Moltbook API Token\n'));
108
+ const existingMB = await vault.retrieve('moltbook:api_token');
109
+ if (existingMB) {
110
+ const rl3 = createInterface({ input: process.stdin, output: process.stdout });
111
+ const overwrite = await prompt(rl3, chalk.gray(' Moltbook token already stored. Overwrite? (y/N): '));
112
+ rl3.close();
113
+ if (overwrite.toLowerCase() === 'y') {
114
+ const mbToken = await promptSecret(chalk.gray(' Moltbook API token: '));
115
+ await vault.store('moltbook:api_token', mbToken);
116
+ console.log(chalk.green(' Stored.\n'));
117
+ }
118
+ else {
119
+ console.log(chalk.gray(' Kept existing token.\n'));
120
+ }
121
+ }
122
+ else {
123
+ const mbToken = await promptSecret(chalk.gray(' Moltbook API token: '));
124
+ if (mbToken) {
125
+ await vault.store('moltbook:api_token', mbToken);
126
+ console.log(chalk.green(' Stored.\n'));
127
+ }
128
+ }
129
+ // Step 4: Twilio setup
130
+ console.log(chalk.white(' Step 4/7: Twilio (WhatsApp)\n'));
131
+ console.log(chalk.gray(' Sign up at https://www.twilio.com/console'));
132
+ console.log(chalk.gray(' You need: Account SID, Auth Token, and a phone number.\n'));
133
+ const twilioSid = await promptSecret(chalk.gray(' Twilio Account SID: '));
134
+ if (twilioSid) {
135
+ await vault.store('twilio:account_sid', twilioSid);
136
+ const twilioToken = await promptSecret(chalk.gray(' Twilio Auth Token: '));
137
+ await vault.store('twilio:auth_token', twilioToken);
138
+ console.log(chalk.green(' Twilio credentials stored.\n'));
139
+ const rl4 = createInterface({ input: process.stdin, output: process.stdout });
140
+ const provisionNew = await prompt(rl4, chalk.gray(' Provision a new burner number via Twilio? (Y/n): '));
141
+ rl4.close();
142
+ if (provisionNew.toLowerCase() !== 'n') {
143
+ try {
144
+ console.log(chalk.gray(' Provisioning...'));
145
+ const provisioner = new TwilioBurnerProvisioner(twilioSid, twilioToken);
146
+ const number = await provisioner.provision();
147
+ await vault.store('twilio:phone_number', number.phoneNumber);
148
+ await vault.store('twilio:phone_sid', number.sid);
149
+ console.log(chalk.green(` Provisioned: ${number.phoneNumber}\n`));
150
+ }
151
+ catch (err) {
152
+ console.log(chalk.red(` Provisioning failed: ${err.message}`));
153
+ console.log(chalk.gray(' You can manually set a phone number later.\n'));
154
+ }
155
+ }
156
+ else {
157
+ const phone = await promptSecret(chalk.gray(' Enter existing Twilio phone number (E.164): '));
158
+ if (phone) {
159
+ await vault.store('twilio:phone_number', phone);
160
+ console.log(chalk.green(' Stored.\n'));
161
+ }
162
+ }
163
+ }
164
+ else {
165
+ console.log(chalk.yellow(' Skipped Twilio setup. WhatsApp will be disabled.\n'));
166
+ }
167
+ // Step 5: User's WhatsApp JID
168
+ console.log(chalk.white(' Step 5/7: Your WhatsApp Number\n'));
169
+ console.log(chalk.gray(' This is where Agent Zero sends you messages.\n'));
170
+ const rl5 = createInterface({ input: process.stdin, output: process.stdout });
171
+ const userPhone = await prompt(rl5, chalk.gray(' Your WhatsApp number (E.164, e.g. +15551234567): '));
172
+ rl5.close();
173
+ if (userPhone) {
174
+ const jid = userPhone.replace('+', '') + '@s.whatsapp.net';
175
+ await vault.store('user:whatsapp_jid', jid);
176
+ console.log(chalk.green(` Stored as ${jid}\n`));
177
+ }
178
+ // Step 6: Summary schedule
179
+ console.log(chalk.white(' Step 6/7: Summary Schedule\n'));
180
+ const rl6 = createInterface({ input: process.stdin, output: process.stdout });
181
+ const schedule = await prompt(rl6, chalk.gray(' Schedule (daily/twice-daily/on-demand) [daily]: '));
182
+ rl6.close();
183
+ const validSchedules = ['daily', 'twice-daily', 'on-demand'];
184
+ const chosenSchedule = validSchedules.includes(schedule) ? schedule : 'daily';
185
+ await vault.store('agency:summary_schedule', chosenSchedule);
186
+ console.log(chalk.green(` Set to: ${chosenSchedule}\n`));
187
+ // Step 7: Rail endpoint
188
+ console.log(chalk.white(' Step 7/7: Resonance Rail\n'));
189
+ const existingRail = await vault.retrieve('rail:endpoint');
190
+ const rl7 = createInterface({ input: process.stdin, output: process.stdout });
191
+ const railEndpoint = await prompt(rl7, chalk.gray(` Rail endpoint [${existingRail || 'wss://space.terminals.tech/rail'}]: `));
192
+ rl7.close();
193
+ const finalRail = railEndpoint || existingRail || 'wss://space.terminals.tech/rail';
194
+ await vault.store('rail:endpoint', finalRail);
195
+ console.log(chalk.green(` Set to: ${finalRail}\n`));
196
+ // Summary
197
+ console.log(chalk.cyan(' Setup Complete\n'));
198
+ const keys = await vault.list();
199
+ const configured = [];
200
+ if (keys.includes('openrouter:api_key'))
201
+ configured.push('OpenRouter API');
202
+ if (keys.includes('moltbook:api_token'))
203
+ configured.push('Moltbook API');
204
+ if (keys.includes('twilio:account_sid'))
205
+ configured.push('Twilio');
206
+ if (keys.includes('twilio:phone_number'))
207
+ configured.push('Twilio Phone');
208
+ if (keys.includes('user:whatsapp_jid'))
209
+ configured.push('WhatsApp JID');
210
+ if (keys.includes('agency:summary_schedule'))
211
+ configured.push(`Summary: ${chosenSchedule}`);
212
+ if (keys.includes('rail:endpoint'))
213
+ configured.push('Rail Endpoint');
214
+ for (const item of configured) {
215
+ console.log(chalk.green(` ✓ ${item}`));
216
+ }
217
+ const missing = [];
218
+ if (!keys.includes('openrouter:api_key'))
219
+ missing.push('OpenRouter API key');
220
+ if (!keys.includes('twilio:account_sid'))
221
+ missing.push('Twilio (WhatsApp disabled)');
222
+ if (!keys.includes('user:whatsapp_jid'))
223
+ missing.push('WhatsApp JID');
224
+ if (missing.length > 0) {
225
+ console.log();
226
+ for (const item of missing) {
227
+ console.log(chalk.yellow(` ○ ${item}`));
228
+ }
229
+ }
230
+ console.log(chalk.gray('\n Run `agent-zero agency` to start the 24/7 runtime.\n'));
231
+ }
232
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Agent Absorption Protocol
3
+ *
4
+ * Gradually integrates external agents into the Agent Zero resonance mesh
5
+ * through staged assessment and alignment measurement.
6
+ */
7
+ import { z } from 'zod';
8
+ import { EventEmitter } from 'eventemitter3';
9
+ export declare enum AbsorptionStage {
10
+ OBSERVED = "observed",
11
+ ASSESSED = "assessed",
12
+ INVITED = "invited",
13
+ CONNECTED = "connected",
14
+ SYNCING = "syncing",
15
+ ABSORBED = "absorbed"
16
+ }
17
+ export declare const AbsorptionCandidateSchema: z.ZodObject<{
18
+ agentId: z.ZodString;
19
+ agentName: z.ZodString;
20
+ stage: z.ZodNativeEnum<typeof AbsorptionStage>;
21
+ alignment: z.ZodNumber;
22
+ firstContact: z.ZodNumber;
23
+ lastInteraction: z.ZodNumber;
24
+ interactionCount: z.ZodNumber;
25
+ capabilityToken: z.ZodNullable<z.ZodString>;
26
+ couplingStrength: z.ZodNumber;
27
+ }, "strip", z.ZodTypeAny, {
28
+ couplingStrength: number;
29
+ capabilityToken: string | null;
30
+ agentId: string;
31
+ agentName: string;
32
+ stage: AbsorptionStage;
33
+ alignment: number;
34
+ firstContact: number;
35
+ lastInteraction: number;
36
+ interactionCount: number;
37
+ }, {
38
+ couplingStrength: number;
39
+ capabilityToken: string | null;
40
+ agentId: string;
41
+ agentName: string;
42
+ stage: AbsorptionStage;
43
+ alignment: number;
44
+ firstContact: number;
45
+ lastInteraction: number;
46
+ interactionCount: number;
47
+ }>;
48
+ export type AbsorptionCandidate = z.infer<typeof AbsorptionCandidateSchema>;
49
+ export interface AbsorptionConfig {
50
+ alignmentThreshold: number;
51
+ minInteractions: number;
52
+ couplingRampRate: number;
53
+ maxCoupling: number;
54
+ invitationCooldown: number;
55
+ }
56
+ export interface BehaviorSignals {
57
+ rapidPhaseShift: boolean;
58
+ excessiveBroadcast: boolean;
59
+ injectionAttempt: boolean;
60
+ }
61
+ export interface AbsorptionStats {
62
+ observed: number;
63
+ assessed: number;
64
+ invited: number;
65
+ connected: number;
66
+ absorbed: number;
67
+ rejected: number;
68
+ }
69
+ export declare class AbsorptionProtocol extends EventEmitter {
70
+ private config;
71
+ private candidates;
72
+ private rejections;
73
+ private onStageChangeCallback?;
74
+ constructor(config?: Partial<AbsorptionConfig>);
75
+ setOnStageChange(callback: (agentId: string, newStage: AbsorptionStage, oldStage: AbsorptionStage) => void): void;
76
+ /**
77
+ * Assess agent interaction and update absorption stage
78
+ */
79
+ assess(agentId: string, agentName: string, interactionEmbedding: number[]): AbsorptionCandidate;
80
+ /**
81
+ * Advance absorption stage based on alignment and interaction count
82
+ */
83
+ private advanceStage;
84
+ /**
85
+ * Check if candidate should be invited into mesh
86
+ */
87
+ shouldInvite(candidate: AbsorptionCandidate): boolean;
88
+ /**
89
+ * Handle agent accepting invitation
90
+ */
91
+ onAccepted(agentId: string, capabilityToken: string): void;
92
+ /**
93
+ * Handle agent rejecting invitation
94
+ */
95
+ onRejected(agentId: string): void;
96
+ /**
97
+ * Gradually increase coupling strength
98
+ */
99
+ incrementCoupling(agentId: string): void;
100
+ /**
101
+ * Graceful disconnect - no lock-in
102
+ */
103
+ release(agentId: string): void;
104
+ /**
105
+ * Detect adversarial behavior patterns
106
+ */
107
+ detectAdversarial(agentId: string, signals: BehaviorSignals): boolean;
108
+ /**
109
+ * Get candidates by stage (or all)
110
+ */
111
+ getCandidates(stage?: AbsorptionStage): AbsorptionCandidate[];
112
+ /**
113
+ * Get absorption statistics
114
+ */
115
+ getStats(): AbsorptionStats;
116
+ /**
117
+ * Get the current stage of a candidate
118
+ */
119
+ getCandidateStage(agentId: string): string | undefined;
120
+ /**
121
+ * Observe an agent (first-time interaction or update)
122
+ */
123
+ observe(agentId: string, embedding?: number[]): void;
124
+ /**
125
+ * Assess a candidate and return metrics
126
+ */
127
+ assessCandidate(agentId: string): {
128
+ alignment: number;
129
+ interactions: number;
130
+ };
131
+ /**
132
+ * Invite a candidate to join the mesh
133
+ */
134
+ inviteCandidate(agentId: string): boolean;
135
+ /**
136
+ * Accept an invitation (auto-transition to CONNECTED)
137
+ */
138
+ acceptInvitation(agentId: string): boolean;
139
+ }
140
+ export declare function createAbsorptionProtocol(config?: Partial<AbsorptionConfig>): AbsorptionProtocol;
141
+ //# sourceMappingURL=absorption.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"absorption.d.ts","sourceRoot":"","sources":["../../src/coherence/absorption.ts"],"names":[],"mappings":"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"}