@precisionutilityguild/liquid-shadow 1.0.5 → 1.0.6

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 CHANGED
@@ -6,8 +6,8 @@
6
6
  </p>
7
7
 
8
8
  <p align="center">
9
- <img src="https://img.shields.io/badge/version-1.0.3-blue.svg" alt="Version">
10
- <img src="https://img.shields.io/badge/License-Proprietary-red.svg" alt="License">
9
+ <img src="https://img.shields.io/badge/version-1.0.6-blue.svg" alt="Version">
10
+ <img src="https://img.shields.io/badge/License-Apache--2.0-blue.svg" alt="License">
11
11
  <img src="https://img.shields.io/badge/build-passing-brightgreen.svg" alt="Build">
12
12
  <img src="https://img.shields.io/badge/MCP-First-6D28D9.svg" alt="MCP First">
13
13
  </p>
@@ -42,12 +42,12 @@ Change one function, see the ripple. Trace execution flows and predict the **Bla
42
42
 
43
43
  ---
44
44
 
45
- ## The Tactical Suite (31 Atomic Tools)
45
+ ## The Tactical Suite (40 Atomic Tools)
46
46
 
47
47
  Organized into specialized intelligence suites for the modern agent:
48
48
 
49
- | Suite | Tactical Purpose | Key Tools |
50
- | :--------------------- | :------------------------------ | :----------------------------------------------------- |
49
+ | Suite | Tactical Purpose | Key Tools |
50
+ | :--------------- | :------------------------------ | :------------------------------------------------- |
51
51
  | **Ops Control** | Mission & context management | `shadow_ops_context`, `shadow_ops_briefing` |
52
52
  | **Intelligence** | Deep architectural reasoning | `shadow_analyze_impact`, `shadow_analyze_flow` |
53
53
  | **Discovery** | Semantic & config retrieval | `shadow_search_concept`, `shadow_search_config` |
@@ -80,7 +80,7 @@ liquid-shadow dashboard
80
80
 
81
81
  ### 3. The Skills-First Loop
82
82
 
83
- Liquid Shadow is designed for **Autonomy**. While it provides 31 atomic tools, the primary interface for an agent is the **Skills** system. Running `liquid-shadow init` automatically injects these high-level workflows into the agent's environment.
83
+ Liquid Shadow is designed for **Autonomy**. While it provides 40 atomic tools, the primary interface for an agent is the **Skills** system. Running `liquid-shadow init` automatically injects these high-level workflows into the agent's environment.
84
84
 
85
85
  #### High-Signal Workflows
86
86
 
@@ -158,6 +158,7 @@ CREATE TABLE IF NOT EXISTS mission_artifacts (
158
158
  type TEXT NOT NULL,
159
159
  identifier TEXT NOT NULL,
160
160
  metadata TEXT,
161
+ embedding TEXT DEFAULT NULL,
161
162
  created_at INTEGER DEFAULT (unixepoch()),
162
163
  FOREIGN KEY(mission_id) REFERENCES missions(id) ON DELETE CASCADE
163
164
  );
@@ -218,6 +219,36 @@ CREATE TABLE IF NOT EXISTS event_synapses (
218
219
  created_at REAL DEFAULT (unixepoch())
219
220
  );
220
221
 
222
+ -- ── Type graph ───────────────────────────────────────────────
223
+
224
+ CREATE TABLE IF NOT EXISTS type_graph_edges (
225
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
226
+ file_path TEXT NOT NULL,
227
+ source_symbol_id INTEGER NOT NULL,
228
+ source_symbol_name TEXT NOT NULL,
229
+ target_symbol_name TEXT NOT NULL,
230
+ relationship TEXT NOT NULL,
231
+ line_number INTEGER,
232
+ metadata TEXT,
233
+ created_at REAL DEFAULT (unixepoch()),
234
+ FOREIGN KEY(file_path) REFERENCES files(path) ON DELETE CASCADE,
235
+ FOREIGN KEY(source_symbol_id) REFERENCES exports(id) ON DELETE CASCADE
236
+ );
237
+
238
+ -- ── Ember daemon IPC ─────────────────────────────────────────
239
+
240
+ CREATE TABLE IF NOT EXISTS ember_state (
241
+ key TEXT PRIMARY KEY,
242
+ value TEXT,
243
+ updated_at REAL DEFAULT (unixepoch())
244
+ );
245
+
246
+ INSERT OR IGNORE INTO ember_state (key, value) VALUES ('status', 'idle');
247
+ INSERT OR IGNORE INTO ember_state (key, value) VALUES ('progress', '0/0');
248
+ INSERT OR IGNORE INTO ember_state (key, value) VALUES ('started_at', NULL);
249
+ INSERT OR IGNORE INTO ember_state (key, value) VALUES ('pid', NULL);
250
+ INSERT OR IGNORE INTO ember_state (key, value) VALUES ('repo_path', NULL);
251
+
221
252
  -- ── Metadata / caches ────────────────────────────────────────
222
253
 
223
254
  CREATE TABLE IF NOT EXISTS index_metadata (
@@ -266,11 +297,18 @@ CREATE INDEX IF NOT EXISTS idx_intent_embedding ON intent_logs(id) WHERE
266
297
  CREATE INDEX IF NOT EXISTS idx_working_set_mission ON working_set(mission_id);
267
298
  CREATE INDEX IF NOT EXISTS idx_cross_repo_mission ON cross_repo_links(mission_id);
268
299
  CREATE INDEX IF NOT EXISTS idx_mission_artifacts_mission ON mission_artifacts(mission_id);
300
+ CREATE INDEX IF NOT EXISTS idx_mission_artifacts_embedding ON mission_artifacts(id) WHERE embedding IS NOT NULL;
269
301
 
270
302
  -- Event mesh
271
303
  CREATE INDEX IF NOT EXISTS idx_events_name ON event_synapses(name);
272
304
  CREATE INDEX IF NOT EXISTS idx_events_file ON event_synapses(file_path);
273
305
 
306
+ -- Type graph
307
+ CREATE INDEX IF NOT EXISTS idx_type_graph_file_path ON type_graph_edges(file_path);
308
+ CREATE INDEX IF NOT EXISTS idx_type_graph_source_symbol ON type_graph_edges(source_symbol_id);
309
+ CREATE INDEX IF NOT EXISTS idx_type_graph_target_symbol ON type_graph_edges(target_symbol_name);
310
+ CREATE INDEX IF NOT EXISTS idx_type_graph_relationship ON type_graph_edges(relationship);
311
+
274
312
  -- Caches
275
313
  CREATE INDEX IF NOT EXISTS idx_search_history_created_at ON search_history(created_at DESC);
276
314
  CREATE INDEX IF NOT EXISTS idx_search_history_mode ON search_history(mode);
@@ -0,0 +1,27 @@
1
+ -- Type graph relations indexed from symbol signatures (extends / implements / generic constraints)
2
+
3
+ CREATE TABLE IF NOT EXISTS type_graph_edges (
4
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
5
+ file_path TEXT NOT NULL,
6
+ source_symbol_id INTEGER NOT NULL,
7
+ source_symbol_name TEXT NOT NULL,
8
+ target_symbol_name TEXT NOT NULL,
9
+ relationship TEXT NOT NULL,
10
+ line_number INTEGER,
11
+ metadata TEXT,
12
+ created_at REAL DEFAULT (unixepoch()),
13
+ FOREIGN KEY(file_path) REFERENCES files(path) ON DELETE CASCADE,
14
+ FOREIGN KEY(source_symbol_id) REFERENCES exports(id) ON DELETE CASCADE
15
+ );
16
+
17
+ CREATE INDEX IF NOT EXISTS idx_type_graph_file_path ON type_graph_edges(file_path);
18
+ CREATE INDEX IF NOT EXISTS idx_type_graph_source_symbol ON type_graph_edges(source_symbol_id);
19
+ CREATE INDEX IF NOT EXISTS idx_type_graph_target_symbol ON type_graph_edges(target_symbol_name);
20
+ CREATE INDEX IF NOT EXISTS idx_type_graph_relationship ON type_graph_edges(relationship);
21
+
22
+ -- DOWN
23
+ DROP INDEX IF EXISTS idx_type_graph_relationship;
24
+ DROP INDEX IF EXISTS idx_type_graph_target_symbol;
25
+ DROP INDEX IF EXISTS idx_type_graph_source_symbol;
26
+ DROP INDEX IF EXISTS idx_type_graph_file_path;
27
+ DROP TABLE IF EXISTS type_graph_edges;
@@ -0,0 +1,2 @@
1
+ ALTER TABLE mission_artifacts ADD COLUMN embedding TEXT DEFAULT NULL;
2
+ CREATE INDEX IF NOT EXISTS idx_mission_artifacts_embedding ON mission_artifacts(id) WHERE embedding IS NOT NULL;
@@ -0,0 +1,18 @@
1
+ -- Ember daemon IPC state table
2
+ -- Used as a message bus between the main MCP process and the detached Ember embedding daemon.
3
+ -- WAL snapshot isolation means MCP readers never see partial write state.
4
+
5
+ CREATE TABLE IF NOT EXISTS ember_state (
6
+ key TEXT PRIMARY KEY,
7
+ value TEXT,
8
+ updated_at REAL DEFAULT (unixepoch())
9
+ );
10
+
11
+ INSERT OR IGNORE INTO ember_state (key, value) VALUES ('status', 'idle');
12
+ INSERT OR IGNORE INTO ember_state (key, value) VALUES ('progress', '0/0');
13
+ INSERT OR IGNORE INTO ember_state (key, value) VALUES ('started_at', NULL);
14
+ INSERT OR IGNORE INTO ember_state (key, value) VALUES ('pid', NULL);
15
+ INSERT OR IGNORE INTO ember_state (key, value) VALUES ('repo_path', NULL);
16
+
17
+ -- DOWN
18
+ DROP TABLE IF EXISTS ember_state;