diff --git a/projects/dttb/graphify-out/.graphify_root b/projects/dttb/graphify-out/.graphify_root new file mode 100644 index 0000000..ebe99e2 --- /dev/null +++ b/projects/dttb/graphify-out/.graphify_root @@ -0,0 +1 @@ +/root/knowledge-base/projects/dttb \ No newline at end of file diff --git a/projects/dttb/graphify-out/GRAPH_REPORT.md b/projects/dttb/graphify-out/GRAPH_REPORT.md new file mode 100644 index 0000000..bcfee6f --- /dev/null +++ b/projects/dttb/graphify-out/GRAPH_REPORT.md @@ -0,0 +1,74 @@ +# Graph Report - dttb (2026-05-06) + +## Corpus Check +- 1 files · ~22,438 words +- Verdict: corpus is large enough that graph structure adds value. + +## Summary +- 18 nodes · 28 edges · 4 communities (3 shown, 1 thin omitted) +- Extraction: 100% EXTRACTED · 0% INFERRED · 0% AMBIGUOUS +- Token cost: 0 input · 0 output + +## Graph Freshness +- Built from commit: `3220238c` +- Run `git rev-parse HEAD` and compare to check if the graph is stale. +- Run `graphify update .` after code changes (no API cost). + +## Community Hubs (Navigation) +- [[_COMMUNITY_Community 0|Community 0]] +- [[_COMMUNITY_Community 1|Community 1]] +- [[_COMMUNITY_Community 2|Community 2]] +- [[_COMMUNITY_Community 3|Community 3]] + +## God Nodes (most connected - your core abstractions) +1. `nc_request()` - 6 edges +2. `main()` - 6 edges +3. `send_message()` - 5 edges +4. `build_system_prompt()` - 4 edges +5. `get_last_message_id()` - 4 edges +6. `poll_new_messages()` - 4 edges +7. `join_room()` - 4 edges +8. `load_knowledge_base()` - 3 edges +9. `get_ai_reply()` - 3 edges +10. `Load all .md files from knowledge-base repo into context string` - 1 edges + +## Surprising Connections (you probably didn't know these) +- `main()` --calls--> `build_system_prompt()` [EXTRACTED] + nextcloud-talk-bot.py → nextcloud-talk-bot.py _Bridges community 2 → community 0_ +- `get_last_message_id()` --calls--> `nc_request()` [EXTRACTED] + nextcloud-talk-bot.py → nextcloud-talk-bot.py _Bridges community 1 → community 3_ +- `poll_new_messages()` --calls--> `nc_request()` [EXTRACTED] + nextcloud-talk-bot.py → nextcloud-talk-bot.py _Bridges community 1 → community 0_ +- `main()` --calls--> `get_last_message_id()` [EXTRACTED] + nextcloud-talk-bot.py → nextcloud-talk-bot.py _Bridges community 3 → community 0_ + +## Communities (4 total, 1 thin omitted) + +### Community 0 - "Community 0" +Cohesion: 0.47 +Nodes (5): get_ai_reply(), main(), poll_new_messages(), Long-poll for new messages after last_id, Get reply from Claude via cliproxy + +### Community 1 - "Community 1" +Cohesion: 0.4 +Nodes (6): join_room(), nc_request(), Join conversation as bot user, Send message as bot user, Nextcloud OCS API request, send_message() + +### Community 2 - "Community 2" +Cohesion: 0.5 +Nodes (4): build_system_prompt(), load_knowledge_base(), Load all .md files from knowledge-base repo into context string, Build system prompt with knowledge base + +## Knowledge Gaps +- **8 isolated node(s):** `Load all .md files from knowledge-base repo into context string`, `Build system prompt with knowledge base`, `Nextcloud OCS API request`, `Get the highest message ID in the conversation`, `Long-poll for new messages after last_id` (+3 more) + These have ≤1 connection - possible missing edges or undocumented components. +- **1 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. + +## Suggested Questions +_Questions this graph is uniquely positioned to answer:_ + +- **Why does `nc_request()` connect `Community 1` to `Community 0`, `Community 3`?** + _High betweenness centrality (0.176) - this node is a cross-community bridge._ +- **Why does `main()` connect `Community 0` to `Community 1`, `Community 2`, `Community 3`?** + _High betweenness centrality (0.132) - this node is a cross-community bridge._ +- **Why does `send_message()` connect `Community 1` to `Community 0`?** + _High betweenness centrality (0.129) - this node is a cross-community bridge._ +- **What connects `Load all .md files from knowledge-base repo into context string`, `Build system prompt with knowledge base`, `Nextcloud OCS API request` to the rest of the system?** + _8 weakly-connected nodes found - possible documentation gaps or missing edges._ \ No newline at end of file diff --git a/projects/dttb/graphify-out/cache/ast/5d60bc23c25a62d26cdf005145a722906718caa1ff3ee850c02bc1fa06f84faa.json b/projects/dttb/graphify-out/cache/ast/5d60bc23c25a62d26cdf005145a722906718caa1ff3ee850c02bc1fa06f84faa.json new file mode 100644 index 0000000..f106772 --- /dev/null +++ b/projects/dttb/graphify-out/cache/ast/5d60bc23c25a62d26cdf005145a722906718caa1ff3ee850c02bc1fa06f84faa.json @@ -0,0 +1 @@ +{"nodes": [{"id": "root_knowledge_base_projects_dttb_nextcloud_talk_bot_nextcloud_talk_bot_py", "label": "nextcloud-talk-bot.py", "file_type": "code", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L1"}, {"id": "nextcloud_talk_bot_nextcloud_talk_bot_load_knowledge_base", "label": "load_knowledge_base()", "file_type": "code", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L34"}, {"id": "nextcloud_talk_bot_nextcloud_talk_bot_build_system_prompt", "label": "build_system_prompt()", "file_type": "code", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L70"}, {"id": "nextcloud_talk_bot_nextcloud_talk_bot_nc_request", "label": "nc_request()", "file_type": "code", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L92"}, {"id": "nextcloud_talk_bot_nextcloud_talk_bot_get_last_message_id", "label": "get_last_message_id()", "file_type": "code", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L106"}, {"id": "nextcloud_talk_bot_nextcloud_talk_bot_poll_new_messages", "label": "poll_new_messages()", "file_type": "code", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L113"}, {"id": "nextcloud_talk_bot_nextcloud_talk_bot_join_room", "label": "join_room()", "file_type": "code", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L129"}, {"id": "nextcloud_talk_bot_nextcloud_talk_bot_send_message", "label": "send_message()", "file_type": "code", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L140"}, {"id": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "label": "get_ai_reply()", "file_type": "code", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L152"}, {"id": "nextcloud_talk_bot_nextcloud_talk_bot_main", "label": "main()", "file_type": "code", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L196"}, {"id": "nextcloud_talk_bot_nextcloud_talk_bot_rationale_35", "label": "Load all .md files from knowledge-base repo into context string", "file_type": "rationale", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L35"}, {"id": "nextcloud_talk_bot_nextcloud_talk_bot_rationale_71", "label": "Build system prompt with knowledge base", "file_type": "rationale", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L71"}, {"id": "nextcloud_talk_bot_nextcloud_talk_bot_rationale_93", "label": "Nextcloud OCS API request", "file_type": "rationale", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L93"}, {"id": "nextcloud_talk_bot_nextcloud_talk_bot_rationale_107", "label": "Get the highest message ID in the conversation", "file_type": "rationale", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L107"}, {"id": "nextcloud_talk_bot_nextcloud_talk_bot_rationale_114", "label": "Long-poll for new messages after last_id", "file_type": "rationale", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L114"}, {"id": "nextcloud_talk_bot_nextcloud_talk_bot_rationale_130", "label": "Join conversation as bot user", "file_type": "rationale", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L130"}, {"id": "nextcloud_talk_bot_nextcloud_talk_bot_rationale_141", "label": "Send message as bot user", "file_type": "rationale", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L141"}, {"id": "nextcloud_talk_bot_nextcloud_talk_bot_rationale_153", "label": "Get reply from Claude via cliproxy", "file_type": "rationale", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L153"}], "edges": [{"source": "root_knowledge_base_projects_dttb_nextcloud_talk_bot_nextcloud_talk_bot_py", "target": "base64", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L7", "weight": 1.0}, {"source": "root_knowledge_base_projects_dttb_nextcloud_talk_bot_nextcloud_talk_bot_py", "target": "glob", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L8", "weight": 1.0}, {"source": "root_knowledge_base_projects_dttb_nextcloud_talk_bot_nextcloud_talk_bot_py", "target": "json", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L9", "weight": 1.0}, {"source": "root_knowledge_base_projects_dttb_nextcloud_talk_bot_nextcloud_talk_bot_py", "target": "os", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L10", "weight": 1.0}, {"source": "root_knowledge_base_projects_dttb_nextcloud_talk_bot_nextcloud_talk_bot_py", "target": "time", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L11", "weight": 1.0}, {"source": "root_knowledge_base_projects_dttb_nextcloud_talk_bot_nextcloud_talk_bot_py", "target": "urllib_request", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L12", "weight": 1.0}, {"source": "root_knowledge_base_projects_dttb_nextcloud_talk_bot_nextcloud_talk_bot_py", "target": "urllib_error", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L13", "weight": 1.0}, {"source": "root_knowledge_base_projects_dttb_nextcloud_talk_bot_nextcloud_talk_bot_py", "target": "nextcloud_talk_bot_nextcloud_talk_bot_load_knowledge_base", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L34", "weight": 1.0}, {"source": "root_knowledge_base_projects_dttb_nextcloud_talk_bot_nextcloud_talk_bot_py", "target": "nextcloud_talk_bot_nextcloud_talk_bot_build_system_prompt", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L70", "weight": 1.0}, {"source": "root_knowledge_base_projects_dttb_nextcloud_talk_bot_nextcloud_talk_bot_py", "target": "nextcloud_talk_bot_nextcloud_talk_bot_nc_request", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L92", "weight": 1.0}, {"source": "root_knowledge_base_projects_dttb_nextcloud_talk_bot_nextcloud_talk_bot_py", "target": "nextcloud_talk_bot_nextcloud_talk_bot_get_last_message_id", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L106", "weight": 1.0}, {"source": "root_knowledge_base_projects_dttb_nextcloud_talk_bot_nextcloud_talk_bot_py", "target": "nextcloud_talk_bot_nextcloud_talk_bot_poll_new_messages", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L113", "weight": 1.0}, {"source": "root_knowledge_base_projects_dttb_nextcloud_talk_bot_nextcloud_talk_bot_py", "target": "nextcloud_talk_bot_nextcloud_talk_bot_join_room", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L129", "weight": 1.0}, {"source": "root_knowledge_base_projects_dttb_nextcloud_talk_bot_nextcloud_talk_bot_py", "target": "nextcloud_talk_bot_nextcloud_talk_bot_send_message", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L140", "weight": 1.0}, {"source": "root_knowledge_base_projects_dttb_nextcloud_talk_bot_nextcloud_talk_bot_py", "target": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L152", "weight": 1.0}, {"source": "root_knowledge_base_projects_dttb_nextcloud_talk_bot_nextcloud_talk_bot_py", "target": "nextcloud_talk_bot_nextcloud_talk_bot_main", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L196", "weight": 1.0}, {"source": "nextcloud_talk_bot_nextcloud_talk_bot_build_system_prompt", "target": "nextcloud_talk_bot_nextcloud_talk_bot_load_knowledge_base", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L72", "weight": 1.0}, {"source": "nextcloud_talk_bot_nextcloud_talk_bot_get_last_message_id", "target": "nextcloud_talk_bot_nextcloud_talk_bot_nc_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L108", "weight": 1.0}, {"source": "nextcloud_talk_bot_nextcloud_talk_bot_poll_new_messages", "target": "nextcloud_talk_bot_nextcloud_talk_bot_nc_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L116", "weight": 1.0}, {"source": "nextcloud_talk_bot_nextcloud_talk_bot_join_room", "target": "nextcloud_talk_bot_nextcloud_talk_bot_nc_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L132", "weight": 1.0}, {"source": "nextcloud_talk_bot_nextcloud_talk_bot_send_message", "target": "nextcloud_talk_bot_nextcloud_talk_bot_join_room", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L142", "weight": 1.0}, {"source": "nextcloud_talk_bot_nextcloud_talk_bot_send_message", "target": "nextcloud_talk_bot_nextcloud_talk_bot_nc_request", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L146", "weight": 1.0}, {"source": "nextcloud_talk_bot_nextcloud_talk_bot_main", "target": "nextcloud_talk_bot_nextcloud_talk_bot_build_system_prompt", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L204", "weight": 1.0}, {"source": "nextcloud_talk_bot_nextcloud_talk_bot_main", "target": "nextcloud_talk_bot_nextcloud_talk_bot_get_last_message_id", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L208", "weight": 1.0}, {"source": "nextcloud_talk_bot_nextcloud_talk_bot_main", "target": "nextcloud_talk_bot_nextcloud_talk_bot_poll_new_messages", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L214", "weight": 1.0}, {"source": "nextcloud_talk_bot_nextcloud_talk_bot_main", "target": "nextcloud_talk_bot_nextcloud_talk_bot_send_message", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L242", "weight": 1.0}, {"source": "nextcloud_talk_bot_nextcloud_talk_bot_main", "target": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "relation": "calls", "context": "call", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L249", "weight": 1.0}, {"source": "nextcloud_talk_bot_nextcloud_talk_bot_rationale_35", "target": "nextcloud_talk_bot_nextcloud_talk_bot_load_knowledge_base", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L35", "weight": 1.0}, {"source": "nextcloud_talk_bot_nextcloud_talk_bot_rationale_71", "target": "nextcloud_talk_bot_nextcloud_talk_bot_build_system_prompt", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L71", "weight": 1.0}, {"source": "nextcloud_talk_bot_nextcloud_talk_bot_rationale_93", "target": "nextcloud_talk_bot_nextcloud_talk_bot_nc_request", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L93", "weight": 1.0}, {"source": "nextcloud_talk_bot_nextcloud_talk_bot_rationale_107", "target": "nextcloud_talk_bot_nextcloud_talk_bot_get_last_message_id", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L107", "weight": 1.0}, {"source": "nextcloud_talk_bot_nextcloud_talk_bot_rationale_114", "target": "nextcloud_talk_bot_nextcloud_talk_bot_poll_new_messages", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L114", "weight": 1.0}, {"source": "nextcloud_talk_bot_nextcloud_talk_bot_rationale_130", "target": "nextcloud_talk_bot_nextcloud_talk_bot_join_room", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L130", "weight": 1.0}, {"source": "nextcloud_talk_bot_nextcloud_talk_bot_rationale_141", "target": "nextcloud_talk_bot_nextcloud_talk_bot_send_message", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L141", "weight": 1.0}, {"source": "nextcloud_talk_bot_nextcloud_talk_bot_rationale_153", "target": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "relation": "rationale_for", "confidence": "EXTRACTED", "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L153", "weight": 1.0}], "raw_calls": [{"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_load_knowledge_base", "callee": "set", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L49"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_load_knowledge_base", "callee": "sorted", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L51"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_load_knowledge_base", "callee": "glob", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L51"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_load_knowledge_base", "callee": "add", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L54"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_load_knowledge_base", "callee": "open", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L57"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_load_knowledge_base", "callee": "read", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L58"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_load_knowledge_base", "callee": "len", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L59"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_load_knowledge_base", "callee": "relpath", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L61"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_load_knowledge_base", "callee": "append", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L62"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_load_knowledge_base", "callee": "len", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L63"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_load_knowledge_base", "callee": "join", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L67"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_build_system_prompt", "callee": "len", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L73"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_nc_request", "callee": "encode", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L95"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_nc_request", "callee": "dumps", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L95"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_nc_request", "callee": "Request", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L96"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_nc_request", "callee": "add_header", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L97"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_nc_request", "callee": "add_header", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L98"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_nc_request", "callee": "add_header", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L99"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_nc_request", "callee": "decode", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L100"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_nc_request", "callee": "b64encode", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L100"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_nc_request", "callee": "encode", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L100"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_nc_request", "callee": "add_header", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L101"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_nc_request", "callee": "urlopen", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L102"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_nc_request", "callee": "loads", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L103"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_nc_request", "callee": "read", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L103"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_last_message_id", "callee": "get", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L109"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_last_message_id", "callee": "get", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L109"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_last_message_id", "callee": "max", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L110"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_last_message_id", "callee": "get", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L110"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_poll_new_messages", "callee": "get", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L120"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_poll_new_messages", "callee": "get", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L120"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "callee": "extend", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L161"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "callee": "append", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L162"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "callee": "encode", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L164"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "callee": "dumps", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L164"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "callee": "Request", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L171"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "callee": "add_header", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L172"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "callee": "add_header", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L173"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "callee": "add_header", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L174"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "callee": "urlopen", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L176"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "callee": "loads", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L177"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "callee": "read", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L177"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "callee": "get", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L178"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "callee": "isinstance", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L179"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "callee": "get", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L180"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "callee": "str", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L182"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "callee": "append", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L185"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "callee": "append", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L186"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "callee": "len", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L189"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "callee": "pop", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L190"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_get_ai_reply", "callee": "pop", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L191"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "print", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L197"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "print", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L198"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "system", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L201"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "print", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L205"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "len", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L205"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "print", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L209"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "print", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L210"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "get", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L217"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "get", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L222"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "get", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L223"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "get", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L224"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "strip", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L225"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "get", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L225"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "get", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L226"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "lower", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L239"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "system", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L240"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "len", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L242"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "print", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L243"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "len", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L243"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "print", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L246"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "print", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L252"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "print", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L254"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "print", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L257"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "print", "is_member_call": false, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L260"}, {"caller_nid": "nextcloud_talk_bot_nextcloud_talk_bot_main", "callee": "sleep", "is_member_call": true, "source_file": "/root/knowledge-base/projects/dttb/nextcloud-talk-bot/nextcloud-talk-bot.py", "source_location": "L261"}]} \ No newline at end of file diff --git a/projects/dttb/graphify-out/graph.html b/projects/dttb/graphify-out/graph.html new file mode 100644 index 0000000..f72fb28 --- /dev/null +++ b/projects/dttb/graphify-out/graph.html @@ -0,0 +1,305 @@ + + +
+ +