studiograph 1.0.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/README.md +18 -0
- package/dist/agent/orchestrator.d.ts +69 -0
- package/dist/agent/orchestrator.js +211 -0
- package/dist/agent/orchestrator.js.map +1 -0
- package/dist/agent/tools/graph-tools.d.ts +30 -0
- package/dist/agent/tools/graph-tools.js +536 -0
- package/dist/agent/tools/graph-tools.js.map +1 -0
- package/dist/auth/github.d.ts +53 -0
- package/dist/auth/github.js +180 -0
- package/dist/auth/github.js.map +1 -0
- package/dist/cli/commands/auth.d.ts +10 -0
- package/dist/cli/commands/auth.js +63 -0
- package/dist/cli/commands/auth.js.map +1 -0
- package/dist/cli/commands/init.d.ts +7 -0
- package/dist/cli/commands/init.js +299 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/join.d.ts +14 -0
- package/dist/cli/commands/join.js +230 -0
- package/dist/cli/commands/join.js.map +1 -0
- package/dist/cli/commands/members.d.ts +11 -0
- package/dist/cli/commands/members.js +230 -0
- package/dist/cli/commands/members.js.map +1 -0
- package/dist/cli/commands/serve.d.ts +17 -0
- package/dist/cli/commands/serve.js +90 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/commands/start.d.ts +7 -0
- package/dist/cli/commands/start.js +381 -0
- package/dist/cli/commands/start.js.map +1 -0
- package/dist/cli/commands/sync.d.ts +10 -0
- package/dist/cli/commands/sync.js +121 -0
- package/dist/cli/commands/sync.js.map +1 -0
- package/dist/cli/index.d.ts +7 -0
- package/dist/cli/index.js +31 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/core/graph.d.ts +169 -0
- package/dist/core/graph.js +558 -0
- package/dist/core/graph.js.map +1 -0
- package/dist/core/types.d.ts +216 -0
- package/dist/core/types.js +71 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/user-config.d.ts +31 -0
- package/dist/core/user-config.js +50 -0
- package/dist/core/user-config.js.map +1 -0
- package/dist/core/validation.d.ts +2371 -0
- package/dist/core/validation.js +432 -0
- package/dist/core/validation.js.map +1 -0
- package/dist/core/workspace-manager.d.ts +104 -0
- package/dist/core/workspace-manager.js +432 -0
- package/dist/core/workspace-manager.js.map +1 -0
- package/dist/core/workspace.d.ts +103 -0
- package/dist/core/workspace.js +306 -0
- package/dist/core/workspace.js.map +1 -0
- package/dist/server/index.d.ts +25 -0
- package/dist/server/index.js +84 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/plugin-loader.d.ts +31 -0
- package/dist/server/plugin-loader.js +81 -0
- package/dist/server/plugin-loader.js.map +1 -0
- package/dist/server/routes/chat.d.ts +11 -0
- package/dist/server/routes/chat.js +66 -0
- package/dist/server/routes/chat.js.map +1 -0
- package/dist/server/routes/graph-api.d.ts +9 -0
- package/dist/server/routes/graph-api.js +72 -0
- package/dist/server/routes/graph-api.js.map +1 -0
- package/dist/server/routes/webhook.d.ts +14 -0
- package/dist/server/routes/webhook.js +69 -0
- package/dist/server/routes/webhook.js.map +1 -0
- package/dist/services/assets/base.d.ts +69 -0
- package/dist/services/assets/base.js +113 -0
- package/dist/services/assets/base.js.map +1 -0
- package/dist/services/assets/index.d.ts +36 -0
- package/dist/services/assets/index.js +89 -0
- package/dist/services/assets/index.js.map +1 -0
- package/dist/services/assets/local.d.ts +42 -0
- package/dist/services/assets/local.js +161 -0
- package/dist/services/assets/local.js.map +1 -0
- package/dist/services/assets/r2.d.ts +36 -0
- package/dist/services/assets/r2.js +182 -0
- package/dist/services/assets/r2.js.map +1 -0
- package/dist/services/csv-service.d.ts +36 -0
- package/dist/services/csv-service.js +143 -0
- package/dist/services/csv-service.js.map +1 -0
- package/dist/services/git.d.ts +99 -0
- package/dist/services/git.js +306 -0
- package/dist/services/git.js.map +1 -0
- package/dist/services/github-provisioner.d.ts +30 -0
- package/dist/services/github-provisioner.js +89 -0
- package/dist/services/github-provisioner.js.map +1 -0
- package/dist/services/markdown.d.ts +82 -0
- package/dist/services/markdown.js +338 -0
- package/dist/services/markdown.js.map +1 -0
- package/dist/services/memory-service.d.ts +74 -0
- package/dist/services/memory-service.js +183 -0
- package/dist/services/memory-service.js.map +1 -0
- package/dist/utils/git.d.ts +28 -0
- package/dist/utils/git.js +55 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/preflight.d.ts +44 -0
- package/dist/utils/preflight.js +95 -0
- package/dist/utils/preflight.js.map +1 -0
- package/package.json +55 -0
package/README.md
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Studiograph
|
|
2
|
+
|
|
3
|
+
Team-based AI agent platform with Git-backed knowledge graphs.
|
|
4
|
+
|
|
5
|
+
## Architecture
|
|
6
|
+
|
|
7
|
+
**Granular Repos** (one per project/function/resource):
|
|
8
|
+
- **Project repos**: cooper-hewitt/, globalance/, etc.
|
|
9
|
+
- **Function repos**: new-business/, accounting/, hr/, etc.
|
|
10
|
+
- **Shared resources**: templates/, research/, resources/, etc.
|
|
11
|
+
|
|
12
|
+
**Flexible entity types** - not hardcoded schemas.
|
|
13
|
+
|
|
14
|
+
## Status
|
|
15
|
+
|
|
16
|
+
🚧 **Phase 1: MVP Build (In Progress)**
|
|
17
|
+
|
|
18
|
+
See [Build Plan](../Vaults/Schema/Projects/Studiograph/Build%20Plan.md) for details.
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Orchestrator
|
|
3
|
+
*
|
|
4
|
+
* Manages the Pi-Mono agent instance and coordinates with workspace managers.
|
|
5
|
+
* Loads skills, handles system prompts, and manages conversation flow.
|
|
6
|
+
*/
|
|
7
|
+
import { WorkspaceManager } from '../core/workspace-manager.js';
|
|
8
|
+
import { WorkspaceConfig } from '../core/types.js';
|
|
9
|
+
import { GitUser } from '../services/git.js';
|
|
10
|
+
export interface AgentConfig {
|
|
11
|
+
workspacePath: string;
|
|
12
|
+
workspaceConfig: WorkspaceConfig;
|
|
13
|
+
gitUser: GitUser;
|
|
14
|
+
skillsPath?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface AgentResponse {
|
|
17
|
+
content: string;
|
|
18
|
+
toolCalls?: Array<{
|
|
19
|
+
tool: string;
|
|
20
|
+
input: any;
|
|
21
|
+
output: any;
|
|
22
|
+
}>;
|
|
23
|
+
}
|
|
24
|
+
export declare class AgentOrchestrator {
|
|
25
|
+
private workspacePath;
|
|
26
|
+
private workspaceManager;
|
|
27
|
+
private agent;
|
|
28
|
+
private config;
|
|
29
|
+
private gitUser;
|
|
30
|
+
private skillsPath;
|
|
31
|
+
constructor(config: AgentConfig);
|
|
32
|
+
/**
|
|
33
|
+
* Create Pi-Mono agent with tools and system prompt
|
|
34
|
+
*/
|
|
35
|
+
private createAgent;
|
|
36
|
+
/**
|
|
37
|
+
* Load system prompt from file
|
|
38
|
+
*/
|
|
39
|
+
private loadSystemPrompt;
|
|
40
|
+
/**
|
|
41
|
+
* Get default system prompt
|
|
42
|
+
*/
|
|
43
|
+
private getDefaultSystemPrompt;
|
|
44
|
+
/**
|
|
45
|
+
* Load tools from skills directory
|
|
46
|
+
*/
|
|
47
|
+
private loadTools;
|
|
48
|
+
/**
|
|
49
|
+
* Send a message to the agent
|
|
50
|
+
*/
|
|
51
|
+
chat(userMessage: string): Promise<AgentResponse>;
|
|
52
|
+
/**
|
|
53
|
+
* Get workspace manager (for tools)
|
|
54
|
+
*/
|
|
55
|
+
getWorkspaceManager(): WorkspaceManager;
|
|
56
|
+
/**
|
|
57
|
+
* Get workspace summary
|
|
58
|
+
*/
|
|
59
|
+
getSummary(): {
|
|
60
|
+
totalRepos: number;
|
|
61
|
+
totalEntities: number;
|
|
62
|
+
entitiesByType: Record<string, number>;
|
|
63
|
+
entitiesByRepo: Record<string, number>;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Get repository names
|
|
67
|
+
*/
|
|
68
|
+
getRepoNames(): string[];
|
|
69
|
+
}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Orchestrator
|
|
3
|
+
*
|
|
4
|
+
* Manages the Pi-Mono agent instance and coordinates with workspace managers.
|
|
5
|
+
* Loads skills, handles system prompts, and manages conversation flow.
|
|
6
|
+
*/
|
|
7
|
+
import { readFileSync, existsSync, readdirSync } from 'fs';
|
|
8
|
+
import { join, dirname } from 'path';
|
|
9
|
+
import { fileURLToPath } from 'url';
|
|
10
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
11
|
+
const __dirname = dirname(__filename);
|
|
12
|
+
import { getModel } from '@mariozechner/pi-ai';
|
|
13
|
+
import { Agent } from '@mariozechner/pi-agent-core';
|
|
14
|
+
import { WorkspaceManager } from '../core/workspace-manager.js';
|
|
15
|
+
import { createGraphTools } from './tools/graph-tools.js';
|
|
16
|
+
export class AgentOrchestrator {
|
|
17
|
+
workspacePath;
|
|
18
|
+
workspaceManager;
|
|
19
|
+
agent;
|
|
20
|
+
config;
|
|
21
|
+
gitUser;
|
|
22
|
+
skillsPath;
|
|
23
|
+
constructor(config) {
|
|
24
|
+
this.workspacePath = config.workspacePath;
|
|
25
|
+
this.config = config.workspaceConfig;
|
|
26
|
+
this.gitUser = config.gitUser;
|
|
27
|
+
this.skillsPath = config.skillsPath || join(this.workspacePath, 'skills');
|
|
28
|
+
// Initialize workspace manager
|
|
29
|
+
const orchestratorUser = { ...this.gitUser, role: 'admin' };
|
|
30
|
+
this.workspaceManager = new WorkspaceManager(this.workspacePath, this.config, this.gitUser, orchestratorUser);
|
|
31
|
+
// Initialize Pi-Mono agent
|
|
32
|
+
this.agent = this.createAgent();
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Create Pi-Mono agent with tools and system prompt
|
|
36
|
+
*/
|
|
37
|
+
createAgent() {
|
|
38
|
+
// Get model from config
|
|
39
|
+
const provider = this.config.model_provider || 'anthropic';
|
|
40
|
+
const modelId = this.config.model_id || 'claude-sonnet-4-5-20250929';
|
|
41
|
+
const apiKey = this.config.api_key || process.env.ANTHROPIC_API_KEY || '';
|
|
42
|
+
if (!apiKey) {
|
|
43
|
+
throw new Error('API key not found in config or environment');
|
|
44
|
+
}
|
|
45
|
+
const model = getModel(provider, modelId);
|
|
46
|
+
// Load system prompt
|
|
47
|
+
const systemPrompt = this.loadSystemPrompt();
|
|
48
|
+
// Load tools
|
|
49
|
+
const tools = this.loadTools();
|
|
50
|
+
// Create agent with API key getter
|
|
51
|
+
const agent = new Agent({
|
|
52
|
+
getApiKey: () => apiKey,
|
|
53
|
+
});
|
|
54
|
+
// Set model, system prompt, and tools
|
|
55
|
+
agent.setModel(model);
|
|
56
|
+
agent.setSystemPrompt(systemPrompt);
|
|
57
|
+
agent.setTools(tools);
|
|
58
|
+
return agent;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Load system prompt from file
|
|
62
|
+
*/
|
|
63
|
+
loadSystemPrompt() {
|
|
64
|
+
const promptPath = join(__dirname, 'prompts', 'system.md');
|
|
65
|
+
if (!existsSync(promptPath)) {
|
|
66
|
+
// Fallback to basic prompt
|
|
67
|
+
return this.getDefaultSystemPrompt();
|
|
68
|
+
}
|
|
69
|
+
return readFileSync(promptPath, 'utf-8');
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Get default system prompt
|
|
73
|
+
*/
|
|
74
|
+
getDefaultSystemPrompt() {
|
|
75
|
+
const workspaceSummary = this.workspaceManager.getSummary();
|
|
76
|
+
const repoList = this.workspaceManager
|
|
77
|
+
.getAllRepoConfigs()
|
|
78
|
+
.map(r => ` - ${r.name} (${r.type}): ${r.description}`)
|
|
79
|
+
.join('\n');
|
|
80
|
+
return `# Studiograph AI Assistant
|
|
81
|
+
|
|
82
|
+
You are Studiograph, an AI assistant helping creative teams manage their knowledge graphs.
|
|
83
|
+
|
|
84
|
+
## Workspace Summary
|
|
85
|
+
|
|
86
|
+
**Team:** ${this.config.team_name}
|
|
87
|
+
**Repositories:** ${workspaceSummary.totalRepos}
|
|
88
|
+
**Total Entities:** ${workspaceSummary.totalEntities}
|
|
89
|
+
|
|
90
|
+
**Available Repositories:**
|
|
91
|
+
${repoList}
|
|
92
|
+
|
|
93
|
+
## Your Capabilities
|
|
94
|
+
|
|
95
|
+
You can help with:
|
|
96
|
+
- Creating and managing entities (projects, clients, decisions, references, etc.)
|
|
97
|
+
- Searching across repositories
|
|
98
|
+
- Validating wikilinks and relationships
|
|
99
|
+
- Uploading and managing assets
|
|
100
|
+
- Generating insights from the knowledge graph
|
|
101
|
+
|
|
102
|
+
## Guidelines
|
|
103
|
+
|
|
104
|
+
- Always ask clarifying questions before creating entities
|
|
105
|
+
- Validate wikilinks to ensure data integrity
|
|
106
|
+
- Suggest related entities based on context
|
|
107
|
+
- Be proactive in maintaining the knowledge graph
|
|
108
|
+
- Use the tools available to you effectively
|
|
109
|
+
|
|
110
|
+
## Available Tools
|
|
111
|
+
|
|
112
|
+
You have access to graph management tools that allow you to:
|
|
113
|
+
- Create, read, update, and delete entities
|
|
114
|
+
- Search and filter entities
|
|
115
|
+
- Manage wikilinks and relationships
|
|
116
|
+
- Upload and manage assets
|
|
117
|
+
|
|
118
|
+
Use these tools to help users build and navigate their knowledge graph.
|
|
119
|
+
`;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Load tools from skills directory
|
|
123
|
+
*/
|
|
124
|
+
loadTools() {
|
|
125
|
+
const tools = [];
|
|
126
|
+
// Load built-in graph tools
|
|
127
|
+
const graphTools = createGraphTools(this.workspaceManager, this.gitUser);
|
|
128
|
+
tools.push(...graphTools);
|
|
129
|
+
// Load custom skills from skills directory
|
|
130
|
+
if (existsSync(this.skillsPath)) {
|
|
131
|
+
try {
|
|
132
|
+
const skillFiles = readdirSync(this.skillsPath).filter(f => f.endsWith('.js'));
|
|
133
|
+
for (const skillFile of skillFiles) {
|
|
134
|
+
try {
|
|
135
|
+
const skillPath = join(this.skillsPath, skillFile);
|
|
136
|
+
const skill = require(skillPath);
|
|
137
|
+
if (skill.default && typeof skill.default === 'object') {
|
|
138
|
+
tools.push(skill.default);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
console.warn(`Failed to load skill ${skillFile}:`, error);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
catch (error) {
|
|
147
|
+
console.warn('Failed to load skills:', error);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return tools;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Send a message to the agent
|
|
154
|
+
*/
|
|
155
|
+
async chat(userMessage) {
|
|
156
|
+
return new Promise((resolve, reject) => {
|
|
157
|
+
let content = '';
|
|
158
|
+
const toolCalls = [];
|
|
159
|
+
// Subscribe to agent events
|
|
160
|
+
const unsubscribe = this.agent.subscribe((event) => {
|
|
161
|
+
if (event.type === 'message_update') {
|
|
162
|
+
const msgEvent = event.assistantMessageEvent;
|
|
163
|
+
if (msgEvent.type === 'text_delta') {
|
|
164
|
+
content += msgEvent.delta;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
else if (event.type === 'message_end') {
|
|
168
|
+
// Extract tool calls from message content
|
|
169
|
+
const msg = event.message;
|
|
170
|
+
if (msg.role === 'assistant') {
|
|
171
|
+
for (const block of msg.content) {
|
|
172
|
+
if (block.type === 'toolCall') {
|
|
173
|
+
toolCalls.push({
|
|
174
|
+
tool: block.name,
|
|
175
|
+
input: block.input,
|
|
176
|
+
output: null, // Will be populated by tool execution
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
unsubscribe();
|
|
182
|
+
resolve({ content, toolCalls });
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
// Send message and handle errors
|
|
186
|
+
this.agent.prompt(userMessage).catch((error) => {
|
|
187
|
+
unsubscribe();
|
|
188
|
+
reject(error);
|
|
189
|
+
});
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Get workspace manager (for tools)
|
|
194
|
+
*/
|
|
195
|
+
getWorkspaceManager() {
|
|
196
|
+
return this.workspaceManager;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Get workspace summary
|
|
200
|
+
*/
|
|
201
|
+
getSummary() {
|
|
202
|
+
return this.workspaceManager.getSummary();
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Get repository names
|
|
206
|
+
*/
|
|
207
|
+
getRepoNames() {
|
|
208
|
+
return this.workspaceManager.getRepoNames();
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
//# sourceMappingURL=orchestrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/agent/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAkB1D,MAAM,OAAO,iBAAiB;IACpB,aAAa,CAAS;IACtB,gBAAgB,CAAmB;IACnC,KAAK,CAAQ;IACb,MAAM,CAAkB;IACxB,OAAO,CAAU;IACjB,UAAU,CAAS;IAE3B,YAAY,MAAmB;QAC7B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAE1E,+BAA+B;QAC/B,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAgB,EAAE,CAAC;QACrE,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAC1C,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,gBAAgB,CACjB,CAAC;QAEF,2BAA2B;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,wBAAwB;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,WAAW,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,4BAA4B,CAAC;QACrE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAE1E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAe,EAAE,OAAc,CAAC,CAAC;QAExD,qBAAqB;QACrB,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE7C,aAAa;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAE/B,mCAAmC;QACnC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;YACtB,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM;SACxB,CAAC,CAAC;QAEH,sCAAsC;QACtC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtB,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACpC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAE3D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,2BAA2B;YAC3B,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACvC,CAAC;QAED,OAAO,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC5B,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB;aACnC,iBAAiB,EAAE;aACnB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;aACvD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO;;;;;;YAMC,IAAI,CAAC,MAAM,CAAC,SAAS;oBACb,gBAAgB,CAAC,UAAU;sBACzB,gBAAgB,CAAC,aAAa;;;EAGlD,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BT,CAAC;IACA,CAAC;IAED;;OAEG;IACK,SAAS;QACf,MAAM,KAAK,GAAU,EAAE,CAAC;QAExB,4BAA4B;QAC5B,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QAE1B,2CAA2C;QAC3C,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBAE/E,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;oBACnC,IAAI,CAAC;wBACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;wBACnD,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;wBAEjC,IAAI,KAAK,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;4BACvD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC5B,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CAAC,wBAAwB,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC;oBAC5D,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,WAAmB;QAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,MAAM,SAAS,GAAqD,EAAE,CAAC;YAEvE,4BAA4B;YAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;oBACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,qBAAqB,CAAC;oBAC7C,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBACnC,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC;oBAC5B,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBACxC,0CAA0C;oBAC1C,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;oBAC1B,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAC7B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;4BAChC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gCAC9B,SAAS,CAAC,IAAI,CAAC;oCACb,IAAI,EAAG,KAAa,CAAC,IAAI;oCACzB,KAAK,EAAG,KAAa,CAAC,KAAK;oCAC3B,MAAM,EAAE,IAAI,EAAE,sCAAsC;iCACrD,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,WAAW,EAAE,CAAC;oBACd,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,iCAAiC;YACjC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC7C,WAAW,EAAE,CAAC;gBACd,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;IAC9C,CAAC;CACF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Graph Management Tools for Pi-Mono Agent
|
|
3
|
+
*
|
|
4
|
+
* These tools allow the agent to interact with the knowledge graph:
|
|
5
|
+
* - Create, read, update, delete entities
|
|
6
|
+
* - Search and filter
|
|
7
|
+
* - Manage wikilinks
|
|
8
|
+
* - Upload assets
|
|
9
|
+
*/
|
|
10
|
+
import { WorkspaceManager } from '../../core/workspace-manager.js';
|
|
11
|
+
/**
|
|
12
|
+
* Create graph tools for the agent
|
|
13
|
+
*/
|
|
14
|
+
export declare function createGraphTools(workspaceManager: WorkspaceManager, gitUser: {
|
|
15
|
+
id: string;
|
|
16
|
+
name: string;
|
|
17
|
+
email: string;
|
|
18
|
+
}): {
|
|
19
|
+
name: string;
|
|
20
|
+
label: string;
|
|
21
|
+
description: string;
|
|
22
|
+
parameters: import("@sinclair/typebox").TObject<{}>;
|
|
23
|
+
execute: (toolCallId: string, params: any) => Promise<{
|
|
24
|
+
content: {
|
|
25
|
+
type: "text";
|
|
26
|
+
text: string;
|
|
27
|
+
}[];
|
|
28
|
+
details: any;
|
|
29
|
+
}>;
|
|
30
|
+
}[];
|