studiograph 1.2.0-beta.9 → 1.2.1

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 (226) hide show
  1. package/README.md +13 -18
  2. package/dist/agent/orchestrator.d.ts +56 -0
  3. package/dist/agent/orchestrator.js +167 -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/tools/graph-tools.d.ts +41 -1
  11. package/dist/agent/tools/graph-tools.js +133 -57
  12. package/dist/agent/tools/graph-tools.js.map +1 -1
  13. package/dist/agent/tools/ops-tools.js +82 -0
  14. package/dist/agent/tools/ops-tools.js.map +1 -1
  15. package/dist/agent/tools/permission-tools.d.ts +90 -0
  16. package/dist/agent/tools/permission-tools.js +207 -0
  17. package/dist/agent/tools/permission-tools.js.map +1 -0
  18. package/dist/agent/tools/sync-tools.js +2 -2
  19. package/dist/agent/tools/sync-tools.js.map +1 -1
  20. package/dist/auth/github.d.ts +1 -1
  21. package/dist/auth/github.js +21 -13
  22. package/dist/auth/github.js.map +1 -1
  23. package/dist/cli/commands/access.d.ts +11 -0
  24. package/dist/cli/commands/access.js +156 -0
  25. package/dist/cli/commands/access.js.map +1 -0
  26. package/dist/cli/commands/app.js +25 -2
  27. package/dist/cli/commands/app.js.map +1 -1
  28. package/dist/cli/commands/clear.d.ts +5 -0
  29. package/dist/cli/commands/clear.js +36 -0
  30. package/dist/cli/commands/clear.js.map +1 -0
  31. package/dist/cli/commands/clone.js +3 -3
  32. package/dist/cli/commands/clone.js.map +1 -1
  33. package/dist/cli/commands/collection.d.ts +10 -0
  34. package/dist/cli/commands/collection.js +187 -0
  35. package/dist/cli/commands/collection.js.map +1 -0
  36. package/dist/cli/commands/commit.js +2 -1
  37. package/dist/cli/commands/commit.js.map +1 -1
  38. package/dist/cli/commands/config.d.ts +100 -0
  39. package/dist/cli/commands/config.js +1 -1
  40. package/dist/cli/commands/config.js.map +1 -1
  41. package/dist/cli/commands/deploy.js +10 -1
  42. package/dist/cli/commands/deploy.js.map +1 -1
  43. package/dist/cli/commands/index.js +1 -1
  44. package/dist/cli/commands/index.js.map +1 -1
  45. package/dist/cli/commands/init.js +32 -40
  46. package/dist/cli/commands/init.js.map +1 -1
  47. package/dist/cli/commands/join.d.ts +0 -6
  48. package/dist/cli/commands/join.js +26 -111
  49. package/dist/cli/commands/join.js.map +1 -1
  50. package/dist/cli/commands/lint.js +1 -2
  51. package/dist/cli/commands/lint.js.map +1 -1
  52. package/dist/cli/commands/mcp.js +6 -5
  53. package/dist/cli/commands/mcp.js.map +1 -1
  54. package/dist/cli/commands/org.d.ts +10 -0
  55. package/dist/cli/commands/org.js +132 -0
  56. package/dist/cli/commands/org.js.map +1 -0
  57. package/dist/cli/commands/orphans.js +1 -2
  58. package/dist/cli/commands/orphans.js.map +1 -1
  59. package/dist/cli/commands/provision.js +3 -3
  60. package/dist/cli/commands/provision.js.map +1 -1
  61. package/dist/cli/commands/resolve.d.ts +8 -0
  62. package/dist/cli/commands/resolve.js +85 -0
  63. package/dist/cli/commands/resolve.js.map +1 -0
  64. package/dist/cli/commands/serve.js +55 -25
  65. package/dist/cli/commands/serve.js.map +1 -1
  66. package/dist/cli/commands/start.js +22 -205
  67. package/dist/cli/commands/start.js.map +1 -1
  68. package/dist/cli/commands/sync.js +53 -8
  69. package/dist/cli/commands/sync.js.map +1 -1
  70. package/dist/cli/commands/team.d.ts +12 -0
  71. package/dist/cli/commands/team.js +185 -0
  72. package/dist/cli/commands/team.js.map +1 -0
  73. package/dist/cli/index.js +41 -34
  74. package/dist/cli/index.js.map +1 -1
  75. package/dist/cli/scaffolding.d.ts +5 -3
  76. package/dist/cli/scaffolding.js +191 -97
  77. package/dist/cli/scaffolding.js.map +1 -1
  78. package/dist/cli/setup-wizard.js +20 -10
  79. package/dist/cli/setup-wizard.js.map +1 -1
  80. package/dist/cli/sync-review-interactive.js +1 -1
  81. package/dist/cli/sync-review-interactive.js.map +1 -1
  82. package/dist/core/graph.d.ts +5 -10
  83. package/dist/core/graph.js +84 -85
  84. package/dist/core/graph.js.map +1 -1
  85. package/dist/core/migration-runner.d.ts +42 -0
  86. package/dist/core/migration-runner.js +232 -0
  87. package/dist/core/migration-runner.js.map +1 -0
  88. package/dist/core/migration-types.d.ts +101 -0
  89. package/dist/core/migration-types.js +21 -0
  90. package/dist/core/migration-types.js.map +1 -0
  91. package/dist/core/migrations/20260219-formalize-memory-location.d.ts +2 -0
  92. package/dist/core/migrations/20260219-formalize-memory-location.js +35 -0
  93. package/dist/core/migrations/20260219-formalize-memory-location.js.map +1 -0
  94. package/dist/core/migrations/20260220-add-workspace-metadata.d.ts +12 -0
  95. package/dist/core/migrations/20260220-add-workspace-metadata.js +65 -0
  96. package/dist/core/migrations/20260220-add-workspace-metadata.js.map +1 -0
  97. package/dist/core/migrations/20260220-add-workspace-readme.d.ts +11 -0
  98. package/dist/core/migrations/20260220-add-workspace-readme.js +82 -0
  99. package/dist/core/migrations/20260220-add-workspace-readme.js.map +1 -0
  100. package/dist/core/migrations/20260220-migrate-yaml-to-json.d.ts +9 -0
  101. package/dist/core/migrations/20260220-migrate-yaml-to-json.js +64 -0
  102. package/dist/core/migrations/20260220-migrate-yaml-to-json.js.map +1 -0
  103. package/dist/core/migrations/index.d.ts +11 -0
  104. package/dist/core/migrations/index.js +23 -0
  105. package/dist/core/migrations/index.js.map +1 -0
  106. package/dist/core/types.d.ts +19 -34
  107. package/dist/core/types.js +3 -21
  108. package/dist/core/types.js.map +1 -1
  109. package/dist/core/user-config.d.ts +27 -0
  110. package/dist/core/user-config.js +51 -0
  111. package/dist/core/user-config.js.map +1 -1
  112. package/dist/core/validation.d.ts +978 -2182
  113. package/dist/core/validation.js +242 -397
  114. package/dist/core/validation.js.map +1 -1
  115. package/dist/core/workspace-manager.d.ts +32 -31
  116. package/dist/core/workspace-manager.js +171 -186
  117. package/dist/core/workspace-manager.js.map +1 -1
  118. package/dist/core/workspace.d.ts +0 -5
  119. package/dist/core/workspace.js +33 -101
  120. package/dist/core/workspace.js.map +1 -1
  121. package/dist/lib/lib/utils.d.ts +2 -0
  122. package/dist/lib/lib/utils.js +6 -0
  123. package/dist/lib/lib/utils.js.map +1 -0
  124. package/dist/mcp/tools.js +13 -13
  125. package/dist/mcp/tools.js.map +1 -1
  126. package/dist/server/chrome/chrome.css +562 -0
  127. package/dist/server/chrome/chrome.js +540 -0
  128. package/dist/server/index.js +163 -10
  129. package/dist/server/index.js.map +1 -1
  130. package/dist/server/plugin-loader.d.ts +7 -0
  131. package/dist/server/plugin-loader.js +9 -1
  132. package/dist/server/plugin-loader.js.map +1 -1
  133. package/dist/server/routes/chat.d.ts +3 -2
  134. package/dist/server/routes/chat.js +67 -16
  135. package/dist/server/routes/chat.js.map +1 -1
  136. package/dist/server/routes/git-api.d.ts +9 -0
  137. package/dist/server/routes/git-api.js +82 -0
  138. package/dist/server/routes/git-api.js.map +1 -0
  139. package/dist/server/routes/graph-api.d.ts +2 -2
  140. package/dist/server/routes/graph-api.js +267 -3
  141. package/dist/server/routes/graph-api.js.map +1 -1
  142. package/dist/server/routes/permissions-api.d.ts +9 -0
  143. package/dist/server/routes/permissions-api.js +176 -0
  144. package/dist/server/routes/permissions-api.js.map +1 -0
  145. package/dist/server/routes/workspace-api.d.ts +9 -0
  146. package/dist/server/routes/workspace-api.js +283 -0
  147. package/dist/server/routes/workspace-api.js.map +1 -0
  148. package/dist/services/assets/base.d.ts +2 -2
  149. package/dist/services/assets/base.js +4 -4
  150. package/dist/services/assets/base.js.map +1 -1
  151. package/dist/services/assets/index.d.ts +6 -6
  152. package/dist/services/assets/index.js +12 -12
  153. package/dist/services/assets/index.js.map +1 -1
  154. package/dist/services/git.d.ts +35 -0
  155. package/dist/services/git.js +93 -0
  156. package/dist/services/git.js.map +1 -1
  157. package/dist/services/github-provisioner.js +1 -2
  158. package/dist/services/github-provisioner.js.map +1 -1
  159. package/dist/services/github-service.d.ts +99 -0
  160. package/dist/services/github-service.js +310 -0
  161. package/dist/services/github-service.js.map +1 -0
  162. package/dist/services/markdown.js +4 -9
  163. package/dist/services/markdown.js.map +1 -1
  164. package/dist/services/memory-service.d.ts +4 -0
  165. package/dist/services/memory-service.js +13 -1
  166. package/dist/services/memory-service.js.map +1 -1
  167. package/dist/services/sync/commit.d.ts +2 -0
  168. package/dist/services/sync/commit.js +21 -6
  169. package/dist/services/sync/commit.js.map +1 -1
  170. package/dist/services/sync/graphrag-indexer.js +2 -2
  171. package/dist/services/sync/graphrag-indexer.js.map +1 -1
  172. package/dist/utils/git.d.ts +5 -0
  173. package/dist/utils/git.js +10 -0
  174. package/dist/utils/git.js.map +1 -1
  175. package/dist/utils/merge-resolver.d.ts +33 -8
  176. package/dist/utils/merge-resolver.js +157 -55
  177. package/dist/utils/merge-resolver.js.map +1 -1
  178. package/dist/utils/preflight.d.ts +1 -1
  179. package/dist/utils/preflight.js +1 -1
  180. package/dist/web/_app/env.js +1 -0
  181. package/dist/web/_app/immutable/assets/0.CDbX4Cwz.css +1 -0
  182. package/dist/web/_app/immutable/assets/2.DRHi7ABa.css +1 -0
  183. package/dist/web/_app/immutable/assets/3.BJy7pVXi.css +1 -0
  184. package/dist/web/_app/immutable/assets/4.Ad16uh9o.css +1 -0
  185. package/dist/web/_app/immutable/assets/5.BhKgiXd2.css +1 -0
  186. package/dist/web/_app/immutable/assets/6.CeHKR5ZY.css +1 -0
  187. package/dist/web/_app/immutable/assets/AppShell.CJtUfb0N.css +1 -0
  188. package/dist/web/_app/immutable/assets/ChatPanel.RFD5GGYI.css +1 -0
  189. package/dist/web/_app/immutable/assets/editor.CPAf2SRV.css +1 -0
  190. package/dist/web/_app/immutable/chunks/3_5VIr68.js +1 -0
  191. package/dist/web/_app/immutable/chunks/4QY4j-jX.js +1 -0
  192. package/dist/web/_app/immutable/chunks/BB_5th5W.js +3383 -0
  193. package/dist/web/_app/immutable/chunks/BButMJ6M.js +1 -0
  194. package/dist/web/_app/immutable/chunks/BiubvAUI.js +2 -0
  195. package/dist/web/_app/immutable/chunks/CAXuTUkp.js +1 -0
  196. package/dist/web/_app/immutable/chunks/CQENNNNl.js +6 -0
  197. package/dist/web/_app/immutable/chunks/CUzqHQY_.js +1 -0
  198. package/dist/web/_app/immutable/chunks/CV8ganSj.js +23 -0
  199. package/dist/web/_app/immutable/chunks/CYrVHOHA.js +1 -0
  200. package/dist/web/_app/immutable/chunks/CqkleIqs.js +1 -0
  201. package/dist/web/_app/immutable/chunks/DKyztuK9.js +1 -0
  202. package/dist/web/_app/immutable/chunks/DdNsM6oV.js +64 -0
  203. package/dist/web/_app/immutable/chunks/Dh_H7Owr.js +18 -0
  204. package/dist/web/_app/immutable/chunks/DnlgZ_Tk.js +5 -0
  205. package/dist/web/_app/immutable/chunks/DtVH--hH.js +6 -0
  206. package/dist/web/_app/immutable/chunks/F20aIBpJ.js +1 -0
  207. package/dist/web/_app/immutable/chunks/PPVm8Dsz.js +1 -0
  208. package/dist/web/_app/immutable/chunks/WSUKABI_.js +1 -0
  209. package/dist/web/_app/immutable/chunks/YFT1281h.js +2 -0
  210. package/dist/web/_app/immutable/chunks/aosHekRC.js +1 -0
  211. package/dist/web/_app/immutable/chunks/fwnBoL5x.js +1 -0
  212. package/dist/web/_app/immutable/chunks/hHxe9oXh.js +1 -0
  213. package/dist/web/_app/immutable/entry/app.BFVUP2fV.js +2 -0
  214. package/dist/web/_app/immutable/entry/start.BqsXHYP6.js +1 -0
  215. package/dist/web/_app/immutable/nodes/0.DQ5KdeNU.js +1 -0
  216. package/dist/web/_app/immutable/nodes/1.DwnzyOvm.js +1 -0
  217. package/dist/web/_app/immutable/nodes/2.FZxrWJeh.js +1 -0
  218. package/dist/web/_app/immutable/nodes/3.CQVWlbKr.js +1 -0
  219. package/dist/web/_app/immutable/nodes/4.CEh40Z_h.js +16 -0
  220. package/dist/web/_app/immutable/nodes/5.D_QsCLEf.js +4 -0
  221. package/dist/web/_app/immutable/nodes/6.CndEQ0o5.js +2 -0
  222. package/dist/web/_app/version.json +1 -0
  223. package/dist/web/index.html +43 -0
  224. package/package.json +21 -3
  225. package/dist/agent/skills/bundled/enrich-entities.md +0 -124
  226. package/dist/agent/skills/bundled/gather-context.md +0 -46
@@ -6,9 +6,9 @@
6
6
  */
7
7
  import { join } from 'path';
8
8
  import { existsSync, readdirSync, mkdirSync, readFileSync, appendFileSync, writeFileSync } from 'fs';
9
+ import { execSync } from 'child_process';
9
10
  import { homedir } from 'os';
10
11
  import { BaseGraphManager } from './graph.js';
11
- import { PermissionError } from './types.js';
12
12
  import { ENTITY_SCHEMAS } from './validation.js';
13
13
  import { VectorService } from '../services/vector-service.js';
14
14
  import { loadUserConfig } from './user-config.js';
@@ -17,16 +17,13 @@ export class WorkspaceManager {
17
17
  workspacePath;
18
18
  config;
19
19
  graphs;
20
- privateGraph;
21
20
  gitUser;
22
- user;
23
21
  vectorService;
24
22
  schemaRegistry;
25
- constructor(workspacePath, config, gitUser, user) {
23
+ constructor(workspacePath, config, gitUser) {
26
24
  this.workspacePath = workspacePath;
27
25
  this.config = config;
28
26
  this.gitUser = gitUser;
29
- this.user = user;
30
27
  this.graphs = new Map();
31
28
  // Build SchemaRegistry from workspace config extensions (empty if none defined)
32
29
  this.schemaRegistry = new SchemaRegistry(config.schema_extensions);
@@ -34,10 +31,8 @@ export class WorkspaceManager {
34
31
  const userConfig = loadUserConfig();
35
32
  const dbPath = userConfig.vector_db_path || join(homedir(), '.studiograph', 'vector');
36
33
  this.vectorService = new VectorService(dbPath, userConfig.voyage_api_key);
37
- // Initialize graph managers for all repos
34
+ // Initialize graph managers for all repos (including private)
38
35
  this.initializeGraphs();
39
- // Initialize private graph (gitignored, local-only)
40
- this.initializePrivateGraph();
41
36
  }
42
37
  /**
43
38
  * Get the workspace SchemaRegistry (includes custom extension types and field defs)
@@ -45,130 +40,168 @@ export class WorkspaceManager {
45
40
  getSchemaRegistry() {
46
41
  return this.schemaRegistry;
47
42
  }
43
+ /**
44
+ * Check if a repo is private (local-only, excluded from push/pull)
45
+ */
46
+ isPrivateRepo(repoName) {
47
+ const repoConfig = this.getRepoConfig(repoName);
48
+ return repoConfig?.private === true;
49
+ }
50
+ /**
51
+ * Ensure a private collection's directory exists and is gitignored.
52
+ */
53
+ ensurePrivateRepo(repo) {
54
+ const repoPath = join(this.workspacePath, repo.path);
55
+ // Create directory if missing
56
+ if (!existsSync(repoPath)) {
57
+ mkdirSync(repoPath, { recursive: true });
58
+ }
59
+ // Ensure workspace root .gitignore includes this private path
60
+ const gitignorePath = join(this.workspacePath, '.gitignore');
61
+ const entry = `${repo.path}/`;
62
+ if (existsSync(gitignorePath)) {
63
+ const content = readFileSync(gitignorePath, 'utf-8');
64
+ if (!content.split('\n').some(line => line.trim() === entry)) {
65
+ appendFileSync(gitignorePath, `\n${entry}\n`);
66
+ }
67
+ }
68
+ else {
69
+ writeFileSync(gitignorePath, `${entry}\n`);
70
+ }
71
+ // Make initial commit if the private repo has no commits yet
72
+ try {
73
+ execSync('git rev-parse HEAD', { cwd: repoPath, stdio: 'pipe' });
74
+ }
75
+ catch {
76
+ try {
77
+ execSync('git add -A && git commit -m "Initialize private"', { cwd: repoPath, stdio: 'pipe' });
78
+ }
79
+ catch { /* non-fatal */ }
80
+ }
81
+ }
48
82
  /**
49
83
  * Initialize graph managers for all configured repos
50
84
  */
51
85
  initializeGraphs() {
52
86
  for (const repo of this.config.repos) {
87
+ // Private repos: ensure directory + gitignore, skip on Railway
88
+ if (repo.private) {
89
+ if (process.env.STUDIOGRAPH_CONFIG_REPO)
90
+ continue;
91
+ this.ensurePrivateRepo(repo);
92
+ }
53
93
  const repoPath = join(this.workspacePath, repo.path);
54
94
  if (!existsSync(repoPath)) {
55
95
  console.warn(`Repository path does not exist: ${repoPath} (skipping)`);
56
96
  continue;
57
97
  }
58
- // Determine asset config
98
+ // Private repos get no assets or vector service
59
99
  let assetConfig;
60
- if (this.config.r2_config?.account_id && this.config.r2_config?.bucket) {
61
- // Use R2 for production - map snake_case to camelCase
62
- assetConfig = {
63
- storage: 'r2',
64
- r2Config: {
65
- accountId: this.config.r2_config.account_id,
66
- bucket: this.config.r2_config.bucket,
67
- publicUrl: this.config.r2_config.public_url,
68
- accessKeyId: this.config.r2_config.access_key_id,
69
- secretAccessKey: this.config.r2_config.secret_access_key,
70
- },
71
- };
72
- }
73
- else {
74
- // Use local storage for development
75
- assetConfig = {
76
- storage: 'local',
77
- localPath: join(this.workspacePath, '.studiograph', 'assets'),
78
- };
100
+ if (!repo.private) {
101
+ if (this.config.r2_config?.account_id && this.config.r2_config?.bucket) {
102
+ const uc = loadUserConfig();
103
+ assetConfig = {
104
+ storage: 'r2',
105
+ r2Config: {
106
+ accountId: this.config.r2_config.account_id,
107
+ bucket: this.config.r2_config.bucket,
108
+ publicUrl: this.config.r2_config.public_url,
109
+ accessKeyId: this.config.r2_config.access_key_id
110
+ || uc.r2?.access_key_id
111
+ || process.env.R2_ACCESS_KEY_ID || '',
112
+ secretAccessKey: this.config.r2_config.secret_access_key
113
+ || uc.r2?.secret_access_key
114
+ || process.env.R2_SECRET_ACCESS_KEY || '',
115
+ },
116
+ };
117
+ }
118
+ else {
119
+ assetConfig = {
120
+ storage: 'local',
121
+ localPath: join(this.workspacePath, '.studiograph', 'assets'),
122
+ };
123
+ }
79
124
  }
80
- // Create graph manager
81
125
  const graph = new BaseGraphManager({
82
126
  repoPath,
83
127
  repoName: repo.name,
84
128
  assetConfig,
85
129
  gitUser: this.gitUser,
86
- vectorService: this.vectorService,
130
+ vectorService: repo.private ? undefined : this.vectorService,
87
131
  schemaRegistry: this.schemaRegistry,
88
132
  });
89
133
  this.graphs.set(repo.name, graph);
90
134
  }
91
135
  }
92
136
  /**
93
- * Initialize the private graph at {workspace}/private/.
94
- * Files are never committed to git noGit: true skips all git operations.
95
- * A private/ entry is added to the workspace root .gitignore for safety.
137
+ * Re-read workspace.json and initialize graphs for any newly added collections.
138
+ * Called after creating a collection so the workspace manager picks it up
139
+ * without a full server restart.
96
140
  */
97
- initializePrivateGraph() {
98
- const privatePath = join(this.workspacePath, 'private');
99
- // Create private/ directory if it doesn't exist
100
- if (!existsSync(privatePath)) {
101
- mkdirSync(privatePath, { recursive: true });
102
- }
103
- // Ensure workspace root .gitignore includes private/
104
- const gitignorePath = join(this.workspacePath, '.gitignore');
105
- const entry = 'private/';
106
- if (existsSync(gitignorePath)) {
107
- const content = readFileSync(gitignorePath, 'utf-8');
108
- if (!content.split('\n').some(line => line.trim() === entry)) {
109
- appendFileSync(gitignorePath, `\n${entry}\n`);
110
- }
141
+ reloadConfig() {
142
+ const configPath = join(this.workspacePath, '.studiograph', 'workspace.json');
143
+ if (!existsSync(configPath))
144
+ return;
145
+ const raw = JSON.parse(readFileSync(configPath, 'utf-8'));
146
+ this.config = raw;
147
+ const configRepoNames = new Set(this.config.repos.map(r => r.name));
148
+ // Remove graphs for deleted repos
149
+ for (const name of this.graphs.keys()) {
150
+ if (!configRepoNames.has(name))
151
+ this.graphs.delete(name);
111
152
  }
112
- else {
113
- writeFileSync(gitignorePath, `${entry}\n`);
114
- }
115
- this.privateGraph = new BaseGraphManager({
116
- repoPath: privatePath,
117
- repoName: 'private',
118
- gitUser: this.gitUser,
119
- noGit: true,
120
- schemaRegistry: this.schemaRegistry,
121
- // No assetConfig or vectorService — private files stay local
122
- });
123
- }
124
- /**
125
- * Get the private graph manager (local-only, never committed)
126
- */
127
- getPrivateGraph() {
128
- if (!this.privateGraph) {
129
- throw new Error('Private workspace not initialized');
153
+ // Initialize graphs for repos we don't already have
154
+ for (const repo of this.config.repos) {
155
+ if (this.graphs.has(repo.name))
156
+ continue;
157
+ if (repo.private && process.env.STUDIOGRAPH_CONFIG_REPO)
158
+ continue;
159
+ if (repo.private)
160
+ this.ensurePrivateRepo(repo);
161
+ const repoPath = join(this.workspacePath, repo.path);
162
+ if (!existsSync(repoPath))
163
+ continue;
164
+ const graph = new BaseGraphManager({
165
+ repoPath,
166
+ repoName: repo.name,
167
+ gitUser: this.gitUser,
168
+ vectorService: repo.private ? undefined : this.vectorService,
169
+ schemaRegistry: this.schemaRegistry,
170
+ });
171
+ this.graphs.set(repo.name, graph);
130
172
  }
131
- return this.privateGraph;
132
173
  }
133
174
  /**
134
- * Check if user has access to a repository
175
+ * Resolve which app registers a given entity type.
176
+ * Scans entity-types.json from each installed app in .studiograph/apps/.
177
+ * Returns the app name if found, null otherwise.
135
178
  */
136
- canAccessRepo(repoName) {
137
- const repoConfig = this.getRepoConfig(repoName);
138
- if (!repoConfig) {
139
- return false;
140
- }
141
- const userRole = this.user.role || 'guest';
142
- const repoAccess = repoConfig.access || 'team';
143
- // Admin users can access all repos
144
- if (userRole === 'admin') {
145
- return true;
146
- }
147
- // Check access based on repo access level
148
- switch (repoAccess) {
149
- case 'public':
150
- return true; // All users can access public repos
151
- case 'team':
152
- return userRole === 'member'; // admin already returned true above
153
- case 'admin':
154
- return false; // only admins can access, and they already returned true above
155
- case 'restricted':
156
- return false; // only admins can access, and they already returned true above
157
- default:
158
- return false;
179
+ getAppForEntityType(entityType) {
180
+ const appsDir = join(this.workspacePath, '.studiograph', 'apps');
181
+ try {
182
+ if (!existsSync(appsDir))
183
+ return null;
184
+ for (const entry of readdirSync(appsDir, { withFileTypes: true })) {
185
+ if (!entry.isDirectory())
186
+ continue;
187
+ const etPath = join(appsDir, entry.name, 'entity-types.json');
188
+ try {
189
+ if (existsSync(etPath)) {
190
+ const raw = JSON.parse(readFileSync(etPath, 'utf-8'));
191
+ if (Array.isArray(raw) && raw.some((item) => item.name === entityType))
192
+ return entry.name;
193
+ }
194
+ }
195
+ catch { /* skip malformed config */ }
196
+ }
159
197
  }
198
+ catch { /* apps dir may not exist */ }
199
+ return null;
160
200
  }
161
201
  /**
162
202
  * Get graph manager for a specific repo
163
- * @throws PermissionError if user lacks access to repo
164
203
  */
165
204
  getGraph(repoName) {
166
- if (repoName === 'private') {
167
- return this.getPrivateGraph();
168
- }
169
- if (!this.canAccessRepo(repoName)) {
170
- throw new PermissionError(`Access denied to repository: ${repoName}`);
171
- }
172
205
  const graph = this.graphs.get(repoName);
173
206
  if (!graph) {
174
207
  throw new Error(`Repository not found: ${repoName}`);
@@ -176,10 +209,10 @@ export class WorkspaceManager {
176
209
  return graph;
177
210
  }
178
211
  /**
179
- * Get all repository names (filtered by user access)
212
+ * Get all repository names
180
213
  */
181
214
  getRepoNames() {
182
- return Array.from(this.graphs.keys()).filter(repoName => this.canAccessRepo(repoName));
215
+ return Array.from(this.graphs.keys());
183
216
  }
184
217
  /**
185
218
  * Get repository configuration
@@ -188,19 +221,17 @@ export class WorkspaceManager {
188
221
  return this.config.repos.find(r => r.name === repoName);
189
222
  }
190
223
  /**
191
- * Get all repository configurations (filtered by user access)
224
+ * Get all repository configurations
192
225
  */
193
226
  getAllRepoConfigs() {
194
- return this.config.repos.filter(repo => this.canAccessRepo(repo.name));
227
+ return this.config.repos;
195
228
  }
196
229
  /**
197
- * Search across all repositories (filtered by user access).
230
+ * Search across all repositories.
198
231
  * Uses LanceDB vector/FTS search when available, keyword search as fallback.
199
232
  */
200
233
  async search(options) {
201
- const requestedRepos = options.repoNames || this.getRepoNames();
202
- // "private" is allowed explicitly; all others go through canAccessRepo
203
- const reposToSearch = requestedRepos.filter(repoName => repoName === 'private' || this.canAccessRepo(repoName));
234
+ const reposToSearch = options.repoNames || this.getRepoNames();
204
235
  // Vector/FTS path: use LanceDB when a text query is present
205
236
  if (options.query && this.vectorService) {
206
237
  try {
@@ -238,7 +269,7 @@ export class WorkspaceManager {
238
269
  keywordSearch(options, reposToSearch) {
239
270
  const results = [];
240
271
  for (const repoName of reposToSearch) {
241
- const graph = repoName === 'private' ? this.privateGraph : this.graphs.get(repoName);
272
+ const graph = this.graphs.get(repoName);
242
273
  if (!graph)
243
274
  continue;
244
275
  try {
@@ -257,15 +288,11 @@ export class WorkspaceManager {
257
288
  return results;
258
289
  }
259
290
  /**
260
- * List entities across all repositories (filtered by user access)
291
+ * List entities across all repositories
261
292
  */
262
293
  list(entityType, limit) {
263
294
  const results = [];
264
295
  for (const [repoName, graph] of this.graphs) {
265
- // Skip repos the user can't access
266
- if (!this.canAccessRepo(repoName)) {
267
- continue;
268
- }
269
296
  try {
270
297
  const entities = graph.list(entityType);
271
298
  for (const entity of entities) {
@@ -286,14 +313,10 @@ export class WorkspaceManager {
286
313
  return results;
287
314
  }
288
315
  /**
289
- * Find entity across all repositories (filtered by user access)
316
+ * Find entity across all repositories
290
317
  */
291
318
  findEntity(entityType, entityId) {
292
319
  for (const [repoName, graph] of this.graphs) {
293
- // Skip repos the user can't access
294
- if (!this.canAccessRepo(repoName)) {
295
- continue;
296
- }
297
320
  try {
298
321
  const entity = graph.get(entityType, entityId);
299
322
  return {
@@ -308,22 +331,38 @@ export class WorkspaceManager {
308
331
  return null;
309
332
  }
310
333
  /**
311
- * Validate wikilinks across all repositories (filtered by user access)
312
- * @throws PermissionError if user lacks access to source repo
334
+ * Find entity by ID across all repositories, regardless of entity type.
335
+ * Used for workspace-level deduplication checks.
336
+ */
337
+ findEntityById(entityId) {
338
+ for (const [repoName, graph] of this.graphs) {
339
+ try {
340
+ const all = graph.list();
341
+ const match = all.find(e => e.data?.entity_id === entityId);
342
+ if (match)
343
+ return { ...match, repoName };
344
+ }
345
+ catch {
346
+ // continue
347
+ }
348
+ }
349
+ return null;
350
+ }
351
+ /**
352
+ * Validate wikilinks across all repositories
313
353
  */
314
354
  validateWikilinks(repoName, entityType, entityId) {
315
- const graph = this.getGraph(repoName); // Checks access
355
+ const graph = this.getGraph(repoName);
316
356
  const entity = graph.get(entityType, entityId);
317
357
  const valid = [];
318
358
  const broken = [];
319
359
  const crossRepo = [];
320
- const inaccessible = [];
321
360
  for (const link of entity.document.wikilinks) {
322
361
  let foundInSameRepo = false;
323
362
  let foundInOtherRepo = false;
324
- // First, check in the same repo
325
363
  // Try all entity types since wikilinks don't specify type
326
364
  const allTypes = Object.keys(ENTITY_SCHEMAS);
365
+ // Check in the same repo first
327
366
  for (const searchType of allTypes) {
328
367
  try {
329
368
  graph.get(searchType, link);
@@ -335,17 +374,11 @@ export class WorkspaceManager {
335
374
  // Not this type, continue
336
375
  }
337
376
  }
338
- // If not found in same repo, search other repos (only accessible ones)
377
+ // If not found in same repo, search other repos
339
378
  if (!foundInSameRepo) {
340
- // First pass: Search accessible repos
341
379
  for (const [otherRepoName, otherGraph] of this.graphs) {
342
- if (otherRepoName === repoName) {
343
- continue; // Already checked this repo
344
- }
345
- // Skip repos the user can't access (check them in second pass)
346
- if (!this.canAccessRepo(otherRepoName)) {
380
+ if (otherRepoName === repoName)
347
381
  continue;
348
- }
349
382
  for (const searchType of allTypes) {
350
383
  try {
351
384
  otherGraph.get(searchType, link);
@@ -357,65 +390,25 @@ export class WorkspaceManager {
357
390
  // Not this type, continue
358
391
  }
359
392
  }
360
- if (foundInOtherRepo) {
361
- break; // Found it, stop searching repos
362
- }
393
+ if (foundInOtherRepo)
394
+ break;
363
395
  }
364
- // If not found in accessible repos, check inaccessible repos
365
396
  if (!foundInOtherRepo) {
366
- let foundInInaccessibleRepo = false;
367
- for (const [otherRepoName, otherGraph] of this.graphs) {
368
- if (otherRepoName === repoName) {
369
- continue; // Already checked this repo
370
- }
371
- // Only check repos the user can't access
372
- if (this.canAccessRepo(otherRepoName)) {
373
- continue; // Already checked in first pass
374
- }
375
- for (const searchType of allTypes) {
376
- try {
377
- otherGraph.get(searchType, link);
378
- const repoConfig = this.getRepoConfig(otherRepoName);
379
- inaccessible.push({
380
- link,
381
- repo: otherRepoName,
382
- requiredAccess: repoConfig?.access || 'team',
383
- });
384
- foundInInaccessibleRepo = true;
385
- break;
386
- }
387
- catch {
388
- // Not this type, continue
389
- }
390
- }
391
- if (foundInInaccessibleRepo) {
392
- break; // Found it, stop searching repos
393
- }
394
- }
395
- // Only mark as broken if not found anywhere (including inaccessible repos)
396
- if (!foundInInaccessibleRepo) {
397
- broken.push(link);
398
- }
397
+ broken.push(link);
399
398
  }
400
399
  }
401
400
  }
402
- return { valid, broken, crossRepo, inaccessible };
401
+ return { valid, broken, crossRepo };
403
402
  }
404
403
  /**
405
- * Get entities related to a given entity (cross-repo, filtered by user access)
406
- * @throws PermissionError if user lacks access to source repo
404
+ * Get entities related to a given entity (cross-repo)
407
405
  */
408
406
  getRelated(repoName, entityType, entityId) {
409
- const graph = this.getGraph(repoName); // Checks access
407
+ const graph = this.getGraph(repoName);
410
408
  const entity = graph.get(entityType, entityId);
411
409
  const results = [];
412
- // Search for wikilinked entities across all repos (only accessible ones)
413
410
  for (const link of entity.document.wikilinks) {
414
411
  for (const [searchRepoName, searchGraph] of this.graphs) {
415
- // Skip repos the user can't access
416
- if (!this.canAccessRepo(searchRepoName)) {
417
- continue;
418
- }
419
412
  try {
420
413
  // Try to find entity in this repo
421
414
  const allTypes = Object.keys(ENTITY_SCHEMAS);
@@ -441,15 +434,11 @@ export class WorkspaceManager {
441
434
  return results;
442
435
  }
443
436
  /**
444
- * Get backlinks across all repositories (filtered by user access)
437
+ * Get backlinks across all repositories
445
438
  */
446
439
  getBacklinks(repoName, entityType, entityId) {
447
440
  const results = [];
448
441
  for (const [searchRepoName, searchGraph] of this.graphs) {
449
- // Skip repos the user can't access
450
- if (!this.canAccessRepo(searchRepoName)) {
451
- continue;
452
- }
453
442
  try {
454
443
  const backlinks = searchGraph.getBacklinks(entityType, entityId);
455
444
  for (const backlink of backlinks) {
@@ -466,7 +455,7 @@ export class WorkspaceManager {
466
455
  return results;
467
456
  }
468
457
  /**
469
- * Get workspace summary statistics (filtered by user access)
458
+ * Get workspace summary statistics
470
459
  */
471
460
  getSummary() {
472
461
  const summary = {
@@ -476,10 +465,6 @@ export class WorkspaceManager {
476
465
  entitiesByRepo: {},
477
466
  };
478
467
  for (const [repoName, graph] of this.graphs) {
479
- // Skip repos the user can't access
480
- if (!this.canAccessRepo(repoName)) {
481
- continue;
482
- }
483
468
  summary.totalRepos++;
484
469
  const entities = graph.list();
485
470
  summary.totalEntities += entities.length;
@@ -510,7 +495,7 @@ export class WorkspaceManager {
510
495
  // Check for .studiograph marker directory
511
496
  if (existsSync(markerPath)) {
512
497
  // Infer type from directory name patterns
513
- let type = 'shared-resource'; // Default
498
+ let type = 'resource'; // Default
514
499
  if (entry.name.includes('project') || entry.name.match(/^[a-z]+-[a-z]+$/)) {
515
500
  type = 'project';
516
501
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-manager.js","sourceRoot":"","sources":["../../src/core/workspace-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAY,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACrG,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAA4D,MAAM,YAAY,CAAC;AACxG,OAAO,EAAqC,eAAe,EAAE,MAAM,YAAY,CAAC;AAEhF,OAAO,EAAc,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAUtD,MAAM,OAAO,gBAAgB;IACnB,aAAa,CAAS;IACtB,MAAM,CAAkB;IACxB,MAAM,CAAgC;IACtC,YAAY,CAAoB;IAChC,OAAO,CAAU;IACjB,IAAI,CAAO;IACnB,aAAa,CAAiB;IACtB,cAAc,CAAiB;IAEvC,YAAY,aAAqB,EAAE,MAAuB,EAAE,OAAgB,EAAE,IAAU;QACtF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QAExB,gFAAgF;QAChF,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAEnE,uEAAuE;QACvE,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,UAAU,CAAC,cAAc,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;QACtF,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;QAE1E,0CAA0C;QAC1C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,oDAAoD;QACpD,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAErD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,mCAAmC,QAAQ,aAAa,CAAC,CAAC;gBACvE,SAAS;YACX,CAAC;YAED,yBAAyB;YACzB,IAAI,WAAoC,CAAC;YAEzC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;gBACvE,sDAAsD;gBACtD,WAAW,GAAG;oBACZ,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE;wBACR,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAW;wBAC5C,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAO;wBACrC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAW;wBAC5C,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAc;wBACjD,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAkB;qBAC1D;iBACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,oCAAoC;gBACpC,WAAW,GAAG;oBACZ,OAAO,EAAE,OAAO;oBAChB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,QAAQ,CAAC;iBAC9D,CAAC;YACJ,CAAC;YAED,uBAAuB;YACvB,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC;gBACjC,QAAQ;gBACR,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,WAAW;gBACX,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,cAAc,EAAE,IAAI,CAAC,cAAc;aACpC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,sBAAsB;QAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAExD,gDAAgD;QAChD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,qDAAqD;QACrD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,UAAU,CAAC;QACzB,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC;gBAC7D,cAAc,CAAC,aAAa,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,aAAa,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,gBAAgB,CAAC;YACvC,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI;YACX,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,6DAA6D;SAC9D,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,QAAgB;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC;QAC3C,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,IAAI,MAAM,CAAC;QAE/C,mCAAmC;QACnC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,0CAA0C;QAC1C,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,CAAC,oCAAoC;YACnD,KAAK,MAAM;gBACT,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,oCAAoC;YACpE,KAAK,OAAO;gBACV,OAAO,KAAK,CAAC,CAAC,+DAA+D;YAC/E,KAAK,YAAY;gBACf,OAAO,KAAK,CAAC,CAAC,+DAA+D;YAC/E;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,QAAgB;QACvB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,eAAe,CAAC,gCAAgC,QAAQ,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzF,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAgB;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,OAA+B;QAC1C,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QAChE,uEAAuE;QACvE,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CACrD,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CACvD,CAAC;QAEF,4DAA4D;QAC5D,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE;oBACnE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;oBAC1B,KAAK,EAAE,aAAa;iBACrB,CAAC,CAAC;gBAEH,MAAM,OAAO,GAA0B,EAAE,CAAC;gBAC1C,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;oBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;oBAC3C,IAAI,CAAC,KAAK;wBAAE,SAAS;oBACrB,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,UAAiB,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;wBAC5D,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACrD,CAAC;oBAAC,MAAM,CAAC;wBACP,gDAAgD;oBAClD,CAAC;gBACH,CAAC;gBAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,OAAO,CAAC;gBACvC,iFAAiF;YACnF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,kDAAkD,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,OAA+B,EAAE,aAAuB;QAC5E,MAAM,OAAO,GAA0B,EAAE,CAAC;QAE1C,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrF,IAAI,CAAC,KAAK;gBAAE,SAAS;YAErB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACvC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;oBAC9B,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,wBAAwB,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,UAAuB,EAAE,KAAc;QAC1C,MAAM,OAAO,GAA0B,EAAE,CAAC;QAE1C,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5C,mCAAmC;YACnC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAExC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;oBAC9B,OAAO,CAAC,IAAI,CAAC;wBACX,GAAG,MAAM;wBACT,QAAQ;qBACT,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,kCAAkC,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,cAAc;QACd,IAAI,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,UAAsB,EAAE,QAAgB;QACjD,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5C,mCAAmC;YACnC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAC/C,OAAO;oBACL,GAAG,MAAM;oBACT,QAAQ;iBACT,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,oDAAoD;YACtD,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,QAAgB,EAAE,UAAsB,EAAE,QAAgB;QAM1E,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB;QACvD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAE/C,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,SAAS,GAA0C,EAAE,CAAC;QAC5D,MAAM,YAAY,GAAkE,EAAE,CAAC;QAEvF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC7C,IAAI,eAAe,GAAG,KAAK,CAAC;YAC5B,IAAI,gBAAgB,GAAG,KAAK,CAAC;YAE7B,gCAAgC;YAChC,0DAA0D;YAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAiB,CAAC;YAE7D,KAAK,MAAM,UAAU,IAAI,QAAQ,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACH,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBAC5B,eAAe,GAAG,IAAI,CAAC;oBACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjB,MAAM;gBACR,CAAC;gBAAC,MAAM,CAAC;oBACP,0BAA0B;gBAC5B,CAAC;YACH,CAAC;YAED,uEAAuE;YACvE,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,sCAAsC;gBACtC,KAAK,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACtD,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;wBAC/B,SAAS,CAAC,4BAA4B;oBACxC,CAAC;oBAED,+DAA+D;oBAC/D,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;wBACvC,SAAS;oBACX,CAAC;oBAED,KAAK,MAAM,UAAU,IAAI,QAAQ,EAAE,CAAC;wBAClC,IAAI,CAAC;4BACH,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;4BACjC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;4BAC9C,gBAAgB,GAAG,IAAI,CAAC;4BACxB,MAAM;wBACR,CAAC;wBAAC,MAAM,CAAC;4BACP,0BAA0B;wBAC5B,CAAC;oBACH,CAAC;oBAED,IAAI,gBAAgB,EAAE,CAAC;wBACrB,MAAM,CAAC,iCAAiC;oBAC1C,CAAC;gBACH,CAAC;gBAED,6DAA6D;gBAC7D,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,IAAI,uBAAuB,GAAG,KAAK,CAAC;oBAEpC,KAAK,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;wBACtD,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;4BAC/B,SAAS,CAAC,4BAA4B;wBACxC,CAAC;wBAED,yCAAyC;wBACzC,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;4BACtC,SAAS,CAAC,gCAAgC;wBAC5C,CAAC;wBAED,KAAK,MAAM,UAAU,IAAI,QAAQ,EAAE,CAAC;4BAClC,IAAI,CAAC;gCACH,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gCACjC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;gCACrD,YAAY,CAAC,IAAI,CAAC;oCAChB,IAAI;oCACJ,IAAI,EAAE,aAAa;oCACnB,cAAc,EAAE,UAAU,EAAE,MAAM,IAAI,MAAM;iCAC7C,CAAC,CAAC;gCACH,uBAAuB,GAAG,IAAI,CAAC;gCAC/B,MAAM;4BACR,CAAC;4BAAC,MAAM,CAAC;gCACP,0BAA0B;4BAC5B,CAAC;wBACH,CAAC;wBAED,IAAI,uBAAuB,EAAE,CAAC;4BAC5B,MAAM,CAAC,iCAAiC;wBAC1C,CAAC;oBACH,CAAC;oBAED,2EAA2E;oBAC3E,IAAI,CAAC,uBAAuB,EAAE,CAAC;wBAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,QAAgB,EAAE,UAAsB,EAAE,QAAgB;QACnE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB;QACvD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC/C,MAAM,OAAO,GAA0B,EAAE,CAAC;QAE1C,yEAAyE;QACzE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC7C,KAAK,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACxD,mCAAmC;gBACnC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC;oBACxC,SAAS;gBACX,CAAC;gBAED,IAAI,CAAC;oBACH,kCAAkC;oBAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAiB,CAAC;oBAE7D,KAAK,MAAM,UAAU,IAAI,QAAQ,EAAE,CAAC;wBAClC,IAAI,CAAC;4BACH,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;4BACvD,OAAO,CAAC,IAAI,CAAC;gCACX,GAAG,YAAY;gCACf,QAAQ,EAAE,cAAc;6BACzB,CAAC,CAAC;4BACH,MAAM,CAAC,iCAAiC;wBAC1C,CAAC;wBAAC,MAAM,CAAC;4BACP,0BAA0B;wBAC5B,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,gCAAgC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,QAAgB,EAAE,UAAsB,EAAE,QAAgB;QACrE,MAAM,OAAO,GAA0B,EAAE,CAAC;QAE1C,KAAK,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACxD,mCAAmC;YACnC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC;gBACxC,SAAS;YACX,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAEjE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBACjC,OAAO,CAAC,IAAI,CAAC;wBACX,GAAG,QAAQ;wBACX,QAAQ,EAAE,cAAc;qBACzB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,qCAAqC,cAAc,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,UAAU;QAMR,MAAM,OAAO,GAAG;YACd,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;YAChB,cAAc,EAAE,EAA4B;YAC5C,cAAc,EAAE,EAA4B;SAC7C,CAAC;QAEF,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5C,mCAAmC;YACnC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,SAAS;YACX,CAAC;YAED,OAAO,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO,CAAC,aAAa,IAAI,QAAQ,CAAC,MAAM,CAAC;YACzC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;YAEnD,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;gBAC/B,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,aAAqB;QACxC,MAAM,UAAU,GAAwD,EAAE,CAAC;QAE3E,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/B,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,gCAAgC;QAChC,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAEnD,0CAA0C;YAC1C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3B,0CAA0C;gBAC1C,IAAI,IAAI,GAAG,iBAAiB,CAAC,CAAC,UAAU;gBAExC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBAC1E,IAAI,GAAG,SAAS,CAAC;gBACnB,CAAC;qBAAM,IACL,CAAC,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAClF,CAAC;oBACD,IAAI,GAAG,UAAU,CAAC;gBACpB,CAAC;gBAED,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;CACF"}
1
+ {"version":3,"file":"workspace-manager.js","sourceRoot":"","sources":["../../src/core/workspace-manager.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,6 @@ export interface TeamMember {
12
12
  id: string;
13
13
  name: string;
14
14
  email: string;
15
- role: 'admin' | 'member' | 'guest';
16
15
  github_username?: string;
17
16
  joined_at?: string;
18
17
  active?: boolean;
@@ -70,10 +69,6 @@ export declare class Workspace {
70
69
  * Generate README content for a repo
71
70
  */
72
71
  private generateRepoReadme;
73
- /**
74
- * Get guidance text for a repo type
75
- */
76
- private getRepoTypeGuidance;
77
72
  /**
78
73
  * Register a new repo in the workspace
79
74
  */