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
@@ -1,114 +0,0 @@
1
- /**
2
- * Canister Information
3
- *
4
- * Queries canister status and metrics using icp-cli.
5
- */
6
-
7
- import { canisterStatus } from '../icp/icpcli.js';
8
- import type { CanisterStatusInfo, MonitoringOptions } from './types.js';
9
-
10
- /**
11
- * Get detailed canister information.
12
- *
13
- * @param canisterId - Canister ID to query
14
- * @param options - Monitoring options
15
- * @returns Canister status information
16
- */
17
- export async function getCanisterInfo(
18
- canisterId: string,
19
- _options: MonitoringOptions,
20
- ): Promise<CanisterStatusInfo> {
21
- const result = await canisterStatus({ canister: canisterId });
22
-
23
- const statusInfo: CanisterStatusInfo = {
24
- canisterId,
25
- status: result.success ? (result.stdout.match(/Status:\s*(\w+)/)?.[1] ?? 'unknown') : 'unknown',
26
- memorySize: parseMemorySize(result.stdout),
27
- cycles: parseCycles(result.stdout),
28
- moduleHash: extractModuleHash(result.stdout),
29
- health: 'healthy',
30
- timestamp: new Date(),
31
- };
32
-
33
- return statusInfo;
34
- }
35
-
36
- /**
37
- * Parse memory size from icp-cli output.
38
- */
39
- function parseMemorySize(output: string): bigint | undefined {
40
- const match = output.match(/Memory size:\s*([\d,.]+)\s*(bytes?|KB|MB|GB)?/i);
41
- if (match && match[1]) {
42
- const value = match[1].replace(/,/g, '');
43
- const units = (match[2] || 'bytes').toLowerCase();
44
- return parseMemoryValue(value, units);
45
- }
46
- return undefined;
47
- }
48
-
49
- /**
50
- * Parse a memory value with units to bigint bytes.
51
- */
52
- function parseMemoryValue(value: string, units: string): bigint {
53
- const numeric = parseFloat(value);
54
-
55
- if (units === 'gb') {
56
- return BigInt(Math.round(numeric * 1024 * 1024 * 1024));
57
- } else if (units === 'mb') {
58
- return BigInt(Math.round(numeric * 1024 * 1024));
59
- } else if (units === 'kb') {
60
- return BigInt(Math.round(numeric * 1024));
61
- } else {
62
- return BigInt(Math.round(numeric));
63
- }
64
- }
65
-
66
- /**
67
- * Parse cycle balance from icp-cli output.
68
- */
69
- function parseCycles(output: string): bigint | undefined {
70
- const match = output.match(/Cycles:\s*([\d,.]+(?:T|B|M|K|G|μ)?)/);
71
- if (match && match[1]) {
72
- const value = match[1].replace(/,/g, '');
73
- const unitsMatch = match[0].match(/(T|B|M|K|G|μ)/);
74
- const units = unitsMatch ? unitsMatch[1] : '';
75
- if (units) {
76
- return parseCycleValue(value, units);
77
- }
78
- }
79
- return undefined;
80
- }
81
-
82
- /**
83
- * Parse a cycle value with units to bigint cycles.
84
- */
85
- function parseCycleValue(value: string, units: string): bigint {
86
- const numeric = parseFloat(value);
87
-
88
- if (units === 'T') {
89
- return BigInt(Math.round(numeric * 1_000_000_000_000));
90
- } else if (units === 'B') {
91
- return BigInt(Math.round(numeric));
92
- } else if (units === 'M') {
93
- return BigInt(Math.round(numeric * 1_000_000));
94
- } else if (units === 'K') {
95
- return BigInt(Math.round(numeric * 1_000));
96
- } else if (units === 'G') {
97
- return BigInt(Math.round(numeric * 1_000_000_000));
98
- } else if (units === 'μ') {
99
- return BigInt(Math.round(numeric / 1_000_000));
100
- } else {
101
- return BigInt(Math.round(numeric * 1_000));
102
- }
103
- }
104
-
105
- /**
106
- * Extract module hash from icp-cli output.
107
- */
108
- function extractModuleHash(output: string): string | undefined {
109
- const match = output.match(/Hash:\s*([a-f0-9]{64})/);
110
- if (match) {
111
- return match[1];
112
- }
113
- return undefined;
114
- }
@@ -1,99 +0,0 @@
1
- /**
2
- * Types for canister monitoring
3
- *
4
- * Health status, alerts, and resource tracking.
5
- */
6
-
7
- /**
8
- * Canister health status
9
- */
10
- export type CanisterHealthStatus = 'healthy' | 'warning' | 'critical' | 'unknown';
11
-
12
- /**
13
- * Alert severity levels
14
- */
15
- export type AlertSeverity = 'info' | 'warning' | 'critical';
16
-
17
- /**
18
- * Monitoring alert
19
- */
20
- export interface MonitoringAlert {
21
- /** Alert severity */
22
- severity: AlertSeverity;
23
- /** Human-readable alert message */
24
- message: string;
25
- /** Canister ID this alert is for */
26
- canisterId: string;
27
- /** Metric being monitored */
28
- metric: string;
29
- /** Current value that triggered alert */
30
- value: string;
31
- /** Threshold value that was exceeded */
32
- threshold: string;
33
- /** When the alert was triggered */
34
- timestamp: Date;
35
- }
36
-
37
- /**
38
- * Health check thresholds
39
- */
40
- export interface HealthThresholds {
41
- /** Cycles below this value trigger a warning */
42
- cyclesWarning?: bigint;
43
- /** Cycles below this value trigger a critical alert */
44
- cyclesCritical?: bigint;
45
- /** Memory usage above this percentage triggers a warning (0-100) */
46
- memoryWarningPercent?: number;
47
- /** Memory usage above this percentage triggers a critical alert (0-100) */
48
- memoryCriticalPercent?: number;
49
- }
50
-
51
- /**
52
- * Canister status info from monitoring
53
- */
54
- export interface CanisterStatusInfo {
55
- /** Canister ID */
56
- canisterId: string;
57
- /** Canister status (running, stopped, etc.) */
58
- status: string;
59
- /** Memory size in bytes */
60
- memorySize?: bigint;
61
- /** Current cycle balance */
62
- cycles?: bigint;
63
- /** WASM module hash */
64
- moduleHash?: string;
65
- /** Health status */
66
- health: CanisterHealthStatus;
67
- /** Timestamp of when this status was captured */
68
- timestamp: Date;
69
- }
70
-
71
- /**
72
- * Resource usage metrics over time
73
- */
74
- export interface ResourceUsageSnapshot {
75
- /** Canister ID */
76
- canisterId: string;
77
- /** Memory usage at this snapshot */
78
- memoryBytes?: bigint;
79
- /** Cycle balance at this snapshot */
80
- cycles?: bigint;
81
- /** When this snapshot was captured */
82
- timestamp: Date;
83
- }
84
-
85
- /**
86
- * Monitoring query options
87
- */
88
- export interface MonitoringOptions {
89
- /** Canister ID or name to monitor */
90
- canister: string;
91
- /** Alert thresholds */
92
- thresholds?: Partial<HealthThresholds>;
93
- /** How often to poll (milliseconds) */
94
- pollInterval?: number;
95
- /** Maximum number of snapshots to keep */
96
- maxSnapshots?: number;
97
- /** Whether to generate alerts */
98
- generateAlerts?: boolean;
99
- }
@@ -1,129 +0,0 @@
1
- /**
2
- * Network configuration management for AgentVault
3
- *
4
- * Manages local network configurations stored in ~/.agentvault/networks/
5
- */
6
-
7
- import fs from 'node:fs';
8
- import path from 'node:path';
9
- import os from 'node:os';
10
- import { parse, stringify } from 'yaml';
11
- import type { NetworkConfig } from '../icp/types.js';
12
-
13
- const AGENTVAULT_DIR = path.join(os.homedir(), '.agentvault');
14
- const NETWORKS_DIR = path.join(AGENTVAULT_DIR, 'networks');
15
-
16
- /**
17
- * Ensure the networks directory exists
18
- */
19
- function ensureNetworksDir(): void {
20
- if (!fs.existsSync(AGENTVAULT_DIR)) {
21
- fs.mkdirSync(AGENTVAULT_DIR, { recursive: true });
22
- }
23
- if (!fs.existsSync(NETWORKS_DIR)) {
24
- fs.mkdirSync(NETWORKS_DIR, { recursive: true });
25
- }
26
- }
27
-
28
- /**
29
- * Get the file path for a network config
30
- */
31
- function getNetworkConfigPath(name: string): string {
32
- ensureNetworksDir();
33
- return path.join(NETWORKS_DIR, `${name}.yaml`);
34
- }
35
-
36
- /**
37
- * Create a new network configuration
38
- */
39
- export async function createNetworkConfig(config: NetworkConfig): Promise<NetworkConfig> {
40
- const networkPath = getNetworkConfigPath(config.name);
41
-
42
- if (fs.existsSync(networkPath)) {
43
- throw new Error(`Network '${config.name}' already exists`);
44
- }
45
-
46
- const fullConfig: NetworkConfig = {
47
- ...config,
48
- created: new Date(),
49
- status: 'stopped',
50
- };
51
-
52
- fs.writeFileSync(networkPath, stringify(fullConfig), 'utf8');
53
- return fullConfig;
54
- }
55
-
56
- /**
57
- * Get network configuration by name
58
- */
59
- export async function getNetworkConfig(name: string): Promise<NetworkConfig | null> {
60
- const networkPath = getNetworkConfigPath(name);
61
-
62
- if (!fs.existsSync(networkPath)) {
63
- return null;
64
- }
65
-
66
- const content = fs.readFileSync(networkPath, 'utf8');
67
- return parse(content) as NetworkConfig;
68
- }
69
-
70
- /**
71
- * List all network configurations
72
- */
73
- export async function listNetworkConfigs(): Promise<NetworkConfig[]> {
74
- ensureNetworksDir();
75
- const configs: NetworkConfig[] = [];
76
-
77
- const files = fs.readdirSync(NETWORKS_DIR);
78
- for (const file of files) {
79
- if (file.endsWith('.yaml') || file.endsWith('.yml')) {
80
- const networkPath = path.join(NETWORKS_DIR, file);
81
- const content = fs.readFileSync(networkPath, 'utf8');
82
- try {
83
- configs.push(parse(content) as NetworkConfig);
84
- } catch {
85
- // Skip invalid config files
86
- }
87
- }
88
- }
89
-
90
- return configs;
91
- }
92
-
93
- /**
94
- * Update network configuration
95
- */
96
- export async function updateNetworkConfig(name: string, updates: Partial<NetworkConfig>): Promise<NetworkConfig | null> {
97
- const config = await getNetworkConfig(name);
98
- if (!config) {
99
- return null;
100
- }
101
-
102
- const updated = { ...config, ...updates };
103
- const networkPath = getNetworkConfigPath(name);
104
- fs.writeFileSync(networkPath, stringify(updated), 'utf8');
105
-
106
- return updated;
107
- }
108
-
109
- /**
110
- * Delete network configuration
111
- */
112
- export async function deleteNetworkConfig(name: string): Promise<boolean> {
113
- const networkPath = getNetworkConfigPath(name);
114
-
115
- if (!fs.existsSync(networkPath)) {
116
- return false;
117
- }
118
-
119
- fs.unlinkSync(networkPath);
120
- return true;
121
- }
122
-
123
- /**
124
- * Set network status
125
- */
126
- export async function setNetworkStatus(name: string, status: 'running' | 'stopped' | 'error'): Promise<boolean> {
127
- const updated = await updateNetworkConfig(name, { status });
128
- return updated !== null;
129
- }