@duckmind/deepquark-darwin-arm64 0.9.83 → 0.9.90

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 (70) hide show
  1. package/.deepquark/skills/bundled/knowledge-graph/SKILL.md +385 -0
  2. package/.deepquark/skills/bundled/knowledge-graph/STANDARDS.md +461 -0
  3. package/.deepquark/skills/bundled/knowledge-graph/lib/cli.ts +588 -0
  4. package/.deepquark/skills/bundled/knowledge-graph/lib/config.ts +630 -0
  5. package/.deepquark/skills/bundled/knowledge-graph/lib/connection-profile.ts +629 -0
  6. package/.deepquark/skills/bundled/knowledge-graph/lib/container.ts +756 -0
  7. package/.deepquark/skills/bundled/knowledge-graph/lib/mcp-client.ts +1310 -0
  8. package/.deepquark/skills/bundled/knowledge-graph/lib/output-formatter.ts +997 -0
  9. package/.deepquark/skills/bundled/knowledge-graph/lib/token-metrics.ts +335 -0
  10. package/.deepquark/skills/bundled/knowledge-graph/lib/transformation-log.ts +137 -0
  11. package/.deepquark/skills/bundled/knowledge-graph/lib/wrapper-config.ts +113 -0
  12. package/.deepquark/skills/bundled/knowledge-graph/server/.env.example +129 -0
  13. package/.deepquark/skills/bundled/knowledge-graph/server/compare-embeddings.ts +175 -0
  14. package/.deepquark/skills/bundled/knowledge-graph/server/config-falkordb.yaml +108 -0
  15. package/.deepquark/skills/bundled/knowledge-graph/server/config-neo4j.yaml +111 -0
  16. package/.deepquark/skills/bundled/knowledge-graph/server/diagnose.ts +483 -0
  17. package/.deepquark/skills/bundled/knowledge-graph/server/docker-compose-falkordb-dev.yml +146 -0
  18. package/.deepquark/skills/bundled/knowledge-graph/server/docker-compose-falkordb.yml +151 -0
  19. package/.deepquark/skills/bundled/knowledge-graph/server/docker-compose-neo4j-dev-local.yml +161 -0
  20. package/.deepquark/skills/bundled/knowledge-graph/server/docker-compose-neo4j-dev.yml +161 -0
  21. package/.deepquark/skills/bundled/knowledge-graph/server/docker-compose-neo4j.yml +169 -0
  22. package/.deepquark/skills/bundled/knowledge-graph/server/docker-compose-production.yml +128 -0
  23. package/.deepquark/skills/bundled/knowledge-graph/server/docker-compose-test.yml +10 -0
  24. package/.deepquark/skills/bundled/knowledge-graph/server/docker-compose.yml +84 -0
  25. package/.deepquark/skills/bundled/knowledge-graph/server/entrypoint.sh +40 -0
  26. package/.deepquark/skills/bundled/knowledge-graph/server/install.ts +2054 -0
  27. package/.deepquark/skills/bundled/knowledge-graph/server/podman-compose-falkordb.yml +78 -0
  28. package/.deepquark/skills/bundled/knowledge-graph/server/podman-compose-neo4j.yml +88 -0
  29. package/.deepquark/skills/bundled/knowledge-graph/server/podman-compose.yml +83 -0
  30. package/.deepquark/skills/bundled/knowledge-graph/server/test-all-llms-mcp.ts +387 -0
  31. package/.deepquark/skills/bundled/knowledge-graph/server/test-embedding-models.ts +201 -0
  32. package/.deepquark/skills/bundled/knowledge-graph/server/test-embedding-providers.ts +641 -0
  33. package/.deepquark/skills/bundled/knowledge-graph/server/test-graphiti-model.ts +217 -0
  34. package/.deepquark/skills/bundled/knowledge-graph/server/test-grok-correct.ts +141 -0
  35. package/.deepquark/skills/bundled/knowledge-graph/server/test-grok-llms-mcp.ts +386 -0
  36. package/.deepquark/skills/bundled/knowledge-graph/server/test-grok-models.ts +173 -0
  37. package/.deepquark/skills/bundled/knowledge-graph/server/test-llama-extraction.ts +188 -0
  38. package/.deepquark/skills/bundled/knowledge-graph/server/test-mcp-final.ts +240 -0
  39. package/.deepquark/skills/bundled/knowledge-graph/server/test-mcp-live.ts +187 -0
  40. package/.deepquark/skills/bundled/knowledge-graph/server/test-mcp-session.ts +127 -0
  41. package/.deepquark/skills/bundled/knowledge-graph/server/test-model-combinations.ts +316 -0
  42. package/.deepquark/skills/bundled/knowledge-graph/server/test-ollama-models.ts +228 -0
  43. package/.deepquark/skills/bundled/knowledge-graph/server/test-openrouter-models.ts +460 -0
  44. package/.deepquark/skills/bundled/knowledge-graph/server/test-real-life-mcp.ts +311 -0
  45. package/.deepquark/skills/bundled/knowledge-graph/server/test-search-debug.ts +199 -0
  46. package/.deepquark/skills/bundled/knowledge-graph/tools/Install.md +104 -0
  47. package/.deepquark/skills/bundled/knowledge-graph/tools/README.md +120 -0
  48. package/.deepquark/skills/bundled/knowledge-graph/tools/knowledge-cli.ts +996 -0
  49. package/.deepquark/skills/bundled/knowledge-graph/tools/server-cli.ts +531 -0
  50. package/.deepquark/skills/bundled/knowledge-graph/workflows/BulkImport.md +514 -0
  51. package/.deepquark/skills/bundled/knowledge-graph/workflows/CaptureEpisode.md +242 -0
  52. package/.deepquark/skills/bundled/knowledge-graph/workflows/ClearGraph.md +392 -0
  53. package/.deepquark/skills/bundled/knowledge-graph/workflows/GetRecent.md +352 -0
  54. package/.deepquark/skills/bundled/knowledge-graph/workflows/GetStatus.md +373 -0
  55. package/.deepquark/skills/bundled/knowledge-graph/workflows/HealthReport.md +212 -0
  56. package/.deepquark/skills/bundled/knowledge-graph/workflows/InvestigateEntity.md +142 -0
  57. package/.deepquark/skills/bundled/knowledge-graph/workflows/OntologyManagement.md +201 -0
  58. package/.deepquark/skills/bundled/knowledge-graph/workflows/RunMaintenance.md +302 -0
  59. package/.deepquark/skills/bundled/knowledge-graph/workflows/SearchByDate.md +255 -0
  60. package/.deepquark/skills/bundled/knowledge-graph/workflows/SearchFacts.md +382 -0
  61. package/.deepquark/skills/bundled/knowledge-graph/workflows/SearchKnowledge.md +374 -0
  62. package/.deepquark/skills/bundled/knowledge-graph/workflows/StixImport.md +212 -0
  63. package/bin/deepquark +0 -0
  64. package/package.json +1 -1
  65. package/.deepquark/skills/bundled/ge-payroll/SKILL.md +0 -153
  66. package/.deepquark/skills/bundled/ge-payroll/evals/evals.json +0 -23
  67. package/.deepquark/skills/bundled/ge-payroll/references/pain-points-improvements.md +0 -106
  68. package/.deepquark/skills/bundled/ge-payroll/references/process-detail.md +0 -217
  69. package/.deepquark/skills/bundled/ge-payroll/references/raci-stakeholders.md +0 -85
  70. package/.deepquark/skills/bundled/ge-payroll/references/timeline-mandays.md +0 -64
@@ -0,0 +1,374 @@
1
+ # Search Knowledge Workflow
2
+
3
+ **Objective:** Retrieve relevant knowledge from the Graphiti knowledge graph using semantic search across entity summaries.
4
+
5
+ ---
6
+
7
+ ## Step 1: Announce Workflow
8
+
9
+ ```bash
10
+ ~/.claude/Tools/SkillWorkflowNotification SearchKnowledge MadeinozKnowledgeSystem
11
+ ```
12
+
13
+ **Output to user:**
14
+ ```
15
+ Running the **SearchKnowledge** workflow from the **MadeinozKnowledgeSystem** skill...
16
+ ```
17
+
18
+ ---
19
+
20
+ ## Step 2: Parse Search Query
21
+
22
+ **Extract search intent from user request:**
23
+
24
+ **Direct Questions:**
25
+ - "What do I know about X?"
26
+ - "Find information on Y"
27
+ - "Search my knowledge base for Z"
28
+
29
+ **Implicit Requests:**
30
+ - "Tell me about X" (implies searching personal knowledge first)
31
+ - "Recall what we discussed about Y"
32
+ - "What have I learned about Z?"
33
+
34
+ **Extract key concepts:**
35
+ - Identify main topic/keywords
36
+ - Note related concepts
37
+ - Preserve context clues
38
+
39
+ ---
40
+
41
+ ## Step 3: Build Search Query
42
+
43
+ **Construct effective query:**
44
+
45
+ > **MCP Tool:** `search_memory_nodes` (searches entity "nodes" in the graph)
46
+
47
+ ```typescript
48
+ // TypeScript: searchNodes() → calls MCP tool "search_memory_nodes"
49
+ {
50
+ query: "user's search terms here",
51
+ limit: 10 // Number of results to return
52
+ }
53
+ ```
54
+
55
+ **Query Construction Tips:**
56
+ - Use natural language queries
57
+ - Include specific domain terms
58
+ - Add context if search is ambiguous
59
+ - Keep queries focused on one main topic
60
+
61
+ **Examples:**
62
+ - "Podman volume mounting" → Good
63
+ - "how do I mount volumes in Podman containers" → Better (more specific)
64
+ - "Podman" → Too broad (may return too many results)
65
+
66
+ ---
67
+
68
+ ## Step 4: Execute Semantic Search (CLI-First, MCP-Fallback)
69
+
70
+ ### Primary: Knowledge CLI (via Bash)
71
+
72
+ **ALWAYS try CLI first - it's more reliable and token-efficient (30%+ savings):**
73
+
74
+ ```bash
75
+ bun run ~/.claude/skills/Knowledge/tools/knowledge-cli.ts search_nodes "search query" 10
76
+ ```
77
+
78
+ **Parameters:**
79
+ - First argument (required) - Natural language search query
80
+ - Second argument (optional) - Number of results (default: 5)
81
+
82
+ **Options:**
83
+ - `--raw` - Output raw JSON instead of compact format
84
+ - `--metrics` - Display token metrics after operation
85
+
86
+ ### Fallback: MCP Tool (Only if CLI fails)
87
+
88
+ **⚠️ Only use MCP if CLI returns connection/execution errors.**
89
+
90
+ ```typescript
91
+ search_nodes({
92
+ query: searchQuery,
93
+ limit: 10
94
+ })
95
+ ```
96
+
97
+ **Entity type filters (when using direct MCP):**
98
+ - `Preference` - User preferences and settings
99
+ - `Procedure` - How-to guides and processes
100
+ - `Learning` - Knowledge from learning sessions
101
+ - `Research` - Findings from research
102
+ - `Decision` - Architectural and strategic decisions
103
+ - `Feature` - Feature implementations
104
+ - `Person`, `Organization`, `Location`, `Concept`, `Event`, `Document`
105
+
106
+ ---
107
+
108
+ ## Step 5: Present Results
109
+
110
+ **Format knowledge for user:**
111
+
112
+ ```markdown
113
+ 📚 **Knowledge Found: [Topic]**
114
+
115
+ Based on your knowledge graph, here's what you know:
116
+
117
+ **Key Entities:**
118
+ 1. **[Entity Name]** ([Type])
119
+ - Summary: [Brief description]
120
+ - Related to: [Related entities]
121
+
122
+ 2. **[Entity Name]** ([Type])
123
+ - Summary: [Brief description]
124
+ - Related to: [Related entities]
125
+
126
+ **Relationships:**
127
+ - [Entity A] → [relationship] → [Entity B]
128
+ - [Entity C] → [relationship] → [Entity D]
129
+
130
+ **Episodes Containing This Knowledge:**
131
+ - [Episode name] ([date])
132
+ - [Episode name] ([date])
133
+
134
+ 💡 **Insights:**
135
+ [Synthesize connections and patterns from the results]
136
+ ```
137
+
138
+ **If no results found:**
139
+ ```markdown
140
+ ❌ **No Knowledge Found**
141
+
142
+ I couldn't find any information about "[query]" in your knowledge graph.
143
+
144
+ Suggestions:
145
+ 1. Try different search terms
146
+ 2. Use broader concepts
147
+ 3. Check if this knowledge has been captured yet
148
+
149
+ Want to capture this information now?
150
+ ```
151
+
152
+ ---
153
+
154
+ ## Best Practices
155
+
156
+ **Search Query Construction:**
157
+ - Use domain-specific terminology
158
+ - Include related concepts in query
159
+ - Think about how entities might be described
160
+ - Try synonyms if initial search fails
161
+
162
+ **Result Interpretation:**
163
+ - Look for entity types (Preferences, Procedures, etc.)
164
+ - Note relationship types between entities
165
+ - Consider temporal context (when was this learned?)
166
+ - Check confidence scores if provided
167
+
168
+ **When to Use vs General Search:**
169
+ - Use knowledge search first for personal information
170
+ - Fall back to web search if no knowledge found
171
+ - Combine both for comprehensive research
172
+
173
+ ---
174
+
175
+ ## Examples
176
+
177
+ **Example 1: Direct Topic Search**
178
+
179
+ User: "What do I know about Graphiti?"
180
+
181
+ Query: "Graphiti knowledge graph framework"
182
+
183
+ ```typescript
184
+ search_nodes({
185
+ query: "Graphiti knowledge graph framework temporal context",
186
+ limit: 10
187
+ })
188
+ ```
189
+
190
+ Returns entities about Graphiti, FalkorDB, knowledge management, MCP, etc.
191
+
192
+ **Example 2: Procedural Search**
193
+
194
+ User: "How do I set up PAI skills?"
195
+
196
+ Query: "PAI skill creation setup configuration"
197
+
198
+ ```typescript
199
+ search_nodes({
200
+ query: "PAI skill creation canonical structure setup",
201
+ limit: 10
202
+ })
203
+ ```
204
+
205
+ Returns procedure entities related to skill creation, SKILL.md format, workflows.
206
+
207
+ **Example 3: Preference Retrieval**
208
+
209
+ User: "What are my VS Code settings?"
210
+
211
+ Query: "VS Code preferences configuration settings"
212
+
213
+ ```typescript
214
+ search_nodes({
215
+ query: "VS Code preferences theme tab size configuration",
216
+ limit: 10
217
+ })
218
+ ```
219
+
220
+ Returns preference entities about development environment setup.
221
+
222
+ **Example 4: Decision Recall**
223
+
224
+ User: "Why did we choose Graphiti over other options?"
225
+
226
+ Query: "Graphiti selection decision reasoning architecture"
227
+
228
+ ```typescript
229
+ search_nodes({
230
+ query: "Graphiti architecture decision rationale advantages",
231
+ limit: 10
232
+ })
233
+ ```
234
+
235
+ Returns event/procedure entities documenting the decision-making process.
236
+
237
+ ---
238
+
239
+ ## Advanced Search Patterns
240
+
241
+ **Filter by Entity Type:**
242
+ ```typescript
243
+ // Find only procedures
244
+ search_nodes({
245
+ query: "PAI skill creation",
246
+ entity: "Procedure",
247
+ limit: 10
248
+ })
249
+
250
+ // Find only learnings
251
+ search_nodes({
252
+ query: "containerization",
253
+ entity: "Learning",
254
+ limit: 10
255
+ })
256
+
257
+ // Find only preferences
258
+ search_nodes({
259
+ query: "VS Code settings",
260
+ entity: "Preference",
261
+ limit: 10
262
+ })
263
+
264
+ // Find only research
265
+ search_nodes({
266
+ query: "knowledge graph architecture",
267
+ entity: "Research",
268
+ limit: 10
269
+ })
270
+
271
+ // Find only decisions
272
+ search_nodes({
273
+ query: "database selection",
274
+ entity: "Decision",
275
+ limit: 10
276
+ })
277
+ ```
278
+
279
+ **Combine Concepts:**
280
+ ```typescript
281
+ // Search for intersection of topics
282
+ query: "Podman container networking troubleshooting"
283
+ ```
284
+
285
+ **Temporal Searches (with date filters):**
286
+ ```bash
287
+ # Search from today
288
+ bun run ~/.claude/skills/Knowledge/tools/knowledge-cli.ts search_nodes "PAI skills" --since today
289
+
290
+ # Search from last 7 days
291
+ bun run ~/.claude/skills/Knowledge/tools/knowledge-cli.ts search_nodes "PAI skills" --since 7d
292
+
293
+ # Search within date range
294
+ bun run ~/.claude/skills/Knowledge/tools/knowledge-cli.ts search_nodes "PAI skills" --since 2026-01-01 --until 2026-01-15
295
+
296
+ # Yesterday only
297
+ bun run ~/.claude/skills/Knowledge/tools/knowledge-cli.ts search_nodes "PAI skills" --since yesterday --until today
298
+ ```
299
+
300
+ **Temporal filter options:**
301
+ - `--since <date>` - Filter to nodes created after this date
302
+ - `--until <date>` - Filter to nodes created before this date
303
+
304
+ **Date formats:** `today`, `yesterday`, `7d`, `1w`, `1m`, `2026-01-26`
305
+
306
+ **Relationship-Focused:**
307
+ ```typescript
308
+ // Find connections
309
+ query: "how FalkorDB integrates with Graphiti"
310
+ ```
311
+
312
+ **Procedure Retrieval:**
313
+ ```typescript
314
+ // Find how-to knowledge
315
+ search_nodes({
316
+ query: "creating PAI skill workflows",
317
+ entity: "Procedure",
318
+ limit: 10
319
+ })
320
+ ```
321
+
322
+ ---
323
+
324
+ ## Troubleshooting
325
+
326
+ **No Results Found:**
327
+ - Query may be too specific → Try broader terms
328
+ - Knowledge may not be captured → Check with GetRecent workflow
329
+ - Different terminology used → Try synonyms
330
+ - Search may be in wrong group → Verify `group_id`
331
+
332
+ **Too Many Results:**
333
+ - Query too broad → Add specific constraints
334
+ - Refine with additional context
335
+ - Increase result specificity
336
+ - Use relationship type filters
337
+
338
+ **Irrelevant Results:**
339
+ - Query terms may have multiple meanings → Add domain context
340
+ - Consider different entity types
341
+ - Use SearchFacts for relationships instead
342
+
343
+ **Connection Issues:**
344
+ ```bash
345
+ # Check server health
346
+ curl http://localhost:8000/health
347
+
348
+ # View server logs
349
+ podman logs graphiti-knowledge-graph-mcp
350
+
351
+ # Restart if needed
352
+ podman restart graphiti-knowledge-graph-mcp
353
+ ```
354
+
355
+ ---
356
+
357
+ ## Integration with Other Workflows
358
+
359
+ **Before Searching:**
360
+ - Use `GetRecent` to see what's been captured lately
361
+ - Use `GetStatus` to verify graph is operational
362
+
363
+ **After Searching:**
364
+ - Use `SearchFacts` to explore relationships between found entities
365
+ - Use `CaptureEpisode` to add new insights discovered during search
366
+ - Use `GetRecent` to see related knowledge added around the same time
367
+
368
+ ---
369
+
370
+ **Related Workflows:**
371
+ - `SearchFacts.md` - Find relationships and connections
372
+ - `GetRecent.md` - Browse recent knowledge additions
373
+ - `CaptureEpisode.md` - Add new knowledge discovered
374
+ - `GetStatus.md` - Verify knowledge graph is operational
@@ -0,0 +1,212 @@
1
+ # STIX Import Workflow
2
+
3
+ **Feature 018**: Import STIX 2.1 bundles for threat intelligence
4
+
5
+ ## Triggers
6
+
7
+ - "import STIX", "STIX bundle", "threat intel import", "CTI data"
8
+ - "import threat intelligence", "load STIX file", "MITRE ATT&CK"
9
+
10
+ ## Purpose
11
+
12
+ Import cyber threat intelligence from STIX 2.1 (Structured Threat Information Expression) bundles into the knowledge graph, enabling:
13
+ - **MITRE ATT&CK Integration**: Import techniques, tactics, and actor data
14
+ - **Threat Intel Feeds**: Commercial CTI feeds (Recorded Future, Flashpoint, etc.)
15
+ - **Vulnerability Data**: CVE records in STIX format
16
+ - **Indicator Sharing**: IoC exchange between teams and tools
17
+
18
+ ## Supported STIX Objects
19
+
20
+ | STIX Type | Mapped To | Description |
21
+ |-----------|-----------|-------------|
22
+ | `threat-actor` | ThreatActor | APT groups, malicious actors |
23
+ | `malware` | Malware | Malicious software families |
24
+ | `vulnerability` | Vulnerability | CVE records, security flaws |
25
+ | `indicator` | Indicator | IoCs (IPs, domains, hashes, emails) |
26
+ | `attack-pattern` | TTP | MITRE ATT&CK techniques |
27
+ | `infrastructure` | Infrastructure | C2 servers, attack infrastructure |
28
+ | `campaign` | Campaign | Coordinated threat activities |
29
+ | `identity` | Organization/Organization | Companies, agencies |
30
+ | `location` | Location | Countries, regions |
31
+ | `relationship` | Custom Relationship | STIX relationships |
32
+
33
+ ## CLI Commands
34
+
35
+ ### Import STIX Bundle
36
+
37
+ ```bash
38
+ # Import from local file
39
+ bun run tools/knowledge-cli.ts stix:import ./apt28-stix.json
40
+
41
+ # Import from URL
42
+ bun run tools/knowledge-cli.ts stix:import https://attack.mitre.org/docs/APT28-STIX.json
43
+
44
+ # Import with group_id specified
45
+ bun run tools/knowledge-cli.ts stix:import ./threat-intel.json --group-id cti-feed
46
+ ```
47
+
48
+ ### Check Import Status
49
+
50
+ ```bash
51
+ # Get latest import status
52
+ bun run tools/knowledge-cli.ts stix:status
53
+ ```
54
+
55
+ Output:
56
+ ```
57
+ STIX Import Status:
58
+ Last Import: 2026-02-04T12:00:00Z
59
+ Source: apt28-stix.json
60
+ Status: SUCCESS
61
+ Objects Processed: 47
62
+ - threat-actor: 1
63
+ - malware: 3
64
+ - indicator: 28
65
+ - attack-pattern: 8
66
+ - relationship: 7
67
+ Errors: 0
68
+ Duration: 2.3s
69
+ ```
70
+
71
+ ## Import Process
72
+
73
+ 1. **Parse STIX Bundle** - Validate JSON and STIX 2.1 schema
74
+ 2. **Map Object Types** - Convert STIX types to ontology entities
75
+ 3. **Extract Relationships** - Create edges between entities
76
+ 4. **Store Episodes** - Each bundle becomes an episode with source tracking
77
+ 5. **Report Results** - Summary of objects processed and any errors
78
+
79
+ ## STIX to Knowledge Graph Mapping
80
+
81
+ ### Entity Mapping
82
+
83
+ | STIX Object | Knowledge Entity | Example |
84
+ |-------------|------------------|---------|
85
+ | `threat-actor` | ThreatActor | APT28, Sandworm |
86
+ | `malware` | Malware | TrickBot, LockBit |
87
+ | `vulnerability` | Vulnerability | CVE-2023-23397 |
88
+ | `indicator` | Indicator | IP, domain, hash |
89
+ | `attack-pattern` | TTP | Phishing, Lateral Movement |
90
+ | `infrastructure` | Infrastructure | C2 servers |
91
+ | `campaign` | Campaign | Operation names |
92
+ | `identity` (class=organization) | Organization | Target companies |
93
+
94
+ ### Relationship Mapping
95
+
96
+ | STIX Relationship | Knowledge Relationship |
97
+ |-------------------|----------------------|
98
+ | `uses` | uses |
99
+ | `targets` | targets |
100
+ | `attributed-to` | attributed_to |
101
+ | `exploits` | exploits |
102
+ | `related-to` | associated_with |
103
+ | `located-at` | located_at |
104
+ | `communicates-with` | communicates_with |
105
+
106
+ ## Examples
107
+
108
+ ### Example 1: Import MITRE ATT&CK Data
109
+
110
+ User: "Import APT28 from MITRE ATT&CK"
111
+
112
+ ```bash
113
+ bun run tools/knowledge-cli.ts stix:import https://attack.mitre.org/docs/APT28-STIX.json
114
+ ```
115
+
116
+ Result:
117
+ ```
118
+ ✓ Importing from: https://attack.mitre.org/docs/APT28-STIX.json
119
+ Processing STIX 2.1 bundle...
120
+ ✓ Parsed 47 STIX objects
121
+ ✓ Created 1 ThreatActor: APT28
122
+ ✓ Created 3 Malware: X-Agent, X-Tunnel, Sedreco
123
+ ✓ Created 28 Indicators: IPs, domains, hashes
124
+ ✓ Created 8 TTPs: attack techniques
125
+ ✓ Created 7 relationships
126
+
127
+ Import complete: 47 objects in 2.3s
128
+ ```
129
+
130
+ ### Example 2: Import Vulnerability Feed
131
+
132
+ User: "Import CVE data from STIX file"
133
+
134
+ ```bash
135
+ bun run tools/knowledge-cli.ts stix:import ./cve-feed-2024.json --group-id vulnerabilities
136
+ ```
137
+
138
+ ### Example 3: Import Commercial CTI Feed
139
+
140
+ User: "Load Recorded Future export"
141
+
142
+ ```bash
143
+ bun run tools/knowledge-cli.ts stix:import ./recorded-future-export.json
144
+ ```
145
+
146
+ ### Example 4: Check Import Results
147
+
148
+ User: "Did the last import work?"
149
+
150
+ ```bash
151
+ bun run tools/knowledge-cli.ts stix:status
152
+ ```
153
+
154
+ ## Input Formats
155
+
156
+ **Local Files:**
157
+ - JSON files with `.json` extension
158
+ - STIX 2.1 bundle format
159
+
160
+ **URLs:**
161
+ - HTTP/HTTPS URLs
162
+ - Must return valid STIX 2.1 JSON
163
+
164
+ ## Error Handling
165
+
166
+ | Error | Cause | Resolution |
167
+ |-------|-------|------------|
168
+ | `Invalid STIX format` | Not STIX 2.1 JSON | Validate file format |
169
+ | `Unknown object type` | Unsupported STIX type | Check object mapping |
170
+ | `Missing required field` | Malformed STIX object | Fix source data |
171
+ | `Network error` | URL unreachable | Check URL or download first |
172
+
173
+ ## Best Practices
174
+
175
+ 1. **Validate First** - Check STIX files with online validator before import
176
+ 2. **Use Groups** - Separate feeds by `--group-id` for better organization
177
+ 3. **Check Status** - Run `stix:status` after import to verify results
178
+ 4. **Investigate After** - Use `investigate` command to explore imported entities
179
+
180
+ ## Investigation After Import
181
+
182
+ After importing STIX data, use investigative search:
183
+
184
+ ```bash
185
+ # Explore imported threat actor
186
+ bun run tools/knowledge-cli.ts investigate "APT28" --depth 2
187
+
188
+ # Find all malware used by actor
189
+ bun run tools/knowledge-cli.ts investigate "APT28" --relationship-type uses
190
+
191
+ # Trace indicators to infrastructure
192
+ bun run tools/knowledge-cli.ts investigate "192.168.1.1" --depth 2 --relationship-type hosted_on
193
+ ```
194
+
195
+ ## Related Workflows
196
+
197
+ - **InvestigateEntity** - Explore imported threat intel relationships
198
+ - **OntologyManagement** - Configure STIX object type mappings
199
+ - **SearchKnowledge** - Find imported entities by semantic search
200
+
201
+ ## STIX Resources
202
+
203
+ - **STIX 2.1 Specification**: https://oasis-tcs.github.io/cti-documentation/
204
+ - **MITRE ATT&CK STIX**: https://attack.mitre.org/docs/
205
+ - **STIX Validator**: https://github.com/oasis-tcs/cti-python-stix2
206
+
207
+ ## MCP Tools
208
+
209
+ | Tool | Description |
210
+ |------|-------------|
211
+ | `import_stix_bundle` | Import STIX 2.1 bundle from file or URL |
212
+ | `get_stix_import_status` | Get status of most recent import |
package/bin/deepquark CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duckmind/deepquark-darwin-arm64",
3
- "version": "0.9.83",
3
+ "version": "0.9.90",
4
4
  "license": "MIT",
5
5
  "description": "DeepQuark native binary + bundled skills for darwin-arm64",
6
6
  "os": [