atabey 0.1.1-beta → 0.1.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 (229) hide show
  1. package/README.md +144 -78
  2. package/dist/atabey/src/cli/commands/coverage.js +17 -12
  3. package/dist/atabey/src/cli/commands/coverage.js.map +1 -1
  4. package/dist/atabey/src/cli/commands/lint.d.ts +2 -1
  5. package/dist/atabey/src/cli/commands/lint.js +20 -1
  6. package/dist/atabey/src/cli/commands/lint.js.map +1 -1
  7. package/dist/atabey/src/cli/commands/mcp.js +56 -23
  8. package/dist/atabey/src/cli/commands/mcp.js.map +1 -1
  9. package/dist/atabey/src/cli/commands/orchestrate.d.ts +6 -6
  10. package/dist/shared/src/agent-identity.d.ts +1 -34
  11. package/dist/shared/src/agent-identity.js +1 -76
  12. package/dist/shared/src/agent-identity.js.map +1 -1
  13. package/dist/shared/src/api-catalog.d.ts +1 -57
  14. package/dist/shared/src/api-catalog.js +1 -253
  15. package/dist/shared/src/api-catalog.js.map +1 -1
  16. package/dist/shared/src/audit-chain.d.ts +1 -80
  17. package/dist/shared/src/audit-chain.js +1 -261
  18. package/dist/shared/src/audit-chain.js.map +1 -1
  19. package/dist/shared/src/audit.d.ts +1 -121
  20. package/dist/shared/src/audit.js +1 -321
  21. package/dist/shared/src/audit.js.map +1 -1
  22. package/dist/shared/src/constants.d.ts +1 -150
  23. package/dist/shared/src/constants.js +1 -211
  24. package/dist/shared/src/constants.js.map +1 -1
  25. package/dist/shared/src/database.d.ts +1 -6
  26. package/dist/shared/src/database.js +1 -15
  27. package/dist/shared/src/database.js.map +1 -1
  28. package/dist/shared/src/errors.d.ts +1 -46
  29. package/dist/shared/src/errors.js +1 -68
  30. package/dist/shared/src/errors.js.map +1 -1
  31. package/dist/shared/src/file-lock.d.ts +1 -93
  32. package/dist/shared/src/file-lock.js +1 -239
  33. package/dist/shared/src/file-lock.js.map +1 -1
  34. package/dist/shared/src/fs.d.ts +1 -9
  35. package/dist/shared/src/fs.js +1 -53
  36. package/dist/shared/src/fs.js.map +1 -1
  37. package/dist/shared/src/index.d.ts +2 -31
  38. package/dist/shared/src/index.js +2 -31
  39. package/dist/shared/src/index.js.map +1 -1
  40. package/dist/shared/src/job-queue.d.ts +1 -76
  41. package/dist/shared/src/job-queue.js +1 -199
  42. package/dist/shared/src/job-queue.js.map +1 -1
  43. package/dist/shared/src/lock.d.ts +1 -82
  44. package/dist/shared/src/lock.js +1 -158
  45. package/dist/shared/src/lock.js.map +1 -1
  46. package/dist/shared/src/logger.d.ts +1 -31
  47. package/dist/shared/src/logger.js +1 -152
  48. package/dist/shared/src/logger.js.map +1 -1
  49. package/dist/shared/src/memory-prune.d.ts +1 -18
  50. package/dist/shared/src/memory-prune.js +1 -47
  51. package/dist/shared/src/memory-prune.js.map +1 -1
  52. package/dist/shared/src/migrations.d.ts +1 -69
  53. package/dist/shared/src/migrations.js +1 -393
  54. package/dist/shared/src/migrations.js.map +1 -1
  55. package/dist/shared/src/modules/agent/agent-identity.d.ts +34 -0
  56. package/dist/shared/src/modules/agent/agent-identity.js +77 -0
  57. package/dist/shared/src/modules/agent/agent-identity.js.map +1 -0
  58. package/dist/shared/src/modules/agent/api-catalog.d.ts +57 -0
  59. package/dist/shared/src/modules/agent/api-catalog.js +254 -0
  60. package/dist/shared/src/modules/agent/api-catalog.js.map +1 -0
  61. package/dist/shared/src/modules/agent/index.d.ts +3 -0
  62. package/dist/shared/src/modules/agent/index.js +4 -0
  63. package/dist/shared/src/modules/agent/index.js.map +1 -0
  64. package/dist/shared/src/modules/agent/tokenizer.d.ts +54 -0
  65. package/dist/shared/src/modules/agent/tokenizer.js +272 -0
  66. package/dist/shared/src/modules/agent/tokenizer.js.map +1 -0
  67. package/dist/shared/src/modules/concurrency/file-lock.d.ts +93 -0
  68. package/dist/shared/src/modules/concurrency/file-lock.js +240 -0
  69. package/dist/shared/src/modules/concurrency/file-lock.js.map +1 -0
  70. package/dist/shared/src/modules/concurrency/index.d.ts +6 -0
  71. package/dist/shared/src/modules/concurrency/index.js +7 -0
  72. package/dist/shared/src/modules/concurrency/index.js.map +1 -0
  73. package/dist/shared/src/modules/concurrency/job-queue.d.ts +76 -0
  74. package/dist/shared/src/modules/concurrency/job-queue.js +200 -0
  75. package/dist/shared/src/modules/concurrency/job-queue.js.map +1 -0
  76. package/dist/shared/src/modules/concurrency/lock.d.ts +82 -0
  77. package/dist/shared/src/modules/concurrency/lock.js +159 -0
  78. package/dist/shared/src/modules/concurrency/lock.js.map +1 -0
  79. package/dist/shared/src/modules/concurrency/resilience.d.ts +84 -0
  80. package/dist/shared/src/modules/concurrency/resilience.js +217 -0
  81. package/dist/shared/src/modules/concurrency/resilience.js.map +1 -0
  82. package/dist/shared/src/modules/concurrency/worker-pool.d.ts +52 -0
  83. package/dist/shared/src/modules/concurrency/worker-pool.js +229 -0
  84. package/dist/shared/src/modules/concurrency/worker-pool.js.map +1 -0
  85. package/dist/shared/src/modules/concurrency/worker-thread.d.ts +21 -0
  86. package/dist/shared/src/modules/concurrency/worker-thread.js +67 -0
  87. package/dist/shared/src/modules/concurrency/worker-thread.js.map +1 -0
  88. package/dist/shared/src/modules/index.d.ts +14 -0
  89. package/dist/shared/src/modules/index.js +15 -0
  90. package/dist/shared/src/modules/index.js.map +1 -0
  91. package/dist/shared/src/modules/observability/audit-chain.d.ts +80 -0
  92. package/dist/shared/src/modules/observability/audit-chain.js +262 -0
  93. package/dist/shared/src/modules/observability/audit-chain.js.map +1 -0
  94. package/dist/shared/src/modules/observability/audit.d.ts +121 -0
  95. package/dist/shared/src/modules/observability/audit.js +322 -0
  96. package/dist/shared/src/modules/observability/audit.js.map +1 -0
  97. package/dist/shared/src/modules/observability/index.d.ts +4 -0
  98. package/dist/shared/src/modules/observability/index.js +5 -0
  99. package/dist/shared/src/modules/observability/index.js.map +1 -0
  100. package/dist/shared/src/modules/observability/logger.d.ts +31 -0
  101. package/dist/shared/src/modules/observability/logger.js +153 -0
  102. package/dist/shared/src/modules/observability/logger.js.map +1 -0
  103. package/dist/shared/src/modules/observability/otel.d.ts +39 -0
  104. package/dist/shared/src/modules/observability/otel.js +93 -0
  105. package/dist/shared/src/modules/observability/otel.js.map +1 -0
  106. package/dist/shared/src/modules/primitives/constants.d.ts +150 -0
  107. package/dist/shared/src/modules/primitives/constants.js +212 -0
  108. package/dist/shared/src/modules/primitives/constants.js.map +1 -0
  109. package/dist/shared/src/modules/primitives/errors.d.ts +46 -0
  110. package/dist/shared/src/modules/primitives/errors.js +69 -0
  111. package/dist/shared/src/modules/primitives/errors.js.map +1 -0
  112. package/dist/shared/src/modules/primitives/fs.d.ts +9 -0
  113. package/dist/shared/src/modules/primitives/fs.js +54 -0
  114. package/dist/shared/src/modules/primitives/fs.js.map +1 -0
  115. package/dist/shared/src/modules/primitives/index.d.ts +7 -0
  116. package/dist/shared/src/modules/primitives/index.js +8 -0
  117. package/dist/shared/src/modules/primitives/index.js.map +1 -0
  118. package/dist/shared/src/modules/primitives/outbound-http.d.ts +32 -0
  119. package/dist/shared/src/modules/primitives/outbound-http.js +88 -0
  120. package/dist/shared/src/modules/primitives/outbound-http.js.map +1 -0
  121. package/dist/shared/src/modules/primitives/string.d.ts +1 -0
  122. package/dist/shared/src/modules/primitives/string.js +30 -0
  123. package/dist/shared/src/modules/primitives/string.js.map +1 -0
  124. package/dist/shared/src/modules/primitives/time.d.ts +5 -0
  125. package/dist/shared/src/modules/primitives/time.js +35 -0
  126. package/dist/shared/src/modules/primitives/time.js.map +1 -0
  127. package/dist/shared/src/modules/primitives/types.d.ts +27 -0
  128. package/dist/shared/src/modules/primitives/types.js +17 -0
  129. package/dist/shared/src/modules/primitives/types.js.map +1 -0
  130. package/dist/shared/src/modules/sandbox/index.d.ts +3 -0
  131. package/dist/shared/src/modules/sandbox/index.js +4 -0
  132. package/dist/shared/src/modules/sandbox/index.js.map +1 -0
  133. package/dist/shared/src/modules/sandbox/sandbox-fs.d.ts +28 -0
  134. package/dist/shared/src/modules/sandbox/sandbox-fs.js +143 -0
  135. package/dist/shared/src/modules/sandbox/sandbox-fs.js.map +1 -0
  136. package/dist/shared/src/modules/sandbox/sandbox-runtime.d.ts +78 -0
  137. package/dist/shared/src/modules/sandbox/sandbox-runtime.js +282 -0
  138. package/dist/shared/src/modules/sandbox/sandbox-runtime.js.map +1 -0
  139. package/dist/shared/src/modules/sandbox/sandbox.d.ts +54 -0
  140. package/dist/shared/src/modules/sandbox/sandbox.js +179 -0
  141. package/dist/shared/src/modules/sandbox/sandbox.js.map +1 -0
  142. package/dist/shared/src/modules/security/index.d.ts +5 -0
  143. package/dist/shared/src/modules/security/index.js +6 -0
  144. package/dist/shared/src/modules/security/index.js.map +1 -0
  145. package/dist/shared/src/modules/security/pii.d.ts +70 -0
  146. package/dist/shared/src/modules/security/pii.js +276 -0
  147. package/dist/shared/src/modules/security/pii.js.map +1 -0
  148. package/dist/shared/src/modules/security/policy-gate.d.ts +42 -0
  149. package/dist/shared/src/modules/security/policy-gate.js +172 -0
  150. package/dist/shared/src/modules/security/policy-gate.js.map +1 -0
  151. package/dist/shared/src/modules/security/retention.d.ts +68 -0
  152. package/dist/shared/src/modules/security/retention.js +218 -0
  153. package/dist/shared/src/modules/security/retention.js.map +1 -0
  154. package/dist/shared/src/modules/security/secrets.d.ts +99 -0
  155. package/dist/shared/src/modules/security/secrets.js +371 -0
  156. package/dist/shared/src/modules/security/secrets.js.map +1 -0
  157. package/dist/shared/src/modules/security/tls.d.ts +87 -0
  158. package/dist/shared/src/modules/security/tls.js +154 -0
  159. package/dist/shared/src/modules/security/tls.js.map +1 -0
  160. package/dist/shared/src/modules/storage/database.d.ts +6 -0
  161. package/dist/shared/src/modules/storage/database.js +16 -0
  162. package/dist/shared/src/modules/storage/database.js.map +1 -0
  163. package/dist/shared/src/modules/storage/index.d.ts +4 -0
  164. package/dist/shared/src/modules/storage/index.js +5 -0
  165. package/dist/shared/src/modules/storage/index.js.map +1 -0
  166. package/dist/shared/src/modules/storage/memory-prune.d.ts +18 -0
  167. package/dist/shared/src/modules/storage/memory-prune.js +48 -0
  168. package/dist/shared/src/modules/storage/memory-prune.js.map +1 -0
  169. package/dist/shared/src/modules/storage/migrations.d.ts +69 -0
  170. package/dist/shared/src/modules/storage/migrations.js +394 -0
  171. package/dist/shared/src/modules/storage/migrations.js.map +1 -0
  172. package/dist/shared/src/modules/storage/storage.d.ts +341 -0
  173. package/dist/shared/src/modules/storage/storage.js +1004 -0
  174. package/dist/shared/src/modules/storage/storage.js.map +1 -0
  175. package/dist/shared/src/otel.d.ts +1 -39
  176. package/dist/shared/src/otel.js +1 -92
  177. package/dist/shared/src/otel.js.map +1 -1
  178. package/dist/shared/src/outbound-http.d.ts +1 -32
  179. package/dist/shared/src/outbound-http.js +1 -87
  180. package/dist/shared/src/outbound-http.js.map +1 -1
  181. package/dist/shared/src/pii.d.ts +1 -70
  182. package/dist/shared/src/pii.js +1 -275
  183. package/dist/shared/src/pii.js.map +1 -1
  184. package/dist/shared/src/policy-gate.d.ts +1 -42
  185. package/dist/shared/src/policy-gate.js +1 -171
  186. package/dist/shared/src/policy-gate.js.map +1 -1
  187. package/dist/shared/src/resilience.d.ts +1 -84
  188. package/dist/shared/src/resilience.js +1 -216
  189. package/dist/shared/src/resilience.js.map +1 -1
  190. package/dist/shared/src/retention.d.ts +1 -68
  191. package/dist/shared/src/retention.js +1 -217
  192. package/dist/shared/src/retention.js.map +1 -1
  193. package/dist/shared/src/sandbox-fs.d.ts +1 -28
  194. package/dist/shared/src/sandbox-fs.js +1 -142
  195. package/dist/shared/src/sandbox-fs.js.map +1 -1
  196. package/dist/shared/src/sandbox-runtime.d.ts +1 -78
  197. package/dist/shared/src/sandbox-runtime.js +1 -281
  198. package/dist/shared/src/sandbox-runtime.js.map +1 -1
  199. package/dist/shared/src/sandbox.d.ts +1 -54
  200. package/dist/shared/src/sandbox.js +1 -178
  201. package/dist/shared/src/sandbox.js.map +1 -1
  202. package/dist/shared/src/secrets.d.ts +1 -99
  203. package/dist/shared/src/secrets.js +1 -370
  204. package/dist/shared/src/secrets.js.map +1 -1
  205. package/dist/shared/src/storage.d.ts +1 -341
  206. package/dist/shared/src/storage.js +1 -1003
  207. package/dist/shared/src/storage.js.map +1 -1
  208. package/dist/shared/src/string.d.ts +1 -1
  209. package/dist/shared/src/string.js +1 -29
  210. package/dist/shared/src/string.js.map +1 -1
  211. package/dist/shared/src/time.d.ts +1 -5
  212. package/dist/shared/src/time.js +1 -34
  213. package/dist/shared/src/time.js.map +1 -1
  214. package/dist/shared/src/tls.d.ts +1 -87
  215. package/dist/shared/src/tls.js +1 -153
  216. package/dist/shared/src/tls.js.map +1 -1
  217. package/dist/shared/src/tokenizer.d.ts +1 -54
  218. package/dist/shared/src/tokenizer.js +1 -271
  219. package/dist/shared/src/tokenizer.js.map +1 -1
  220. package/dist/shared/src/types.d.ts +1 -27
  221. package/dist/shared/src/types.js +1 -16
  222. package/dist/shared/src/types.js.map +1 -1
  223. package/dist/shared/src/worker-pool.d.ts +1 -52
  224. package/dist/shared/src/worker-pool.js +1 -228
  225. package/dist/shared/src/worker-pool.js.map +1 -1
  226. package/dist/shared/src/worker-thread.d.ts +1 -21
  227. package/dist/shared/src/worker-thread.js +1 -66
  228. package/dist/shared/src/worker-thread.js.map +1 -1
  229. package/package.json +4 -4
@@ -0,0 +1,341 @@
1
+ import Database from "better-sqlite3";
2
+ import type { ApiEndpoint } from "../agent/api-catalog.js";
3
+ import { type BackupResult, type IntegrityCheckResult } from "./migrations.js";
4
+ import { AgentID, LogID, MessageID, TaskID, TraceID } from "../primitives/types.js";
5
+ export interface AgentRow {
6
+ name: AgentID;
7
+ state: string;
8
+ task: string;
9
+ last_updated: string;
10
+ }
11
+ export interface MessageRow {
12
+ id?: MessageID;
13
+ timestamp: string;
14
+ from: AgentID;
15
+ to: AgentID;
16
+ category: string;
17
+ content: string;
18
+ traceId: TraceID;
19
+ parentId?: TaskID;
20
+ status: string;
21
+ priority: string;
22
+ requiresApproval: boolean;
23
+ }
24
+ export interface TaskRow {
25
+ id: TaskID;
26
+ traceId: TraceID;
27
+ description: string;
28
+ agent: AgentID;
29
+ status: string;
30
+ priority: string;
31
+ dependencies: string[];
32
+ createdAt?: string;
33
+ }
34
+ export interface LogRow {
35
+ id?: LogID;
36
+ timestamp: string;
37
+ agent: AgentID;
38
+ action: string;
39
+ trace_id?: TraceID;
40
+ status: string;
41
+ summary: string;
42
+ findings?: string;
43
+ prev_hash?: string;
44
+ hash?: string;
45
+ }
46
+ export interface CostDbRow {
47
+ id: number;
48
+ provider: string;
49
+ model: string;
50
+ input_tokens: number;
51
+ output_tokens: number;
52
+ cost: number;
53
+ timestamp: string;
54
+ trace_id: string | null;
55
+ }
56
+ export interface MessageDbRow {
57
+ id: number;
58
+ timestamp: string;
59
+ sender: string;
60
+ receiver: string;
61
+ category: string;
62
+ content: string;
63
+ trace_id: string;
64
+ parent_id: string | null;
65
+ status: string;
66
+ priority: string;
67
+ requires_approval: number;
68
+ }
69
+ export interface TaskDbRow {
70
+ id: string;
71
+ trace_id: string;
72
+ description: string;
73
+ agent: string;
74
+ status: string;
75
+ priority: string;
76
+ dependencies: string;
77
+ created_at: string;
78
+ }
79
+ export interface LogDbRow {
80
+ id: number;
81
+ timestamp: string;
82
+ agent: string;
83
+ action: string;
84
+ trace_id: string | null;
85
+ status: string;
86
+ summary: string;
87
+ findings: string | null;
88
+ prev_hash: string | null;
89
+ hash: string | null;
90
+ }
91
+ /**
92
+ * Resolves the framework directory (.atabey) intelligently by ascending the directory tree,
93
+ * preventing subpackages and test runners from spraying databases in random subfolders.
94
+ */
95
+ export declare function resolveFrameworkDir(): string;
96
+ /**
97
+ * [DB] Canonical Atabey Storage Engine (Single Source of Truth)
98
+ * Central SQLite database for enterprise-scale multi-agent state management.
99
+ */
100
+ export declare class AtabeyStorage {
101
+ private static db;
102
+ static getDB(): Database.Database;
103
+ private static initializeSchema;
104
+ static getKnowledgeList(): Array<{
105
+ filename: string;
106
+ updated_at: string;
107
+ }>;
108
+ static getKnowledgeFile(filename: string): {
109
+ filename: string;
110
+ content: string;
111
+ updated_at: string;
112
+ } | null;
113
+ static saveKnowledgeFile(filename: string, content: string): void;
114
+ static deleteKnowledgeFile(filename: string): boolean;
115
+ static hasUsers(): boolean;
116
+ static getUsers(): Array<{
117
+ name: string;
118
+ token: string;
119
+ role: string;
120
+ }>;
121
+ static getUserByToken(token: string): {
122
+ name: string;
123
+ role: string;
124
+ } | null;
125
+ static createUser(name: string, token: string, role: string): void;
126
+ static deleteUser(name: string): boolean;
127
+ static createAgent(name: string, description: string, skills: string): void;
128
+ static deleteAgent(name: string): boolean;
129
+ static updateAgentDetails(name: string, description: string, state: string, task: string, skills: string): void;
130
+ static onMessageSaved: ((msg: {
131
+ traceId: string;
132
+ category: string;
133
+ }) => void) | null;
134
+ static onMessageStatusUpdated: ((id: number, status: string) => void) | null;
135
+ static saveLog(log: {
136
+ agent: string;
137
+ action: string;
138
+ trace_id?: string;
139
+ status: string;
140
+ summary: string;
141
+ findings?: string;
142
+ }): number;
143
+ static verifyLogIntegrity(): {
144
+ valid: boolean;
145
+ checked?: number;
146
+ failedLogId?: number;
147
+ reason?: string;
148
+ tip?: string;
149
+ };
150
+ static saveCost(cost: {
151
+ provider: string;
152
+ model: string;
153
+ inputTokens: number;
154
+ outputTokens: number;
155
+ cost: number;
156
+ timestamp: string;
157
+ traceId?: string;
158
+ }): void;
159
+ static getAllCosts(): Array<{
160
+ provider: string;
161
+ model: string;
162
+ inputTokens: number;
163
+ outputTokens: number;
164
+ cost: number;
165
+ timestamp: string;
166
+ traceId?: string;
167
+ }>;
168
+ static updateAgentStatus(name: string, state: string, task: string, lastUpdated?: string): void;
169
+ static getAllAgents(): AgentRow[];
170
+ static saveMessage(msg: MessageRow): void;
171
+ static getPendingMessages(): MessageRow[];
172
+ static updateMessageStatus(id: number, status: string): void;
173
+ static saveTask(task: TaskRow): void;
174
+ static getTasks(traceId?: TraceID): TaskRow[];
175
+ static getLogs(agentName?: string): LogRow[];
176
+ static setMetadata(key: string, value: string): void;
177
+ static getMetadata(key: string): string | null;
178
+ static saveLoopCooldown(agent: string, cooldownUntil: number, detail: string | null, cooldownCount?: number): void;
179
+ static getLoopCooldown(agent: string): {
180
+ agent: string;
181
+ cooldownUntil: number;
182
+ detail: string | null;
183
+ cooldownCount: number;
184
+ } | null;
185
+ static clearLoopCooldown(agent: string): boolean;
186
+ static clearAllLoopCooldowns(): void;
187
+ static listActiveLoopCooldowns(): Array<{
188
+ agent: string;
189
+ cooldownUntil: number;
190
+ detail: string | null;
191
+ cooldownCount: number;
192
+ }>;
193
+ static purgeExpiredLoopCooldowns(): number;
194
+ static saveApproval(app: {
195
+ traceId: string;
196
+ toolName: string;
197
+ agent: string;
198
+ riskScore: number;
199
+ riskLevel: string;
200
+ reason: string;
201
+ args: Record<string, unknown>;
202
+ createdAt: number;
203
+ expiresAt: number;
204
+ status?: "PENDING" | "APPROVED" | "REJECTED" | "EXPIRED";
205
+ passcode?: string;
206
+ }): void;
207
+ static saveApprovalRequest(request: {
208
+ traceId: string;
209
+ toolName: string;
210
+ agent: string;
211
+ riskScore: number;
212
+ riskLevel: string;
213
+ reason: string;
214
+ args: Record<string, unknown>;
215
+ createdAt: number;
216
+ expiresAt: number;
217
+ status?: "PENDING" | "APPROVED" | "REJECTED" | "EXPIRED";
218
+ passcode?: string;
219
+ }): void;
220
+ static getApproval(traceId: string): {
221
+ traceId: string;
222
+ toolName: string;
223
+ agent: string;
224
+ riskScore: number;
225
+ riskLevel: string;
226
+ reason: string;
227
+ args: Record<string, unknown>;
228
+ createdAt: number;
229
+ expiresAt: number;
230
+ status: "PENDING" | "APPROVED" | "REJECTED" | "EXPIRED";
231
+ passcode?: string;
232
+ } | null;
233
+ static getPendingApprovals(): Array<{
234
+ traceId: string;
235
+ toolName: string;
236
+ agent: string;
237
+ riskScore: number;
238
+ riskLevel: string;
239
+ reason: string;
240
+ args: Record<string, unknown>;
241
+ createdAt: number;
242
+ expiresAt: number;
243
+ status: "PENDING" | "APPROVED" | "REJECTED" | "EXPIRED";
244
+ passcode?: string;
245
+ }>;
246
+ static updateApprovalStatus(traceId: string, status: string): void;
247
+ static clearAllApprovals(): void;
248
+ static saveDiscipline(agent: string, stats: {
249
+ totalCalls: number;
250
+ violations: number;
251
+ lastViolation: string | null;
252
+ cooldownUntil: number;
253
+ }): void;
254
+ static getDiscipline(agent: string): {
255
+ agent: string;
256
+ totalCalls: number;
257
+ violations: number;
258
+ lastViolation: string | null;
259
+ cooldownUntil: number;
260
+ } | null;
261
+ static getAllDiscipline(): Array<{
262
+ agent: string;
263
+ totalCalls: number;
264
+ violations: number;
265
+ lastViolation: string | null;
266
+ cooldownUntil: number;
267
+ }>;
268
+ static clearAllDiscipline(): void;
269
+ static recordDisciplineCall(agent: string, tool: string, timestamp: number, argsSize: number): void;
270
+ static getRecentDisciplineCalls(agent: string, sinceTs: number): Array<{
271
+ tool: string;
272
+ timestamp: number;
273
+ argsSize: number;
274
+ }>;
275
+ static pruneDisciplineCalls(beforeTs: number): void;
276
+ static clearDisciplineCalls(agent?: string): void;
277
+ static getCodeFileHash(filePath: string): string | null;
278
+ static upsertCodeFile(filePath: string, hash: string): void;
279
+ static replaceCodeSymbols(filePath: string, symbols: Array<{
280
+ name: string;
281
+ kind: string;
282
+ startLine: number;
283
+ endLine: number;
284
+ signature: string;
285
+ exported: boolean;
286
+ }>): void;
287
+ static replaceCodeImports(filePath: string, specifiers: string[]): void;
288
+ static deleteCodeFile(filePath: string): void;
289
+ static getAllCodeFilePaths(): string[];
290
+ static searchCodeSymbols(query: string, limit?: number): Array<{
291
+ file: string;
292
+ name: string;
293
+ kind: string;
294
+ startLine: number;
295
+ endLine: number;
296
+ signature: string;
297
+ exported: boolean;
298
+ }>;
299
+ static getCodeGraphStats(): {
300
+ files: number;
301
+ symbols: number;
302
+ imports: number;
303
+ };
304
+ static clearCodeGraph(): void;
305
+ static checkIntegrity(): {
306
+ ok: boolean;
307
+ message: string;
308
+ };
309
+ static verifyDatabaseIntegrity(mode?: "quick" | "full"): IntegrityCheckResult;
310
+ static getMigrationStatus(): {
311
+ currentVersion: number;
312
+ applied: import("./migrations.js").AppliedMigration[];
313
+ pending: Array<{
314
+ version: number;
315
+ name: string;
316
+ }>;
317
+ };
318
+ static backup(destinationPath?: string): BackupResult;
319
+ static restore(backupPath: string, targetDbPath?: string): {
320
+ restoredPath: string;
321
+ sha256: string;
322
+ schemaVersion: number;
323
+ };
324
+ static saveApiEndpoint(endpoint: ApiEndpoint): void;
325
+ static getApiEndpoints(filter?: {
326
+ tag?: string;
327
+ method?: string;
328
+ search?: string;
329
+ }): ApiEndpoint[];
330
+ static findApiEndpoint(pathQuery: string, method?: string): ApiEndpoint[];
331
+ static deleteApiEndpoint(method: string, path: string): boolean;
332
+ /** Replace the whole catalog with a fresh scan; returns upserted/deleted counts. */
333
+ static replaceApiCatalog(endpoints: ApiEndpoint[]): {
334
+ upserted: number;
335
+ deleted: number;
336
+ };
337
+ private static rowToApiEndpoint;
338
+ static reset(): void;
339
+ }
340
+ /** Canonical alias */
341
+ export declare const Storage: typeof AtabeyStorage;