studiograph 1.2.0-beta.7 → 1.2.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.
Files changed (205) hide show
  1. package/README.md +13 -18
  2. package/dist/agent/orchestrator.d.ts +57 -0
  3. package/dist/agent/orchestrator.js +169 -22
  4. package/dist/agent/orchestrator.js.map +1 -1
  5. package/dist/agent/prompts/system.md +51 -63
  6. package/dist/agent/skill-loader.js +8 -0
  7. package/dist/agent/skill-loader.js.map +1 -1
  8. package/dist/agent/skills/entity-schema.md +4 -19
  9. package/dist/agent/skills/gather-context.md +1 -1
  10. package/dist/agent/skills/sync-setup.md +17 -1
  11. package/dist/agent/tools/graph-tools.d.ts +41 -1
  12. package/dist/agent/tools/graph-tools.js +133 -57
  13. package/dist/agent/tools/graph-tools.js.map +1 -1
  14. package/dist/agent/tools/ops-tools.js +82 -0
  15. package/dist/agent/tools/ops-tools.js.map +1 -1
  16. package/dist/agent/tools/permission-tools.d.ts +90 -0
  17. package/dist/agent/tools/permission-tools.js +207 -0
  18. package/dist/agent/tools/permission-tools.js.map +1 -0
  19. package/dist/agent/tools/sync-tools.d.ts +9 -1
  20. package/dist/agent/tools/sync-tools.js +259 -3
  21. package/dist/agent/tools/sync-tools.js.map +1 -1
  22. package/dist/auth/github.d.ts +1 -1
  23. package/dist/auth/github.js +21 -13
  24. package/dist/auth/github.js.map +1 -1
  25. package/dist/cli/commands/access.d.ts +11 -0
  26. package/dist/cli/commands/access.js +156 -0
  27. package/dist/cli/commands/access.js.map +1 -0
  28. package/dist/cli/commands/app.js +25 -2
  29. package/dist/cli/commands/app.js.map +1 -1
  30. package/dist/cli/commands/clear.d.ts +5 -0
  31. package/dist/cli/commands/clear.js +36 -0
  32. package/dist/cli/commands/clear.js.map +1 -0
  33. package/dist/cli/commands/clone.js +3 -3
  34. package/dist/cli/commands/clone.js.map +1 -1
  35. package/dist/cli/commands/collection.d.ts +10 -0
  36. package/dist/cli/commands/collection.js +187 -0
  37. package/dist/cli/commands/collection.js.map +1 -0
  38. package/dist/cli/commands/commit.js +2 -1
  39. package/dist/cli/commands/commit.js.map +1 -1
  40. package/dist/cli/commands/config.d.ts +100 -0
  41. package/dist/cli/commands/config.js +1 -1
  42. package/dist/cli/commands/config.js.map +1 -1
  43. package/dist/cli/commands/deploy.js +10 -1
  44. package/dist/cli/commands/deploy.js.map +1 -1
  45. package/dist/cli/commands/index.js +1 -1
  46. package/dist/cli/commands/index.js.map +1 -1
  47. package/dist/cli/commands/init.js +32 -40
  48. package/dist/cli/commands/init.js.map +1 -1
  49. package/dist/cli/commands/join.d.ts +0 -6
  50. package/dist/cli/commands/join.js +26 -111
  51. package/dist/cli/commands/join.js.map +1 -1
  52. package/dist/cli/commands/lint.js +1 -2
  53. package/dist/cli/commands/lint.js.map +1 -1
  54. package/dist/cli/commands/mcp.js +6 -5
  55. package/dist/cli/commands/mcp.js.map +1 -1
  56. package/dist/cli/commands/org.d.ts +10 -0
  57. package/dist/cli/commands/org.js +132 -0
  58. package/dist/cli/commands/org.js.map +1 -0
  59. package/dist/cli/commands/orphans.js +1 -2
  60. package/dist/cli/commands/orphans.js.map +1 -1
  61. package/dist/cli/commands/provision.js +3 -3
  62. package/dist/cli/commands/provision.js.map +1 -1
  63. package/dist/cli/commands/resolve.d.ts +8 -0
  64. package/dist/cli/commands/resolve.js +85 -0
  65. package/dist/cli/commands/resolve.js.map +1 -0
  66. package/dist/cli/commands/serve.js +55 -25
  67. package/dist/cli/commands/serve.js.map +1 -1
  68. package/dist/cli/commands/start.js +25 -206
  69. package/dist/cli/commands/start.js.map +1 -1
  70. package/dist/cli/commands/sync.js +53 -8
  71. package/dist/cli/commands/sync.js.map +1 -1
  72. package/dist/cli/commands/team.d.ts +12 -0
  73. package/dist/cli/commands/team.js +185 -0
  74. package/dist/cli/commands/team.js.map +1 -0
  75. package/dist/cli/index.js +41 -34
  76. package/dist/cli/index.js.map +1 -1
  77. package/dist/cli/scaffolding.d.ts +5 -3
  78. package/dist/cli/scaffolding.js +191 -97
  79. package/dist/cli/scaffolding.js.map +1 -1
  80. package/dist/cli/setup-wizard.js +20 -10
  81. package/dist/cli/setup-wizard.js.map +1 -1
  82. package/dist/cli/sync-review-interactive.js +1 -1
  83. package/dist/cli/sync-review-interactive.js.map +1 -1
  84. package/dist/core/graph.d.ts +7 -10
  85. package/dist/core/graph.js +88 -89
  86. package/dist/core/graph.js.map +1 -1
  87. package/dist/core/types.d.ts +19 -34
  88. package/dist/core/types.js +3 -21
  89. package/dist/core/types.js.map +1 -1
  90. package/dist/core/user-config.d.ts +27 -0
  91. package/dist/core/user-config.js +51 -0
  92. package/dist/core/user-config.js.map +1 -1
  93. package/dist/core/validation.d.ts +978 -2182
  94. package/dist/core/validation.js +242 -397
  95. package/dist/core/validation.js.map +1 -1
  96. package/dist/core/workspace-manager.d.ts +32 -31
  97. package/dist/core/workspace-manager.js +171 -186
  98. package/dist/core/workspace-manager.js.map +1 -1
  99. package/dist/core/workspace.d.ts +0 -5
  100. package/dist/core/workspace.js +33 -101
  101. package/dist/core/workspace.js.map +1 -1
  102. package/dist/lib/lib/utils.d.ts +2 -0
  103. package/dist/lib/lib/utils.js +6 -0
  104. package/dist/lib/lib/utils.js.map +1 -0
  105. package/dist/mcp/tools.js +13 -13
  106. package/dist/mcp/tools.js.map +1 -1
  107. package/dist/server/chrome/chrome.css +562 -0
  108. package/dist/server/chrome/chrome.js +540 -0
  109. package/dist/server/index.js +163 -10
  110. package/dist/server/index.js.map +1 -1
  111. package/dist/server/plugin-loader.d.ts +7 -0
  112. package/dist/server/plugin-loader.js +9 -1
  113. package/dist/server/plugin-loader.js.map +1 -1
  114. package/dist/server/routes/chat.d.ts +3 -2
  115. package/dist/server/routes/chat.js +67 -16
  116. package/dist/server/routes/chat.js.map +1 -1
  117. package/dist/server/routes/git-api.d.ts +9 -0
  118. package/dist/server/routes/git-api.js +82 -0
  119. package/dist/server/routes/git-api.js.map +1 -0
  120. package/dist/server/routes/graph-api.d.ts +2 -2
  121. package/dist/server/routes/graph-api.js +267 -3
  122. package/dist/server/routes/graph-api.js.map +1 -1
  123. package/dist/server/routes/permissions-api.d.ts +9 -0
  124. package/dist/server/routes/permissions-api.js +176 -0
  125. package/dist/server/routes/permissions-api.js.map +1 -0
  126. package/dist/server/routes/workspace-api.d.ts +9 -0
  127. package/dist/server/routes/workspace-api.js +283 -0
  128. package/dist/server/routes/workspace-api.js.map +1 -0
  129. package/dist/services/assets/base.d.ts +2 -2
  130. package/dist/services/assets/base.js +4 -4
  131. package/dist/services/assets/base.js.map +1 -1
  132. package/dist/services/assets/index.d.ts +6 -6
  133. package/dist/services/assets/index.js +12 -12
  134. package/dist/services/assets/index.js.map +1 -1
  135. package/dist/services/git.d.ts +35 -0
  136. package/dist/services/git.js +93 -0
  137. package/dist/services/git.js.map +1 -1
  138. package/dist/services/github-provisioner.js +1 -2
  139. package/dist/services/github-provisioner.js.map +1 -1
  140. package/dist/services/github-service.d.ts +99 -0
  141. package/dist/services/github-service.js +310 -0
  142. package/dist/services/github-service.js.map +1 -0
  143. package/dist/services/markdown.js +4 -9
  144. package/dist/services/markdown.js.map +1 -1
  145. package/dist/services/memory-service.d.ts +4 -0
  146. package/dist/services/memory-service.js +13 -1
  147. package/dist/services/memory-service.js.map +1 -1
  148. package/dist/services/sync/commit.d.ts +2 -0
  149. package/dist/services/sync/commit.js +21 -6
  150. package/dist/services/sync/commit.js.map +1 -1
  151. package/dist/services/sync/graphrag-indexer.js +2 -2
  152. package/dist/services/sync/graphrag-indexer.js.map +1 -1
  153. package/dist/utils/git.d.ts +5 -0
  154. package/dist/utils/git.js +10 -0
  155. package/dist/utils/git.js.map +1 -1
  156. package/dist/utils/merge-resolver.d.ts +33 -8
  157. package/dist/utils/merge-resolver.js +157 -55
  158. package/dist/utils/merge-resolver.js.map +1 -1
  159. package/dist/utils/preflight.d.ts +1 -1
  160. package/dist/utils/preflight.js +1 -1
  161. package/dist/web/_app/env.js +1 -0
  162. package/dist/web/_app/immutable/assets/0.CDbX4Cwz.css +1 -0
  163. package/dist/web/_app/immutable/assets/2.DRHi7ABa.css +1 -0
  164. package/dist/web/_app/immutable/assets/3.BJy7pVXi.css +1 -0
  165. package/dist/web/_app/immutable/assets/4.Ad16uh9o.css +1 -0
  166. package/dist/web/_app/immutable/assets/5.BhKgiXd2.css +1 -0
  167. package/dist/web/_app/immutable/assets/6.CeHKR5ZY.css +1 -0
  168. package/dist/web/_app/immutable/assets/AppShell.CXdE5aqF.css +1 -0
  169. package/dist/web/_app/immutable/assets/ChatPanel.RFD5GGYI.css +1 -0
  170. package/dist/web/_app/immutable/assets/editor.CPAf2SRV.css +1 -0
  171. package/dist/web/_app/immutable/chunks/3_5VIr68.js +1 -0
  172. package/dist/web/_app/immutable/chunks/4QY4j-jX.js +1 -0
  173. package/dist/web/_app/immutable/chunks/B0nldqWF.js +23 -0
  174. package/dist/web/_app/immutable/chunks/BB_5th5W.js +3383 -0
  175. package/dist/web/_app/immutable/chunks/BButMJ6M.js +1 -0
  176. package/dist/web/_app/immutable/chunks/BiubvAUI.js +2 -0
  177. package/dist/web/_app/immutable/chunks/CAXuTUkp.js +1 -0
  178. package/dist/web/_app/immutable/chunks/CUzqHQY_.js +1 -0
  179. package/dist/web/_app/immutable/chunks/CYrVHOHA.js +1 -0
  180. package/dist/web/_app/immutable/chunks/CqkleIqs.js +1 -0
  181. package/dist/web/_app/immutable/chunks/DPmdIe6Y.js +1 -0
  182. package/dist/web/_app/immutable/chunks/Dh_H7Owr.js +18 -0
  183. package/dist/web/_app/immutable/chunks/DnlgZ_Tk.js +5 -0
  184. package/dist/web/_app/immutable/chunks/DsERsGWg.js +64 -0
  185. package/dist/web/_app/immutable/chunks/DtVH--hH.js +6 -0
  186. package/dist/web/_app/immutable/chunks/F20aIBpJ.js +1 -0
  187. package/dist/web/_app/immutable/chunks/PPVm8Dsz.js +1 -0
  188. package/dist/web/_app/immutable/chunks/WSUKABI_.js +1 -0
  189. package/dist/web/_app/immutable/chunks/YFT1281h.js +2 -0
  190. package/dist/web/_app/immutable/chunks/aosHekRC.js +1 -0
  191. package/dist/web/_app/immutable/chunks/fwnBoL5x.js +1 -0
  192. package/dist/web/_app/immutable/chunks/hHxe9oXh.js +1 -0
  193. package/dist/web/_app/immutable/chunks/nZKqDQ0w.js +6 -0
  194. package/dist/web/_app/immutable/entry/app.B6Ngvu5P.js +2 -0
  195. package/dist/web/_app/immutable/entry/start.NykKAKQv.js +1 -0
  196. package/dist/web/_app/immutable/nodes/0.DQ5KdeNU.js +1 -0
  197. package/dist/web/_app/immutable/nodes/1.BR6DZ9ov.js +1 -0
  198. package/dist/web/_app/immutable/nodes/2.COSjVZ_C.js +1 -0
  199. package/dist/web/_app/immutable/nodes/3.B9r1XIlO.js +1 -0
  200. package/dist/web/_app/immutable/nodes/4.p-c6hlFf.js +16 -0
  201. package/dist/web/_app/immutable/nodes/5.CPc-Bqal.js +4 -0
  202. package/dist/web/_app/immutable/nodes/6.jJ67YnBc.js +2 -0
  203. package/dist/web/_app/version.json +1 -0
  204. package/dist/web/index.html +43 -0
  205. package/package.json +21 -3
package/README.md CHANGED
@@ -9,6 +9,7 @@ Team-based AI agent platform with Git-backed knowledge graphs. Studiograph helps
9
9
  - **Node.js** 20+
10
10
  - **Git** installed and configured
11
11
  - An API key from a supported LLM provider (Anthropic, OpenAI, Google, xAI, Groq, or OpenRouter)
12
+ - **Supported platforms**: macOS (Apple Silicon), Linux (x64/arm64), Windows (x64/arm64). Intel Macs are not supported due to a LanceDB dependency.
12
13
 
13
14
  ### Install
14
15
 
@@ -56,21 +57,15 @@ A Studiograph workspace is a directory containing a `.studiograph/` configuratio
56
57
  ```
57
58
  my-studio/
58
59
  ├── .studiograph/ # Config repo (workspace.json, team roster, migrations)
59
- ├── acme-rebrand/ # Project repo (one per client engagement)
60
- ├── website-redesign/ # Another project repo
61
- ├── new-business/ # Function repo (business operations)
62
- ├── accounting/ # Function repo
63
- ├── templates/ # Shared resource repo (team knowledge)
60
+ ├── acme-rebrand/ # Collection (client project)
61
+ ├── website-redesign/ # Collection (another project)
62
+ ├── team-knowledge/ # Collection (processes, standards)
64
63
  └── private/ # Local-only, gitignored
65
64
  ```
66
65
 
67
- ### Repository Types
66
+ ### Collections
68
67
 
69
- | Type | Purpose | Examples |
70
- |------|---------|---------|
71
- | **Project** | One per client or engagement | `meridian-rebrand/`, `terra-dashboard/` |
72
- | **Function** | Business operations | `new-business/`, `accounting/`, `hr/` |
73
- | **Shared Resource** | Team knowledge | `templates/`, `research/`, `design-systems/` |
68
+ Each subdirectory is a **collection** a Git repo containing related entities. Collections are lightweight and flexible: one per project, one for team knowledge, one for business operations, or however your team thinks.
74
69
 
75
70
  ### Entities
76
71
 
@@ -114,7 +109,7 @@ Project notes and context go here...
114
109
 
115
110
  Entity IDs are always kebab-case. Entities link to each other with wikilinks (`[[entity-id]]`), which work across repos.
116
111
 
117
- There are 30+ built-in entity types (project, meeting, client, deliverable, proposal, contract, etc.), and workspaces can define custom types via `schema_extensions` in `workspace.json`.
112
+ There are 17 built-in entity types (project, meeting, person, organization, decision, task, document, etc.), and workspaces can define custom types via `schema_extensions` in `workspace.json`.
118
113
 
119
114
  ## CLI Commands
120
115
 
@@ -138,6 +133,7 @@ There are 30+ built-in entity types (project, meeting, client, deliverable, prop
138
133
 
139
134
  | Command | Description |
140
135
  |---------|-------------|
136
+ | `studiograph collection` | Manage collections (add, list, rename, remove) |
141
137
  | `studiograph provision` | Push workspace config to GitHub as a separate repo |
142
138
  | `studiograph members` | Manage team members and roles |
143
139
  | `studiograph index` | Rebuild search index |
@@ -159,7 +155,6 @@ There are 30+ built-in entity types (project, meeting, client, deliverable, prop
159
155
  | `studiograph connector` | Configure third-party integrations (Linear, Slack, Figma, etc.) |
160
156
  | `studiograph app` | Manage installed app plugins |
161
157
  | `studiograph r2` | Configure Cloudflare R2 for asset storage |
162
- | `studiograph source` | Manage sync sources for entity extraction ([configuration reference](docs/sync-configuration.md)) |
163
158
 
164
159
  ## Integrations
165
160
 
@@ -174,8 +169,7 @@ Studiograph exposes a [Model Context Protocol](https://modelcontextprotocol.io/)
174
169
  "mcpServers": {
175
170
  "studiograph": {
176
171
  "command": "studiograph",
177
- "args": ["mcp"],
178
- "cwd": "/absolute/path/to/your/workspace"
172
+ "args": ["mcp", "/absolute/path/to/your/workspace"]
179
173
  }
180
174
  }
181
175
  }
@@ -188,13 +182,14 @@ Studiograph exposes a [Model Context Protocol](https://modelcontextprotocol.io/)
188
182
  "mcpServers": {
189
183
  "studiograph": {
190
184
  "command": "studiograph",
191
- "args": ["mcp"],
192
- "cwd": "/absolute/path/to/your/workspace"
185
+ "args": ["mcp", "/absolute/path/to/your/workspace"]
193
186
  }
194
187
  }
195
188
  }
196
189
  ```
197
190
 
191
+ If you're running from the workspace directory, you can omit the path: `studiograph mcp`.
192
+
198
193
  MCP tools available: `list_repos`, `list_entities`, `get_entity`, `search_entities`, `create_entity`, `update_entity`, `delete_entity`.
199
194
 
200
195
  ### Third-Party Connectors
@@ -297,7 +292,7 @@ src/
297
292
  ### Key Files
298
293
 
299
294
  - `src/core/types.ts` — Zod schemas for workspace config, entities, repos
300
- - `src/core/validation.ts` — All 30+ built-in entity type schemas
295
+ - `src/core/validation.ts` — All 17 built-in entity type schemas
301
296
  - `src/core/graph.ts` — `BaseGraphManager` (CRUD for a single repo)
302
297
  - `src/core/workspace-manager.ts` — `WorkspaceManager` (multi-repo coordination)
303
298
  - `src/core/workspace.ts` — `.studiograph/` directory management
@@ -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,51 @@ 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
+ * Clear all saved sessions from disk.
128
+ */
129
+ clearSessions(): number;
130
+ /**
131
+ * Keep only the N most recent session files by mtime.
132
+ */
133
+ private pruneSessions;
77
134
  }
@@ -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';
@@ -14,7 +14,6 @@ import { getModel } from '@mariozechner/pi-ai';
14
14
  import { Agent } from '@mariozechner/pi-agent-core';
15
15
  import { WorkspaceManager } from '../core/workspace-manager.js';
16
16
  import { createGraphTools } from './tools/graph-tools.js';
17
- import { createSyncTools } from './tools/sync-tools.js';
18
17
  import { loadSkillIndex, buildSkillIndexPrompt, loadEagerSkills } from './skill-loader.js';
19
18
  import { createLoadSkillTool } from './tools/load-skill.js';
20
19
  import { loadCustomTools } from './tools/tool-loader.js';
@@ -22,7 +21,8 @@ import { ConnectorManager } from '../mcp/connector-manager.js';
22
21
  import { buildConnectorRegistry, createConnectorTools } from './tools/connector-tools.js';
23
22
  import { createFsTools } from './tools/fs-tools.js';
24
23
  import { createOpsTools } from './tools/ops-tools.js';
25
- import { loadUserConfig, getAnthropicCredential } from '../core/user-config.js';
24
+ import { createPermissionTools } from './tools/permission-tools.js';
25
+ import { loadUserConfig, resolveApiKey, resolveProvider, resolveModelId } from '../core/user-config.js';
26
26
  export class AgentOrchestrator {
27
27
  workspacePath;
28
28
  workspaceManager;
@@ -31,10 +31,18 @@ export class AgentOrchestrator {
31
31
  gitUser;
32
32
  skillsDirs;
33
33
  toolsDirs;
34
+ registryRef = { registry: null };
35
+ _highlightCallback = null;
36
+ _mutationCallback = null;
37
+ recentMemory;
38
+ currentSessionId = null;
39
+ sessionsDir;
34
40
  constructor(config) {
35
41
  this.workspacePath = config.workspacePath;
36
42
  this.config = config.workspaceConfig;
37
43
  this.gitUser = config.gitUser;
44
+ this.recentMemory = config.recentMemory;
45
+ this.sessionsDir = join(homedir(), '.studiograph', 'sessions');
38
46
  // Priority (highest → lowest): user > workspace > bundled > app
39
47
  // First-seen name wins in the loader, so earlier dirs override later ones.
40
48
  const userSkillsDir = join(homedir(), '.studiograph', 'skills');
@@ -45,8 +53,7 @@ export class AgentOrchestrator {
45
53
  this.skillsDirs = [userSkillsDir, workspaceSkillsDir, bundledSkillsDir, ...(config.skillsDirs ?? [])];
46
54
  this.toolsDirs = [userToolsDir, workspaceToolsDir, ...(config.toolsDirs ?? [])];
47
55
  // Initialize workspace manager
48
- const orchestratorUser = { ...this.gitUser, role: 'admin' };
49
- this.workspaceManager = new WorkspaceManager(this.workspacePath, this.config, this.gitUser, orchestratorUser);
56
+ this.workspaceManager = new WorkspaceManager(this.workspacePath, this.config, this.gitUser);
50
57
  // Initialize Pi-Mono agent (async tools loaded in createAgent)
51
58
  this.agent = this.createAgent();
52
59
  }
@@ -56,9 +63,9 @@ export class AgentOrchestrator {
56
63
  */
57
64
  createAgent() {
58
65
  const userConfig = loadUserConfig();
59
- const provider = userConfig.model_provider || this.config.model_provider || 'anthropic';
60
- const modelId = userConfig.model_id || this.config.model_id || 'claude-sonnet-4-5-20250929';
61
- const apiKey = getAnthropicCredential(userConfig) || this.config.api_key || process.env.ANTHROPIC_API_KEY || '';
66
+ const provider = resolveProvider(userConfig, this.config);
67
+ const modelId = resolveModelId(userConfig, this.config);
68
+ const apiKey = resolveApiKey(userConfig, this.config);
62
69
  if (!apiKey) {
63
70
  throw new Error('API key not found in config or environment');
64
71
  }
@@ -67,16 +74,20 @@ export class AgentOrchestrator {
67
74
  const skillIndex = loadSkillIndex(this.skillsDirs);
68
75
  // Build tools first so we can auto-generate the tool reference for the prompt
69
76
  const tools = [
70
- ...createGraphTools(this.workspaceManager, this.gitUser, this.workspacePath),
71
- ...createSyncTools(this.workspacePath, this.config),
77
+ ...createGraphTools(this.workspaceManager, this.gitUser, this.workspacePath, this.emitHighlight.bind(this), this.emitMutation.bind(this)),
78
+ // Sync tools gated for MVP — re-enable when sync pipeline is production-ready
79
+ // ...createSyncTools(this.workspacePath, this.config, this.registryRef),
72
80
  ...createOpsTools(this.workspacePath, this.config),
81
+ ...createPermissionTools(this.config),
73
82
  ...createFsTools(),
74
83
  createLoadSkillTool(skillIndex),
75
84
  ];
76
- // Build system prompt — base + auto-generated tool reference + eager skills + skill index
77
- const systemPrompt = this.buildSystemPrompt(skillIndex, tools);
78
- // Log registered tools at startup
79
- console.log(`🔧 ${tools.length} tools registered: ${tools.map((t) => t.name).join(', ')}`);
85
+ // Build system prompt — base + auto-generated tool reference + memory + eager skills + skill index
86
+ const systemPrompt = this.buildSystemPrompt(skillIndex, tools, this.recentMemory);
87
+ // Log registered tools at startup (verbose only)
88
+ if (process.env.STUDIOGRAPH_VERBOSE === '1') {
89
+ console.log(`🔧 ${tools.length} tools registered: ${tools.map((t) => t.name).join(', ')}`);
90
+ }
80
91
  const agent = new Agent({ getApiKey: () => apiKey });
81
92
  agent.setModel(model);
82
93
  agent.setSystemPrompt(systemPrompt);
@@ -101,6 +112,7 @@ export class AgentOrchestrator {
101
112
  if (connectorTools.length > 0) {
102
113
  const registry = buildConnectorRegistry(connectorTools);
103
114
  extra.push(...createConnectorTools(registry));
115
+ this.registryRef.registry = registry;
104
116
  }
105
117
  if (extra.length > 0) {
106
118
  const existing = agent.state.tools;
@@ -113,7 +125,7 @@ export class AgentOrchestrator {
113
125
  /**
114
126
  * Build the full system prompt: base prompt + eager skill content + skill index.
115
127
  */
116
- buildSystemPrompt(skillIndex, tools) {
128
+ buildSystemPrompt(skillIndex, tools, recentMemory) {
117
129
  const promptPath = join(__dirname, 'prompts', 'system.md');
118
130
  let base = existsSync(promptPath)
119
131
  ? readFileSync(promptPath, 'utf-8')
@@ -121,8 +133,6 @@ export class AgentOrchestrator {
121
133
  // Auto-generate tool reference from registered tools, grouped by category
122
134
  const categories = {
123
135
  'Entity Management': [],
124
- 'Data Sync & Source Config': [],
125
- 'Enrichment': [],
126
136
  'Workspace Git': [],
127
137
  'External Connectors': [],
128
138
  'Operations': [],
@@ -133,11 +143,7 @@ export class AgentOrchestrator {
133
143
  if (t.description?.startsWith('DEPRECATED'))
134
144
  continue;
135
145
  const name = t.name ?? '';
136
- if (name.startsWith('sync_'))
137
- categories['Data Sync & Source Config'].push(t);
138
- else if (name.startsWith('enrich_'))
139
- categories['Enrichment'].push(t);
140
- else if (name.startsWith('workspace_'))
146
+ if (name.startsWith('workspace_'))
141
147
  categories['Workspace Git'].push(t);
142
148
  else if (name.startsWith('connector_'))
143
149
  categories['External Connectors'].push(t);
@@ -161,6 +167,10 @@ export class AgentOrchestrator {
161
167
  if (schemaSection) {
162
168
  parts.push(schemaSection);
163
169
  }
170
+ // Inject recent memory context (today + yesterday daily memory)
171
+ if (recentMemory) {
172
+ parts.push(`## Memory Context\n\n${recentMemory}`);
173
+ }
164
174
  // Inline eager skills directly into the system prompt
165
175
  const eagerContent = loadEagerSkills(skillIndex);
166
176
  if (eagerContent) {
@@ -257,5 +267,142 @@ ${repoList}`;
257
267
  getRepoNames() {
258
268
  return this.workspaceManager.getRepoNames();
259
269
  }
270
+ /**
271
+ * Set a callback for highlight_entities tool events (used by SSE streaming).
272
+ */
273
+ setHighlightCallback(cb) {
274
+ this._highlightCallback = cb;
275
+ }
276
+ /**
277
+ * Emit a highlight event (called by graph-tools highlight_entities).
278
+ */
279
+ emitHighlight(ids) {
280
+ this._highlightCallback?.(ids);
281
+ }
282
+ /**
283
+ * Set a callback for entity mutation events (used by SSE streaming).
284
+ */
285
+ setMutationCallback(cb) {
286
+ this._mutationCallback = cb;
287
+ }
288
+ /**
289
+ * Emit a mutation event (called by graph-tools create/update/delete).
290
+ */
291
+ emitMutation(m) {
292
+ this._mutationCallback?.(m);
293
+ }
294
+ /**
295
+ * Expose the raw pi-agent-core Agent instance.
296
+ */
297
+ getAgent() {
298
+ return this.agent;
299
+ }
300
+ /**
301
+ * Get the current session ID (null if none active).
302
+ */
303
+ getCurrentSessionId() {
304
+ return this.currentSessionId;
305
+ }
306
+ /**
307
+ * Switch the agent to a different session.
308
+ * - Same session → no-op
309
+ * - Existing session file → restore messages from disk
310
+ * - No file but fallback history → inject as context message
311
+ * - Nothing → clear messages for a fresh start
312
+ */
313
+ async switchSession(sessionId, fallbackHistory) {
314
+ if (this.currentSessionId === sessionId)
315
+ return;
316
+ // Save current session before switching
317
+ if (this.currentSessionId) {
318
+ this.saveSession();
319
+ }
320
+ this.currentSessionId = sessionId;
321
+ this.agent.sessionId = sessionId;
322
+ // Try loading from disk
323
+ const sessionPath = join(this.sessionsDir, `${sessionId}.json`);
324
+ if (existsSync(sessionPath)) {
325
+ try {
326
+ const data = JSON.parse(readFileSync(sessionPath, 'utf-8'));
327
+ if (Array.isArray(data.messages) && data.messages.length > 0) {
328
+ this.agent.replaceMessages(data.messages);
329
+ return;
330
+ }
331
+ }
332
+ catch {
333
+ // Corrupted file — fall through
334
+ }
335
+ }
336
+ // Fallback: inject frontend history as a context message
337
+ if (fallbackHistory && fallbackHistory.length > 0) {
338
+ const transcript = fallbackHistory
339
+ .map(m => `${m.role === 'assistant' ? 'Assistant' : 'User'}: ${m.content}`)
340
+ .join('\n\n');
341
+ const contextMsg = {
342
+ role: 'user',
343
+ content: [{ type: 'text', text: `[Prior conversation context]\n\n${transcript}` }],
344
+ timestamp: Date.now(),
345
+ };
346
+ this.agent.replaceMessages([contextMsg]);
347
+ return;
348
+ }
349
+ // Fresh start
350
+ this.agent.clearMessages();
351
+ }
352
+ /**
353
+ * Save the current session's messages to disk.
354
+ */
355
+ saveSession() {
356
+ if (!this.currentSessionId)
357
+ return;
358
+ const messages = this.agent.state.messages;
359
+ if (messages.length === 0)
360
+ return;
361
+ if (!existsSync(this.sessionsDir)) {
362
+ mkdirSync(this.sessionsDir, { recursive: true });
363
+ }
364
+ const sessionPath = join(this.sessionsDir, `${this.currentSessionId}.json`);
365
+ writeFileSync(sessionPath, JSON.stringify({
366
+ sessionId: this.currentSessionId,
367
+ updatedAt: new Date().toISOString(),
368
+ messages,
369
+ }), 'utf-8');
370
+ this.pruneSessions(20);
371
+ }
372
+ /**
373
+ * Clear all saved sessions from disk.
374
+ */
375
+ clearSessions() {
376
+ if (!existsSync(this.sessionsDir))
377
+ return 0;
378
+ const files = readdirSync(this.sessionsDir).filter(f => f.endsWith('.json'));
379
+ for (const f of files) {
380
+ try {
381
+ unlinkSync(join(this.sessionsDir, f));
382
+ }
383
+ catch { /* ignore */ }
384
+ }
385
+ return files.length;
386
+ }
387
+ /**
388
+ * Keep only the N most recent session files by mtime.
389
+ */
390
+ pruneSessions(keep) {
391
+ if (!existsSync(this.sessionsDir))
392
+ return;
393
+ const files = readdirSync(this.sessionsDir)
394
+ .filter(f => f.endsWith('.json'))
395
+ .map(f => {
396
+ const p = join(this.sessionsDir, f);
397
+ return { name: f, path: p, mtime: statSync(p).mtimeMs };
398
+ })
399
+ .sort((a, b) => b.mtime - a.mtime);
400
+ for (const file of files.slice(keep)) {
401
+ try {
402
+ unlinkSync(file.path);
403
+ }
404
+ catch { /* ignore */ }
405
+ }
406
+ }
260
407
  }
261
408
  //# 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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"}