agentvault 1.0.0 → 1.0.2

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 (293) hide show
  1. package/.claude/settings.local.json +9 -0
  2. package/README.md +1 -1
  3. package/dist/cli/commands/approve.js +5 -5
  4. package/dist/cli/commands/archive.js +5 -5
  5. package/dist/cli/commands/backup.js +5 -5
  6. package/dist/cli/commands/cloud-backup.js +12 -12
  7. package/dist/cli/commands/decrypt.js +2 -2
  8. package/dist/cli/commands/deploy.js +1 -1
  9. package/dist/cli/commands/exec.js +2 -2
  10. package/dist/cli/commands/fetch.js +4 -4
  11. package/dist/cli/commands/inference.js +5 -5
  12. package/dist/cli/commands/init.d.ts +1 -1
  13. package/dist/cli/commands/init.js +16 -16
  14. package/dist/cli/commands/list.js +4 -4
  15. package/dist/cli/commands/package.js +2 -2
  16. package/dist/cli/commands/profile.js +1 -1
  17. package/dist/cli/commands/rebuild.js +2 -2
  18. package/dist/cli/commands/show.js +1 -1
  19. package/dist/cli/commands/status.d.ts +1 -1
  20. package/dist/cli/commands/status.js +8 -8
  21. package/dist/cli/commands/trace.js +1 -1
  22. package/dist/cli/commands/wallet-export.js +1 -1
  23. package/dist/cli/commands/wallet-sign.js +1 -1
  24. package/dist/cli/commands/wallet.d.ts +1 -1
  25. package/dist/cli/commands/wallet.js +1 -1
  26. package/dist/cli/index.d.ts +2 -2
  27. package/dist/cli/index.js +3 -3
  28. package/dist/src/archival/archive-manager.d.ts +85 -0
  29. package/dist/src/archival/archive-manager.js +294 -0
  30. package/dist/src/archival/arweave-client.d.ts +88 -0
  31. package/dist/src/archival/arweave-client.js +223 -0
  32. package/dist/src/archival/index.d.ts +8 -0
  33. package/{src/archival/index.ts → dist/src/archival/index.js} +1 -1
  34. package/dist/src/backup/backup.d.ts +67 -0
  35. package/dist/src/backup/backup.js +231 -0
  36. package/dist/src/backup/index.d.ts +7 -0
  37. package/{src/backup/index.ts → dist/src/backup/index.js} +1 -1
  38. package/dist/src/cloud-storage/cloud-sync.d.ts +49 -0
  39. package/dist/src/cloud-storage/cloud-sync.js +372 -0
  40. package/dist/src/cloud-storage/index.d.ts +11 -0
  41. package/{src/cloud-storage/index.ts → dist/src/cloud-storage/index.js} +1 -1
  42. package/dist/src/cloud-storage/provider-detector.d.ts +34 -0
  43. package/dist/src/cloud-storage/provider-detector.js +158 -0
  44. package/{src/cloud-storage/types.ts → dist/src/cloud-storage/types.d.ts} +40 -53
  45. package/dist/src/cloud-storage/types.js +10 -0
  46. package/dist/src/debugging/index.d.ts +6 -0
  47. package/{src/debugging/index.ts → dist/src/debugging/index.js} +1 -1
  48. package/dist/src/debugging/logs.d.ts +32 -0
  49. package/dist/src/debugging/logs.js +158 -0
  50. package/dist/src/debugging/types.d.ts +91 -0
  51. package/dist/src/debugging/types.js +5 -0
  52. package/dist/src/deployment/deployer.d.ts +52 -0
  53. package/dist/src/deployment/deployer.js +211 -0
  54. package/dist/src/deployment/icpClient.d.ts +144 -0
  55. package/dist/src/deployment/icpClient.js +545 -0
  56. package/dist/src/deployment/index.d.ts +11 -0
  57. package/dist/src/deployment/index.js +14 -0
  58. package/dist/src/deployment/promotion.d.ts +32 -0
  59. package/dist/src/deployment/promotion.js +114 -0
  60. package/dist/src/deployment/types.d.ts +101 -0
  61. package/dist/src/deployment/types.js +5 -0
  62. package/dist/src/icp/batch.d.ts +112 -0
  63. package/dist/src/icp/batch.js +273 -0
  64. package/dist/src/icp/cycles.d.ts +29 -0
  65. package/{src/icp/cycles.ts → dist/src/icp/cycles.js} +8 -22
  66. package/dist/src/icp/environment.d.ts +60 -0
  67. package/dist/src/icp/environment.js +183 -0
  68. package/dist/src/icp/icpcli.d.ts +204 -0
  69. package/dist/src/icp/icpcli.js +374 -0
  70. package/dist/src/icp/icwasm.d.ts +94 -0
  71. package/dist/src/icp/icwasm.js +197 -0
  72. package/dist/src/icp/identity.d.ts +50 -0
  73. package/{src/icp/identity.ts → dist/src/icp/identity.js} +15 -28
  74. package/dist/src/icp/index.d.ts +16 -0
  75. package/dist/src/icp/index.js +20 -0
  76. package/dist/src/icp/optimization.d.ts +16 -0
  77. package/dist/src/icp/optimization.js +225 -0
  78. package/dist/src/icp/tokens.d.ts +24 -0
  79. package/{src/icp/tokens.ts → dist/src/icp/tokens.js} +5 -12
  80. package/dist/src/icp/tool-detector.d.ts +31 -0
  81. package/dist/src/icp/tool-detector.js +104 -0
  82. package/dist/src/icp/types.d.ts +493 -0
  83. package/dist/src/icp/types.js +7 -0
  84. package/dist/src/index.d.ts +12 -0
  85. package/dist/src/index.js +18 -0
  86. package/dist/src/inference/bittensor-client.d.ts +108 -0
  87. package/dist/src/inference/bittensor-client.js +224 -0
  88. package/dist/src/inference/index.d.ts +8 -0
  89. package/{src/inference/index.ts → dist/src/inference/index.js} +1 -1
  90. package/dist/src/inference/inference-manager.d.ts +76 -0
  91. package/dist/src/inference/inference-manager.js +228 -0
  92. package/dist/src/metrics/index.d.ts +7 -0
  93. package/{src/metrics/index.ts → dist/src/metrics/index.js} +1 -1
  94. package/dist/src/metrics/metrics.d.ts +39 -0
  95. package/dist/src/metrics/metrics.js +129 -0
  96. package/dist/src/monitoring/alerting.d.ts +51 -0
  97. package/dist/src/monitoring/alerting.js +169 -0
  98. package/dist/src/monitoring/health.d.ts +40 -0
  99. package/dist/src/monitoring/health.js +164 -0
  100. package/dist/src/monitoring/index.d.ts +10 -0
  101. package/dist/src/monitoring/index.js +12 -0
  102. package/dist/src/monitoring/info.d.ts +15 -0
  103. package/dist/src/monitoring/info.js +109 -0
  104. package/dist/src/monitoring/types.d.ts +93 -0
  105. package/dist/src/monitoring/types.js +7 -0
  106. package/dist/src/network/index.d.ts +5 -0
  107. package/{src/network/index.ts → dist/src/network/index.js} +1 -1
  108. package/dist/src/network/network-config.d.ts +31 -0
  109. package/dist/src/network/network-config.js +109 -0
  110. package/dist/src/packaging/compiler.d.ts +61 -0
  111. package/dist/src/packaging/compiler.js +562 -0
  112. package/dist/src/packaging/config-persistence.d.ts +46 -0
  113. package/dist/src/packaging/config-persistence.js +108 -0
  114. package/dist/src/packaging/config-schemas.d.ts +115 -0
  115. package/dist/src/packaging/config-schemas.js +43 -0
  116. package/dist/src/packaging/detector.d.ts +26 -0
  117. package/dist/src/packaging/detector.js +193 -0
  118. package/dist/src/packaging/index.d.ts +16 -0
  119. package/dist/src/packaging/index.js +22 -0
  120. package/dist/src/packaging/packager.d.ts +31 -0
  121. package/dist/src/packaging/packager.js +90 -0
  122. package/dist/src/packaging/parsers/clawdbot.d.ts +19 -0
  123. package/dist/src/packaging/parsers/clawdbot.js +231 -0
  124. package/dist/src/packaging/parsers/cline.d.ts +26 -0
  125. package/dist/src/packaging/parsers/cline.js +185 -0
  126. package/dist/src/packaging/parsers/generic.d.ts +27 -0
  127. package/dist/src/packaging/parsers/generic.js +228 -0
  128. package/dist/src/packaging/parsers/goose.d.ts +26 -0
  129. package/dist/src/packaging/parsers/goose.js +175 -0
  130. package/dist/src/packaging/parsers/index.d.ts +11 -0
  131. package/{src/packaging/parsers/index.ts → dist/src/packaging/parsers/index.js} +1 -1
  132. package/dist/src/packaging/serializer.d.ts +108 -0
  133. package/dist/src/packaging/serializer.js +153 -0
  134. package/dist/src/packaging/types.d.ts +131 -0
  135. package/dist/src/packaging/types.js +5 -0
  136. package/dist/src/packaging/wasmedge-compiler.d.ts +76 -0
  137. package/dist/src/packaging/wasmedge-compiler.js +349 -0
  138. package/dist/src/security/index.d.ts +11 -0
  139. package/{src/security/index.ts → dist/src/security/index.js} +1 -4
  140. package/dist/src/security/multisig.d.ts +102 -0
  141. package/dist/src/security/multisig.js +283 -0
  142. package/dist/src/security/types.d.ts +207 -0
  143. package/dist/src/security/types.js +217 -0
  144. package/dist/src/security/vetkeys.d.ts +179 -0
  145. package/dist/src/security/vetkeys.js +499 -0
  146. package/dist/src/testing/index.d.ts +6 -0
  147. package/{src/testing/index.ts → dist/src/testing/index.js} +1 -1
  148. package/dist/src/testing/local-runner.d.ts +23 -0
  149. package/dist/src/testing/local-runner.js +226 -0
  150. package/dist/src/testing/types.d.ts +98 -0
  151. package/dist/src/testing/types.js +5 -0
  152. package/dist/src/wallet/cbor-serializer.d.ts +82 -0
  153. package/dist/src/wallet/cbor-serializer.js +282 -0
  154. package/dist/src/wallet/chain-dispatcher.d.ts +112 -0
  155. package/dist/src/wallet/chain-dispatcher.js +241 -0
  156. package/dist/src/wallet/cross-chain-aggregator.d.ts +119 -0
  157. package/dist/src/wallet/cross-chain-aggregator.js +235 -0
  158. package/dist/src/wallet/index.d.ts +16 -0
  159. package/dist/src/wallet/index.js +22 -0
  160. package/dist/src/wallet/key-derivation.d.ts +117 -0
  161. package/dist/src/wallet/key-derivation.js +325 -0
  162. package/dist/src/wallet/providers/base-provider.d.ts +111 -0
  163. package/dist/src/wallet/providers/base-provider.js +58 -0
  164. package/dist/src/wallet/providers/cketh-provider.d.ts +104 -0
  165. package/dist/src/wallet/providers/cketh-provider.js +343 -0
  166. package/dist/src/wallet/providers/polkadot-provider.d.ts +115 -0
  167. package/dist/src/wallet/providers/polkadot-provider.js +407 -0
  168. package/dist/src/wallet/providers/solana-provider.d.ts +102 -0
  169. package/dist/src/wallet/providers/solana-provider.js +393 -0
  170. package/dist/src/wallet/transaction-queue.d.ts +133 -0
  171. package/dist/src/wallet/transaction-queue.js +195 -0
  172. package/dist/src/wallet/types.d.ts +167 -0
  173. package/dist/src/wallet/types.js +5 -0
  174. package/dist/src/wallet/vetkeys-adapter.d.ts +134 -0
  175. package/dist/src/wallet/vetkeys-adapter.js +313 -0
  176. package/dist/src/wallet/wallet-manager.d.ts +202 -0
  177. package/dist/src/wallet/wallet-manager.js +451 -0
  178. package/dist/src/wallet/wallet-storage.d.ts +131 -0
  179. package/dist/src/wallet/wallet-storage.js +274 -0
  180. package/macos-wallet-app/AgentVaultWallet/App/AgentVaultWalletApp.swift +54 -0
  181. package/macos-wallet-app/AgentVaultWallet/Models/AppState.swift +102 -0
  182. package/macos-wallet-app/AgentVaultWallet/Models/Chain.swift +121 -0
  183. package/macos-wallet-app/AgentVaultWallet/Models/Wallet.swift +98 -0
  184. package/macos-wallet-app/AgentVaultWallet/Resources/AgentVaultWallet.entitlements +27 -0
  185. package/macos-wallet-app/AgentVaultWallet/Resources/Info.plist +69 -0
  186. package/macos-wallet-app/AgentVaultWallet/Services/BackupService.swift +270 -0
  187. package/macos-wallet-app/AgentVaultWallet/Services/CLIBridge.swift +367 -0
  188. package/macos-wallet-app/AgentVaultWallet/Services/CryptoService.swift +157 -0
  189. package/macos-wallet-app/AgentVaultWallet/Services/FileService.swift +120 -0
  190. package/macos-wallet-app/AgentVaultWallet/Services/KeychainService.swift +219 -0
  191. package/macos-wallet-app/AgentVaultWallet/Utilities/Constants.swift +44 -0
  192. package/macos-wallet-app/AgentVaultWallet/Utilities/Extensions.swift +115 -0
  193. package/macos-wallet-app/AgentVaultWallet/ViewModels/BackupViewModel.swift +237 -0
  194. package/macos-wallet-app/AgentVaultWallet/ViewModels/CreateWalletViewModel.swift +137 -0
  195. package/macos-wallet-app/AgentVaultWallet/ViewModels/ImportWalletViewModel.swift +179 -0
  196. package/macos-wallet-app/AgentVaultWallet/ViewModels/WalletStore.swift +286 -0
  197. package/macos-wallet-app/AgentVaultWallet/Views/Backup/BackupView.swift +235 -0
  198. package/macos-wallet-app/AgentVaultWallet/Views/Backup/RestoreView.swift +316 -0
  199. package/macos-wallet-app/AgentVaultWallet/Views/Create/CreateWalletFlow.swift +438 -0
  200. package/macos-wallet-app/AgentVaultWallet/Views/Import/ImportWalletFlow.swift +399 -0
  201. package/macos-wallet-app/AgentVaultWallet/Views/MainView.swift +134 -0
  202. package/macos-wallet-app/AgentVaultWallet/Views/Settings/SettingsView.swift +276 -0
  203. package/macos-wallet-app/AgentVaultWallet/Views/Sidebar/SidebarView.swift +133 -0
  204. package/macos-wallet-app/AgentVaultWallet/Views/Wallet/DashboardView.swift +233 -0
  205. package/macos-wallet-app/AgentVaultWallet/Views/Wallet/WalletDetailView.swift +281 -0
  206. package/macos-wallet-app/AgentVaultWallet/Views/Wallet/WalletListView.swift +280 -0
  207. package/macos-wallet-app/AgentVaultWallet/Views/Welcome/WelcomeView.swift +176 -0
  208. package/macos-wallet-app/Makefile +47 -0
  209. package/macos-wallet-app/project.yml +40 -0
  210. package/macos-wallet-app/setup.sh +73 -0
  211. package/package.json +10 -2
  212. package/backups/agentvault-backup-test-agent-2026-02-12T17-54-28-967Z.json +0 -28
  213. package/backups/agentvault-backup-test-agent-2026-02-12T17-54-29-032Z.backup +0 -1
  214. package/backups/agentvault-backup-test-agent-2026-02-12T17-57-42-373Z.json +0 -28
  215. package/backups/agentvault-backup-test-agent-2026-02-12T17-57-42-428Z.backup +0 -1
  216. package/backups/agentvault-backup-test-agent-2026-02-12T18-52-25-132Z.json +0 -28
  217. package/backups/agentvault-backup-test-agent-2026-02-12T18-52-25-247Z.backup +0 -1
  218. package/backups/agentvault-backup-test-agent-2026-02-12T18-54-09-216Z.json +0 -28
  219. package/backups/agentvault-backup-test-agent-2026-02-12T18-54-09-283Z.backup +0 -1
  220. package/backups/agentvault-backup-test-agent-2026-02-12T22-18-22-772Z.backup +0 -1
  221. package/backups/agentvault-backup-test-agent-2026-02-12T22-18-22-793Z.json +0 -28
  222. package/backups/test-backup.json +0 -28
  223. package/scripts/dev-dashboard.mjs +0 -84
  224. package/site/README.md +0 -63
  225. package/site/docusaurus.config.ts +0 -148
  226. package/site/package-lock.json +0 -18383
  227. package/site/package.json +0 -47
  228. package/site/sidebars.ts +0 -86
  229. package/site/static/.gitkeep +0 -0
  230. package/site/static/img/logo.svg +0 -28
  231. package/site/static/img/og-image.svg +0 -35
  232. package/src/archival/archive-manager.ts +0 -372
  233. package/src/archival/arweave-client.ts +0 -289
  234. package/src/backup/backup.ts +0 -315
  235. package/src/cloud-storage/cloud-sync.ts +0 -461
  236. package/src/cloud-storage/provider-detector.ts +0 -198
  237. package/src/debugging/logs.ts +0 -193
  238. package/src/debugging/types.ts +0 -100
  239. package/src/deployment/deployer.ts +0 -274
  240. package/src/deployment/icpClient.ts +0 -620
  241. package/src/deployment/index.ts +0 -46
  242. package/src/deployment/promotion.ts +0 -161
  243. package/src/deployment/types.ts +0 -111
  244. package/src/icp/batch.ts +0 -374
  245. package/src/icp/environment.ts +0 -215
  246. package/src/icp/icpcli.ts +0 -438
  247. package/src/icp/icwasm.ts +0 -222
  248. package/src/icp/index.ts +0 -94
  249. package/src/icp/optimization.ts +0 -242
  250. package/src/icp/tool-detector.ts +0 -110
  251. package/src/icp/types.ts +0 -574
  252. package/src/index.ts +0 -25
  253. package/src/inference/bittensor-client.ts +0 -304
  254. package/src/inference/inference-manager.ts +0 -327
  255. package/src/metrics/metrics.ts +0 -186
  256. package/src/monitoring/alerting.ts +0 -190
  257. package/src/monitoring/health.ts +0 -197
  258. package/src/monitoring/index.ts +0 -38
  259. package/src/monitoring/info.ts +0 -114
  260. package/src/monitoring/types.ts +0 -99
  261. package/src/network/network-config.ts +0 -129
  262. package/src/packaging/compiler.ts +0 -647
  263. package/src/packaging/config-persistence.ts +0 -135
  264. package/src/packaging/config-schemas.ts +0 -156
  265. package/src/packaging/detector.ts +0 -220
  266. package/src/packaging/index.ts +0 -90
  267. package/src/packaging/packager.ts +0 -118
  268. package/src/packaging/parsers/clawdbot.ts +0 -278
  269. package/src/packaging/parsers/cline.ts +0 -223
  270. package/src/packaging/parsers/generic.ts +0 -266
  271. package/src/packaging/parsers/goose.ts +0 -214
  272. package/src/packaging/serializer.ts +0 -260
  273. package/src/packaging/types.ts +0 -144
  274. package/src/packaging/wasmedge-compiler.ts +0 -406
  275. package/src/security/multisig.ts +0 -415
  276. package/src/security/types.ts +0 -416
  277. package/src/security/vetkeys.ts +0 -655
  278. package/src/testing/local-runner.ts +0 -264
  279. package/src/testing/types.ts +0 -104
  280. package/src/wallet/cbor-serializer.ts +0 -323
  281. package/src/wallet/chain-dispatcher.ts +0 -313
  282. package/src/wallet/cross-chain-aggregator.ts +0 -346
  283. package/src/wallet/index.ts +0 -76
  284. package/src/wallet/key-derivation.ts +0 -425
  285. package/src/wallet/providers/base-provider.ts +0 -154
  286. package/src/wallet/providers/cketh-provider.ts +0 -434
  287. package/src/wallet/providers/polkadot-provider.ts +0 -503
  288. package/src/wallet/providers/solana-provider.ts +0 -490
  289. package/src/wallet/transaction-queue.ts +0 -284
  290. package/src/wallet/types.ts +0 -178
  291. package/src/wallet/vetkeys-adapter.ts +0 -431
  292. package/src/wallet/wallet-manager.ts +0 -597
  293. package/src/wallet/wallet-storage.ts +0 -380
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Config Persistence Module
3
+ *
4
+ * Manages agent configuration storage in ~/.agentvault/agents/<agent-id>/
5
+ * Supports reading, writing, and listing agent configurations.
6
+ */
7
+ import * as fs from 'node:fs';
8
+ import * as path from 'node:path';
9
+ import * as os from 'node:os';
10
+ /**
11
+ * Base agent vault directory
12
+ */
13
+ const AGENT_VAULT_DIR = path.join(os.homedir(), '.agentvault');
14
+ /**
15
+ * Agents directory within agent vault
16
+ */
17
+ const AGENTS_DIR = path.join(AGENT_VAULT_DIR, 'agents');
18
+ /**
19
+ * Get config file path for an agent
20
+ *
21
+ * @param agentId - Agent identifier
22
+ * @param fileName - Name of the config file (default: 'agent.json')
23
+ */
24
+ export function getConfigPath(agentId, fileName = 'agent.json') {
25
+ const agentDir = path.join(AGENTS_DIR, agentId);
26
+ return path.join(agentDir, fileName);
27
+ }
28
+ /**
29
+ * Ensure agent vault directories exist
30
+ */
31
+ export function ensureVaultStructure() {
32
+ if (!fs.existsSync(AGENT_VAULT_DIR)) {
33
+ fs.mkdirSync(AGENT_VAULT_DIR, { recursive: true, mode: 0o700 });
34
+ }
35
+ if (!fs.existsSync(AGENTS_DIR)) {
36
+ fs.mkdirSync(AGENTS_DIR, { recursive: true, mode: 0o700 });
37
+ }
38
+ }
39
+ /**
40
+ * Write agent configuration to vault
41
+ *
42
+ * @param agentId - Agent identifier
43
+ * @param config - Parsed agent configuration
44
+ * @param fileName - Name of the config file (default: 'agent.json')
45
+ */
46
+ export function writeAgentConfig(agentId, config, fileName = 'agent.json') {
47
+ ensureVaultStructure();
48
+ const agentDir = path.join(AGENTS_DIR, agentId);
49
+ if (!fs.existsSync(agentDir)) {
50
+ fs.mkdirSync(agentDir, { recursive: true, mode: 0o700 });
51
+ }
52
+ const configPath = path.join(agentDir, fileName);
53
+ fs.writeFileSync(configPath, JSON.stringify(config, null, 2), 'utf-8');
54
+ }
55
+ /**
56
+ * Read agent configuration from vault
57
+ *
58
+ * @param agentId - Agent identifier
59
+ * @param fileName - Name of the config file (default: 'agent.json')
60
+ */
61
+ export function readAgentConfig(agentId, fileName = 'agent.json') {
62
+ ensureVaultStructure();
63
+ const agentDir = path.join(AGENTS_DIR, agentId);
64
+ const configPath = path.join(agentDir, fileName);
65
+ if (!fs.existsSync(configPath)) {
66
+ return null;
67
+ }
68
+ try {
69
+ const content = fs.readFileSync(configPath, 'utf-8');
70
+ return JSON.parse(content);
71
+ }
72
+ catch {
73
+ return null;
74
+ }
75
+ }
76
+ /**
77
+ * List all agents in vault
78
+ *
79
+ * @returns Array of agent IDs
80
+ */
81
+ export function listAgents() {
82
+ ensureVaultStructure();
83
+ if (!fs.existsSync(AGENTS_DIR)) {
84
+ return [];
85
+ }
86
+ const entries = fs.readdirSync(AGENTS_DIR, { withFileTypes: true });
87
+ const agentIds = [];
88
+ for (const entry of entries) {
89
+ const entryPath = path.join(AGENTS_DIR, entry.name);
90
+ const stats = fs.statSync(entryPath);
91
+ if (stats.isDirectory() && fs.existsSync(path.join(entryPath, 'agent.json'))) {
92
+ agentIds.push(entry.name);
93
+ }
94
+ }
95
+ return agentIds;
96
+ }
97
+ /**
98
+ * Delete an agent's configuration from vault
99
+ *
100
+ * @param agentId - Agent identifier to remove
101
+ */
102
+ export function deleteAgentConfig(agentId) {
103
+ const agentDir = path.join(AGENTS_DIR, agentId);
104
+ if (fs.existsSync(agentDir)) {
105
+ fs.rmSync(agentDir, { recursive: true, force: true });
106
+ }
107
+ }
108
+ //# sourceMappingURL=config-persistence.js.map
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Agent Configuration Schemas
3
+ *
4
+ * Defines types and schemas for different agent configurations.
5
+ * Supports Clawdbot, Goose, Cline, and Generic agents.
6
+ */
7
+ /**
8
+ * Base agent configuration interface
9
+ */
10
+ export interface BaseAgentConfig {
11
+ name: string;
12
+ version?: string;
13
+ description?: string;
14
+ }
15
+ /**
16
+ * Clawdbot configuration interface
17
+ * Clawdbot uses a .clawdbot directory with JSON files
18
+ */
19
+ export interface ClawdbotConfig extends BaseAgentConfig {
20
+ type: 'clawdbot';
21
+ projects?: ClawdbotProject[];
22
+ tasks?: ClawdbotTask[];
23
+ context?: Record<string, unknown>;
24
+ settings?: ClawdbotSettings;
25
+ }
26
+ export interface ClawdbotProject {
27
+ id: string;
28
+ name: string;
29
+ path?: string;
30
+ description?: string;
31
+ }
32
+ export interface ClawdbotTask {
33
+ id: string;
34
+ name: string;
35
+ description?: string;
36
+ prompt?: string;
37
+ systemPrompt?: string;
38
+ }
39
+ export interface ClawdbotSettings {
40
+ model?: string;
41
+ temperature?: number;
42
+ maxTokens?: number;
43
+ systemPrompt?: string;
44
+ tools?: string[];
45
+ }
46
+ /**
47
+ * Goose configuration interface
48
+ * Goose uses YAML configuration files
49
+ */
50
+ export interface GooseConfig extends BaseAgentConfig {
51
+ type: 'goose';
52
+ model: string;
53
+ temperature?: number;
54
+ maxTokens?: number;
55
+ systemPrompt?: string;
56
+ tools?: string[];
57
+ workingDirectory?: string;
58
+ }
59
+ /**
60
+ * Cline configuration interface
61
+ * Cline uses JSON configuration
62
+ */
63
+ export interface ClineConfig extends BaseAgentConfig {
64
+ type: 'cline';
65
+ mode?: 'auto' | 'request';
66
+ claudeVersion?: string;
67
+ workingDirectory?: string;
68
+ autoConfirm?: boolean;
69
+ useReadline?: boolean;
70
+ allowedCommands?: string[];
71
+ }
72
+ /**
73
+ * Generic agent configuration interface
74
+ * Generic agents use agent.json or agent.yaml
75
+ */
76
+ export interface GenericConfig extends BaseAgentConfig {
77
+ type: 'generic';
78
+ entryPoint?: string;
79
+ workingDirectory?: string;
80
+ environment?: Record<string, string>;
81
+ allowedFiles?: string[];
82
+ maxFileSize?: number;
83
+ }
84
+ /**
85
+ * Union type for all agent configurations
86
+ */
87
+ export type ParsedAgentConfig = ClawdbotConfig | GooseConfig | ClineConfig | GenericConfig;
88
+ /**
89
+ * Validation result for agent configuration
90
+ */
91
+ export interface ConfigValidationResult {
92
+ valid: boolean;
93
+ errors: string[];
94
+ warnings: string[];
95
+ }
96
+ /**
97
+ * Config file location
98
+ */
99
+ export interface ConfigLocation {
100
+ path: string;
101
+ type: 'json' | 'yaml' | 'directory';
102
+ }
103
+ /**
104
+ * Default values for Clawdbot settings
105
+ */
106
+ export declare const DEFAULT_CLAWDBOT_SETTINGS: ClawdbotSettings;
107
+ /**
108
+ * Default values for Goose configuration
109
+ */
110
+ export declare const DEFAULT_GOOSE_CONFIG: Omit<GooseConfig, 'type'>;
111
+ /**
112
+ * Default values for Cline configuration
113
+ */
114
+ export declare const DEFAULT_CLINE_CONFIG: Omit<ClineConfig, 'type'>;
115
+ //# sourceMappingURL=config-schemas.d.ts.map
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Agent Configuration Schemas
3
+ *
4
+ * Defines types and schemas for different agent configurations.
5
+ * Supports Clawdbot, Goose, Cline, and Generic agents.
6
+ */
7
+ /**
8
+ * Default values for Clawdbot settings
9
+ */
10
+ export const DEFAULT_CLAWDBOT_SETTINGS = {
11
+ model: 'claude-3-5-sonnet-20240229',
12
+ temperature: 0.7,
13
+ maxTokens: 4096,
14
+ systemPrompt: '',
15
+ tools: [],
16
+ };
17
+ /**
18
+ * Default values for Goose configuration
19
+ */
20
+ export const DEFAULT_GOOSE_CONFIG = {
21
+ model: 'gpt-4',
22
+ temperature: 0.7,
23
+ maxTokens: 2048,
24
+ systemPrompt: '',
25
+ tools: [],
26
+ workingDirectory: '.',
27
+ name: 'Agent',
28
+ version: '1.0.0',
29
+ description: '',
30
+ };
31
+ /**
32
+ * Default values for Cline configuration
33
+ */
34
+ export const DEFAULT_CLINE_CONFIG = {
35
+ mode: 'auto',
36
+ autoConfirm: false,
37
+ useReadline: true,
38
+ workingDirectory: '.',
39
+ name: 'Agent',
40
+ version: '1.0.0',
41
+ description: '',
42
+ };
43
+ //# sourceMappingURL=config-schemas.js.map
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Agent type detection logic
3
+ *
4
+ * Detects what type of agent is in a given directory based on
5
+ * configuration files and directory structure.
6
+ */
7
+ import type { AgentType, AgentConfig } from './types.js';
8
+ /**
9
+ * Detect agent type from a source directory
10
+ */
11
+ export declare function detectAgentType(sourcePath: string): AgentType;
12
+ /**
13
+ * Detect agent configuration from a source directory
14
+ *
15
+ * @param sourcePath - Path to agent directory
16
+ * @returns Agent configuration with basic detection
17
+ */
18
+ export declare function detectAgent(sourcePath: string): AgentConfig;
19
+ /**
20
+ * Validate that the source path exists and is a directory
21
+ */
22
+ export declare function validateSourcePath(sourcePath: string): {
23
+ valid: boolean;
24
+ error?: string;
25
+ };
26
+ //# sourceMappingURL=detector.d.ts.map
@@ -0,0 +1,193 @@
1
+ /**
2
+ * Agent type detection logic
3
+ *
4
+ * Detects what type of agent is in a given directory based on
5
+ * configuration files and directory structure.
6
+ */
7
+ import * as fs from 'node:fs';
8
+ import * as path from 'node:path';
9
+ import * as yaml from 'yaml';
10
+ /**
11
+ * Configuration file patterns for each agent type
12
+ */
13
+ const AGENT_PATTERNS = {
14
+ clawdbot: {
15
+ files: ['clawdbot.json', 'clawdbot.config.json', '.clawdbot'],
16
+ dirs: ['.clawdbot'],
17
+ },
18
+ goose: {
19
+ files: ['goose.yaml', 'goose.yml', 'goose.config.yaml', '.gooserc'],
20
+ dirs: ['.goose'],
21
+ },
22
+ cline: {
23
+ files: ['cline.json', 'cline.config.json', '.cline'],
24
+ dirs: ['.cline'],
25
+ },
26
+ generic: {
27
+ files: ['agent.json', 'agent.yaml', 'agent.yml', 'agentvault.json'],
28
+ dirs: [],
29
+ },
30
+ };
31
+ /**
32
+ * Check if a file exists at the given path
33
+ */
34
+ function fileExists(filePath) {
35
+ try {
36
+ return fs.existsSync(filePath) && fs.statSync(filePath).isFile();
37
+ }
38
+ catch {
39
+ return false;
40
+ }
41
+ }
42
+ /**
43
+ * Check if a directory exists at the given path
44
+ */
45
+ function directoryExists(dirPath) {
46
+ try {
47
+ return fs.existsSync(dirPath) && fs.statSync(dirPath).isDirectory();
48
+ }
49
+ catch {
50
+ return false;
51
+ }
52
+ }
53
+ /**
54
+ * Detect agent type from a source directory
55
+ */
56
+ export function detectAgentType(sourcePath) {
57
+ const absolutePath = path.resolve(sourcePath);
58
+ for (const agentType of ['clawdbot', 'goose', 'cline']) {
59
+ const patterns = AGENT_PATTERNS[agentType];
60
+ for (const file of patterns.files) {
61
+ const filePath = path.join(absolutePath, file);
62
+ if (fileExists(filePath)) {
63
+ return agentType;
64
+ }
65
+ }
66
+ for (const dir of patterns.dirs) {
67
+ const dirPath = path.join(absolutePath, dir);
68
+ if (directoryExists(dirPath)) {
69
+ return agentType;
70
+ }
71
+ }
72
+ }
73
+ return 'generic';
74
+ }
75
+ /**
76
+ * Extract agent name from the source path or config
77
+ */
78
+ function extractAgentName(sourcePath, config) {
79
+ if (config && typeof config.name === 'string' && config.name.trim()) {
80
+ return config.name.trim();
81
+ }
82
+ const dirName = path.basename(path.resolve(sourcePath));
83
+ const sanitizedName = dirName.toLowerCase().replace(/[^a-z0-9-]/g, '-');
84
+ return sanitizedName;
85
+ }
86
+ /**
87
+ * Find configuration file for a detected agent type
88
+ */
89
+ function findConfigFile(sourcePath, agentType) {
90
+ const absolutePath = path.resolve(sourcePath);
91
+ const patterns = AGENT_PATTERNS[agentType];
92
+ for (const file of patterns.files) {
93
+ const filePath = path.join(absolutePath, file);
94
+ if (fileExists(filePath)) {
95
+ return filePath;
96
+ }
97
+ }
98
+ return null;
99
+ }
100
+ /**
101
+ * Detect entry point for an agent
102
+ */
103
+ function detectEntryPoint(sourcePath, agentType) {
104
+ const absolutePath = path.resolve(sourcePath);
105
+ const entryPoints = [
106
+ 'index.ts',
107
+ 'index.js',
108
+ 'main.ts',
109
+ 'main.js',
110
+ 'agent.ts',
111
+ 'agent.js',
112
+ 'src/index.ts',
113
+ 'src/index.js',
114
+ 'src/main.ts',
115
+ 'src/main.js',
116
+ ];
117
+ if (agentType === 'clawdbot') {
118
+ entryPoints.unshift('clawdbot.ts', 'clawdbot.js');
119
+ }
120
+ else if (agentType === 'goose') {
121
+ entryPoints.unshift('goose.ts', 'goose.js');
122
+ }
123
+ else if (agentType === 'cline') {
124
+ entryPoints.unshift('cline.ts', 'cline.js');
125
+ }
126
+ for (const entry of entryPoints) {
127
+ const entryPath = path.join(absolutePath, entry);
128
+ if (fileExists(entryPath)) {
129
+ return entry;
130
+ }
131
+ }
132
+ return undefined;
133
+ }
134
+ /**
135
+ * Detect agent configuration from a source directory
136
+ *
137
+ * @param sourcePath - Path to agent directory
138
+ * @returns Agent configuration with basic detection
139
+ */
140
+ export function detectAgent(sourcePath) {
141
+ const absolutePath = path.resolve(sourcePath);
142
+ const agentType = detectAgentType(sourcePath);
143
+ const configFile = findConfigFile(sourcePath, agentType);
144
+ const config = configFile ? tryReadConfig(configFile) : null;
145
+ const name = extractAgentName(sourcePath, config);
146
+ const entryPoint = detectEntryPoint(sourcePath, agentType);
147
+ return {
148
+ name,
149
+ type: agentType,
150
+ sourcePath: absolutePath,
151
+ entryPoint,
152
+ version: config?.version,
153
+ };
154
+ }
155
+ /**
156
+ * Validate that the source path exists and is a directory
157
+ */
158
+ export function validateSourcePath(sourcePath) {
159
+ const absolutePath = path.resolve(sourcePath);
160
+ if (!fs.existsSync(absolutePath)) {
161
+ return {
162
+ valid: false,
163
+ error: `Source path does not exist: ${absolutePath}`,
164
+ };
165
+ }
166
+ if (!fs.statSync(absolutePath).isDirectory()) {
167
+ return {
168
+ valid: false,
169
+ error: `Source path is not a directory: ${absolutePath}`,
170
+ };
171
+ }
172
+ return { valid: true };
173
+ }
174
+ /**
175
+ * Try to read configuration file (JSON or YAML)
176
+ */
177
+ function tryReadConfig(filePath) {
178
+ try {
179
+ const content = fs.readFileSync(filePath, 'utf-8');
180
+ // Check file extension to determine format
181
+ if (filePath.endsWith('.json')) {
182
+ return JSON.parse(content);
183
+ }
184
+ else if (filePath.endsWith('.yaml') || filePath.endsWith('.yml') || filePath.endsWith('.gooserc')) {
185
+ return yaml.parse(content);
186
+ }
187
+ return null;
188
+ }
189
+ catch {
190
+ return null;
191
+ }
192
+ }
193
+ //# sourceMappingURL=detector.js.map
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Agent Packaging Module
3
+ *
4
+ * Exports all packaging-related functionality.
5
+ */
6
+ export type { AgentType, AgentConfig, PackageOptions, PackageResult, ValidationError, ValidationResult, } from './types.js';
7
+ export { detectAgent, detectAgentType, validateSourcePath } from './detector.js';
8
+ export { compileToWasm, generateWasm, generateWat, generateStateJson, validateWasmFile, } from './compiler.js';
9
+ export { generateWasmEdgeWrapper, validateWasmEdgeModule, generateWasmEdgeConfig, generateWasmEdgeManifest, type WasmEdgeOptions, DEFAULT_WASMEDGE_OPTIONS, } from './wasmedge-compiler.js';
10
+ export { serializeState, deserializeState, writeStateFile, readStateFile, createEmptyState, mergeStates, validateState, } from './serializer.js';
11
+ export { parseClawdbotConfig, findClawdbotConfigs, parseGooseConfig, findGooseConfigs, parseClineConfig, findClineConfigs, parseGenericConfig, findGenericConfigs, } from './parsers/index.js';
12
+ export { getConfigPath, writeAgentConfig, readAgentConfig, listAgents, deleteAgentConfig, } from './config-persistence.js';
13
+ export { DEFAULT_CLAWDBOT_SETTINGS, DEFAULT_GOOSE_CONFIG, DEFAULT_CLINE_CONFIG, } from './config-schemas.js';
14
+ export { getPackageSummary, packageAgent, } from './packager.js';
15
+ export type { Memory, Task, AgentState, SerializedAgentState, SerializationOptions, } from './serializer.js';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Agent Packaging Module
3
+ *
4
+ * Exports all packaging-related functionality.
5
+ */
6
+ // Detection
7
+ export { detectAgent, detectAgentType, validateSourcePath } from './detector.js';
8
+ // Compilation
9
+ export { compileToWasm, generateWasm, generateWat, generateStateJson, validateWasmFile, } from './compiler.js';
10
+ // WasmEdge Compiler
11
+ export { generateWasmEdgeWrapper, validateWasmEdgeModule, generateWasmEdgeConfig, generateWasmEdgeManifest, DEFAULT_WASMEDGE_OPTIONS, } from './wasmedge-compiler.js';
12
+ // Serialization
13
+ export { serializeState, deserializeState, writeStateFile, readStateFile, createEmptyState, mergeStates, validateState, } from './serializer.js';
14
+ // Parsers
15
+ export { parseClawdbotConfig, findClawdbotConfigs, parseGooseConfig, findGooseConfigs, parseClineConfig, findClineConfigs, parseGenericConfig, findGenericConfigs, } from './parsers/index.js';
16
+ // Config Persistence
17
+ export { getConfigPath, writeAgentConfig, readAgentConfig, listAgents, deleteAgentConfig, } from './config-persistence.js';
18
+ // Config Schemas
19
+ export { DEFAULT_CLAWDBOT_SETTINGS, DEFAULT_GOOSE_CONFIG, DEFAULT_CLINE_CONFIG, } from './config-schemas.js';
20
+ // Summary - used by package command
21
+ export { getPackageSummary, packageAgent, } from './packager.js';
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Agent Packager
3
+ *
4
+ * Main orchestrator for the agent packaging pipeline.
5
+ * Coordinates detection, validation, and compilation.
6
+ */
7
+ import type { PackageOptions, PackageResult, ValidationResult } from './types.js';
8
+ import { detectAgent } from './detector.js';
9
+ /**
10
+ * Validate agent before packaging
11
+ */
12
+ export declare function validateAgent(sourcePath: string): ValidationResult;
13
+ /**
14
+ * Package an agent for deployment
15
+ *
16
+ * This is the main entry point for the packaging pipeline.
17
+ *
18
+ * @param options - Packaging options
19
+ * @returns Package result with paths to generated files
20
+ */
21
+ export declare function packageAgent(options: PackageOptions): Promise<PackageResult>;
22
+ /**
23
+ * Get a summary of what will be packaged
24
+ *
25
+ * Useful for preview/dry-run functionality
26
+ */
27
+ export declare function getPackageSummary(sourcePath: string): {
28
+ config: ReturnType<typeof detectAgent>;
29
+ validation: ValidationResult;
30
+ };
31
+ //# sourceMappingURL=packager.d.ts.map
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Agent Packager
3
+ *
4
+ * Main orchestrator for the agent packaging pipeline.
5
+ * Coordinates detection, validation, and compilation.
6
+ */
7
+ import * as fs from 'node:fs';
8
+ import * as path from 'node:path';
9
+ import { detectAgent, validateSourcePath } from './detector.js';
10
+ import { compileToWasm } from './compiler.js';
11
+ /**
12
+ * Default output directory name
13
+ */
14
+ const DEFAULT_OUTPUT_DIR = 'dist';
15
+ /**
16
+ * Validate agent before packaging
17
+ */
18
+ export function validateAgent(sourcePath) {
19
+ const errors = [];
20
+ const warnings = [];
21
+ // Validate source path exists
22
+ const pathValidation = validateSourcePath(sourcePath);
23
+ if (!pathValidation.valid) {
24
+ errors.push({
25
+ code: 'INVALID_SOURCE_PATH',
26
+ message: pathValidation.error,
27
+ filePath: sourcePath,
28
+ });
29
+ return { valid: false, errors, warnings };
30
+ }
31
+ // Detect agent to check for basic configuration
32
+ const config = detectAgent(sourcePath);
33
+ // Warn if no entry point detected
34
+ if (!config.entryPoint) {
35
+ warnings.push(`No entry point detected for agent '${config.name}'. Consider adding an index.ts or agent.ts file.`);
36
+ }
37
+ if (config.type === 'goose' && !config.entryPoint) {
38
+ const pythonCandidates = ['goose.py', 'main.py'];
39
+ const hasPythonEntrypoint = pythonCandidates.some((candidate) => fs.existsSync(path.join(path.resolve(sourcePath), candidate)));
40
+ if (hasPythonEntrypoint) {
41
+ warnings.push('Goose Python entrypoints are not supported by the bundler. Use a JS/TS entrypoint instead.');
42
+ }
43
+ }
44
+ // Warn if using generic type
45
+ if (config.type === 'generic') {
46
+ warnings.push(`Agent type detected as 'generic'. For better support, add a config file for clawdbot, goose, or cline.`);
47
+ }
48
+ return {
49
+ valid: errors.length === 0,
50
+ errors,
51
+ warnings,
52
+ };
53
+ }
54
+ /**
55
+ * Package an agent for deployment
56
+ *
57
+ * This is the main entry point for the packaging pipeline.
58
+ *
59
+ * @param options - Packaging options
60
+ * @returns Package result with paths to generated files
61
+ */
62
+ export async function packageAgent(options) {
63
+ const { sourcePath, outputPath, skipValidation = false } = options;
64
+ // Validate unless skipped
65
+ if (!skipValidation) {
66
+ const validation = validateAgent(sourcePath);
67
+ if (!validation.valid) {
68
+ const errorMessages = validation.errors.map((e) => e.message).join('; ');
69
+ throw new Error(`Validation failed: ${errorMessages}`);
70
+ }
71
+ }
72
+ // Detect agent configuration
73
+ const config = detectAgent(sourcePath);
74
+ // Determine output directory
75
+ const outputDir = outputPath ?? path.join(path.resolve(sourcePath), DEFAULT_OUTPUT_DIR);
76
+ // Compile to WASM (includes ic-wasm optimization pipeline)
77
+ const result = await compileToWasm(config, options, outputDir);
78
+ return result;
79
+ }
80
+ /**
81
+ * Get a summary of what will be packaged
82
+ *
83
+ * Useful for preview/dry-run functionality
84
+ */
85
+ export function getPackageSummary(sourcePath) {
86
+ const config = detectAgent(sourcePath);
87
+ const validation = validateAgent(sourcePath);
88
+ return { config, validation };
89
+ }
90
+ //# sourceMappingURL=packager.js.map
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Clawdbot Configuration Parser
3
+ *
4
+ * Parses Clawdbot agent configuration from .clawdbot directory.
5
+ * Reads JSON files and constructs full configuration object.
6
+ */
7
+ import type { ClawdbotConfig } from '../config-schemas.js';
8
+ /**
9
+ * Parse Clawdbot agent configuration
10
+ *
11
+ * This function reads .clawdbot directory or clawdbot.json file
12
+ * and returns a fully validated configuration object.
13
+ */
14
+ export declare function parseClawdbotConfig(sourcePath: string, verbose?: boolean): Promise<ClawdbotConfig>;
15
+ /**
16
+ * Find all Clawdbot configurations in a directory
17
+ */
18
+ export declare function findClawdbotConfigs(dir: string): Promise<string[]>;
19
+ //# sourceMappingURL=clawdbot.d.ts.map