@devflow-tools/sdk 0.17.8 → 0.18.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.
- package/LICENSE +21 -0
- package/dist/action-lease.d.ts +17 -0
- package/dist/action-lease.d.ts.map +1 -1
- package/dist/action-lease.js +27 -1
- package/dist/action-lease.js.map +1 -1
- package/dist/auth.d.ts +1 -1
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +8 -9
- package/dist/auth.js.map +1 -1
- package/dist/capability-rollout.d.ts +9 -0
- package/dist/capability-rollout.d.ts.map +1 -1
- package/dist/capability-rollout.js +43 -1
- package/dist/capability-rollout.js.map +1 -1
- package/dist/embedding-provider-contract.d.ts +21 -0
- package/dist/embedding-provider-contract.d.ts.map +1 -1
- package/dist/embedding-provider-contract.js +30 -0
- package/dist/embedding-provider-contract.js.map +1 -1
- package/dist/evidence-stable-ref.d.ts +11 -0
- package/dist/evidence-stable-ref.d.ts.map +1 -0
- package/dist/evidence-stable-ref.js +39 -0
- package/dist/evidence-stable-ref.js.map +1 -0
- package/dist/index.d.ts +3 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -5
- package/dist/index.js.map +1 -1
- package/dist/interfaces/IKnowledgeEngine.d.ts +1 -1
- package/dist/interfaces/IKnowledgeEngine.d.ts.map +1 -1
- package/dist/interfaces/IMemoryEngine.d.ts +10 -9
- package/dist/interfaces/IMemoryEngine.d.ts.map +1 -1
- package/dist/mcp-health.d.ts.map +1 -1
- package/dist/mcp-health.js +2 -1
- package/dist/mcp-health.js.map +1 -1
- package/dist/paths.d.ts +10 -5
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +23 -12
- package/dist/paths.js.map +1 -1
- package/dist/plugin-runtime.d.ts.map +1 -1
- package/dist/plugin-runtime.js +2 -1
- package/dist/plugin-runtime.js.map +1 -1
- package/dist/project-identity.d.ts +7 -0
- package/dist/project-identity.d.ts.map +1 -0
- package/dist/project-identity.js +84 -0
- package/dist/project-identity.js.map +1 -0
- package/dist/retrieval-scope.d.ts +44 -0
- package/dist/retrieval-scope.d.ts.map +1 -0
- package/dist/retrieval-scope.js +55 -0
- package/dist/retrieval-scope.js.map +1 -0
- package/dist/runtime-endpoint.d.ts +11 -13
- package/dist/runtime-endpoint.d.ts.map +1 -1
- package/dist/runtime-endpoint.js +28 -33
- package/dist/runtime-endpoint.js.map +1 -1
- package/dist/semantic-resolution.d.ts +6 -72
- package/dist/semantic-resolution.d.ts.map +1 -1
- package/dist/semantic-resolution.js +33 -115
- package/dist/semantic-resolution.js.map +1 -1
- package/dist/task-runtime-reducer.js +1 -1
- package/dist/task-runtime-reducer.js.map +1 -1
- package/dist/task-runtime.d.ts +3 -2
- package/dist/task-runtime.d.ts.map +1 -1
- package/dist/task-runtime.js.map +1 -1
- package/dist/types/domain-action.d.ts +80 -0
- package/dist/types/domain-action.d.ts.map +1 -0
- package/dist/types/domain-action.js +2 -0
- package/dist/types/domain-action.js.map +1 -0
- package/dist/types/embedding-capability.d.ts +29 -0
- package/dist/types/embedding-capability.d.ts.map +1 -0
- package/dist/types/embedding-capability.js +2 -0
- package/dist/types/embedding-capability.js.map +1 -0
- package/dist/types/evaluation-bundle.d.ts +69 -0
- package/dist/types/evaluation-bundle.d.ts.map +1 -0
- package/dist/types/evaluation-bundle.js +130 -0
- package/dist/types/evaluation-bundle.js.map +1 -0
- package/dist/types/evidence.d.ts +133 -0
- package/dist/types/evidence.d.ts.map +1 -0
- package/dist/types/evidence.js +2 -0
- package/dist/types/evidence.js.map +1 -0
- package/dist/types/index.d.ts +13 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +13 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/knowledge.d.ts +6 -5
- package/dist/types/knowledge.d.ts.map +1 -1
- package/dist/types/memory.d.ts +36 -20
- package/dist/types/memory.d.ts.map +1 -1
- package/dist/types/memory.js +1 -7
- package/dist/types/memory.js.map +1 -1
- package/dist/types/provider-execution.d.ts +20 -0
- package/dist/types/provider-execution.d.ts.map +1 -0
- package/dist/types/provider-execution.js +2 -0
- package/dist/types/provider-execution.js.map +1 -0
- package/dist/types/retrieval-coordinator.d.ts +103 -0
- package/dist/types/retrieval-coordinator.d.ts.map +1 -0
- package/dist/types/retrieval-coordinator.js +2 -0
- package/dist/types/retrieval-coordinator.js.map +1 -0
- package/dist/types/retrieval-query-proposal.d.ts +26 -0
- package/dist/types/retrieval-query-proposal.d.ts.map +1 -0
- package/dist/types/retrieval-query-proposal.js +2 -0
- package/dist/types/retrieval-query-proposal.js.map +1 -0
- package/dist/types/retrieval.d.ts +5 -3
- package/dist/types/retrieval.d.ts.map +1 -1
- package/dist/types/runtime-activation.d.ts +18 -0
- package/dist/types/runtime-activation.d.ts.map +1 -0
- package/dist/types/runtime-activation.js +20 -0
- package/dist/types/runtime-activation.js.map +1 -0
- package/dist/types/semantic-claims.d.ts +103 -0
- package/dist/types/semantic-claims.d.ts.map +1 -0
- package/dist/types/semantic-claims.js +2 -0
- package/dist/types/semantic-claims.js.map +1 -0
- package/dist/types/semantic-runtime.d.ts +48 -0
- package/dist/types/semantic-runtime.d.ts.map +1 -0
- package/dist/types/semantic-runtime.js +2 -0
- package/dist/types/semantic-runtime.js.map +1 -0
- package/dist/types/task-aggregate.d.ts +60 -0
- package/dist/types/task-aggregate.d.ts.map +1 -0
- package/dist/types/task-aggregate.js +2 -0
- package/dist/types/task-aggregate.js.map +1 -0
- package/dist/types/task-context-envelope.d.ts +58 -9
- package/dist/types/task-context-envelope.d.ts.map +1 -1
- package/dist/types/task-definition.d.ts +27 -0
- package/dist/types/task-definition.d.ts.map +1 -0
- package/dist/types/task-definition.js +2 -0
- package/dist/types/task-definition.js.map +1 -0
- package/dist/types/task-evidence.d.ts +11 -0
- package/dist/types/task-evidence.d.ts.map +1 -0
- package/dist/types/task-evidence.js +2 -0
- package/dist/types/task-evidence.js.map +1 -0
- package/dist/types/task-semantic-control.d.ts +34 -14
- package/dist/types/task-semantic-control.d.ts.map +1 -1
- package/dist/utils/config.d.ts +2 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +2 -2
- package/dist/utils/paths.js.map +1 -1
- package/package.json +10 -3
- package/dist/action-lease.test.d.ts +0 -2
- package/dist/action-lease.test.d.ts.map +0 -1
- package/dist/action-lease.test.js +0 -67
- package/dist/action-lease.test.js.map +0 -1
- package/dist/canonical-action-binding.test.d.ts +0 -2
- package/dist/canonical-action-binding.test.d.ts.map +0 -1
- package/dist/canonical-action-binding.test.js +0 -42
- package/dist/canonical-action-binding.test.js.map +0 -1
- package/dist/capability-rollout.test.d.ts +0 -2
- package/dist/capability-rollout.test.d.ts.map +0 -1
- package/dist/capability-rollout.test.js +0 -209
- package/dist/capability-rollout.test.js.map +0 -1
- package/dist/data/LocalDataProvider.d.ts +0 -68
- package/dist/data/LocalDataProvider.d.ts.map +0 -1
- package/dist/data/LocalDataProvider.js +0 -330
- package/dist/data/LocalDataProvider.js.map +0 -1
- package/dist/data/LocalDataProvider.test.d.ts +0 -2
- package/dist/data/LocalDataProvider.test.d.ts.map +0 -1
- package/dist/data/LocalDataProvider.test.js +0 -128
- package/dist/data/LocalDataProvider.test.js.map +0 -1
- package/dist/data/default-enforcer-rules.d.ts +0 -5
- package/dist/data/default-enforcer-rules.d.ts.map +0 -1
- package/dist/data/default-enforcer-rules.js +0 -167
- package/dist/data/default-enforcer-rules.js.map +0 -1
- package/dist/data/devflow-schema.d.ts +0 -3
- package/dist/data/devflow-schema.d.ts.map +0 -1
- package/dist/data/devflow-schema.js +0 -78
- package/dist/data/devflow-schema.js.map +0 -1
- package/dist/embedding-provider-contract.test.d.ts +0 -2
- package/dist/embedding-provider-contract.test.d.ts.map +0 -1
- package/dist/embedding-provider-contract.test.js +0 -11
- package/dist/embedding-provider-contract.test.js.map +0 -1
- package/dist/host-adapter.test.d.ts +0 -2
- package/dist/host-adapter.test.d.ts.map +0 -1
- package/dist/host-adapter.test.js +0 -367
- package/dist/host-adapter.test.js.map +0 -1
- package/dist/interfaces/IDataProvider.test.d.ts +0 -2
- package/dist/interfaces/IDataProvider.test.d.ts.map +0 -1
- package/dist/interfaces/IDataProvider.test.js +0 -20
- package/dist/interfaces/IDataProvider.test.js.map +0 -1
- package/dist/model-recommendation.test.d.ts +0 -2
- package/dist/model-recommendation.test.d.ts.map +0 -1
- package/dist/model-recommendation.test.js +0 -29
- package/dist/model-recommendation.test.js.map +0 -1
- package/dist/paths.test.d.ts +0 -2
- package/dist/paths.test.d.ts.map +0 -1
- package/dist/paths.test.js +0 -32
- package/dist/paths.test.js.map +0 -1
- package/dist/plugin-loader.test.d.ts +0 -2
- package/dist/plugin-loader.test.d.ts.map +0 -1
- package/dist/plugin-loader.test.js +0 -55
- package/dist/plugin-loader.test.js.map +0 -1
- package/dist/plugin-runtime.test.d.ts +0 -2
- package/dist/plugin-runtime.test.d.ts.map +0 -1
- package/dist/plugin-runtime.test.js +0 -47
- package/dist/plugin-runtime.test.js.map +0 -1
- package/dist/project-capability-profile.test.d.ts +0 -2
- package/dist/project-capability-profile.test.d.ts.map +0 -1
- package/dist/project-capability-profile.test.js +0 -80
- package/dist/project-capability-profile.test.js.map +0 -1
- package/dist/semantic-resolution.test.d.ts +0 -2
- package/dist/semantic-resolution.test.d.ts.map +0 -1
- package/dist/semantic-resolution.test.js +0 -106
- package/dist/semantic-resolution.test.js.map +0 -1
- package/dist/skill-overlay.d.ts +0 -41
- package/dist/skill-overlay.d.ts.map +0 -1
- package/dist/skill-overlay.js +0 -219
- package/dist/skill-overlay.js.map +0 -1
- package/dist/skill-overlay.test.d.ts +0 -2
- package/dist/skill-overlay.test.d.ts.map +0 -1
- package/dist/skill-overlay.test.js +0 -70
- package/dist/skill-overlay.test.js.map +0 -1
- package/dist/task-runtime-store.d.ts +0 -34
- package/dist/task-runtime-store.d.ts.map +0 -1
- package/dist/task-runtime-store.js +0 -126
- package/dist/task-runtime-store.js.map +0 -1
- package/dist/task-runtime.test.d.ts +0 -2
- package/dist/task-runtime.test.d.ts.map +0 -1
- package/dist/task-runtime.test.js +0 -60
- package/dist/task-runtime.test.js.map +0 -1
- package/dist/types/memory.test.d.ts +0 -2
- package/dist/types/memory.test.d.ts.map +0 -1
- package/dist/types/memory.test.js +0 -13
- package/dist/types/memory.test.js.map +0 -1
- package/dist/types/retrieval-session.test.d.ts +0 -2
- package/dist/types/retrieval-session.test.d.ts.map +0 -1
- package/dist/types/retrieval-session.test.js +0 -17
- package/dist/types/retrieval-session.test.js.map +0 -1
|
@@ -1,330 +0,0 @@
|
|
|
1
|
-
import { DatabaseSync } from "node:sqlite";
|
|
2
|
-
import { dirname } from "node:path";
|
|
3
|
-
import { mkdirSync } from "node:fs";
|
|
4
|
-
import { getGlobalDevFlowDbPath } from "@devflow-tools/database";
|
|
5
|
-
import { randomBytes } from "node:crypto";
|
|
6
|
-
import { DEVFLOW_SCHEMA_SQL } from "./devflow-schema.js";
|
|
7
|
-
function parseStringArray(value) {
|
|
8
|
-
if (typeof value !== 'string')
|
|
9
|
-
return [];
|
|
10
|
-
try {
|
|
11
|
-
const parsed = JSON.parse(value);
|
|
12
|
-
return Array.isArray(parsed) ? parsed.filter((item) => typeof item === 'string') : [];
|
|
13
|
-
}
|
|
14
|
-
catch {
|
|
15
|
-
return [];
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
function parseJsonObject(value) {
|
|
19
|
-
if (typeof value !== 'string' || !value)
|
|
20
|
-
return undefined;
|
|
21
|
-
try {
|
|
22
|
-
const parsed = JSON.parse(value);
|
|
23
|
-
return parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : undefined;
|
|
24
|
-
}
|
|
25
|
-
catch {
|
|
26
|
-
return undefined;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
function parseJsonArray(value) {
|
|
30
|
-
if (typeof value !== 'string' || !value)
|
|
31
|
-
return [];
|
|
32
|
-
try {
|
|
33
|
-
const parsed = JSON.parse(value);
|
|
34
|
-
return Array.isArray(parsed) ? parsed : [];
|
|
35
|
-
}
|
|
36
|
-
catch {
|
|
37
|
-
return [];
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
export class LocalDataProvider {
|
|
41
|
-
db;
|
|
42
|
-
constructor(_root, options) {
|
|
43
|
-
const dbPath = options?.dbPath ?? getGlobalDevFlowDbPath();
|
|
44
|
-
mkdirSync(dirname(dbPath), { recursive: true });
|
|
45
|
-
this.db = new DatabaseSync(dbPath);
|
|
46
|
-
this.db.exec("PRAGMA journal_mode = WAL");
|
|
47
|
-
this.initSchema();
|
|
48
|
-
}
|
|
49
|
-
initSchema() {
|
|
50
|
-
this.db.exec(DEVFLOW_SCHEMA_SQL);
|
|
51
|
-
try {
|
|
52
|
-
this.db.exec("ALTER TABLE devflow_workflow_runs ADD COLUMN failure_category TEXT");
|
|
53
|
-
}
|
|
54
|
-
catch { }
|
|
55
|
-
try {
|
|
56
|
-
this.db.exec("ALTER TABLE devflow_workflow_runs ADD COLUMN failure_reason TEXT");
|
|
57
|
-
}
|
|
58
|
-
catch { }
|
|
59
|
-
try {
|
|
60
|
-
this.db.exec("ALTER TABLE devflow_workflow_runs ADD COLUMN failure_evidence TEXT");
|
|
61
|
-
}
|
|
62
|
-
catch { }
|
|
63
|
-
try {
|
|
64
|
-
this.db.exec("ALTER TABLE devflow_rules ADD COLUMN gate INTEGER NOT NULL DEFAULT 1");
|
|
65
|
-
}
|
|
66
|
-
catch { }
|
|
67
|
-
try {
|
|
68
|
-
this.db.exec("ALTER TABLE devflow_rules ADD COLUMN updated_at INTEGER");
|
|
69
|
-
}
|
|
70
|
-
catch { }
|
|
71
|
-
try {
|
|
72
|
-
this.db.exec("ALTER TABLE devflow_context_receipts ADD COLUMN selected_files TEXT NOT NULL DEFAULT '[]'");
|
|
73
|
-
}
|
|
74
|
-
catch { }
|
|
75
|
-
try {
|
|
76
|
-
this.db.exec("ALTER TABLE devflow_context_receipts ADD COLUMN memory_ids TEXT NOT NULL DEFAULT '[]'");
|
|
77
|
-
}
|
|
78
|
-
catch { }
|
|
79
|
-
try {
|
|
80
|
-
this.db.exec("ALTER TABLE devflow_context_receipts ADD COLUMN canonical_next_action TEXT");
|
|
81
|
-
}
|
|
82
|
-
catch { }
|
|
83
|
-
try {
|
|
84
|
-
this.db.exec("ALTER TABLE devflow_context_receipts ADD COLUMN canonical_action_json TEXT");
|
|
85
|
-
}
|
|
86
|
-
catch { }
|
|
87
|
-
try {
|
|
88
|
-
this.db.exec("ALTER TABLE devflow_context_receipts ADD COLUMN action_attempts TEXT NOT NULL DEFAULT '[]'");
|
|
89
|
-
}
|
|
90
|
-
catch { }
|
|
91
|
-
try {
|
|
92
|
-
this.db.exec("ALTER TABLE devflow_context_receipts ADD COLUMN action_satisfied_at INTEGER");
|
|
93
|
-
}
|
|
94
|
-
catch { }
|
|
95
|
-
try {
|
|
96
|
-
this.db.exec("ALTER TABLE devflow_context_receipts ADD COLUMN action_degradation_json TEXT");
|
|
97
|
-
}
|
|
98
|
-
catch { }
|
|
99
|
-
try {
|
|
100
|
-
this.db.exec("ALTER TABLE devflow_context_receipts ADD COLUMN request_id TEXT");
|
|
101
|
-
}
|
|
102
|
-
catch { }
|
|
103
|
-
this.db.exec("UPDATE devflow_rules SET updated_at = created_at WHERE updated_at IS NULL");
|
|
104
|
-
}
|
|
105
|
-
close() {
|
|
106
|
-
if (this.db.isOpen)
|
|
107
|
-
this.db.close();
|
|
108
|
-
}
|
|
109
|
-
// --- Vector (P0 stubs) ---
|
|
110
|
-
async vectorSearch(_collection, _query, _limit) {
|
|
111
|
-
return [];
|
|
112
|
-
}
|
|
113
|
-
async vectorUpsert(_collection, _points) { }
|
|
114
|
-
async vectorDelete(_collection, _ids) { }
|
|
115
|
-
// --- Graph (stubs — CodeGraph owns this now) ---
|
|
116
|
-
async graphGetAll() { return { nodes: [], edges: [] }; }
|
|
117
|
-
async graphGetNode(_id) { return null; }
|
|
118
|
-
async graphGetEdges(_nodeId, _direction) { return []; }
|
|
119
|
-
async graphUpsertNodes(_nodes) { }
|
|
120
|
-
async graphUpsertEdges(_edges) { }
|
|
121
|
-
async graphClear() { }
|
|
122
|
-
// --- KV ---
|
|
123
|
-
async kvGet(key) {
|
|
124
|
-
const row = this.db.prepare("SELECT value FROM devflow_kv WHERE key = ?").get(key);
|
|
125
|
-
if (!row)
|
|
126
|
-
return null;
|
|
127
|
-
return JSON.parse(row.value);
|
|
128
|
-
}
|
|
129
|
-
async kvSet(key, value) {
|
|
130
|
-
this.db.prepare("INSERT OR REPLACE INTO devflow_kv (key, value) VALUES (?, ?)").run(key, JSON.stringify(value));
|
|
131
|
-
}
|
|
132
|
-
async kvDelete(key) {
|
|
133
|
-
this.db.prepare("DELETE FROM devflow_kv WHERE key = ?").run(key);
|
|
134
|
-
}
|
|
135
|
-
async kvGetPrefix(prefix) {
|
|
136
|
-
const rows = this.db.prepare("SELECT key, value FROM devflow_kv WHERE key LIKE ?").all(prefix + "%");
|
|
137
|
-
const result = {};
|
|
138
|
-
for (const row of rows) {
|
|
139
|
-
result[row.key] = JSON.parse(row.value);
|
|
140
|
-
}
|
|
141
|
-
return result;
|
|
142
|
-
}
|
|
143
|
-
// --- Session ---
|
|
144
|
-
async sessionGet(sessionId) {
|
|
145
|
-
const rows = this.db.prepare("SELECT timestamp, event, data FROM devflow_sessions WHERE session_id = ? ORDER BY timestamp").all(sessionId);
|
|
146
|
-
return rows.map((r) => ({
|
|
147
|
-
timestamp: r.timestamp,
|
|
148
|
-
action: r.event,
|
|
149
|
-
summary: r.event,
|
|
150
|
-
...(r.data ? JSON.parse(r.data) : {}),
|
|
151
|
-
}));
|
|
152
|
-
}
|
|
153
|
-
async sessionAppend(sessionId, entry) {
|
|
154
|
-
this.db.prepare("INSERT INTO devflow_sessions (session_id, timestamp, event, data) VALUES (?, ?, ?, ?)").run(sessionId, entry.timestamp, entry.action, JSON.stringify({ summary: entry.summary, metadata: entry.metadata }));
|
|
155
|
-
}
|
|
156
|
-
async sessionCreate(sessionId, task) {
|
|
157
|
-
await this.sessionAppend(sessionId, {
|
|
158
|
-
timestamp: Date.now(),
|
|
159
|
-
action: "session:create",
|
|
160
|
-
summary: task,
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
async sessionClose(sessionId) {
|
|
164
|
-
await this.sessionAppend(sessionId, {
|
|
165
|
-
timestamp: Date.now(),
|
|
166
|
-
action: "session:close",
|
|
167
|
-
summary: "Session closed",
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
// --- SQL ---
|
|
171
|
-
async sqlQuery(sql, params) {
|
|
172
|
-
const stmt = this.db.prepare(sql);
|
|
173
|
-
return (params ? stmt.all(...params) : stmt.all());
|
|
174
|
-
}
|
|
175
|
-
async sqlExecute(sql, params) {
|
|
176
|
-
const stmt = this.db.prepare(sql);
|
|
177
|
-
params ? stmt.run(...params) : stmt.run();
|
|
178
|
-
}
|
|
179
|
-
// --- Tool call telemetry (Layer 4: local mode) ---
|
|
180
|
-
async recordToolCall(tool, args, durationMs, error) {
|
|
181
|
-
this.db.prepare("INSERT INTO devflow_tool_calls (tool, args, timestamp, duration_ms, error) VALUES (?, ?, ?, ?, ?)").run(tool, JSON.stringify(args), Date.now(), durationMs, error ?? null);
|
|
182
|
-
}
|
|
183
|
-
async getToolCallStats() {
|
|
184
|
-
const total = this.db.prepare("SELECT COUNT(*) as c FROM devflow_tool_calls").get().c;
|
|
185
|
-
const byToolRows = this.db.prepare("SELECT tool, COUNT(*) as c FROM devflow_tool_calls GROUP BY tool").all();
|
|
186
|
-
const byTool = {};
|
|
187
|
-
for (const r of byToolRows)
|
|
188
|
-
byTool[r.tool] = r.c;
|
|
189
|
-
const recent = this.db.prepare("SELECT tool, timestamp, duration_ms, error FROM devflow_tool_calls ORDER BY timestamp DESC LIMIT 20").all();
|
|
190
|
-
return {
|
|
191
|
-
total,
|
|
192
|
-
byTool,
|
|
193
|
-
recent: recent.map((r) => ({ tool: r.tool, timestamp: r.timestamp, durationMs: r.duration_ms, ...(r.error ? { error: r.error } : {}) })),
|
|
194
|
-
};
|
|
195
|
-
}
|
|
196
|
-
// --- Audit chain ---
|
|
197
|
-
_auditSecret = null;
|
|
198
|
-
async auditGetSecret() {
|
|
199
|
-
if (this._auditSecret)
|
|
200
|
-
return this._auditSecret;
|
|
201
|
-
const row = this.db.prepare("SELECT value FROM devflow_kv WHERE key = ?").get("audit_secret");
|
|
202
|
-
if (row) {
|
|
203
|
-
this._auditSecret = row.value;
|
|
204
|
-
return this._auditSecret;
|
|
205
|
-
}
|
|
206
|
-
const secret = randomBytes(32).toString("hex");
|
|
207
|
-
this.db.prepare("INSERT OR REPLACE INTO devflow_kv (key, value) VALUES ('audit_secret', ?)").run(secret);
|
|
208
|
-
this._auditSecret = secret;
|
|
209
|
-
return secret;
|
|
210
|
-
}
|
|
211
|
-
async auditAppend(entry) {
|
|
212
|
-
this.db.prepare("INSERT INTO devflow_audit_chain (ts, tool, args_hash, decision, rule_id, session_id, prev_hash, signature) VALUES (?, ?, ?, ?, ?, ?, ?, ?)").run(entry.ts, entry.tool, entry.argsHash, entry.decision, entry.ruleId, entry.sessionId, entry.prevHash, entry.signature);
|
|
213
|
-
}
|
|
214
|
-
async auditGetAll() {
|
|
215
|
-
const rows = this.db.prepare("SELECT seq, ts, tool, args_hash, decision, rule_id, session_id, prev_hash, signature FROM devflow_audit_chain ORDER BY seq").all();
|
|
216
|
-
return rows.map((r) => ({
|
|
217
|
-
seq: r.seq,
|
|
218
|
-
ts: r.ts,
|
|
219
|
-
tool: r.tool,
|
|
220
|
-
argsHash: r.args_hash,
|
|
221
|
-
decision: r.decision,
|
|
222
|
-
ruleId: r.rule_id,
|
|
223
|
-
sessionId: r.session_id,
|
|
224
|
-
prevHash: r.prev_hash,
|
|
225
|
-
signature: r.signature,
|
|
226
|
-
}));
|
|
227
|
-
}
|
|
228
|
-
// --- Rules ---
|
|
229
|
-
async ruleSave(rule) {
|
|
230
|
-
const now = Date.now();
|
|
231
|
-
this.db.prepare(`INSERT INTO devflow_rules
|
|
232
|
-
(id, name, gate, level, condition_json, action, message, enabled, created_at, updated_at)
|
|
233
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
234
|
-
ON CONFLICT(id) DO UPDATE SET
|
|
235
|
-
name = excluded.name, gate = excluded.gate, level = excluded.level,
|
|
236
|
-
condition_json = excluded.condition_json, action = excluded.action,
|
|
237
|
-
message = excluded.message, enabled = excluded.enabled,
|
|
238
|
-
updated_at = excluded.updated_at`).run(rule.id, rule.name, rule.gate, rule.level, JSON.stringify(rule.condition), rule.action, rule.message, rule.enabled ? 1 : 0, rule.createdAt ?? now, now);
|
|
239
|
-
}
|
|
240
|
-
async ruleGetAll(options) {
|
|
241
|
-
const where = options?.includeDisabled ? "" : "WHERE enabled = 1";
|
|
242
|
-
const rows = this.db.prepare(`SELECT * FROM devflow_rules ${where} ORDER BY gate, id`).all();
|
|
243
|
-
return rows.map((r) => ({
|
|
244
|
-
id: r.id,
|
|
245
|
-
name: r.name,
|
|
246
|
-
gate: r.gate,
|
|
247
|
-
level: r.level,
|
|
248
|
-
condition: JSON.parse(r.condition_json),
|
|
249
|
-
action: r.action,
|
|
250
|
-
message: r.message,
|
|
251
|
-
enabled: r.enabled === 1,
|
|
252
|
-
createdAt: r.created_at,
|
|
253
|
-
updatedAt: r.updated_at,
|
|
254
|
-
}));
|
|
255
|
-
}
|
|
256
|
-
async ruleDelete(id) {
|
|
257
|
-
this.db.prepare("DELETE FROM devflow_rules WHERE id = ?").run(id);
|
|
258
|
-
}
|
|
259
|
-
async contextReceiptPut(receipt) {
|
|
260
|
-
this.db.prepare(`
|
|
261
|
-
INSERT INTO devflow_context_receipts
|
|
262
|
-
(project_root, session_id, execution_id, context_hash, issued_at, expires_at,
|
|
263
|
-
selected_files, memory_ids, canonical_next_action, canonical_action_json,
|
|
264
|
-
action_attempts, action_satisfied_at, action_degradation_json, request_id)
|
|
265
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
266
|
-
ON CONFLICT(project_root, session_id, execution_id) DO UPDATE SET
|
|
267
|
-
context_hash = excluded.context_hash,
|
|
268
|
-
issued_at = excluded.issued_at,
|
|
269
|
-
expires_at = excluded.expires_at,
|
|
270
|
-
selected_files = excluded.selected_files,
|
|
271
|
-
memory_ids = excluded.memory_ids,
|
|
272
|
-
canonical_next_action = excluded.canonical_next_action,
|
|
273
|
-
canonical_action_json = excluded.canonical_action_json,
|
|
274
|
-
action_attempts = excluded.action_attempts,
|
|
275
|
-
action_satisfied_at = excluded.action_satisfied_at,
|
|
276
|
-
action_degradation_json = excluded.action_degradation_json,
|
|
277
|
-
request_id = excluded.request_id
|
|
278
|
-
`).run(receipt.projectRoot, receipt.sessionId, receipt.executionId, receipt.contextHash, receipt.issuedAt, receipt.expiresAt, JSON.stringify(receipt.selectedFiles ?? []), JSON.stringify(receipt.memoryIds ?? []), receipt.canonicalNextAction ?? null, receipt.canonicalAction ? JSON.stringify(receipt.canonicalAction) : null, JSON.stringify(receipt.actionAttempts ?? []), receipt.actionSatisfiedAt ?? null, receipt.actionDegradation ? JSON.stringify(receipt.actionDegradation) : null, receipt.requestId ?? null);
|
|
279
|
-
}
|
|
280
|
-
async contextReceiptGet(projectRoot, sessionId, executionId) {
|
|
281
|
-
const row = this.db.prepare(`
|
|
282
|
-
SELECT project_root, session_id, execution_id, context_hash, issued_at, expires_at,
|
|
283
|
-
selected_files, memory_ids, canonical_next_action, canonical_action_json,
|
|
284
|
-
action_attempts, action_satisfied_at, action_degradation_json, request_id
|
|
285
|
-
FROM devflow_context_receipts
|
|
286
|
-
WHERE project_root = ? AND session_id = ? AND execution_id = ?
|
|
287
|
-
`).get(projectRoot, sessionId, executionId);
|
|
288
|
-
if (!row)
|
|
289
|
-
return null;
|
|
290
|
-
return {
|
|
291
|
-
projectRoot: row.project_root,
|
|
292
|
-
sessionId: row.session_id,
|
|
293
|
-
executionId: row.execution_id,
|
|
294
|
-
contextHash: row.context_hash,
|
|
295
|
-
issuedAt: row.issued_at,
|
|
296
|
-
expiresAt: row.expires_at,
|
|
297
|
-
selectedFiles: parseStringArray(row.selected_files),
|
|
298
|
-
memoryIds: parseStringArray(row.memory_ids),
|
|
299
|
-
canonicalNextAction: typeof row.canonical_next_action === 'string'
|
|
300
|
-
? row.canonical_next_action
|
|
301
|
-
: undefined,
|
|
302
|
-
canonicalAction: parseJsonObject(row.canonical_action_json),
|
|
303
|
-
actionAttempts: parseJsonArray(row.action_attempts),
|
|
304
|
-
actionSatisfiedAt: typeof row.action_satisfied_at === 'number' ? row.action_satisfied_at : undefined,
|
|
305
|
-
actionDegradation: parseJsonObject(row.action_degradation_json),
|
|
306
|
-
requestId: typeof row.request_id === 'string' ? row.request_id : undefined,
|
|
307
|
-
};
|
|
308
|
-
}
|
|
309
|
-
async contextReceiptDelete(projectRoot, sessionId, executionId) {
|
|
310
|
-
if (executionId) {
|
|
311
|
-
this.db.prepare(`DELETE FROM devflow_context_receipts
|
|
312
|
-
WHERE project_root = ? AND session_id = ? AND execution_id = ?`)
|
|
313
|
-
.run(projectRoot, sessionId, executionId);
|
|
314
|
-
}
|
|
315
|
-
else {
|
|
316
|
-
this.db.prepare(`DELETE FROM devflow_context_receipts
|
|
317
|
-
WHERE project_root = ? AND session_id = ?`).run(projectRoot, sessionId);
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
// --- File index (stubs — CodeGraph owns this now) ---
|
|
321
|
-
async insertSymbols(_symbols) { }
|
|
322
|
-
async insertFiles(_files) { }
|
|
323
|
-
async insertImports(_imports) { }
|
|
324
|
-
async findSymbols(_name) { return []; }
|
|
325
|
-
async findSymbolsByKind(_kind) { return []; }
|
|
326
|
-
async getSymbolsInFile(_file) { return []; }
|
|
327
|
-
async getFileCount() { return 0; }
|
|
328
|
-
async getSymbolCount() { return 0; }
|
|
329
|
-
}
|
|
330
|
-
//# sourceMappingURL=LocalDataProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LocalDataProvider.js","sourceRoot":"","sources":["../../src/data/LocalDataProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LocalDataProvider.test.d.ts","sourceRoot":"","sources":["../../src/data/LocalDataProvider.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, beforeEach, afterEach } from "vitest";
|
|
2
|
-
import { LocalDataProvider } from "./LocalDataProvider.js";
|
|
3
|
-
import { existsSync, rmSync, mkdirSync } from "node:fs";
|
|
4
|
-
import { join } from "node:path";
|
|
5
|
-
import { tmpdir } from "node:os";
|
|
6
|
-
describe("LocalDataProvider", () => {
|
|
7
|
-
let db;
|
|
8
|
-
let testDir;
|
|
9
|
-
beforeEach(() => {
|
|
10
|
-
testDir = join(tmpdir(), `devflow-test-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`);
|
|
11
|
-
mkdirSync(testDir, { recursive: true });
|
|
12
|
-
db = new LocalDataProvider(testDir, { dbPath: join(testDir, "global", "devflow.db") });
|
|
13
|
-
});
|
|
14
|
-
afterEach(() => {
|
|
15
|
-
db.close();
|
|
16
|
-
rmSync(testDir, { recursive: true, force: true });
|
|
17
|
-
});
|
|
18
|
-
it("creates devflow_ prefixed tables on construction", async () => {
|
|
19
|
-
const tables = await db.sqlQuery("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name");
|
|
20
|
-
const names = tables.map((t) => t.name).sort();
|
|
21
|
-
expect(names).toContain("devflow_kv");
|
|
22
|
-
expect(names).toContain("devflow_sessions");
|
|
23
|
-
expect(names).toContain("devflow_telemetry_runs");
|
|
24
|
-
expect(names).toContain("devflow_benchmark_reports");
|
|
25
|
-
expect(names).toContain("devflow_workflow_runs");
|
|
26
|
-
expect(names).toContain("devflow_knowledge_entries");
|
|
27
|
-
});
|
|
28
|
-
it("does not create or modify the CodeGraph database", () => {
|
|
29
|
-
expect(existsSync(join(testDir, ".codegraph"))).toBe(false);
|
|
30
|
-
});
|
|
31
|
-
it("old tables no longer exist (CodeGraph owns graph/index)", async () => {
|
|
32
|
-
const tables = await db.sqlQuery("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name");
|
|
33
|
-
const names = tables.map((t) => t.name);
|
|
34
|
-
expect(names).not.toContain("symbols");
|
|
35
|
-
expect(names).not.toContain("files");
|
|
36
|
-
expect(names).not.toContain("imports");
|
|
37
|
-
expect(names).not.toContain("graph_nodes");
|
|
38
|
-
expect(names).not.toContain("graph_edges");
|
|
39
|
-
expect(names).not.toContain("kv_store");
|
|
40
|
-
expect(names).not.toContain("sessions");
|
|
41
|
-
});
|
|
42
|
-
// Graph methods are stubs (CodeGraph owns graph data)
|
|
43
|
-
it("graphGetAll returns empty stubs", async () => {
|
|
44
|
-
const { nodes, edges } = await db.graphGetAll();
|
|
45
|
-
expect(nodes).toEqual([]);
|
|
46
|
-
expect(edges).toEqual([]);
|
|
47
|
-
});
|
|
48
|
-
it("graphGetNode returns null stub", async () => {
|
|
49
|
-
expect(await db.graphGetNode("any")).toBeNull();
|
|
50
|
-
});
|
|
51
|
-
it("graphGetEdges returns empty stub", async () => {
|
|
52
|
-
expect(await db.graphGetEdges("any", "out")).toEqual([]);
|
|
53
|
-
});
|
|
54
|
-
it("graphUpsertNodes/graphUpsertEdges/graphClear are no-ops", async () => {
|
|
55
|
-
await db.graphUpsertNodes([{ type: "component", id: "n1", name: "App", file: "src/App.tsx", exports: [] }]);
|
|
56
|
-
await db.graphUpsertEdges([{ type: "imports", from: "n1", to: "n2" }]);
|
|
57
|
-
await db.graphClear();
|
|
58
|
-
const { nodes } = await db.graphGetAll();
|
|
59
|
-
expect(nodes).toEqual([]);
|
|
60
|
-
});
|
|
61
|
-
// Index methods are stubs (CodeGraph owns indexing)
|
|
62
|
-
it("insertSymbols/insertFiles/insertImports are no-ops", async () => {
|
|
63
|
-
await db.insertSymbols([{ id: "s1", name: "foo", kind: "function", file: "a.ts", line: 1, column: 0, exports: true }]);
|
|
64
|
-
await db.insertFiles([{ path: "a.ts", language: "typescript", size: 100 }]);
|
|
65
|
-
await db.insertImports([{ file: "a.ts", imports: [{ name: "React", source: "react", isDefault: true, isTypeOnly: false }] }]);
|
|
66
|
-
expect(await db.findSymbols("foo")).toEqual([]);
|
|
67
|
-
expect(await db.getFileCount()).toBe(0);
|
|
68
|
-
expect(await db.getSymbolCount()).toBe(0);
|
|
69
|
-
});
|
|
70
|
-
it("findSymbols/findSymbolsByKind/getSymbolsInFile return empty", async () => {
|
|
71
|
-
expect(await db.findSymbols("anything")).toEqual([]);
|
|
72
|
-
expect(await db.findSymbolsByKind("component")).toEqual([]);
|
|
73
|
-
expect(await db.getSymbolsInFile("src/App.tsx")).toEqual([]);
|
|
74
|
-
});
|
|
75
|
-
// KV store (still active, uses devflow_kv)
|
|
76
|
-
it("kvGet returns null for missing key", async () => {
|
|
77
|
-
expect(await db.kvGet("nonexistent")).toBeNull();
|
|
78
|
-
});
|
|
79
|
-
it("kvSet and kvGet roundtrip", async () => {
|
|
80
|
-
await db.kvSet("test:key", { hello: "world" });
|
|
81
|
-
expect(await db.kvGet("test:key")).toEqual({ hello: "world" });
|
|
82
|
-
});
|
|
83
|
-
it("kvGetPrefix returns matching keys", async () => {
|
|
84
|
-
await db.kvSet("prefix:a", 1);
|
|
85
|
-
await db.kvSet("prefix:b", 2);
|
|
86
|
-
await db.kvSet("other:c", 3);
|
|
87
|
-
const result = await db.kvGetPrefix("prefix:");
|
|
88
|
-
expect(Object.keys(result)).toHaveLength(2);
|
|
89
|
-
expect(result["prefix:a"]).toBe(1);
|
|
90
|
-
expect(result["prefix:b"]).toBe(2);
|
|
91
|
-
});
|
|
92
|
-
it("kvDelete removes key", async () => {
|
|
93
|
-
await db.kvSet("temp", "val");
|
|
94
|
-
await db.kvDelete("temp");
|
|
95
|
-
expect(await db.kvGet("temp")).toBeNull();
|
|
96
|
-
});
|
|
97
|
-
// Sessions (still active, uses devflow_sessions)
|
|
98
|
-
it("sessionCreate and sessionAppend roundtrip", async () => {
|
|
99
|
-
await db.sessionCreate("s1", "fix login bug");
|
|
100
|
-
const entries = await db.sessionGet("s1");
|
|
101
|
-
expect(entries).toHaveLength(1);
|
|
102
|
-
expect(entries[0].action).toBe("session:create");
|
|
103
|
-
await db.sessionAppend("s1", { timestamp: Date.now(), action: "test", summary: "ran tests" });
|
|
104
|
-
const updated = await db.sessionGet("s1");
|
|
105
|
-
expect(updated).toHaveLength(2);
|
|
106
|
-
});
|
|
107
|
-
it("sessionClose marks session closed", async () => {
|
|
108
|
-
await db.sessionCreate("s2", "task");
|
|
109
|
-
await db.sessionClose("s2");
|
|
110
|
-
const entries = await db.sessionGet("s2");
|
|
111
|
-
const last = entries[entries.length - 1];
|
|
112
|
-
expect(last.action).toBe("session:close");
|
|
113
|
-
});
|
|
114
|
-
// SQL (still active)
|
|
115
|
-
it("sqlQuery returns typed rows", async () => {
|
|
116
|
-
await db.sqlExecute("CREATE TABLE IF NOT EXISTS _test (val TEXT)");
|
|
117
|
-
await db.sqlExecute("INSERT INTO _test (val) VALUES (?)", ["hello"]);
|
|
118
|
-
const rows = await db.sqlQuery("SELECT val FROM _test");
|
|
119
|
-
expect(rows).toHaveLength(1);
|
|
120
|
-
expect(rows[0].val).toBe("hello");
|
|
121
|
-
});
|
|
122
|
-
// Vector (P0 stub, unchanged)
|
|
123
|
-
it("vectorSearch returns empty array (P0 stub)", async () => {
|
|
124
|
-
const results = await db.vectorSearch("any", [0.1], 10);
|
|
125
|
-
expect(results).toEqual([]);
|
|
126
|
-
});
|
|
127
|
-
});
|
|
128
|
-
//# sourceMappingURL=LocalDataProvider.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LocalDataProvider.test.js","sourceRoot":"","sources":["../../src/data/LocalDataProvider.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { IDataProvider } from "../interfaces/IDataProvider.js";
|
|
2
|
-
import type { Rule } from "../types/enforcer.js";
|
|
3
|
-
export declare const DEFAULT_ENFORCER_RULES: readonly Rule[];
|
|
4
|
-
export declare function seedDefaultEnforcerRules(provider: IDataProvider): Promise<void>;
|
|
5
|
-
//# sourceMappingURL=default-enforcer-rules.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default-enforcer-rules.d.ts","sourceRoot":"","sources":["../../src/data/default-enforcer-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AASjD,eAAO,MAAM,sBAAsB,EAAE,SAAS,IAAI,EAoJxC,CAAC;AAEX,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAWrF"}
|