atabey-shared 0.1.3 → 0.1.5

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 (76) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +4 -1
  3. package/dist/modules/index.d.ts +2 -0
  4. package/dist/modules/index.js +2 -0
  5. package/dist/modules/index.js.map +1 -1
  6. package/dist/modules/lifecycle/index.d.ts +1 -0
  7. package/dist/modules/lifecycle/index.js +2 -0
  8. package/dist/modules/lifecycle/index.js.map +1 -0
  9. package/dist/modules/lifecycle/task-lifecycle.d.ts +63 -0
  10. package/dist/modules/lifecycle/task-lifecycle.js +135 -0
  11. package/dist/modules/lifecycle/task-lifecycle.js.map +1 -0
  12. package/dist/modules/primitives/fs.js +1 -3
  13. package/dist/modules/primitives/fs.js.map +1 -1
  14. package/dist/modules/primitives/outbound-http.d.ts +2 -0
  15. package/dist/modules/primitives/outbound-http.js +5 -1
  16. package/dist/modules/primitives/outbound-http.js.map +1 -1
  17. package/dist/modules/security/secrets.d.ts +1 -0
  18. package/dist/modules/security/secrets.js +55 -27
  19. package/dist/modules/security/secrets.js.map +1 -1
  20. package/dist/modules/storage/agents.d.ts +15 -0
  21. package/dist/modules/storage/agents.js +59 -0
  22. package/dist/modules/storage/agents.js.map +1 -0
  23. package/dist/modules/storage/api-catalog.d.ts +24 -0
  24. package/dist/modules/storage/api-catalog.js +96 -0
  25. package/dist/modules/storage/api-catalog.js.map +1 -0
  26. package/dist/modules/storage/approvals.d.ts +63 -0
  27. package/dist/modules/storage/approvals.js +80 -0
  28. package/dist/modules/storage/approvals.js.map +1 -0
  29. package/dist/modules/storage/base.d.ts +13 -0
  30. package/dist/modules/storage/base.js +186 -0
  31. package/dist/modules/storage/base.js.map +1 -0
  32. package/dist/modules/storage/code-graph.d.ts +37 -0
  33. package/dist/modules/storage/code-graph.js +109 -0
  34. package/dist/modules/storage/code-graph.js.map +1 -0
  35. package/dist/modules/storage/cooldowns.d.ts +25 -0
  36. package/dist/modules/storage/cooldowns.js +81 -0
  37. package/dist/modules/storage/cooldowns.js.map +1 -0
  38. package/dist/modules/storage/costs.d.ts +27 -0
  39. package/dist/modules/storage/costs.js +30 -0
  40. package/dist/modules/storage/costs.js.map +1 -0
  41. package/dist/modules/storage/discipline.d.ts +38 -0
  42. package/dist/modules/storage/discipline.js +108 -0
  43. package/dist/modules/storage/discipline.js.map +1 -0
  44. package/dist/modules/storage/framework-dir.d.ts +9 -0
  45. package/dist/modules/storage/framework-dir.js +54 -0
  46. package/dist/modules/storage/framework-dir.js.map +1 -0
  47. package/dist/modules/storage/integrity.d.ts +29 -0
  48. package/dist/modules/storage/integrity.js +41 -0
  49. package/dist/modules/storage/integrity.js.map +1 -0
  50. package/dist/modules/storage/knowledge.d.ts +20 -0
  51. package/dist/modules/storage/knowledge.js +40 -0
  52. package/dist/modules/storage/knowledge.js.map +1 -0
  53. package/dist/modules/storage/logs.d.ts +26 -0
  54. package/dist/modules/storage/logs.js +97 -0
  55. package/dist/modules/storage/logs.js.map +1 -0
  56. package/dist/modules/storage/messages.d.ts +18 -0
  57. package/dist/modules/storage/messages.js +60 -0
  58. package/dist/modules/storage/messages.js.map +1 -0
  59. package/dist/modules/storage/metadata.d.ts +11 -0
  60. package/dist/modules/storage/metadata.js +20 -0
  61. package/dist/modules/storage/metadata.js.map +1 -0
  62. package/dist/modules/storage/migrations.js +19 -5
  63. package/dist/modules/storage/migrations.js.map +1 -1
  64. package/dist/modules/storage/storage.d.ts +11 -334
  65. package/dist/modules/storage/storage.js +11 -996
  66. package/dist/modules/storage/storage.js.map +1 -1
  67. package/dist/modules/storage/tasks.d.ts +13 -0
  68. package/dist/modules/storage/tasks.js +54 -0
  69. package/dist/modules/storage/tasks.js.map +1 -0
  70. package/dist/modules/storage/types.d.ts +91 -0
  71. package/dist/modules/storage/types.js +6 -0
  72. package/dist/modules/storage/types.js.map +1 -0
  73. package/dist/modules/storage/users.d.ts +21 -0
  74. package/dist/modules/storage/users.js +46 -0
  75. package/dist/modules/storage/users.js.map +1 -0
  76. package/package.json +5 -3
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Hermes inter-agent message queue persistence.
3
+ *
4
+ * Split from the original AtabeyStorage god-class (2026-10-20 audit, S7).
5
+ * Part of the storage inheritance chain; AtabeyStorage (storage.ts) is the facade.
6
+ */
7
+ import type { MessageRow } from "./types.js";
8
+ import { StorageAgents } from "./agents.js";
9
+ export declare class StorageMessages extends StorageAgents {
10
+ static onMessageSaved: ((msg: {
11
+ traceId: string;
12
+ category: string;
13
+ }) => void) | null;
14
+ static onMessageStatusUpdated: ((id: number, status: string) => void) | null;
15
+ static saveMessage(msg: MessageRow): void;
16
+ static getPendingMessages(): MessageRow[];
17
+ static updateMessageStatus(id: number, status: string): void;
18
+ }
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Hermes inter-agent message queue persistence.
3
+ *
4
+ * Split from the original AtabeyStorage god-class (2026-10-20 audit, S7).
5
+ * Part of the storage inheritance chain; AtabeyStorage (storage.ts) is the facade.
6
+ */
7
+ import { logger } from "../observability/logger.js";
8
+ import { maskText } from "../security/pii.js";
9
+ import { asAgentID, asMessageID } from "../primitives/types.js";
10
+ import { StorageAgents } from "./agents.js";
11
+ export class StorageMessages extends StorageAgents {
12
+ static onMessageSaved = null;
13
+ static onMessageStatusUpdated = null;
14
+ static saveMessage(msg) {
15
+ const from = msg.from.replace("@", "");
16
+ const to = msg.to.replace("@", "");
17
+ const cleanContent = maskText(msg.content);
18
+ this.getDB().prepare(`
19
+ INSERT INTO messages (timestamp, sender, receiver, category, content, trace_id, parent_id, status, priority, requires_approval)
20
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
21
+ `).run(msg.timestamp, from, to, msg.category, cleanContent, msg.traceId, msg.parentId || null, msg.status, msg.priority, msg.requiresApproval ? 1 : 0);
22
+ if (this.onMessageSaved) {
23
+ try {
24
+ this.onMessageSaved({ traceId: msg.traceId, category: msg.category });
25
+ }
26
+ catch (err) {
27
+ logger.debug(`onMessageSaved hook error: ${err.message}`);
28
+ }
29
+ }
30
+ }
31
+ static getPendingMessages() {
32
+ const db = this.getDB();
33
+ const rows = db.prepare("SELECT * FROM messages WHERE status = 'PENDING'").all();
34
+ return rows.map(r => ({
35
+ id: asMessageID(r.id),
36
+ timestamp: r.timestamp,
37
+ from: asAgentID(r.sender),
38
+ to: asAgentID(r.receiver),
39
+ category: r.category,
40
+ content: maskText(r.content),
41
+ traceId: r.trace_id,
42
+ parentId: r.parent_id || undefined,
43
+ status: r.status,
44
+ priority: r.priority,
45
+ requiresApproval: r.requires_approval === 1
46
+ }));
47
+ }
48
+ static updateMessageStatus(id, status) {
49
+ this.getDB().prepare("UPDATE messages SET status = ? WHERE id = ?").run(status, id);
50
+ if (this.onMessageStatusUpdated) {
51
+ try {
52
+ this.onMessageStatusUpdated(id, status);
53
+ }
54
+ catch (err) {
55
+ logger.debug(`onMessageStatusUpdated hook error: ${err.message}`);
56
+ }
57
+ }
58
+ }
59
+ }
60
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../src/modules/storage/messages.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Arbitrary key/value project metadata.
3
+ *
4
+ * Split from the original AtabeyStorage god-class (2026-10-20 audit, S7).
5
+ * Part of the storage inheritance chain; AtabeyStorage (storage.ts) is the facade.
6
+ */
7
+ import { StorageCosts } from "./costs.js";
8
+ export declare class StorageMetadata extends StorageCosts {
9
+ static setMetadata(key: string, value: string): void;
10
+ static getMetadata(key: string): string | null;
11
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Arbitrary key/value project metadata.
3
+ *
4
+ * Split from the original AtabeyStorage god-class (2026-10-20 audit, S7).
5
+ * Part of the storage inheritance chain; AtabeyStorage (storage.ts) is the facade.
6
+ */
7
+ import { StorageCosts } from "./costs.js";
8
+ export class StorageMetadata extends StorageCosts {
9
+ static setMetadata(key, value) {
10
+ this.getDB().prepare(`
11
+ INSERT INTO metadata (key, value) VALUES (?, ?)
12
+ ON CONFLICT(key) DO UPDATE SET value = excluded.value
13
+ `).run(key, value);
14
+ }
15
+ static getMetadata(key) {
16
+ const row = this.getDB().prepare("SELECT value FROM metadata WHERE key = ?").get(key);
17
+ return row ? row.value : null;
18
+ }
19
+ }
20
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/modules/storage/metadata.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,OAAO,eAAgB,SAAQ,YAAY;IACtC,MAAM,CAAC,WAAW,CAAC,GAAW,EAAE,KAAa;QAChD,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC;;;SAGpB,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,GAAW;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,GAAG,CAAC,GAAG,CAAkC,CAAC;QACvH,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAClC,CAAC;CACJ"}
@@ -305,6 +305,21 @@ export function verifyDatabaseIntegrity(db, mode = "quick") {
305
305
  foreignKeyViolations: fkRows.length,
306
306
  };
307
307
  }
308
+ function computeFileSha256(filePath) {
309
+ const hash = crypto.createHash("sha256");
310
+ const fd = fs.openSync(filePath, "r");
311
+ const buffer = Buffer.alloc(64 * 1024);
312
+ try {
313
+ let bytesRead = 0;
314
+ while ((bytesRead = fs.readSync(fd, buffer, 0, buffer.length, null)) > 0) {
315
+ hash.update(buffer.subarray(0, bytesRead));
316
+ }
317
+ }
318
+ finally {
319
+ fs.closeSync(fd);
320
+ }
321
+ return hash.digest("hex");
322
+ }
308
323
  /**
309
324
  * Perform a consistent online backup using SQLite `VACUUM INTO` and write a `.sha256` sidecar.
310
325
  */
@@ -318,14 +333,14 @@ export function backupDatabase(db, destinationPath) {
318
333
  // Escape single quotes in path for SQLite VACUUM INTO literal
319
334
  const escapedPath = absDest.replace(/'/g, "''");
320
335
  db.exec(`VACUUM INTO '${escapedPath}'`);
321
- const bytes = fs.readFileSync(absDest);
322
- const sha256 = crypto.createHash("sha256").update(bytes).digest("hex");
336
+ const sha256 = computeFileSha256(absDest);
337
+ const sizeBytes = fs.statSync(absDest).size;
323
338
  fs.writeFileSync(`${absDest}.sha256`, `${sha256} ${path.basename(absDest)}\n`, { mode: 0o600 });
324
339
  const status = getMigrationStatus(db);
325
340
  return {
326
341
  backupPath: absDest,
327
342
  sha256,
328
- sizeBytes: bytes.length,
343
+ sizeBytes,
329
344
  createdAt: new Date().toISOString(),
330
345
  schemaVersion: status.currentVersion,
331
346
  };
@@ -339,8 +354,7 @@ export function restoreDatabase(backupPath, targetDbPath, options = {}) {
339
354
  if (!fs.existsSync(absBackup)) {
340
355
  throw new Error(`Backup file does not exist: ${absBackup}`);
341
356
  }
342
- const bytes = fs.readFileSync(absBackup);
343
- const actualSha256 = crypto.createHash("sha256").update(bytes).digest("hex");
357
+ const actualSha256 = computeFileSha256(absBackup);
344
358
  const sidecarPath = `${absBackup}.sha256`;
345
359
  if (options.verifyChecksum !== false && fs.existsSync(sidecarPath)) {
346
360
  const expected = fs.readFileSync(sidecarPath, "utf8").trim().split(/\s+/)[0];
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../src/modules/storage/migrations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../src/modules/storage/migrations.ts"],"names":[],"mappings":"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"}
@@ -1,341 +1,18 @@
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
1
  /**
97
2
  * [DB] Canonical Atabey Storage Engine (Single Source of Truth)
98
3
  * Central SQLite database for enterprise-scale multi-agent state management.
4
+ *
5
+ * The implementation is decomposed into domain modules (base, knowledge,
6
+ * users, agents, messages, tasks, logs, costs, metadata, cooldowns,
7
+ * approvals, discipline, code-graph, integrity, api-catalog) chained via
8
+ * class inheritance. This module remains the stable public facade — the
9
+ * AtabeyStorage API is unchanged; only the file layout was split
10
+ * (2026-10-20 audit, S7).
99
11
  */
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;
12
+ import { StorageApiCatalog } from "./api-catalog.js";
13
+ export * from "./types.js";
14
+ export { resolveFrameworkDir } from "./framework-dir.js";
15
+ export declare class AtabeyStorage extends StorageApiCatalog {
339
16
  }
340
17
  /** Canonical alias */
341
18
  export declare const Storage: typeof AtabeyStorage;