sorokeep 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 (275) hide show
  1. package/CONTRIBUTING.md +296 -0
  2. package/LICENSE +21 -0
  3. package/README.md +677 -0
  4. package/dist/alerts/alerts.d.ts +21 -0
  5. package/dist/alerts/alerts.d.ts.map +1 -0
  6. package/dist/alerts/alerts.js +18 -0
  7. package/dist/alerts/alerts.js.map +1 -0
  8. package/dist/alerts/discord.d.ts +3 -0
  9. package/dist/alerts/discord.d.ts.map +1 -0
  10. package/dist/alerts/discord.js +199 -0
  11. package/dist/alerts/discord.js.map +1 -0
  12. package/dist/alerts/dispatcher.d.ts +13 -0
  13. package/dist/alerts/dispatcher.d.ts.map +1 -0
  14. package/dist/alerts/dispatcher.js +91 -0
  15. package/dist/alerts/dispatcher.js.map +1 -0
  16. package/dist/alerts/keys.d.ts +24 -0
  17. package/dist/alerts/keys.d.ts.map +1 -0
  18. package/dist/alerts/keys.js +44 -0
  19. package/dist/alerts/keys.js.map +1 -0
  20. package/dist/alerts/pagerduty.d.ts +8 -0
  21. package/dist/alerts/pagerduty.d.ts.map +1 -0
  22. package/dist/alerts/pagerduty.js +164 -0
  23. package/dist/alerts/pagerduty.js.map +1 -0
  24. package/dist/alerts/resource.d.ts +23 -0
  25. package/dist/alerts/resource.d.ts.map +1 -0
  26. package/dist/alerts/resource.js +167 -0
  27. package/dist/alerts/resource.js.map +1 -0
  28. package/dist/alerts/slack.d.ts +7 -0
  29. package/dist/alerts/slack.d.ts.map +1 -0
  30. package/dist/alerts/slack.js +184 -0
  31. package/dist/alerts/slack.js.map +1 -0
  32. package/dist/alerts/telegram.d.ts +9 -0
  33. package/dist/alerts/telegram.d.ts.map +1 -0
  34. package/dist/alerts/telegram.js +133 -0
  35. package/dist/alerts/telegram.js.map +1 -0
  36. package/dist/alerts/templates.d.ts +109 -0
  37. package/dist/alerts/templates.d.ts.map +1 -0
  38. package/dist/alerts/templates.js +139 -0
  39. package/dist/alerts/templates.js.map +1 -0
  40. package/dist/alerts/types.d.ts +113 -0
  41. package/dist/alerts/types.d.ts.map +1 -0
  42. package/dist/alerts/types.js +87 -0
  43. package/dist/alerts/types.js.map +1 -0
  44. package/dist/alerts/webhook.d.ts +13 -0
  45. package/dist/alerts/webhook.d.ts.map +1 -0
  46. package/dist/alerts/webhook.js +56 -0
  47. package/dist/alerts/webhook.js.map +1 -0
  48. package/dist/cli/schemaFormatter.d.ts +11 -0
  49. package/dist/cli/schemaFormatter.d.ts.map +1 -0
  50. package/dist/cli/schemaFormatter.js +74 -0
  51. package/dist/cli/schemaFormatter.js.map +1 -0
  52. package/dist/commands/alerts.d.ts +3 -0
  53. package/dist/commands/alerts.d.ts.map +1 -0
  54. package/dist/commands/alerts.js +256 -0
  55. package/dist/commands/alerts.js.map +1 -0
  56. package/dist/commands/budget.d.ts +3 -0
  57. package/dist/commands/budget.d.ts.map +1 -0
  58. package/dist/commands/budget.js +47 -0
  59. package/dist/commands/budget.js.map +1 -0
  60. package/dist/commands/channels.d.ts +3 -0
  61. package/dist/commands/channels.d.ts.map +1 -0
  62. package/dist/commands/channels.js +84 -0
  63. package/dist/commands/channels.js.map +1 -0
  64. package/dist/commands/check.d.ts +3 -0
  65. package/dist/commands/check.d.ts.map +1 -0
  66. package/dist/commands/check.js +58 -0
  67. package/dist/commands/check.js.map +1 -0
  68. package/dist/commands/completion.d.ts +3 -0
  69. package/dist/commands/completion.d.ts.map +1 -0
  70. package/dist/commands/completion.js +36 -0
  71. package/dist/commands/completion.js.map +1 -0
  72. package/dist/commands/costs.d.ts +15 -0
  73. package/dist/commands/costs.d.ts.map +1 -0
  74. package/dist/commands/costs.js +280 -0
  75. package/dist/commands/costs.js.map +1 -0
  76. package/dist/commands/daemon.d.ts +3 -0
  77. package/dist/commands/daemon.d.ts.map +1 -0
  78. package/dist/commands/daemon.js +93 -0
  79. package/dist/commands/daemon.js.map +1 -0
  80. package/dist/commands/db.d.ts +3 -0
  81. package/dist/commands/db.d.ts.map +1 -0
  82. package/dist/commands/db.js +140 -0
  83. package/dist/commands/db.js.map +1 -0
  84. package/dist/commands/guard.d.ts +3 -0
  85. package/dist/commands/guard.d.ts.map +1 -0
  86. package/dist/commands/guard.js +181 -0
  87. package/dist/commands/guard.js.map +1 -0
  88. package/dist/commands/history.d.ts +3 -0
  89. package/dist/commands/history.d.ts.map +1 -0
  90. package/dist/commands/history.js +57 -0
  91. package/dist/commands/history.js.map +1 -0
  92. package/dist/commands/inspect.d.ts +3 -0
  93. package/dist/commands/inspect.d.ts.map +1 -0
  94. package/dist/commands/inspect.js +82 -0
  95. package/dist/commands/inspect.js.map +1 -0
  96. package/dist/commands/mcp.d.ts +3 -0
  97. package/dist/commands/mcp.d.ts.map +1 -0
  98. package/dist/commands/mcp.js +20 -0
  99. package/dist/commands/mcp.js.map +1 -0
  100. package/dist/commands/pause.d.ts +3 -0
  101. package/dist/commands/pause.d.ts.map +1 -0
  102. package/dist/commands/pause.js +32 -0
  103. package/dist/commands/pause.js.map +1 -0
  104. package/dist/commands/resources.d.ts +3 -0
  105. package/dist/commands/resources.d.ts.map +1 -0
  106. package/dist/commands/resources.js +95 -0
  107. package/dist/commands/resources.js.map +1 -0
  108. package/dist/commands/restore.d.ts +3 -0
  109. package/dist/commands/restore.d.ts.map +1 -0
  110. package/dist/commands/restore.js +92 -0
  111. package/dist/commands/restore.js.map +1 -0
  112. package/dist/commands/resume.d.ts +3 -0
  113. package/dist/commands/resume.d.ts.map +1 -0
  114. package/dist/commands/resume.js +31 -0
  115. package/dist/commands/resume.js.map +1 -0
  116. package/dist/commands/status.d.ts +3 -0
  117. package/dist/commands/status.d.ts.map +1 -0
  118. package/dist/commands/status.js +63 -0
  119. package/dist/commands/status.js.map +1 -0
  120. package/dist/commands/watch.d.ts +3 -0
  121. package/dist/commands/watch.d.ts.map +1 -0
  122. package/dist/commands/watch.js +163 -0
  123. package/dist/commands/watch.js.map +1 -0
  124. package/dist/core/aws_secrets.d.ts +13 -0
  125. package/dist/core/aws_secrets.d.ts.map +1 -0
  126. package/dist/core/aws_secrets.js +34 -0
  127. package/dist/core/aws_secrets.js.map +1 -0
  128. package/dist/core/budget.d.ts +10 -0
  129. package/dist/core/budget.d.ts.map +1 -0
  130. package/dist/core/budget.js +31 -0
  131. package/dist/core/budget.js.map +1 -0
  132. package/dist/core/channels.d.ts +67 -0
  133. package/dist/core/channels.d.ts.map +1 -0
  134. package/dist/core/channels.js +136 -0
  135. package/dist/core/channels.js.map +1 -0
  136. package/dist/core/check.d.ts +25 -0
  137. package/dist/core/check.d.ts.map +1 -0
  138. package/dist/core/check.js +85 -0
  139. package/dist/core/check.js.map +1 -0
  140. package/dist/core/completion.d.ts +9 -0
  141. package/dist/core/completion.d.ts.map +1 -0
  142. package/dist/core/completion.js +68 -0
  143. package/dist/core/completion.js.map +1 -0
  144. package/dist/core/costs.d.ts +90 -0
  145. package/dist/core/costs.d.ts.map +1 -0
  146. package/dist/core/costs.js +147 -0
  147. package/dist/core/costs.js.map +1 -0
  148. package/dist/core/decoder.d.ts +7 -0
  149. package/dist/core/decoder.d.ts.map +1 -0
  150. package/dist/core/decoder.js +38 -0
  151. package/dist/core/decoder.js.map +1 -0
  152. package/dist/core/discovery.d.ts +38 -0
  153. package/dist/core/discovery.d.ts.map +1 -0
  154. package/dist/core/discovery.js +208 -0
  155. package/dist/core/discovery.js.map +1 -0
  156. package/dist/core/extension.d.ts +83 -0
  157. package/dist/core/extension.d.ts.map +1 -0
  158. package/dist/core/extension.js +429 -0
  159. package/dist/core/extension.js.map +1 -0
  160. package/dist/core/inspect.d.ts +62 -0
  161. package/dist/core/inspect.d.ts.map +1 -0
  162. package/dist/core/inspect.js +303 -0
  163. package/dist/core/inspect.js.map +1 -0
  164. package/dist/core/introspection.d.ts +8 -0
  165. package/dist/core/introspection.d.ts.map +1 -0
  166. package/dist/core/introspection.js +8 -0
  167. package/dist/core/introspection.js.map +1 -0
  168. package/dist/core/monitor.d.ts +42 -0
  169. package/dist/core/monitor.d.ts.map +1 -0
  170. package/dist/core/monitor.js +188 -0
  171. package/dist/core/monitor.js.map +1 -0
  172. package/dist/core/rent_projection.d.ts +153 -0
  173. package/dist/core/rent_projection.d.ts.map +1 -0
  174. package/dist/core/rent_projection.js +146 -0
  175. package/dist/core/rent_projection.js.map +1 -0
  176. package/dist/core/scvalTranslator.d.ts +11 -0
  177. package/dist/core/scvalTranslator.d.ts.map +1 -0
  178. package/dist/core/scvalTranslator.js +36 -0
  179. package/dist/core/scvalTranslator.js.map +1 -0
  180. package/dist/core/state_diff.d.ts +45 -0
  181. package/dist/core/state_diff.d.ts.map +1 -0
  182. package/dist/core/state_diff.js +112 -0
  183. package/dist/core/state_diff.js.map +1 -0
  184. package/dist/core/status.d.ts +24 -0
  185. package/dist/core/status.d.ts.map +1 -0
  186. package/dist/core/status.js +57 -0
  187. package/dist/core/status.js.map +1 -0
  188. package/dist/core/vault.d.ts +37 -0
  189. package/dist/core/vault.d.ts.map +1 -0
  190. package/dist/core/vault.js +179 -0
  191. package/dist/core/vault.js.map +1 -0
  192. package/dist/core/watch.d.ts +36 -0
  193. package/dist/core/watch.d.ts.map +1 -0
  194. package/dist/core/watch.js +176 -0
  195. package/dist/core/watch.js.map +1 -0
  196. package/dist/daemon/loop.d.ts +38 -0
  197. package/dist/daemon/loop.d.ts.map +1 -0
  198. package/dist/daemon/loop.js +169 -0
  199. package/dist/daemon/loop.js.map +1 -0
  200. package/dist/db/backup.d.ts +12 -0
  201. package/dist/db/backup.d.ts.map +1 -0
  202. package/dist/db/backup.js +132 -0
  203. package/dist/db/backup.js.map +1 -0
  204. package/dist/db/budget.d.ts +17 -0
  205. package/dist/db/budget.d.ts.map +1 -0
  206. package/dist/db/budget.js +31 -0
  207. package/dist/db/budget.js.map +1 -0
  208. package/dist/db/database.d.ts +6 -0
  209. package/dist/db/database.d.ts.map +1 -0
  210. package/dist/db/database.js +134 -0
  211. package/dist/db/database.js.map +1 -0
  212. package/dist/db/migrations/.gitkeep +1 -0
  213. package/dist/db/migrations/001_resource_usage_logs.sql +28 -0
  214. package/dist/db/migrator.d.ts +28 -0
  215. package/dist/db/migrator.d.ts.map +1 -0
  216. package/dist/db/migrator.js +75 -0
  217. package/dist/db/migrator.js.map +1 -0
  218. package/dist/db/repositories.d.ts +474 -0
  219. package/dist/db/repositories.d.ts.map +1 -0
  220. package/dist/db/repositories.js +809 -0
  221. package/dist/db/repositories.js.map +1 -0
  222. package/dist/db/schema.sql +207 -0
  223. package/dist/index.d.ts +3 -0
  224. package/dist/index.d.ts.map +1 -0
  225. package/dist/index.js +47 -0
  226. package/dist/index.js.map +1 -0
  227. package/dist/lib.d.ts +20 -0
  228. package/dist/lib.d.ts.map +1 -0
  229. package/dist/lib.js +16 -0
  230. package/dist/lib.js.map +1 -0
  231. package/dist/logging/index.d.ts +22 -0
  232. package/dist/logging/index.d.ts.map +1 -0
  233. package/dist/logging/index.js +34 -0
  234. package/dist/logging/index.js.map +1 -0
  235. package/dist/logging/logger.d.ts +14 -0
  236. package/dist/logging/logger.d.ts.map +1 -0
  237. package/dist/logging/logger.js +135 -0
  238. package/dist/logging/logger.js.map +1 -0
  239. package/dist/logging/types.d.ts +10 -0
  240. package/dist/logging/types.d.ts.map +1 -0
  241. package/dist/logging/types.js +2 -0
  242. package/dist/logging/types.js.map +1 -0
  243. package/dist/mcp/index.d.ts +3 -0
  244. package/dist/mcp/index.d.ts.map +1 -0
  245. package/dist/mcp/index.js +14 -0
  246. package/dist/mcp/index.js.map +1 -0
  247. package/dist/mcp/server.d.ts +10 -0
  248. package/dist/mcp/server.d.ts.map +1 -0
  249. package/dist/mcp/server.js +51 -0
  250. package/dist/mcp/server.js.map +1 -0
  251. package/dist/mcp/tools/get-extension-costs.d.ts +4 -0
  252. package/dist/mcp/tools/get-extension-costs.d.ts.map +1 -0
  253. package/dist/mcp/tools/get-extension-costs.js +33 -0
  254. package/dist/mcp/tools/get-extension-costs.js.map +1 -0
  255. package/dist/mcp/tools/get_contract_status.d.ts +8 -0
  256. package/dist/mcp/tools/get_contract_status.d.ts.map +1 -0
  257. package/dist/mcp/tools/get_contract_status.js +33 -0
  258. package/dist/mcp/tools/get_contract_status.js.map +1 -0
  259. package/dist/rpc/client.d.ts +154 -0
  260. package/dist/rpc/client.d.ts.map +1 -0
  261. package/dist/rpc/client.js +766 -0
  262. package/dist/rpc/client.js.map +1 -0
  263. package/dist/utils/config.d.ts +51 -0
  264. package/dist/utils/config.d.ts.map +1 -0
  265. package/dist/utils/config.js +86 -0
  266. package/dist/utils/config.js.map +1 -0
  267. package/dist/utils/formatting.d.ts +10 -0
  268. package/dist/utils/formatting.d.ts.map +1 -0
  269. package/dist/utils/formatting.js +66 -0
  270. package/dist/utils/formatting.js.map +1 -0
  271. package/dist/utils/watch-config.d.ts +13 -0
  272. package/dist/utils/watch-config.d.ts.map +1 -0
  273. package/dist/utils/watch-config.js +32 -0
  274. package/dist/utils/watch-config.js.map +1 -0
  275. package/package.json +73 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repositories.js","sourceRoot":"","sources":["../../src/db/repositories.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,207 @@
1
+ CREATE TABLE IF NOT EXISTS contracts (
2
+ id TEXT PRIMARY KEY,
3
+ name TEXT,
4
+ network TEXT NOT NULL DEFAULT 'testnet',
5
+ wasm_hash TEXT,
6
+ tags TEXT,
7
+ poll_interval_seconds INTEGER,
8
+ active INTEGER NOT NULL DEFAULT 1,
9
+ registered_at DATETIME DEFAULT CURRENT_TIMESTAMP,
10
+ last_checked_ledger INTEGER,
11
+ last_introspected_at DATETIME
12
+ );
13
+
14
+ CREATE TABLE IF NOT EXISTS contract_entries (
15
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
16
+ contract_id TEXT NOT NULL REFERENCES contracts(id) ON DELETE CASCADE,
17
+ entry_key_xdr TEXT NOT NULL,
18
+ entry_type TEXT NOT NULL CHECK(entry_type IN ('instance', 'wasm', 'persistent', 'temporary')),
19
+ label TEXT,
20
+ live_until_ledger INTEGER,
21
+ last_modified_ledger INTEGER,
22
+ discovery_source TEXT NOT NULL DEFAULT 'deterministic' CHECK(discovery_source IN ('deterministic', 'manual', 'instance_scan', 'footprint', 'introspection')),
23
+ first_seen_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
24
+ last_checked_at DATETIME,
25
+ UNIQUE(contract_id, entry_key_xdr)
26
+ );
27
+
28
+ CREATE TABLE IF NOT EXISTS extension_policies (
29
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
30
+ contract_id TEXT NOT NULL REFERENCES contracts(id) ON DELETE CASCADE,
31
+ enabled BOOLEAN NOT NULL DEFAULT 0,
32
+ target_ttl_ledgers INTEGER NOT NULL,
33
+ extend_when_below_ledgers INTEGER NOT NULL,
34
+ keypair_public TEXT,
35
+ keypair_source TEXT,
36
+ created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
37
+ UNIQUE(contract_id)
38
+ );
39
+
40
+ CREATE TABLE IF NOT EXISTS alert_configs (
41
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
42
+ contract_id TEXT NOT NULL REFERENCES contracts(id) ON DELETE CASCADE,
43
+ channel_type TEXT NOT NULL CHECK(channel_type IN ('slack', 'webhook', 'pagerduty', 'discord', 'telegram')),
44
+ channel_target TEXT NOT NULL,
45
+ threshold_ledgers INTEGER NOT NULL,
46
+ webhook_secret TEXT,
47
+ created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
48
+ );
49
+
50
+ CREATE TABLE IF NOT EXISTS alerts_fired (
51
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
52
+ alert_config_id INTEGER NOT NULL REFERENCES alert_configs(id) ON DELETE CASCADE,
53
+ contract_entry_id INTEGER NOT NULL REFERENCES contract_entries(id) ON DELETE CASCADE,
54
+ fired_at_ledger INTEGER NOT NULL,
55
+ fired_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
56
+ ttl_at_fire INTEGER NOT NULL,
57
+ resolved BOOLEAN NOT NULL DEFAULT 0,
58
+ resolved_at TEXT,
59
+ delivered INTEGER NOT NULL DEFAULT 0,
60
+ delivered_at TEXT,
61
+ retry_count INTEGER NOT NULL DEFAULT 0
62
+ );
63
+
64
+ CREATE INDEX IF NOT EXISTS idx_alerts_fired_undelivered
65
+ ON alerts_fired(delivered, retry_count);
66
+
67
+ CREATE TABLE IF NOT EXISTS channel_accounts (
68
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
69
+ public_key TEXT NOT NULL UNIQUE,
70
+ keypair_source TEXT,
71
+ label TEXT,
72
+ network TEXT NOT NULL DEFAULT 'testnet',
73
+ funded BOOLEAN NOT NULL DEFAULT 0,
74
+ balance_xlm REAL,
75
+ balance_checked_at TEXT,
76
+ created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
77
+ );
78
+
79
+ CREATE TABLE IF NOT EXISTS extension_history (
80
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
81
+ contract_id TEXT NOT NULL REFERENCES contracts(id) ON DELETE CASCADE,
82
+ contract_entry_id INTEGER NOT NULL REFERENCES contract_entries(id) ON DELETE CASCADE,
83
+ old_ttl_ledgers INTEGER NOT NULL,
84
+ new_ttl_ledgers INTEGER NOT NULL,
85
+ tx_hash TEXT NOT NULL,
86
+ cost_xlm REAL,
87
+ cpu_insns INTEGER,
88
+ mem_bytes INTEGER,
89
+ is_anomaly INTEGER NOT NULL DEFAULT 0,
90
+ executed_at_ledger INTEGER NOT NULL,
91
+ executed_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
92
+ );
93
+
94
+ CREATE INDEX IF NOT EXISTS idx_extension_history_contract_executed
95
+ ON extension_history(contract_id, executed_at);
96
+
97
+ CREATE TABLE IF NOT EXISTS cost_daily_snapshots (
98
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
99
+ contract_id TEXT NOT NULL REFERENCES contracts(id) ON DELETE CASCADE,
100
+ snapshot_date DATE NOT NULL,
101
+ total_extensions INTEGER NOT NULL DEFAULT 0,
102
+ total_cost_xlm REAL NOT NULL DEFAULT 0,
103
+ instance_extensions INTEGER NOT NULL DEFAULT 0,
104
+ instance_cost_xlm REAL NOT NULL DEFAULT 0,
105
+ wasm_extensions INTEGER NOT NULL DEFAULT 0,
106
+ wasm_cost_xlm REAL NOT NULL DEFAULT 0,
107
+ persistent_extensions INTEGER NOT NULL DEFAULT 0,
108
+ persistent_cost_xlm REAL NOT NULL DEFAULT 0,
109
+ temporary_extensions INTEGER NOT NULL DEFAULT 0,
110
+ temporary_cost_xlm REAL NOT NULL DEFAULT 0,
111
+ created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
112
+ UNIQUE(contract_id, snapshot_date)
113
+ );
114
+
115
+ CREATE TABLE IF NOT EXISTS state_snapshots (
116
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
117
+ contract_entry_id INTEGER NOT NULL REFERENCES contract_entries(id) ON DELETE CASCADE,
118
+ snapshot_ledger INTEGER NOT NULL,
119
+ value_hash TEXT NOT NULL,
120
+ value_xdr TEXT NOT NULL,
121
+ created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
122
+ );
123
+ CREATE INDEX IF NOT EXISTS idx_state_snapshots_entry_ledger
124
+ ON state_snapshots(contract_entry_id, snapshot_ledger DESC);
125
+
126
+ CREATE TABLE IF NOT EXISTS state_changes (
127
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
128
+ contract_entry_id INTEGER NOT NULL REFERENCES contract_entries(id) ON DELETE CASCADE,
129
+ old_snapshot_id INTEGER REFERENCES state_snapshots(id) ON DELETE SET NULL,
130
+ new_snapshot_id INTEGER REFERENCES state_snapshots(id) ON DELETE SET NULL,
131
+ diff_type TEXT NOT NULL CHECK(diff_type IN ('created', 'updated', 'deleted')),
132
+ diff_json TEXT NOT NULL,
133
+ detected_at_ledger INTEGER NOT NULL,
134
+ created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
135
+ );
136
+ CREATE INDEX IF NOT EXISTS idx_state_changes_entry_detected_ledger
137
+ ON state_changes(contract_entry_id, detected_at_ledger DESC);
138
+
139
+ CREATE TABLE IF NOT EXISTS budgets (
140
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
141
+ contract_id TEXT NOT NULL REFERENCES contracts(id) ON DELETE CASCADE,
142
+ billing_cycle TEXT NOT NULL,
143
+ limit_xlm REAL NOT NULL,
144
+ spent_xlm REAL NOT NULL DEFAULT 0,
145
+ UNIQUE(contract_id, billing_cycle)
146
+ );
147
+
148
+ CREATE TABLE IF NOT EXISTS resource_alert_configs (
149
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
150
+ contract_id TEXT NOT NULL REFERENCES contracts(id) ON DELETE CASCADE,
151
+ channel_type TEXT NOT NULL CHECK(channel_type IN ('slack', 'webhook', 'pagerduty', 'discord', 'telegram')),
152
+ channel_target TEXT NOT NULL,
153
+ cpu_limit INTEGER NOT NULL,
154
+ mem_limit INTEGER NOT NULL,
155
+ webhook_secret TEXT,
156
+ created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
157
+ UNIQUE(contract_id, channel_type, channel_target)
158
+ );
159
+
160
+ CREATE TABLE IF NOT EXISTS resource_alerts_fired (
161
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
162
+ resource_alert_config_id INTEGER NOT NULL REFERENCES resource_alert_configs(id) ON DELETE CASCADE,
163
+ resource_type TEXT NOT NULL CHECK(resource_type IN ('cpu', 'memory')),
164
+ usage INTEGER NOT NULL,
165
+ "limit" INTEGER NOT NULL,
166
+ usage_percent INTEGER NOT NULL,
167
+ fired_at_ledger INTEGER,
168
+ fired_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
169
+ delivered INTEGER NOT NULL DEFAULT 0,
170
+ delivered_at TEXT,
171
+ retry_count INTEGER NOT NULL DEFAULT 0,
172
+ resolved BOOLEAN NOT NULL DEFAULT 0,
173
+ resolved_at TEXT
174
+ );
175
+
176
+ CREATE TABLE IF NOT EXISTS contract_budgets (
177
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
178
+ contract_id TEXT NOT NULL REFERENCES contracts(id) ON DELETE CASCADE,
179
+ monthly_limit_xlm REAL NOT NULL,
180
+ created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
181
+ updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
182
+ UNIQUE(contract_id)
183
+ );
184
+
185
+
186
+
187
+ CREATE TABLE IF NOT EXISTS resource_usage_logs (
188
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
189
+ contract_id TEXT NOT NULL REFERENCES contracts(id) ON DELETE CASCADE,
190
+ cpu_insns INTEGER NOT NULL,
191
+ mem_bytes INTEGER NOT NULL,
192
+ fee_instructions INTEGER,
193
+ fee_read_ledger_entries INTEGER,
194
+ fee_write_ledger_entries INTEGER,
195
+ fee_read_bytes INTEGER,
196
+ fee_write_bytes INTEGER,
197
+ fee_transaction_size INTEGER,
198
+ fee_historical_ledger INTEGER,
199
+ fee_rent_ledger INTEGER,
200
+ fee_refundable INTEGER,
201
+ recorded_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
202
+ );
203
+ CREATE INDEX IF NOT EXISTS idx_resource_usage_logs_contract_id
204
+ ON resource_usage_logs(contract_id);
205
+ CREATE INDEX IF NOT EXISTS idx_resource_usage_logs_recorded_at
206
+ ON resource_usage_logs(recorded_at DESC);
207
+
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,47 @@
1
+ #!/usr/bin/env node
2
+ import { Command } from "commander";
3
+ import { initLogger } from "./logging/index.js";
4
+ import { registerWatchCommand } from "./commands/watch.js";
5
+ import { registerStatusCommand } from "./commands/status.js";
6
+ import { registerCheckCommand } from "./commands/check.js";
7
+ import { registerDaemonCommand } from "./commands/daemon.js";
8
+ import { registerAlertsCommand } from "./commands/alerts.js";
9
+ import { registerGuardCommand } from "./commands/guard.js";
10
+ import { registerCostsCommand } from "./commands/costs.js";
11
+ import { registerResourcesCommand } from "./commands/resources.js";
12
+ import { registerRestoreCommand } from "./commands/restore.js";
13
+ import { registerChannelsCommand } from "./commands/channels.js";
14
+ import { registerMcpCommand } from "./commands/mcp.js";
15
+ import { registerHistoryCommand } from "./commands/history.js";
16
+ import { registerCompletionCommand } from "./commands/completion.js";
17
+ import { registerInspectCommand } from "./commands/inspect.js";
18
+ import { registerBudgetCommand } from "./commands/budget.js";
19
+ import { registerDbCommand } from "./commands/db.js";
20
+ import { registerPauseCommand } from "./commands/pause.js";
21
+ import { registerResumeCommand } from "./commands/resume.js";
22
+ initLogger({ mode: "cli" });
23
+ const program = new Command();
24
+ program
25
+ .name("sorokeep")
26
+ .description("Sorokeep — The missing operations layer for deployed Soroban smart contracts")
27
+ .version("0.1.2");
28
+ registerWatchCommand(program);
29
+ registerStatusCommand(program);
30
+ registerCheckCommand(program);
31
+ registerDaemonCommand(program);
32
+ registerAlertsCommand(program);
33
+ registerGuardCommand(program);
34
+ registerCostsCommand(program);
35
+ registerResourcesCommand(program);
36
+ registerRestoreCommand(program);
37
+ registerChannelsCommand(program);
38
+ registerMcpCommand(program);
39
+ registerHistoryCommand(program);
40
+ registerCompletionCommand(program);
41
+ registerInspectCommand(program);
42
+ registerBudgetCommand(program);
43
+ registerDbCommand(program);
44
+ registerPauseCommand(program);
45
+ registerResumeCommand(program);
46
+ program.parse(process.argv);
47
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAE5B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CACV,8EAA8E,CAC/E;KACA,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAClC,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC5B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,yBAAyB,CAAC,OAAO,CAAC,CAAC;AACnC,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC3B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAE/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
package/dist/lib.d.ts ADDED
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Sorokeep public library API.
3
+ *
4
+ * Re-exports the core programmatic functions so Node.js consumers can
5
+ * import them without pulling in any CLI (Commander.js) dependencies.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { watchContract, runMonitorCycle } from "sorokeep";
10
+ * ```
11
+ */
12
+ export { watchContract } from "./core/watch.js";
13
+ export type { WatchOptions, WatchResult } from "./core/watch.js";
14
+ export { runMonitorCycle } from "./core/monitor.js";
15
+ export type { MonitorCycleResult } from "./core/monitor.js";
16
+ export { inspectContract, parseSacBalance, buildSacBalanceKeyXdr, formatTokenBalance } from "./core/inspect.js";
17
+ export type { InspectOptions, InspectResult, InspectEntryInfo } from "./core/inspect.js";
18
+ export { AWSSecretsResolver } from "./core/aws_secrets.js";
19
+ export type { AWSSecretsResolverConfig } from "./core/aws_secrets.js";
20
+ //# sourceMappingURL=lib.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAChH,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC"}
package/dist/lib.js ADDED
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Sorokeep public library API.
3
+ *
4
+ * Re-exports the core programmatic functions so Node.js consumers can
5
+ * import them without pulling in any CLI (Commander.js) dependencies.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { watchContract, runMonitorCycle } from "sorokeep";
10
+ * ```
11
+ */
12
+ export { watchContract } from "./core/watch.js";
13
+ export { runMonitorCycle } from "./core/monitor.js";
14
+ export { inspectContract, parseSacBalance, buildSacBalanceKeyXdr, formatTokenBalance } from "./core/inspect.js";
15
+ export { AWSSecretsResolver } from "./core/aws_secrets.js";
16
+ //# sourceMappingURL=lib.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEhH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { Logger } from "./types.js";
2
+ import { LogFormat } from "./logger.js";
3
+ export type AppMode = "cli" | "daemon" | "test";
4
+ export interface AppLoggingConfig {
5
+ mode: AppMode;
6
+ level?: "debug" | "info" | "warn" | "error" | "fatal";
7
+ /** Override the output format. Defaults to "pretty" for cli, "json" otherwise. */
8
+ format?: LogFormat;
9
+ }
10
+ /**
11
+ * Simple global accessor so we don't pass logger everywhere if we don’t want to.
12
+ * For stricter design, we could DI this instead.
13
+ */
14
+ export declare function initLogger(config: AppLoggingConfig): Logger;
15
+ /**
16
+ * Force-rebuild the global logger, replacing any previously configured one.
17
+ * Used by long-running entry points (e.g. the daemon) that need to switch
18
+ * the output format at runtime — for example `--log-format json`.
19
+ */
20
+ export declare function configureLogger(config: AppLoggingConfig): Logger;
21
+ export declare function getLogger(): Logger;
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,YAAY,CAAC;AAClC,OAAO,EAAe,SAAS,EAAC,MAAM,aAAa,CAAC;AAEpD,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IACtD,kFAAkF;IAClF,MAAM,CAAC,EAAE,SAAS,CAAC;CACtB;AAYD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAI3D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAGhE;AAED,wBAAgB,SAAS,IAAI,MAAM,CAKlC"}
@@ -0,0 +1,34 @@
1
+ import { createLogger } from "./logger.js";
2
+ let globalLogger = null;
3
+ function buildLogger(config) {
4
+ const level = config.level ?? (config.mode === "test" ? "error" : config.mode === "daemon" ? "info" : "debug");
5
+ const format = config.format ?? (config.mode === "cli" ? "pretty" : "json");
6
+ const prettyPrint = format === "pretty";
7
+ return createLogger({ level, prettyPrint, format });
8
+ }
9
+ /**
10
+ * Simple global accessor so we don't pass logger everywhere if we don’t want to.
11
+ * For stricter design, we could DI this instead.
12
+ */
13
+ export function initLogger(config) {
14
+ if (globalLogger)
15
+ return globalLogger;
16
+ globalLogger = buildLogger(config);
17
+ return globalLogger;
18
+ }
19
+ /**
20
+ * Force-rebuild the global logger, replacing any previously configured one.
21
+ * Used by long-running entry points (e.g. the daemon) that need to switch
22
+ * the output format at runtime — for example `--log-format json`.
23
+ */
24
+ export function configureLogger(config) {
25
+ globalLogger = buildLogger(config);
26
+ return globalLogger;
27
+ }
28
+ export function getLogger() {
29
+ if (!globalLogger) {
30
+ globalLogger = createLogger({ level: 'info', prettyPrint: process.stdout.isTTY });
31
+ }
32
+ return globalLogger;
33
+ }
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAY,MAAM,aAAa,CAAC;AAWpD,IAAI,YAAY,GAAkB,IAAI,CAAC;AAEvC,SAAS,WAAW,CAAC,MAAwB;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC/G,MAAM,MAAM,GAAc,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACvF,MAAM,WAAW,GAAG,MAAM,KAAK,QAAQ,CAAC;IAExC,OAAO,YAAY,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,MAAwB;IAC/C,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IACtC,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,YAAY,CAAC;AACxB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAwB;IACpD,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,SAAS;IACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,YAAY,GAAG,YAAY,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,YAAY,CAAC;AACxB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { Logger, LogLevel } from "./types.js";
2
+ import { DestinationStream } from "pino";
3
+ export type LogFormat = "pretty" | "json";
4
+ export interface LoggerConfig {
5
+ level: LogLevel;
6
+ prettyPrint: boolean;
7
+ logFile?: string;
8
+ /** Output format. "json" emits one structured JSON object per line. */
9
+ format?: LogFormat;
10
+ /** Optional destination stream — used mainly for tests or custom sinks. */
11
+ destination?: DestinationStream;
12
+ }
13
+ export declare function createLogger(config: LoggerConfig): Logger;
14
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logging/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAC,MAAM,YAAY,CAAC;AAE5C,OAAa,EAA4D,iBAAiB,EAAC,MAAM,MAAM,CAAA;AAGvG,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE1C,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,QAAQ,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACnC;AA4ID,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAIzD"}
@@ -0,0 +1,135 @@
1
+ import chalk from "chalk";
2
+ import pino from "pino";
3
+ import util from "util";
4
+ function createLoggerInstance(config) {
5
+ const options = {
6
+ level: config.level ?? "info",
7
+ };
8
+ if (config.format === "json") {
9
+ // Structured, line-delimited JSON suitable for log aggregators.
10
+ // Emit the level as a human-readable label and an ISO-8601 timestamp
11
+ // under a stable `timestamp` key so downstream tools (jq, Loki, …)
12
+ // can rely on the shape.
13
+ options.timestamp = () => `,"timestamp":"${new Date().toISOString()}"`;
14
+ options.formatters = {
15
+ level: (label) => ({ level: label }),
16
+ };
17
+ return config.destination ? pino(options, config.destination) : pino(options);
18
+ }
19
+ if (config.prettyPrint && process.stdout.isTTY) {
20
+ options.transport = {
21
+ target: "pino-pretty",
22
+ options: {
23
+ colorize: true,
24
+ translateTime: "SYS:standard",
25
+ ignore: "pid,hostname",
26
+ }
27
+ };
28
+ }
29
+ else if (config.logFile) {
30
+ options.transport = {
31
+ target: "pino/file",
32
+ options: { destination: config.logFile }
33
+ };
34
+ }
35
+ else {
36
+ options.transport = {
37
+ target: "pino/file",
38
+ options: { destination: "stdout" }
39
+ };
40
+ }
41
+ return pino(options);
42
+ }
43
+ function formatMetaForLog(meta) {
44
+ if (!meta || meta.length === 0)
45
+ return "";
46
+ return meta.map(item => {
47
+ if (item instanceof Error) {
48
+ console.log(item.stack); // Prints stack if available
49
+ return item.stack ?? item.message;
50
+ }
51
+ if (typeof item === "string")
52
+ return item;
53
+ try {
54
+ return util.inspect(item, { depth: 2, colors: false });
55
+ }
56
+ catch {
57
+ return String(item);
58
+ }
59
+ }).join(" ");
60
+ }
61
+ function styleForLevel(level, text) {
62
+ switch (level) {
63
+ case "debug":
64
+ return chalk.cyan.dim(text);
65
+ case "info":
66
+ return chalk.green.bold(text);
67
+ case "warn":
68
+ return chalk.yellow.bold(text);
69
+ case "error":
70
+ return chalk.red.bold(text);
71
+ case "fatal":
72
+ return chalk.bgRed.white.bold(text);
73
+ default:
74
+ return text;
75
+ }
76
+ }
77
+ class LoggerWrapper {
78
+ logger;
79
+ bindings;
80
+ colorize;
81
+ constructor(loggerInstance, bindings = {}, colorize = true) {
82
+ this.logger = loggerInstance;
83
+ this.bindings = bindings;
84
+ this.colorize = colorize;
85
+ }
86
+ child(bindings) {
87
+ const child = this.logger.child(bindings);
88
+ return new LoggerWrapper(child, { ...this.bindings, ...bindings }, this.colorize);
89
+ }
90
+ logWithStyle(level, message, meta) {
91
+ // In JSON mode keep messages plain — ANSI escapes would pollute the
92
+ // structured `msg` field and break log parsing. Bound fields (e.g.
93
+ // `component`) are already carried by the underlying pino child, so we
94
+ // don't re-emit them here to avoid duplicate keys.
95
+ if (!this.colorize) {
96
+ if (meta && meta.length > 0) {
97
+ this.logger[level]({ meta }, message);
98
+ }
99
+ else {
100
+ this.logger[level](message);
101
+ }
102
+ return;
103
+ }
104
+ const metaStr = formatMetaForLog(meta);
105
+ const styledMessage = styleForLevel(level, message);
106
+ const styledMeta = metaStr ? chalk.gray.dim(metaStr) : "";
107
+ if (metaStr) {
108
+ this.logger[level]({ ...this.bindings, meta }, `${styledMessage} ${styledMeta}`);
109
+ }
110
+ else {
111
+ this.logger[level]({ ...this.bindings }, styledMessage);
112
+ }
113
+ }
114
+ debug(message, ...meta) {
115
+ this.logWithStyle("debug", message, meta);
116
+ }
117
+ error(message, ...meta) {
118
+ this.logWithStyle("error", message, meta);
119
+ }
120
+ fatal(message, ...meta) {
121
+ this.logWithStyle("fatal", message, meta);
122
+ }
123
+ info(message, ...meta) {
124
+ this.logWithStyle("info", message, meta);
125
+ }
126
+ warn(message, ...meta) {
127
+ this.logWithStyle("warn", message, meta);
128
+ }
129
+ }
130
+ export function createLogger(config) {
131
+ const loggerInstance = createLoggerInstance(config);
132
+ const colorize = config.format !== "json" && config.prettyPrint;
133
+ return new LoggerWrapper(loggerInstance, {}, colorize);
134
+ }
135
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logging/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'fatal';
2
+ export interface Logger {
3
+ debug(message: string, ...meta: unknown[]): void;
4
+ info(message: string, ...meta: unknown[]): void;
5
+ warn(message: string, ...meta: unknown[]): void;
6
+ error(message: string, ...meta: unknown[]): void;
7
+ fatal(message: string, ...meta: unknown[]): void;
8
+ child(bindings: Record<string, unknown>): Logger;
9
+ }
10
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/logging/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAErE,MAAM,WAAW,MAAM;IACnB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAIjD,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;CACpD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/logging/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
+ import { getDatabase } from "../db/database.js";
4
+ import { createMcpServer } from "./server.js";
5
+ async function main() {
6
+ const server = createMcpServer(() => getDatabase());
7
+ const transport = new StdioServerTransport();
8
+ await server.connect(transport);
9
+ }
10
+ main().catch((error) => {
11
+ console.error("MCP server error:", error);
12
+ process.exit(1);
13
+ });
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,KAAK,UAAU,IAAI;IACf,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAC5B,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type Database from "better-sqlite3";
2
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
3
+ export declare function invokeListWatchedContracts(db: Database.Database): Promise<{
4
+ content: {
5
+ type: "text";
6
+ text: string;
7
+ }[];
8
+ }>;
9
+ export declare function createMcpServer(getDb: () => Database.Database): McpServer;
10
+ //# sourceMappingURL=server.d.ts.map