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.
- package/README.md +144 -78
- package/dist/atabey/src/cli/commands/coverage.js +17 -12
- package/dist/atabey/src/cli/commands/coverage.js.map +1 -1
- package/dist/atabey/src/cli/commands/lint.d.ts +2 -1
- package/dist/atabey/src/cli/commands/lint.js +20 -1
- package/dist/atabey/src/cli/commands/lint.js.map +1 -1
- package/dist/atabey/src/cli/commands/mcp.js +56 -23
- package/dist/atabey/src/cli/commands/mcp.js.map +1 -1
- package/dist/atabey/src/cli/commands/orchestrate.d.ts +6 -6
- package/dist/shared/src/agent-identity.d.ts +1 -34
- package/dist/shared/src/agent-identity.js +1 -76
- package/dist/shared/src/agent-identity.js.map +1 -1
- package/dist/shared/src/api-catalog.d.ts +1 -57
- package/dist/shared/src/api-catalog.js +1 -253
- package/dist/shared/src/api-catalog.js.map +1 -1
- package/dist/shared/src/audit-chain.d.ts +1 -80
- package/dist/shared/src/audit-chain.js +1 -261
- package/dist/shared/src/audit-chain.js.map +1 -1
- package/dist/shared/src/audit.d.ts +1 -121
- package/dist/shared/src/audit.js +1 -321
- package/dist/shared/src/audit.js.map +1 -1
- package/dist/shared/src/constants.d.ts +1 -150
- package/dist/shared/src/constants.js +1 -211
- package/dist/shared/src/constants.js.map +1 -1
- package/dist/shared/src/database.d.ts +1 -6
- package/dist/shared/src/database.js +1 -15
- package/dist/shared/src/database.js.map +1 -1
- package/dist/shared/src/errors.d.ts +1 -46
- package/dist/shared/src/errors.js +1 -68
- package/dist/shared/src/errors.js.map +1 -1
- package/dist/shared/src/file-lock.d.ts +1 -93
- package/dist/shared/src/file-lock.js +1 -239
- package/dist/shared/src/file-lock.js.map +1 -1
- package/dist/shared/src/fs.d.ts +1 -9
- package/dist/shared/src/fs.js +1 -53
- package/dist/shared/src/fs.js.map +1 -1
- package/dist/shared/src/index.d.ts +2 -31
- package/dist/shared/src/index.js +2 -31
- package/dist/shared/src/index.js.map +1 -1
- package/dist/shared/src/job-queue.d.ts +1 -76
- package/dist/shared/src/job-queue.js +1 -199
- package/dist/shared/src/job-queue.js.map +1 -1
- package/dist/shared/src/lock.d.ts +1 -82
- package/dist/shared/src/lock.js +1 -158
- package/dist/shared/src/lock.js.map +1 -1
- package/dist/shared/src/logger.d.ts +1 -31
- package/dist/shared/src/logger.js +1 -152
- package/dist/shared/src/logger.js.map +1 -1
- package/dist/shared/src/memory-prune.d.ts +1 -18
- package/dist/shared/src/memory-prune.js +1 -47
- package/dist/shared/src/memory-prune.js.map +1 -1
- package/dist/shared/src/migrations.d.ts +1 -69
- package/dist/shared/src/migrations.js +1 -393
- package/dist/shared/src/migrations.js.map +1 -1
- package/dist/shared/src/modules/agent/agent-identity.d.ts +34 -0
- package/dist/shared/src/modules/agent/agent-identity.js +77 -0
- package/dist/shared/src/modules/agent/agent-identity.js.map +1 -0
- package/dist/shared/src/modules/agent/api-catalog.d.ts +57 -0
- package/dist/shared/src/modules/agent/api-catalog.js +254 -0
- package/dist/shared/src/modules/agent/api-catalog.js.map +1 -0
- package/dist/shared/src/modules/agent/index.d.ts +3 -0
- package/dist/shared/src/modules/agent/index.js +4 -0
- package/dist/shared/src/modules/agent/index.js.map +1 -0
- package/dist/shared/src/modules/agent/tokenizer.d.ts +54 -0
- package/dist/shared/src/modules/agent/tokenizer.js +272 -0
- package/dist/shared/src/modules/agent/tokenizer.js.map +1 -0
- package/dist/shared/src/modules/concurrency/file-lock.d.ts +93 -0
- package/dist/shared/src/modules/concurrency/file-lock.js +240 -0
- package/dist/shared/src/modules/concurrency/file-lock.js.map +1 -0
- package/dist/shared/src/modules/concurrency/index.d.ts +6 -0
- package/dist/shared/src/modules/concurrency/index.js +7 -0
- package/dist/shared/src/modules/concurrency/index.js.map +1 -0
- package/dist/shared/src/modules/concurrency/job-queue.d.ts +76 -0
- package/dist/shared/src/modules/concurrency/job-queue.js +200 -0
- package/dist/shared/src/modules/concurrency/job-queue.js.map +1 -0
- package/dist/shared/src/modules/concurrency/lock.d.ts +82 -0
- package/dist/shared/src/modules/concurrency/lock.js +159 -0
- package/dist/shared/src/modules/concurrency/lock.js.map +1 -0
- package/dist/shared/src/modules/concurrency/resilience.d.ts +84 -0
- package/dist/shared/src/modules/concurrency/resilience.js +217 -0
- package/dist/shared/src/modules/concurrency/resilience.js.map +1 -0
- package/dist/shared/src/modules/concurrency/worker-pool.d.ts +52 -0
- package/dist/shared/src/modules/concurrency/worker-pool.js +229 -0
- package/dist/shared/src/modules/concurrency/worker-pool.js.map +1 -0
- package/dist/shared/src/modules/concurrency/worker-thread.d.ts +21 -0
- package/dist/shared/src/modules/concurrency/worker-thread.js +67 -0
- package/dist/shared/src/modules/concurrency/worker-thread.js.map +1 -0
- package/dist/shared/src/modules/index.d.ts +14 -0
- package/dist/shared/src/modules/index.js +15 -0
- package/dist/shared/src/modules/index.js.map +1 -0
- package/dist/shared/src/modules/observability/audit-chain.d.ts +80 -0
- package/dist/shared/src/modules/observability/audit-chain.js +262 -0
- package/dist/shared/src/modules/observability/audit-chain.js.map +1 -0
- package/dist/shared/src/modules/observability/audit.d.ts +121 -0
- package/dist/shared/src/modules/observability/audit.js +322 -0
- package/dist/shared/src/modules/observability/audit.js.map +1 -0
- package/dist/shared/src/modules/observability/index.d.ts +4 -0
- package/dist/shared/src/modules/observability/index.js +5 -0
- package/dist/shared/src/modules/observability/index.js.map +1 -0
- package/dist/shared/src/modules/observability/logger.d.ts +31 -0
- package/dist/shared/src/modules/observability/logger.js +153 -0
- package/dist/shared/src/modules/observability/logger.js.map +1 -0
- package/dist/shared/src/modules/observability/otel.d.ts +39 -0
- package/dist/shared/src/modules/observability/otel.js +93 -0
- package/dist/shared/src/modules/observability/otel.js.map +1 -0
- package/dist/shared/src/modules/primitives/constants.d.ts +150 -0
- package/dist/shared/src/modules/primitives/constants.js +212 -0
- package/dist/shared/src/modules/primitives/constants.js.map +1 -0
- package/dist/shared/src/modules/primitives/errors.d.ts +46 -0
- package/dist/shared/src/modules/primitives/errors.js +69 -0
- package/dist/shared/src/modules/primitives/errors.js.map +1 -0
- package/dist/shared/src/modules/primitives/fs.d.ts +9 -0
- package/dist/shared/src/modules/primitives/fs.js +54 -0
- package/dist/shared/src/modules/primitives/fs.js.map +1 -0
- package/dist/shared/src/modules/primitives/index.d.ts +7 -0
- package/dist/shared/src/modules/primitives/index.js +8 -0
- package/dist/shared/src/modules/primitives/index.js.map +1 -0
- package/dist/shared/src/modules/primitives/outbound-http.d.ts +32 -0
- package/dist/shared/src/modules/primitives/outbound-http.js +88 -0
- package/dist/shared/src/modules/primitives/outbound-http.js.map +1 -0
- package/dist/shared/src/modules/primitives/string.d.ts +1 -0
- package/dist/shared/src/modules/primitives/string.js +30 -0
- package/dist/shared/src/modules/primitives/string.js.map +1 -0
- package/dist/shared/src/modules/primitives/time.d.ts +5 -0
- package/dist/shared/src/modules/primitives/time.js +35 -0
- package/dist/shared/src/modules/primitives/time.js.map +1 -0
- package/dist/shared/src/modules/primitives/types.d.ts +27 -0
- package/dist/shared/src/modules/primitives/types.js +17 -0
- package/dist/shared/src/modules/primitives/types.js.map +1 -0
- package/dist/shared/src/modules/sandbox/index.d.ts +3 -0
- package/dist/shared/src/modules/sandbox/index.js +4 -0
- package/dist/shared/src/modules/sandbox/index.js.map +1 -0
- package/dist/shared/src/modules/sandbox/sandbox-fs.d.ts +28 -0
- package/dist/shared/src/modules/sandbox/sandbox-fs.js +143 -0
- package/dist/shared/src/modules/sandbox/sandbox-fs.js.map +1 -0
- package/dist/shared/src/modules/sandbox/sandbox-runtime.d.ts +78 -0
- package/dist/shared/src/modules/sandbox/sandbox-runtime.js +282 -0
- package/dist/shared/src/modules/sandbox/sandbox-runtime.js.map +1 -0
- package/dist/shared/src/modules/sandbox/sandbox.d.ts +54 -0
- package/dist/shared/src/modules/sandbox/sandbox.js +179 -0
- package/dist/shared/src/modules/sandbox/sandbox.js.map +1 -0
- package/dist/shared/src/modules/security/index.d.ts +5 -0
- package/dist/shared/src/modules/security/index.js +6 -0
- package/dist/shared/src/modules/security/index.js.map +1 -0
- package/dist/shared/src/modules/security/pii.d.ts +70 -0
- package/dist/shared/src/modules/security/pii.js +276 -0
- package/dist/shared/src/modules/security/pii.js.map +1 -0
- package/dist/shared/src/modules/security/policy-gate.d.ts +42 -0
- package/dist/shared/src/modules/security/policy-gate.js +172 -0
- package/dist/shared/src/modules/security/policy-gate.js.map +1 -0
- package/dist/shared/src/modules/security/retention.d.ts +68 -0
- package/dist/shared/src/modules/security/retention.js +218 -0
- package/dist/shared/src/modules/security/retention.js.map +1 -0
- package/dist/shared/src/modules/security/secrets.d.ts +99 -0
- package/dist/shared/src/modules/security/secrets.js +371 -0
- package/dist/shared/src/modules/security/secrets.js.map +1 -0
- package/dist/shared/src/modules/security/tls.d.ts +87 -0
- package/dist/shared/src/modules/security/tls.js +154 -0
- package/dist/shared/src/modules/security/tls.js.map +1 -0
- package/dist/shared/src/modules/storage/database.d.ts +6 -0
- package/dist/shared/src/modules/storage/database.js +16 -0
- package/dist/shared/src/modules/storage/database.js.map +1 -0
- package/dist/shared/src/modules/storage/index.d.ts +4 -0
- package/dist/shared/src/modules/storage/index.js +5 -0
- package/dist/shared/src/modules/storage/index.js.map +1 -0
- package/dist/shared/src/modules/storage/memory-prune.d.ts +18 -0
- package/dist/shared/src/modules/storage/memory-prune.js +48 -0
- package/dist/shared/src/modules/storage/memory-prune.js.map +1 -0
- package/dist/shared/src/modules/storage/migrations.d.ts +69 -0
- package/dist/shared/src/modules/storage/migrations.js +394 -0
- package/dist/shared/src/modules/storage/migrations.js.map +1 -0
- package/dist/shared/src/modules/storage/storage.d.ts +341 -0
- package/dist/shared/src/modules/storage/storage.js +1004 -0
- package/dist/shared/src/modules/storage/storage.js.map +1 -0
- package/dist/shared/src/otel.d.ts +1 -39
- package/dist/shared/src/otel.js +1 -92
- package/dist/shared/src/otel.js.map +1 -1
- package/dist/shared/src/outbound-http.d.ts +1 -32
- package/dist/shared/src/outbound-http.js +1 -87
- package/dist/shared/src/outbound-http.js.map +1 -1
- package/dist/shared/src/pii.d.ts +1 -70
- package/dist/shared/src/pii.js +1 -275
- package/dist/shared/src/pii.js.map +1 -1
- package/dist/shared/src/policy-gate.d.ts +1 -42
- package/dist/shared/src/policy-gate.js +1 -171
- package/dist/shared/src/policy-gate.js.map +1 -1
- package/dist/shared/src/resilience.d.ts +1 -84
- package/dist/shared/src/resilience.js +1 -216
- package/dist/shared/src/resilience.js.map +1 -1
- package/dist/shared/src/retention.d.ts +1 -68
- package/dist/shared/src/retention.js +1 -217
- package/dist/shared/src/retention.js.map +1 -1
- package/dist/shared/src/sandbox-fs.d.ts +1 -28
- package/dist/shared/src/sandbox-fs.js +1 -142
- package/dist/shared/src/sandbox-fs.js.map +1 -1
- package/dist/shared/src/sandbox-runtime.d.ts +1 -78
- package/dist/shared/src/sandbox-runtime.js +1 -281
- package/dist/shared/src/sandbox-runtime.js.map +1 -1
- package/dist/shared/src/sandbox.d.ts +1 -54
- package/dist/shared/src/sandbox.js +1 -178
- package/dist/shared/src/sandbox.js.map +1 -1
- package/dist/shared/src/secrets.d.ts +1 -99
- package/dist/shared/src/secrets.js +1 -370
- package/dist/shared/src/secrets.js.map +1 -1
- package/dist/shared/src/storage.d.ts +1 -341
- package/dist/shared/src/storage.js +1 -1003
- package/dist/shared/src/storage.js.map +1 -1
- package/dist/shared/src/string.d.ts +1 -1
- package/dist/shared/src/string.js +1 -29
- package/dist/shared/src/string.js.map +1 -1
- package/dist/shared/src/time.d.ts +1 -5
- package/dist/shared/src/time.js +1 -34
- package/dist/shared/src/time.js.map +1 -1
- package/dist/shared/src/tls.d.ts +1 -87
- package/dist/shared/src/tls.js +1 -153
- package/dist/shared/src/tls.js.map +1 -1
- package/dist/shared/src/tokenizer.d.ts +1 -54
- package/dist/shared/src/tokenizer.js +1 -271
- package/dist/shared/src/tokenizer.js.map +1 -1
- package/dist/shared/src/types.d.ts +1 -27
- package/dist/shared/src/types.js +1 -16
- package/dist/shared/src/types.js.map +1 -1
- package/dist/shared/src/worker-pool.d.ts +1 -52
- package/dist/shared/src/worker-pool.js +1 -228
- package/dist/shared/src/worker-pool.js.map +1 -1
- package/dist/shared/src/worker-thread.d.ts +1 -21
- package/dist/shared/src/worker-thread.js +1 -66
- package/dist/shared/src/worker-thread.js.map +1 -1
- 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;
|