studiograph 1.2.0-beta.1 → 1.2.0-beta.10

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 (133) hide show
  1. package/dist/agent/orchestrator.d.ts +53 -0
  2. package/dist/agent/orchestrator.js +146 -6
  3. package/dist/agent/orchestrator.js.map +1 -1
  4. package/dist/agent/prompts/system.md +15 -1
  5. package/dist/agent/skills/sync-setup.md +17 -1
  6. package/dist/agent/tools/graph-tools.d.ts +23 -1
  7. package/dist/agent/tools/graph-tools.js +106 -19
  8. package/dist/agent/tools/graph-tools.js.map +1 -1
  9. package/dist/agent/tools/ops-tools.d.ts +24 -0
  10. package/dist/agent/tools/ops-tools.js +542 -0
  11. package/dist/agent/tools/ops-tools.js.map +1 -0
  12. package/dist/agent/tools/sync-tools.d.ts +9 -1
  13. package/dist/agent/tools/sync-tools.js +258 -2
  14. package/dist/agent/tools/sync-tools.js.map +1 -1
  15. package/dist/cli/commands/app.js +121 -18
  16. package/dist/cli/commands/app.js.map +1 -1
  17. package/dist/cli/commands/commit.js +2 -1
  18. package/dist/cli/commands/commit.js.map +1 -1
  19. package/dist/cli/commands/deploy.d.ts +4 -6
  20. package/dist/cli/commands/deploy.js +292 -115
  21. package/dist/cli/commands/deploy.js.map +1 -1
  22. package/dist/cli/commands/init.js +17 -2
  23. package/dist/cli/commands/init.js.map +1 -1
  24. package/dist/cli/commands/r2.js +8 -2
  25. package/dist/cli/commands/r2.js.map +1 -1
  26. package/dist/cli/commands/redeploy.d.ts +9 -0
  27. package/dist/cli/commands/redeploy.js +203 -0
  28. package/dist/cli/commands/redeploy.js.map +1 -0
  29. package/dist/cli/commands/resolve.d.ts +8 -0
  30. package/dist/cli/commands/resolve.js +85 -0
  31. package/dist/cli/commands/resolve.js.map +1 -0
  32. package/dist/cli/commands/serve.js +55 -8
  33. package/dist/cli/commands/serve.js.map +1 -1
  34. package/dist/cli/commands/start.js +27 -5
  35. package/dist/cli/commands/start.js.map +1 -1
  36. package/dist/cli/commands/sync.js +49 -4
  37. package/dist/cli/commands/sync.js.map +1 -1
  38. package/dist/cli/index.js +25 -20
  39. package/dist/cli/index.js.map +1 -1
  40. package/dist/cli/scaffolding.js +24 -23
  41. package/dist/cli/scaffolding.js.map +1 -1
  42. package/dist/core/graph.d.ts +36 -4
  43. package/dist/core/graph.js +232 -41
  44. package/dist/core/graph.js.map +1 -1
  45. package/dist/core/types.d.ts +2 -1
  46. package/dist/core/types.js +1 -0
  47. package/dist/core/types.js.map +1 -1
  48. package/dist/core/user-config.d.ts +6 -0
  49. package/dist/core/user-config.js.map +1 -1
  50. package/dist/core/workspace-manager.d.ts +6 -1
  51. package/dist/core/workspace-manager.js +29 -4
  52. package/dist/core/workspace-manager.js.map +1 -1
  53. package/dist/core/workspace.js +5 -0
  54. package/dist/core/workspace.js.map +1 -1
  55. package/dist/lib/lib/utils.d.ts +2 -0
  56. package/dist/lib/lib/utils.js +6 -0
  57. package/dist/lib/lib/utils.js.map +1 -0
  58. package/dist/server/index.js +97 -11
  59. package/dist/server/index.js.map +1 -1
  60. package/dist/server/plugin-loader.d.ts +1 -0
  61. package/dist/server/plugin-loader.js +1 -1
  62. package/dist/server/plugin-loader.js.map +1 -1
  63. package/dist/server/routes/chat.d.ts +3 -2
  64. package/dist/server/routes/chat.js +67 -16
  65. package/dist/server/routes/chat.js.map +1 -1
  66. package/dist/server/routes/git-api.d.ts +9 -0
  67. package/dist/server/routes/git-api.js +82 -0
  68. package/dist/server/routes/git-api.js.map +1 -0
  69. package/dist/server/routes/graph-api.d.ts +2 -2
  70. package/dist/server/routes/graph-api.js +164 -3
  71. package/dist/server/routes/graph-api.js.map +1 -1
  72. package/dist/server/routes/workspace-api.d.ts +9 -0
  73. package/dist/server/routes/workspace-api.js +170 -0
  74. package/dist/server/routes/workspace-api.js.map +1 -0
  75. package/dist/services/assets/base.d.ts +2 -2
  76. package/dist/services/assets/base.js +4 -4
  77. package/dist/services/assets/base.js.map +1 -1
  78. package/dist/services/assets/index.d.ts +6 -6
  79. package/dist/services/assets/index.js +12 -12
  80. package/dist/services/assets/index.js.map +1 -1
  81. package/dist/services/git.d.ts +31 -0
  82. package/dist/services/git.js +92 -3
  83. package/dist/services/git.js.map +1 -1
  84. package/dist/services/sync/commit.d.ts +2 -0
  85. package/dist/services/sync/commit.js +32 -12
  86. package/dist/services/sync/commit.js.map +1 -1
  87. package/dist/utils/git.d.ts +5 -0
  88. package/dist/utils/git.js +10 -0
  89. package/dist/utils/git.js.map +1 -1
  90. package/dist/utils/merge-resolver.d.ts +34 -8
  91. package/dist/utils/merge-resolver.js +158 -55
  92. package/dist/utils/merge-resolver.js.map +1 -1
  93. package/dist/web/_app/env.js +1 -0
  94. package/dist/web/_app/immutable/assets/0.BwJV4fvl.css +1 -0
  95. package/dist/web/_app/immutable/assets/2.DRHi7ABa.css +1 -0
  96. package/dist/web/_app/immutable/assets/3.CnAQdPKU.css +1 -0
  97. package/dist/web/_app/immutable/assets/4.BG92MufE.css +1 -0
  98. package/dist/web/_app/immutable/assets/5.CfrQIPYs.css +1 -0
  99. package/dist/web/_app/immutable/assets/ChatPanel.BNzaCFTL.css +1 -0
  100. package/dist/web/_app/immutable/assets/editor.D6Rjo7RE.css +1 -0
  101. package/dist/web/_app/immutable/chunks/4QY4j-jX.js +1 -0
  102. package/dist/web/_app/immutable/chunks/B4G4uWkV.js +1 -0
  103. package/dist/web/_app/immutable/chunks/BB_5th5W.js +3383 -0
  104. package/dist/web/_app/immutable/chunks/CUzqHQY_.js +1 -0
  105. package/dist/web/_app/immutable/chunks/CYrVHOHA.js +1 -0
  106. package/dist/web/_app/immutable/chunks/CksE5s8n.js +1 -0
  107. package/dist/web/_app/immutable/chunks/CqkleIqs.js +1 -0
  108. package/dist/web/_app/immutable/chunks/D0JBkEPE.js +86 -0
  109. package/dist/web/_app/immutable/chunks/D2K5GzLj.js +1 -0
  110. package/dist/web/_app/immutable/chunks/DEkoussQ.js +2 -0
  111. package/dist/web/_app/immutable/chunks/DW-KmHRi.js +1 -0
  112. package/dist/web/_app/immutable/chunks/DcCr4z9k.js +1 -0
  113. package/dist/web/_app/immutable/chunks/Dg2wWwJu.js +2 -0
  114. package/dist/web/_app/immutable/chunks/Dh_H7Owr.js +18 -0
  115. package/dist/web/_app/immutable/chunks/DnlgZ_Tk.js +5 -0
  116. package/dist/web/_app/immutable/chunks/DtVH--hH.js +6 -0
  117. package/dist/web/_app/immutable/chunks/PPVm8Dsz.js +1 -0
  118. package/dist/web/_app/immutable/chunks/SBEriEQR.js +1 -0
  119. package/dist/web/_app/immutable/chunks/WSUKABI_.js +1 -0
  120. package/dist/web/_app/immutable/chunks/YTERt3Ul.js +6 -0
  121. package/dist/web/_app/immutable/chunks/m_R7HatS.js +1 -0
  122. package/dist/web/_app/immutable/chunks/vlmEnjfO.js +1 -0
  123. package/dist/web/_app/immutable/entry/app.B9pwpU_x.js +2 -0
  124. package/dist/web/_app/immutable/entry/start.CDuNCEco.js +1 -0
  125. package/dist/web/_app/immutable/nodes/0.YEQhw1us.js +1 -0
  126. package/dist/web/_app/immutable/nodes/1.CvmHhpRy.js +1 -0
  127. package/dist/web/_app/immutable/nodes/2.c5k1r7dq.js +1 -0
  128. package/dist/web/_app/immutable/nodes/3.B24tcdLK.js +1 -0
  129. package/dist/web/_app/immutable/nodes/4.kX2m5Pp9.js +16 -0
  130. package/dist/web/_app/immutable/nodes/5.DELt6wTD.js +2 -0
  131. package/dist/web/_app/version.json +1 -0
  132. package/dist/web/index.html +41 -0
  133. package/package.json +6 -1
@@ -4,9 +4,11 @@
4
4
  * Manages the Pi-Mono agent instance and coordinates with workspace managers.
5
5
  * Loads skills, handles system prompts, and manages conversation flow.
6
6
  */
7
+ import { Agent } from '@mariozechner/pi-agent-core';
7
8
  import { WorkspaceManager } from '../core/workspace-manager.js';
8
9
  import { WorkspaceConfig } from '../core/types.js';
9
10
  import { GitUser } from '../services/git.js';
11
+ import { type MutationEvent } from './tools/graph-tools.js';
10
12
  export interface AgentConfig {
11
13
  workspacePath: string;
12
14
  workspaceConfig: WorkspaceConfig;
@@ -15,6 +17,8 @@ export interface AgentConfig {
15
17
  skillsDirs?: string[];
16
18
  /** Additional custom tool directories from installed apps (highest-priority first). */
17
19
  toolsDirs?: string[];
20
+ /** Recent daily memory content (today + yesterday) injected into system prompt. */
21
+ recentMemory?: string;
18
22
  }
19
23
  export interface AgentResponse {
20
24
  content: string;
@@ -32,6 +36,12 @@ export declare class AgentOrchestrator {
32
36
  private gitUser;
33
37
  private skillsDirs;
34
38
  private toolsDirs;
39
+ private registryRef;
40
+ private _highlightCallback;
41
+ private _mutationCallback;
42
+ private recentMemory?;
43
+ private currentSessionId;
44
+ private sessionsDir;
35
45
  constructor(config: AgentConfig);
36
46
  /**
37
47
  * Create Pi-Mono agent with tools and system prompt.
@@ -74,4 +84,47 @@ export declare class AgentOrchestrator {
74
84
  * Get repository names
75
85
  */
76
86
  getRepoNames(): string[];
87
+ /**
88
+ * Set a callback for highlight_entities tool events (used by SSE streaming).
89
+ */
90
+ setHighlightCallback(cb: ((ids: string[]) => void) | null): void;
91
+ /**
92
+ * Emit a highlight event (called by graph-tools highlight_entities).
93
+ */
94
+ emitHighlight(ids: string[]): void;
95
+ /**
96
+ * Set a callback for entity mutation events (used by SSE streaming).
97
+ */
98
+ setMutationCallback(cb: ((m: MutationEvent) => void) | null): void;
99
+ /**
100
+ * Emit a mutation event (called by graph-tools create/update/delete).
101
+ */
102
+ emitMutation(m: MutationEvent): void;
103
+ /**
104
+ * Expose the raw pi-agent-core Agent instance.
105
+ */
106
+ getAgent(): Agent;
107
+ /**
108
+ * Get the current session ID (null if none active).
109
+ */
110
+ getCurrentSessionId(): string | null;
111
+ /**
112
+ * Switch the agent to a different session.
113
+ * - Same session → no-op
114
+ * - Existing session file → restore messages from disk
115
+ * - No file but fallback history → inject as context message
116
+ * - Nothing → clear messages for a fresh start
117
+ */
118
+ switchSession(sessionId: string, fallbackHistory?: Array<{
119
+ role: string;
120
+ content: string;
121
+ }>): Promise<void>;
122
+ /**
123
+ * Save the current session's messages to disk.
124
+ */
125
+ saveSession(): void;
126
+ /**
127
+ * Keep only the N most recent session files by mtime.
128
+ */
129
+ private pruneSessions;
77
130
  }
@@ -4,7 +4,7 @@
4
4
  * Manages the Pi-Mono agent instance and coordinates with workspace managers.
5
5
  * Loads skills, handles system prompts, and manages conversation flow.
6
6
  */
7
- import { readFileSync, existsSync } from 'fs';
7
+ import { readFileSync, existsSync, readdirSync, writeFileSync, mkdirSync, unlinkSync, statSync } from 'fs';
8
8
  import { join, dirname } from 'path';
9
9
  import { homedir } from 'os';
10
10
  import { fileURLToPath } from 'url';
@@ -21,6 +21,7 @@ import { loadCustomTools } from './tools/tool-loader.js';
21
21
  import { ConnectorManager } from '../mcp/connector-manager.js';
22
22
  import { buildConnectorRegistry, createConnectorTools } from './tools/connector-tools.js';
23
23
  import { createFsTools } from './tools/fs-tools.js';
24
+ import { createOpsTools } from './tools/ops-tools.js';
24
25
  import { loadUserConfig, getAnthropicCredential } from '../core/user-config.js';
25
26
  export class AgentOrchestrator {
26
27
  workspacePath;
@@ -30,10 +31,18 @@ export class AgentOrchestrator {
30
31
  gitUser;
31
32
  skillsDirs;
32
33
  toolsDirs;
34
+ registryRef = { registry: null };
35
+ _highlightCallback = null;
36
+ _mutationCallback = null;
37
+ recentMemory;
38
+ currentSessionId = null;
39
+ sessionsDir;
33
40
  constructor(config) {
34
41
  this.workspacePath = config.workspacePath;
35
42
  this.config = config.workspaceConfig;
36
43
  this.gitUser = config.gitUser;
44
+ this.recentMemory = config.recentMemory;
45
+ this.sessionsDir = join(homedir(), '.studiograph', 'sessions');
37
46
  // Priority (highest → lowest): user > workspace > bundled > app
38
47
  // First-seen name wins in the loader, so earlier dirs override later ones.
39
48
  const userSkillsDir = join(homedir(), '.studiograph', 'skills');
@@ -66,13 +75,14 @@ export class AgentOrchestrator {
66
75
  const skillIndex = loadSkillIndex(this.skillsDirs);
67
76
  // Build tools first so we can auto-generate the tool reference for the prompt
68
77
  const tools = [
69
- ...createGraphTools(this.workspaceManager, this.gitUser, this.workspacePath),
70
- ...createSyncTools(this.workspacePath, this.config),
78
+ ...createGraphTools(this.workspaceManager, this.gitUser, this.workspacePath, this.emitHighlight.bind(this), this.emitMutation.bind(this)),
79
+ ...createSyncTools(this.workspacePath, this.config, this.registryRef),
80
+ ...createOpsTools(this.workspacePath, this.config),
71
81
  ...createFsTools(),
72
82
  createLoadSkillTool(skillIndex),
73
83
  ];
74
- // Build system prompt — base + auto-generated tool reference + eager skills + skill index
75
- const systemPrompt = this.buildSystemPrompt(skillIndex, tools);
84
+ // Build system prompt — base + auto-generated tool reference + memory + eager skills + skill index
85
+ const systemPrompt = this.buildSystemPrompt(skillIndex, tools, this.recentMemory);
76
86
  // Log registered tools at startup
77
87
  console.log(`🔧 ${tools.length} tools registered: ${tools.map((t) => t.name).join(', ')}`);
78
88
  const agent = new Agent({ getApiKey: () => apiKey });
@@ -99,6 +109,7 @@ export class AgentOrchestrator {
99
109
  if (connectorTools.length > 0) {
100
110
  const registry = buildConnectorRegistry(connectorTools);
101
111
  extra.push(...createConnectorTools(registry));
112
+ this.registryRef.registry = registry;
102
113
  }
103
114
  if (extra.length > 0) {
104
115
  const existing = agent.state.tools;
@@ -111,7 +122,7 @@ export class AgentOrchestrator {
111
122
  /**
112
123
  * Build the full system prompt: base prompt + eager skill content + skill index.
113
124
  */
114
- buildSystemPrompt(skillIndex, tools) {
125
+ buildSystemPrompt(skillIndex, tools, recentMemory) {
115
126
  const promptPath = join(__dirname, 'prompts', 'system.md');
116
127
  let base = existsSync(promptPath)
117
128
  ? readFileSync(promptPath, 'utf-8')
@@ -123,6 +134,7 @@ export class AgentOrchestrator {
123
134
  'Enrichment': [],
124
135
  'Workspace Git': [],
125
136
  'External Connectors': [],
137
+ 'Operations': [],
126
138
  'Skills': [],
127
139
  'Other': [],
128
140
  };
@@ -138,6 +150,8 @@ export class AgentOrchestrator {
138
150
  categories['Workspace Git'].push(t);
139
151
  else if (name.startsWith('connector_'))
140
152
  categories['External Connectors'].push(t);
153
+ else if (name.startsWith('app_') || name.startsWith('deploy_'))
154
+ categories['Operations'].push(t);
141
155
  else if (name === 'load_skill')
142
156
  categories['Skills'].push(t);
143
157
  else if (['create_entity', 'get_entity', 'update_entity', 'delete_entity', 'search_entities', 'list_entities', 'get_related', 'get_backlinks', 'validate_wikilinks', 'get_workspace_summary', 'list_repos', 'query_dataset', 'append_rows', 'get_entity_schema', 'lint_entities'].includes(name))
@@ -156,6 +170,10 @@ export class AgentOrchestrator {
156
170
  if (schemaSection) {
157
171
  parts.push(schemaSection);
158
172
  }
173
+ // Inject recent memory context (today + yesterday daily memory)
174
+ if (recentMemory) {
175
+ parts.push(`## Memory Context\n\n${recentMemory}`);
176
+ }
159
177
  // Inline eager skills directly into the system prompt
160
178
  const eagerContent = loadEagerSkills(skillIndex);
161
179
  if (eagerContent) {
@@ -252,5 +270,127 @@ ${repoList}`;
252
270
  getRepoNames() {
253
271
  return this.workspaceManager.getRepoNames();
254
272
  }
273
+ /**
274
+ * Set a callback for highlight_entities tool events (used by SSE streaming).
275
+ */
276
+ setHighlightCallback(cb) {
277
+ this._highlightCallback = cb;
278
+ }
279
+ /**
280
+ * Emit a highlight event (called by graph-tools highlight_entities).
281
+ */
282
+ emitHighlight(ids) {
283
+ this._highlightCallback?.(ids);
284
+ }
285
+ /**
286
+ * Set a callback for entity mutation events (used by SSE streaming).
287
+ */
288
+ setMutationCallback(cb) {
289
+ this._mutationCallback = cb;
290
+ }
291
+ /**
292
+ * Emit a mutation event (called by graph-tools create/update/delete).
293
+ */
294
+ emitMutation(m) {
295
+ this._mutationCallback?.(m);
296
+ }
297
+ /**
298
+ * Expose the raw pi-agent-core Agent instance.
299
+ */
300
+ getAgent() {
301
+ return this.agent;
302
+ }
303
+ /**
304
+ * Get the current session ID (null if none active).
305
+ */
306
+ getCurrentSessionId() {
307
+ return this.currentSessionId;
308
+ }
309
+ /**
310
+ * Switch the agent to a different session.
311
+ * - Same session → no-op
312
+ * - Existing session file → restore messages from disk
313
+ * - No file but fallback history → inject as context message
314
+ * - Nothing → clear messages for a fresh start
315
+ */
316
+ async switchSession(sessionId, fallbackHistory) {
317
+ if (this.currentSessionId === sessionId)
318
+ return;
319
+ // Save current session before switching
320
+ if (this.currentSessionId) {
321
+ this.saveSession();
322
+ }
323
+ this.currentSessionId = sessionId;
324
+ this.agent.sessionId = sessionId;
325
+ // Try loading from disk
326
+ const sessionPath = join(this.sessionsDir, `${sessionId}.json`);
327
+ if (existsSync(sessionPath)) {
328
+ try {
329
+ const data = JSON.parse(readFileSync(sessionPath, 'utf-8'));
330
+ if (Array.isArray(data.messages) && data.messages.length > 0) {
331
+ this.agent.replaceMessages(data.messages);
332
+ return;
333
+ }
334
+ }
335
+ catch {
336
+ // Corrupted file — fall through
337
+ }
338
+ }
339
+ // Fallback: inject frontend history as a context message
340
+ if (fallbackHistory && fallbackHistory.length > 0) {
341
+ const transcript = fallbackHistory
342
+ .map(m => `${m.role === 'assistant' ? 'Assistant' : 'User'}: ${m.content}`)
343
+ .join('\n\n');
344
+ const contextMsg = {
345
+ role: 'user',
346
+ content: [{ type: 'text', text: `[Prior conversation context]\n\n${transcript}` }],
347
+ timestamp: Date.now(),
348
+ };
349
+ this.agent.replaceMessages([contextMsg]);
350
+ return;
351
+ }
352
+ // Fresh start
353
+ this.agent.clearMessages();
354
+ }
355
+ /**
356
+ * Save the current session's messages to disk.
357
+ */
358
+ saveSession() {
359
+ if (!this.currentSessionId)
360
+ return;
361
+ const messages = this.agent.state.messages;
362
+ if (messages.length === 0)
363
+ return;
364
+ if (!existsSync(this.sessionsDir)) {
365
+ mkdirSync(this.sessionsDir, { recursive: true });
366
+ }
367
+ const sessionPath = join(this.sessionsDir, `${this.currentSessionId}.json`);
368
+ writeFileSync(sessionPath, JSON.stringify({
369
+ sessionId: this.currentSessionId,
370
+ updatedAt: new Date().toISOString(),
371
+ messages,
372
+ }), 'utf-8');
373
+ this.pruneSessions(20);
374
+ }
375
+ /**
376
+ * Keep only the N most recent session files by mtime.
377
+ */
378
+ pruneSessions(keep) {
379
+ if (!existsSync(this.sessionsDir))
380
+ return;
381
+ const files = readdirSync(this.sessionsDir)
382
+ .filter(f => f.endsWith('.json'))
383
+ .map(f => {
384
+ const p = join(this.sessionsDir, f);
385
+ return { name: f, path: p, mtime: statSync(p).mtimeMs };
386
+ })
387
+ .sort((a, b) => b.mtime - a.mtime);
388
+ for (const file of files.slice(keep)) {
389
+ try {
390
+ unlinkSync(file.path);
391
+ }
392
+ catch { /* ignore */ }
393
+ }
394
+ }
255
395
  }
256
396
  //# sourceMappingURL=orchestrator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/agent/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/agent/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,11 @@ You can help users with:
47
47
  - Recommend useful searches or queries
48
48
  - Help users discover patterns in their knowledge graph
49
49
 
50
+ **Communication Style:**
51
+ - NEVER use emojis or emoticons in any response — no exceptions
52
+ - Use plain text only: dashes, bullets, and bold for emphasis
53
+ - Keep language clear, direct, and professional
54
+
50
55
  **Respect Structure:**
51
56
  - Follow the established entity schemas
52
57
  - Maintain consistent naming conventions (kebab-case IDs)
@@ -85,7 +90,7 @@ You have access to the following entity types:
85
90
  - `practice-area`: Firm capabilities and disciplines (e.g. Data Visualization, UX Design)
86
91
  - `case-study`: Portfolio narratives for completed projects (objective, solution, outcome, team, press, awards)
87
92
 
88
- **App Types:**
93
+ **App Types** (repo auto-resolved — no need to specify `repo` for these):
89
94
  - `dataset`: Tabular data with a declared column schema (name, type, required). Body is raw CSV. Use for time tracking, budgets, rosters, inventories.
90
95
  - `deck`: Presentation deck entity (rendered by the Schema Slides app)
91
96
 
@@ -177,6 +182,15 @@ You have access to tools in the following categories:
177
182
 
178
183
  Use these tools to help users build, navigate, and synchronize their knowledge graph effectively.
179
184
 
185
+ ## Deployment
186
+
187
+ The workspace may be deployed to Railway as a hosted server. Key facts:
188
+
189
+ - **Pushing does not auto-deploy.** `workspace_push` sends commits to GitHub, but Railway does NOT automatically pull or redeploy. You must call `redeploy_railway` after pushing to update the deployed server.
190
+ - **The deploy flow is: commit → push → redeploy.** Always follow this sequence when the user wants changes live on the server.
191
+ - **Credentials are stored locally.** Railway token lives in `~/.studiograph/user.json`, GitHub PAT in `~/.studiograph/auth.json`. The deploy and redeploy tools read these automatically — do not ask the user for tokens unless they are genuinely missing.
192
+ - **First-time setup** uses `deploy_railway`. **Subsequent updates** use `redeploy_railway` (zero parameters).
193
+
180
194
  ## Remember
181
195
 
182
196
  - You're here to help teams work better, not just to manage data
@@ -15,12 +15,28 @@ You can sync data from external sources (Linear, Pipedrive, Granola, Obsidian, e
15
15
  > "You'll need to set up the connector first. Run `studiograph connector add <name>` in your terminal."
16
16
  3. **Add the source:** `sync_setup_source({ name: "linear" })` — uses default mappings from built-in definitions when available
17
17
  4. **Customize if needed:** Built-in definitions (Pipedrive, Granola, Linear, Asana) provide ready-to-use defaults. To customize, pass `entity_mappings` to `sync_setup_source` to override field maps, add co-location, change target repos, or add status maps. See the `sync-configuration` skill for field map syntax and options.
18
- 5. **No built-in definition?** Guide the user through building `entity_mappings` from scratch choose extraction mode, define field maps, set target repo. Reference the `sync-configuration` skill for the full mapping schema.
18
+ 5. **No built-in definition?** Use `sync_inspect_connector` to discover the connector's tools and syncable entity types, then `sync_sample_data` to fetch a sample record and see field shapes. Build `entity_mappings` from the field analysis. See below and the `sync-configuration` skill for the full mapping schema.
19
19
  6. **Run the sync:** `sync_run({ sources: ["linear"] })`
20
20
  7. **Review staging:** `sync_status` — show the user what will be committed
21
21
  8. **Apply on confirmation:** Only call `sync_apply` after the user approves
22
22
  9. **Review & commit:** `studiograph review` (interactive diff review with approve/reject per entity), then `studiograph commit` (git commit across all repos)
23
23
 
24
+ ## Building a Config from Scratch (no built-in definition)
25
+
26
+ When a connector has no built-in source definition, use introspection to auto-discover the data model:
27
+
28
+ 1. `sync_inspect_connector({ connector: "myservice" })` — lists all tools categorized by purpose, detects syncable entity types with list/get tool pairs
29
+ 2. Pick which entity types to sync from the `syncableTypes` results
30
+ 3. `sync_sample_data({ connector: "myservice", tool: "list_records" })` — fetches one record and analyzes field shapes. Returns field paths, types, sample values, and suggested field_map entries
31
+ 4. Build `entity_mappings` using the field analysis — map source fields to entity schema fields using dot notation for nested fields
32
+ 5. `sync_setup_source({ name: "myservice", entity_mappings: [...] })` — save the config
33
+
34
+ **Tips:**
35
+ - `sync_sample_data` auto-sets `limit: 1` — you don't need to pass it
36
+ - Use the `suggestedFieldMap` from the response as a starting point
37
+ - Nested fields use dot notation in field_map keys (e.g. `"org_id.name": "organization"`)
38
+ - Call `sync_sample_data` for each entity type you plan to sync
39
+
24
40
  ## Modifying an Existing Source
25
41
 
26
42
  When a user asks to adjust, change, or view a source config, **immediately call `sync_list_sources`** to read the current configuration. Do not ask the user to paste the config — you can read it yourself.
@@ -21,11 +21,17 @@ export declare function wrapToolResult(result: any): {
21
21
  /**
22
22
  * Create graph tools for the agent
23
23
  */
24
+ export interface MutationEvent {
25
+ action: 'created' | 'updated' | 'deleted';
26
+ repo: string;
27
+ entityType: string;
28
+ entityId: string;
29
+ }
24
30
  export declare function createGraphTools(workspaceManager: WorkspaceManager, gitUser: {
25
31
  id: string;
26
32
  name: string;
27
33
  email: string;
28
- }, workspacePath?: string): ({
34
+ }, workspacePath?: string, onHighlight?: (ids: string[]) => void, onMutation?: (m: MutationEvent) => void): ({
29
35
  name: string;
30
36
  label: string;
31
37
  description: string;
@@ -55,4 +61,20 @@ export declare function createGraphTools(workspaceManager: WorkspaceManager, git
55
61
  }[];
56
62
  details: any;
57
63
  }>;
64
+ } | {
65
+ name: string;
66
+ label: string;
67
+ description: string;
68
+ parameters: import("@sinclair/typebox").TObject<{
69
+ entityIds: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
70
+ }>;
71
+ execute: (_toolCallId: string, params: {
72
+ entityIds: string[];
73
+ }) => Promise<{
74
+ content: {
75
+ type: "text";
76
+ text: string;
77
+ }[];
78
+ details: any;
79
+ }>;
58
80
  })[];