studiograph 1.1.3 → 1.2.0-beta.2

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 (275) hide show
  1. package/README.md +2 -8
  2. package/dist/agent/orchestrator.js +56 -11
  3. package/dist/agent/orchestrator.js.map +1 -1
  4. package/dist/agent/prompts/system.md +28 -10
  5. package/dist/agent/skill-loader.d.ts +48 -0
  6. package/dist/agent/skill-loader.js +166 -0
  7. package/dist/agent/skill-loader.js.map +1 -0
  8. package/dist/agent/skills/{bundled/enrich-entities.md → enrich-entities.md} +12 -0
  9. package/dist/agent/skills/entity-schema.md +502 -0
  10. package/dist/agent/skills/obsidian-source-setup.md +246 -0
  11. package/dist/agent/skills/sync-configuration.md +144 -0
  12. package/dist/agent/skills/sync-setup.md +68 -0
  13. package/dist/agent/tools/connector-tools.d.ts +37 -0
  14. package/dist/agent/tools/connector-tools.js +132 -0
  15. package/dist/agent/tools/connector-tools.js.map +1 -0
  16. package/dist/agent/tools/fs-tools.d.ts +39 -0
  17. package/dist/agent/tools/fs-tools.js +106 -0
  18. package/dist/agent/tools/fs-tools.js.map +1 -0
  19. package/dist/agent/tools/graph-tools.d.ts +11 -1
  20. package/dist/agent/tools/graph-tools.js +90 -29
  21. package/dist/agent/tools/graph-tools.js.map +1 -1
  22. package/dist/agent/tools/load-skill.d.ts +1 -1
  23. package/dist/agent/tools/load-skill.js +1 -1
  24. package/dist/agent/tools/load-skill.js.map +1 -1
  25. package/dist/agent/tools/sync-tools.d.ts +25 -0
  26. package/dist/agent/tools/sync-tools.js +691 -0
  27. package/dist/agent/tools/sync-tools.js.map +1 -0
  28. package/dist/auth/github.d.ts +11 -8
  29. package/dist/auth/github.js +56 -75
  30. package/dist/auth/github.js.map +1 -1
  31. package/dist/cli/colors.d.ts +54 -0
  32. package/dist/cli/colors.js +133 -0
  33. package/dist/cli/colors.js.map +1 -0
  34. package/dist/cli/commands/auth.d.ts +1 -1
  35. package/dist/cli/commands/auth.js +26 -10
  36. package/dist/cli/commands/auth.js.map +1 -1
  37. package/dist/cli/commands/clone.d.ts +9 -0
  38. package/dist/cli/commands/clone.js +167 -0
  39. package/dist/cli/commands/clone.js.map +1 -0
  40. package/dist/cli/commands/commit.d.ts +8 -0
  41. package/dist/cli/commands/commit.js +43 -0
  42. package/dist/cli/commands/commit.js.map +1 -0
  43. package/dist/cli/commands/connector.js +10 -2
  44. package/dist/cli/commands/connector.js.map +1 -1
  45. package/dist/cli/commands/deploy.d.ts +4 -6
  46. package/dist/cli/commands/deploy.js +262 -112
  47. package/dist/cli/commands/deploy.js.map +1 -1
  48. package/dist/cli/commands/enrich.d.ts +11 -0
  49. package/dist/cli/commands/enrich.js +135 -0
  50. package/dist/cli/commands/enrich.js.map +1 -0
  51. package/dist/cli/commands/graphrag.d.ts +12 -0
  52. package/dist/cli/commands/graphrag.js +122 -0
  53. package/dist/cli/commands/graphrag.js.map +1 -0
  54. package/dist/cli/commands/init.js +21 -203
  55. package/dist/cli/commands/init.js.map +1 -1
  56. package/dist/cli/commands/join.js +23 -3
  57. package/dist/cli/commands/join.js.map +1 -1
  58. package/dist/cli/commands/orphans.d.ts +8 -0
  59. package/dist/cli/commands/orphans.js +125 -0
  60. package/dist/cli/commands/orphans.js.map +1 -0
  61. package/dist/cli/commands/provision.js +11 -7
  62. package/dist/cli/commands/provision.js.map +1 -1
  63. package/dist/cli/commands/r2.js +8 -2
  64. package/dist/cli/commands/r2.js.map +1 -1
  65. package/dist/cli/commands/reset.d.ts +12 -0
  66. package/dist/cli/commands/reset.js +137 -0
  67. package/dist/cli/commands/reset.js.map +1 -0
  68. package/dist/cli/commands/review.d.ts +19 -0
  69. package/dist/cli/commands/review.js +128 -0
  70. package/dist/cli/commands/review.js.map +1 -0
  71. package/dist/cli/commands/source.d.ts +16 -0
  72. package/dist/cli/commands/source.js +159 -0
  73. package/dist/cli/commands/source.js.map +1 -0
  74. package/dist/cli/commands/start.js +285 -55
  75. package/dist/cli/commands/start.js.map +1 -1
  76. package/dist/cli/commands/sync-entities.d.ts +13 -0
  77. package/dist/cli/commands/sync-entities.js +242 -0
  78. package/dist/cli/commands/sync-entities.js.map +1 -0
  79. package/dist/cli/commands/sync.js +36 -5
  80. package/dist/cli/commands/sync.js.map +1 -1
  81. package/dist/cli/index.js +31 -0
  82. package/dist/cli/index.js.map +1 -1
  83. package/dist/cli/scaffolding.d.ts +2 -1
  84. package/dist/cli/scaffolding.js +36 -22
  85. package/dist/cli/scaffolding.js.map +1 -1
  86. package/dist/cli/setup-wizard.d.ts +30 -0
  87. package/dist/cli/setup-wizard.js +244 -0
  88. package/dist/cli/setup-wizard.js.map +1 -0
  89. package/dist/cli/sync-review-interactive.d.ts +31 -0
  90. package/dist/cli/sync-review-interactive.js +393 -0
  91. package/dist/cli/sync-review-interactive.js.map +1 -0
  92. package/dist/cli/theme.d.ts +31 -0
  93. package/dist/cli/theme.js +116 -0
  94. package/dist/cli/theme.js.map +1 -0
  95. package/dist/core/graph.d.ts +4 -8
  96. package/dist/core/graph.js +145 -96
  97. package/dist/core/graph.js.map +1 -1
  98. package/dist/core/migration-runner.d.ts +4 -1
  99. package/dist/core/migration-runner.js +14 -3
  100. package/dist/core/migration-runner.js.map +1 -1
  101. package/dist/core/types.d.ts +0 -3
  102. package/dist/core/types.js +0 -2
  103. package/dist/core/types.js.map +1 -1
  104. package/dist/core/user-config.d.ts +6 -0
  105. package/dist/core/user-config.js.map +1 -1
  106. package/dist/core/workspace.d.ts +13 -5
  107. package/dist/core/workspace.js +110 -33
  108. package/dist/core/workspace.js.map +1 -1
  109. package/dist/mcp/connector-manager.d.ts +7 -3
  110. package/dist/mcp/connector-manager.js +61 -16
  111. package/dist/mcp/connector-manager.js.map +1 -1
  112. package/dist/mcp/connectors/asana.d.ts +2 -0
  113. package/dist/mcp/connectors/asana.js +20 -0
  114. package/dist/mcp/connectors/asana.js.map +1 -0
  115. package/dist/mcp/connectors/definitions.d.ts +3 -1
  116. package/dist/mcp/connectors/definitions.js +19 -127
  117. package/dist/mcp/connectors/definitions.js.map +1 -1
  118. package/dist/mcp/connectors/figma.d.ts +5 -0
  119. package/dist/mcp/connectors/figma.js +21 -0
  120. package/dist/mcp/connectors/figma.js.map +1 -0
  121. package/dist/mcp/connectors/gdrive.d.ts +2 -0
  122. package/dist/mcp/connectors/gdrive.js +20 -0
  123. package/dist/mcp/connectors/gdrive.js.map +1 -0
  124. package/dist/mcp/connectors/granola.d.ts +2 -0
  125. package/dist/mcp/connectors/granola.js +12 -0
  126. package/dist/mcp/connectors/granola.js.map +1 -0
  127. package/dist/mcp/connectors/linear.d.ts +2 -0
  128. package/dist/mcp/connectors/linear.js +19 -0
  129. package/dist/mcp/connectors/linear.js.map +1 -0
  130. package/dist/mcp/connectors/obsidian.d.ts +2 -0
  131. package/dist/mcp/connectors/obsidian.js +19 -0
  132. package/dist/mcp/connectors/obsidian.js.map +1 -0
  133. package/dist/mcp/connectors/pipedrive.d.ts +2 -0
  134. package/dist/mcp/connectors/pipedrive.js +20 -0
  135. package/dist/mcp/connectors/pipedrive.js.map +1 -0
  136. package/dist/mcp/connectors/slack.d.ts +2 -0
  137. package/dist/mcp/connectors/slack.js +21 -0
  138. package/dist/mcp/connectors/slack.js.map +1 -0
  139. package/dist/mcp/oauth-provider.d.ts +41 -0
  140. package/dist/mcp/oauth-provider.js +160 -0
  141. package/dist/mcp/oauth-provider.js.map +1 -0
  142. package/dist/server/index.js +14 -9
  143. package/dist/server/index.js.map +1 -1
  144. package/dist/server/plugin-loader.d.ts +7 -0
  145. package/dist/server/plugin-loader.js +54 -2
  146. package/dist/server/plugin-loader.js.map +1 -1
  147. package/dist/services/github-provisioner.d.ts +8 -3
  148. package/dist/services/github-provisioner.js +35 -8
  149. package/dist/services/github-provisioner.js.map +1 -1
  150. package/dist/services/lint-service.js +8 -1
  151. package/dist/services/lint-service.js.map +1 -1
  152. package/dist/services/markdown.js +3 -3
  153. package/dist/services/markdown.js.map +1 -1
  154. package/dist/services/memory-service.d.ts +1 -1
  155. package/dist/services/memory-service.js +2 -3
  156. package/dist/services/memory-service.js.map +1 -1
  157. package/dist/services/orphan-service.d.ts +31 -0
  158. package/dist/services/orphan-service.js +100 -0
  159. package/dist/services/orphan-service.js.map +1 -0
  160. package/dist/services/sync/commit.d.ts +58 -0
  161. package/dist/services/sync/commit.js +354 -0
  162. package/dist/services/sync/commit.js.map +1 -0
  163. package/dist/services/sync/context-index.d.ts +69 -0
  164. package/dist/services/sync/context-index.js +280 -0
  165. package/dist/services/sync/context-index.js.map +1 -0
  166. package/dist/services/sync/derive.d.ts +34 -0
  167. package/dist/services/sync/derive.js +164 -0
  168. package/dist/services/sync/derive.js.map +1 -0
  169. package/dist/services/sync/enrichment-state.d.ts +31 -0
  170. package/dist/services/sync/enrichment-state.js +63 -0
  171. package/dist/services/sync/enrichment-state.js.map +1 -0
  172. package/dist/services/sync/enrichment.d.ts +25 -0
  173. package/dist/services/sync/enrichment.js +121 -0
  174. package/dist/services/sync/enrichment.js.map +1 -0
  175. package/dist/services/sync/frontmatter-extractor.d.ts +40 -0
  176. package/dist/services/sync/frontmatter-extractor.js +273 -0
  177. package/dist/services/sync/frontmatter-extractor.js.map +1 -0
  178. package/dist/services/sync/graph-match-state.d.ts +33 -0
  179. package/dist/services/sync/graph-match-state.js +61 -0
  180. package/dist/services/sync/graph-match-state.js.map +1 -0
  181. package/dist/services/sync/graph-match.d.ts +53 -0
  182. package/dist/services/sync/graph-match.js +316 -0
  183. package/dist/services/sync/graph-match.js.map +1 -0
  184. package/dist/services/sync/graphrag-client.d.ts +43 -0
  185. package/dist/services/sync/graphrag-client.js +94 -0
  186. package/dist/services/sync/graphrag-client.js.map +1 -0
  187. package/dist/services/sync/graphrag-config.d.ts +16 -0
  188. package/dist/services/sync/graphrag-config.js +39 -0
  189. package/dist/services/sync/graphrag-config.js.map +1 -0
  190. package/dist/services/sync/graphrag-context.d.ts +14 -0
  191. package/dist/services/sync/graphrag-context.js +109 -0
  192. package/dist/services/sync/graphrag-context.js.map +1 -0
  193. package/dist/services/sync/graphrag-indexer.d.ts +30 -0
  194. package/dist/services/sync/graphrag-indexer.js +358 -0
  195. package/dist/services/sync/graphrag-indexer.js.map +1 -0
  196. package/dist/services/sync/llm.d.ts +32 -0
  197. package/dist/services/sync/llm.js +115 -0
  198. package/dist/services/sync/llm.js.map +1 -0
  199. package/dist/services/sync/mcp-client.d.ts +59 -0
  200. package/dist/services/sync/mcp-client.js +285 -0
  201. package/dist/services/sync/mcp-client.js.map +1 -0
  202. package/dist/services/sync/model-factory.d.ts +10 -0
  203. package/dist/services/sync/model-factory.js +24 -0
  204. package/dist/services/sync/model-factory.js.map +1 -0
  205. package/dist/services/sync/name-quality.d.ts +31 -0
  206. package/dist/services/sync/name-quality.js +60 -0
  207. package/dist/services/sync/name-quality.js.map +1 -0
  208. package/dist/services/sync/output-schemas.d.ts +92 -0
  209. package/dist/services/sync/output-schemas.js +43 -0
  210. package/dist/services/sync/output-schemas.js.map +1 -0
  211. package/dist/services/sync/prompts.d.ts +19 -0
  212. package/dist/services/sync/prompts.js +128 -0
  213. package/dist/services/sync/prompts.js.map +1 -0
  214. package/dist/services/sync/reconciler.d.ts +48 -0
  215. package/dist/services/sync/reconciler.js +295 -0
  216. package/dist/services/sync/reconciler.js.map +1 -0
  217. package/dist/services/sync/source-config.d.ts +45 -0
  218. package/dist/services/sync/source-config.js +208 -0
  219. package/dist/services/sync/source-config.js.map +1 -0
  220. package/dist/services/sync/source-definitions/asana.d.ts +15 -0
  221. package/dist/services/sync/source-definitions/asana.js +48 -0
  222. package/dist/services/sync/source-definitions/asana.js.map +1 -0
  223. package/dist/services/sync/source-definitions/definitions.d.ts +21 -0
  224. package/dist/services/sync/source-definitions/definitions.js +26 -0
  225. package/dist/services/sync/source-definitions/definitions.js.map +1 -0
  226. package/dist/services/sync/source-definitions/gdrive.d.ts +16 -0
  227. package/dist/services/sync/source-definitions/gdrive.js +68 -0
  228. package/dist/services/sync/source-definitions/gdrive.js.map +1 -0
  229. package/dist/services/sync/source-definitions/granola.d.ts +2 -0
  230. package/dist/services/sync/source-definitions/granola.js +28 -0
  231. package/dist/services/sync/source-definitions/granola.js.map +1 -0
  232. package/dist/services/sync/source-definitions/linear.d.ts +2 -0
  233. package/dist/services/sync/source-definitions/linear.js +60 -0
  234. package/dist/services/sync/source-definitions/linear.js.map +1 -0
  235. package/dist/services/sync/source-definitions/obsidian.d.ts +2 -0
  236. package/dist/services/sync/source-definitions/obsidian.js +55 -0
  237. package/dist/services/sync/source-definitions/obsidian.js.map +1 -0
  238. package/dist/services/sync/source-definitions/pipedrive.d.ts +2 -0
  239. package/dist/services/sync/source-definitions/pipedrive.js +52 -0
  240. package/dist/services/sync/source-definitions/pipedrive.js.map +1 -0
  241. package/dist/services/sync/staging.d.ts +53 -0
  242. package/dist/services/sync/staging.js +131 -0
  243. package/dist/services/sync/staging.js.map +1 -0
  244. package/dist/services/sync/structured-extractor.d.ts +49 -0
  245. package/dist/services/sync/structured-extractor.js +344 -0
  246. package/dist/services/sync/structured-extractor.js.map +1 -0
  247. package/dist/services/sync/sync-runner.d.ts +32 -0
  248. package/dist/services/sync/sync-runner.js +195 -0
  249. package/dist/services/sync/sync-runner.js.map +1 -0
  250. package/dist/services/sync/sync-state.d.ts +43 -0
  251. package/dist/services/sync/sync-state.js +154 -0
  252. package/dist/services/sync/sync-state.js.map +1 -0
  253. package/dist/services/sync/types.d.ts +203 -0
  254. package/dist/services/sync/types.js +8 -0
  255. package/dist/services/sync/types.js.map +1 -0
  256. package/dist/services/sync/unstructured-extractor.d.ts +29 -0
  257. package/dist/services/sync/unstructured-extractor.js +197 -0
  258. package/dist/services/sync/unstructured-extractor.js.map +1 -0
  259. package/dist/services/vector-service.d.ts +11 -0
  260. package/dist/services/vector-service.js +42 -0
  261. package/dist/services/vector-service.js.map +1 -1
  262. package/dist/utils/git.d.ts +26 -4
  263. package/dist/utils/git.js +55 -7
  264. package/dist/utils/git.js.map +1 -1
  265. package/dist/utils/merge-resolver.d.ts +34 -0
  266. package/dist/utils/merge-resolver.js +201 -0
  267. package/dist/utils/merge-resolver.js.map +1 -0
  268. package/dist/utils/preflight.d.ts +2 -1
  269. package/dist/utils/preflight.js +8 -1
  270. package/dist/utils/preflight.js.map +1 -1
  271. package/dist/utils/workspace-config.d.ts +8 -0
  272. package/dist/utils/workspace-config.js +22 -0
  273. package/dist/utils/workspace-config.js.map +1 -0
  274. package/package.json +16 -7
  275. /package/dist/agent/skills/{bundled/gather-context.md → gather-context.md} +0 -0
@@ -0,0 +1,125 @@
1
+ /**
2
+ * studiograph orphans
3
+ *
4
+ * Finds entities with zero inbound wikilink references ("orphans")
5
+ * and optionally tombstones or deletes them.
6
+ */
7
+ import { Command } from 'commander';
8
+ import { Workspace } from '../../core/workspace.js';
9
+ import { WorkspaceManager } from '../../core/workspace-manager.js';
10
+ import { intro, outro, spinner, confirm } from '@clack/prompts';
11
+ import { findOrphans } from '../../services/orphan-service.js';
12
+ import { SyncStateManager } from '../../services/sync/sync-state.js';
13
+ export const orphansCommand = new Command('orphans')
14
+ .description('Find entities with zero inbound references')
15
+ .option('--entity-types <types>', 'Comma-separated entity types to check (e.g. person,client)')
16
+ .option('--min-age <days>', 'Only flag entities older than N days', parseInt)
17
+ .option('--repos <repos>', 'Comma-separated repo names to scan')
18
+ .option('--tombstone', 'Add orphans to sync-state tombstones so future syncs skip them')
19
+ .option('--delete', 'Delete orphan entity files and tombstone them')
20
+ .option('--dry-run', 'Preview changes without modifying anything')
21
+ .action(async (options) => {
22
+ intro('Studiograph Orphans');
23
+ const s = spinner();
24
+ s.start('Loading workspace');
25
+ try {
26
+ const workspace = new Workspace();
27
+ if (!workspace.isWorkspace()) {
28
+ console.error('❌ Not a Studiograph workspace. Run `studiograph init` first.');
29
+ process.exit(1);
30
+ }
31
+ const config = await workspace.loadConfig();
32
+ const gitUser = { id: 'system', name: 'system', email: 'system@local' };
33
+ const cliUser = { id: 'system', name: 'system', email: 'system@local', role: 'admin' };
34
+ const manager = new WorkspaceManager(process.cwd(), config, gitUser, cliUser);
35
+ s.message('Scanning for orphans');
36
+ const filters = {
37
+ entityTypes: options.entityTypes?.split(',').map((t) => t.trim()),
38
+ minAgeDays: options.minAge,
39
+ repos: options.repos?.split(',').map((r) => r.trim()),
40
+ };
41
+ const result = findOrphans(manager, filters);
42
+ s.stop('Scan complete');
43
+ if (result.totalOrphans === 0) {
44
+ outro(`✅ No orphans found (scanned ${result.totalScanned} entities)`);
45
+ return;
46
+ }
47
+ // Group by entity type
48
+ const grouped = new Map();
49
+ for (const orphan of result.orphans) {
50
+ const key = orphan.entityType;
51
+ if (!grouped.has(key))
52
+ grouped.set(key, []);
53
+ grouped.get(key).push(orphan);
54
+ }
55
+ console.log('');
56
+ console.log(`Found ${result.totalOrphans} orphans (of ${result.totalScanned} scanned):\n`);
57
+ for (const [entityType, typeOrphans] of grouped.entries()) {
58
+ console.log(`${entityType.toUpperCase()} (${typeOrphans.length})`);
59
+ const examples = typeOrphans.slice(0, 10);
60
+ for (const orphan of examples) {
61
+ const name = orphan.name || orphan.entityId;
62
+ const age = orphan.createdAt
63
+ ? `created ${orphan.createdAt}`
64
+ : '';
65
+ console.log(` - ${orphan.repo}/${orphan.entityType}/${orphan.entityId}${age ? ` (${age})` : ''}`);
66
+ }
67
+ if (typeOrphans.length > 10) {
68
+ console.log(` ... and ${typeOrphans.length - 10} more`);
69
+ }
70
+ console.log('');
71
+ }
72
+ // Tombstone action
73
+ if (options.tombstone || options.delete) {
74
+ const action = options.delete ? 'delete and tombstone' : 'tombstone';
75
+ if (options.dryRun) {
76
+ console.log(`[dry-run] Would ${action} ${result.totalOrphans} orphan(s)`);
77
+ outro('Dry run complete');
78
+ return;
79
+ }
80
+ const shouldProceed = await confirm({
81
+ message: `${action === 'delete and tombstone' ? 'Delete' : 'Tombstone'} ${result.totalOrphans} orphan(s)?`,
82
+ initialValue: false,
83
+ });
84
+ if (!shouldProceed || typeof shouldProceed === 'symbol') {
85
+ outro('Cancelled');
86
+ return;
87
+ }
88
+ const actionSpinner = spinner();
89
+ actionSpinner.start(`Processing ${result.totalOrphans} orphans...`);
90
+ const syncState = new SyncStateManager(process.cwd());
91
+ let deleted = 0;
92
+ let tombstoned = 0;
93
+ for (const orphan of result.orphans) {
94
+ // Delete entity files if --delete
95
+ if (options.delete) {
96
+ try {
97
+ const graph = manager.getGraph(orphan.repo);
98
+ await graph.delete(orphan.entityType, orphan.entityId);
99
+ deleted++;
100
+ }
101
+ catch {
102
+ // Entity might already be gone
103
+ }
104
+ }
105
+ // Add to tombstones
106
+ syncState.addTombstone(orphan.entityId);
107
+ tombstoned++;
108
+ }
109
+ actionSpinner.stop('Done');
110
+ if (options.delete) {
111
+ console.log(`\nDeleted ${deleted} entities, tombstoned ${tombstoned}`);
112
+ }
113
+ else {
114
+ console.log(`\nTombstoned ${tombstoned} entities`);
115
+ }
116
+ }
117
+ outro('Orphan scan complete');
118
+ }
119
+ catch (error) {
120
+ s.stop('Error');
121
+ console.error('Failed to scan for orphans:', error instanceof Error ? error.message : error);
122
+ process.exit(1);
123
+ }
124
+ });
125
+ //# sourceMappingURL=orphans.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orphans.js","sourceRoot":"","sources":["../../../src/cli/commands/orphans.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { Command } from 'commander';
8
8
  import { intro, outro, spinner, log, confirm } from '@clack/prompts';
9
9
  import { execSync } from 'child_process';
10
10
  import { Workspace } from '../../core/workspace.js';
11
- import { loadToken, runDeviceFlow, storeToken, getGitHubUser, getAuthenticatedOctokit } from '../../auth/github.js';
11
+ import { loadToken, promptForPAT, storeToken, getGitHubUser, getAuthenticatedOctokit } from '../../auth/github.js';
12
12
  import { provisionWorkspace } from '../../services/github-provisioner.js';
13
13
  import { runPreflight } from '../../utils/preflight.js';
14
14
  export const provisionCommand = new Command('provision')
@@ -56,7 +56,7 @@ export const provisionCommand = new Command('provision')
56
56
  log.info(`Using GitHub org from config: ${githubOrg}`);
57
57
  }
58
58
  if (!githubOrg) {
59
- outro('❌ GitHub org required. Use --org <github-org>');
59
+ outro('❌ GitHub org required. Use: studiograph provision --org <github-org>');
60
60
  process.exit(1);
61
61
  return;
62
62
  }
@@ -64,7 +64,7 @@ export const provisionCommand = new Command('provision')
64
64
  let stored = loadToken();
65
65
  if (!stored) {
66
66
  log.info('No GitHub token found. Starting authentication...');
67
- const token = await runDeviceFlow();
67
+ const token = await promptForPAT();
68
68
  const user = await getGitHubUser(token);
69
69
  storeToken(token, user);
70
70
  stored = { token, user };
@@ -74,7 +74,7 @@ export const provisionCommand = new Command('provision')
74
74
  // Provision!
75
75
  const provisionSpinner = spinner();
76
76
  provisionSpinner.start('Creating GitHub repos...');
77
- const updatedConfig = await provisionWorkspace({
77
+ const result = await provisionWorkspace({
78
78
  octokit,
79
79
  org: githubOrg,
80
80
  workspacePath: workspace.getWorkspacePath(),
@@ -82,8 +82,8 @@ export const provisionCommand = new Command('provision')
82
82
  onProgress: (msg) => provisionSpinner.message(msg),
83
83
  });
84
84
  // Write back updated config with github_urls + org
85
- updatedConfig.github = { org: githubOrg };
86
- workspace.writeConfig(updatedConfig);
85
+ result.config.github = { org: githubOrg };
86
+ workspace.writeConfig(result.config);
87
87
  // Push updated workspace.json back to config repo
88
88
  provisionSpinner.message('Updating config repo with GitHub URLs...');
89
89
  const configPath = workspace.getWorkspacePath() + '/.studiograph';
@@ -99,13 +99,17 @@ export const provisionCommand = new Command('provision')
99
99
  // Show join URL
100
100
  const configRepoName = `${config.team_name.toLowerCase().replace(/[^a-z0-9]+/g, '-')}-config`;
101
101
  const configRepoUrl = `https://github.com/${githubOrg}/${configRepoName}.git`;
102
+ if (result.skipped.length > 0) {
103
+ log.warn(`Skipped ${result.skipped.length} repo(s) with no commits: ${result.skipped.join(', ')}`);
104
+ log.info('Commit content to these repos and re-run provision to push them.');
105
+ }
102
106
  log.success('All repos pushed to GitHub!');
103
107
  log.info('\nTo join this workspace from another machine:');
104
108
  log.info(` studiograph join ${configRepoUrl}`);
105
109
  outro('✨ Workspace provisioned to GitHub!');
106
110
  }
107
111
  catch (error) {
108
- outro(`❌ Error: ${error instanceof Error ? error.message : 'Unknown error'}`);
112
+ outro(`Error: ${error instanceof Error ? error.message : 'Unknown error'}`);
109
113
  process.exit(1);
110
114
  }
111
115
  });
@@ -1 +1 @@
1
- {"version":3,"file":"provision.js","sourceRoot":"","sources":["../../../src/cli/commands/provision.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provision.js","sourceRoot":"","sources":["../../../src/cli/commands/provision.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  * markdown files to R2, rewriting URLs in place
9
9
  */
10
10
  import { Command } from 'commander';
11
- import { intro, outro, text, spinner, log } from '@clack/prompts';
11
+ import { intro, outro, text, confirm, spinner, log } from '@clack/prompts';
12
12
  import { readdirSync, statSync, readFileSync, writeFileSync, existsSync } from 'fs';
13
13
  import { join, relative, resolve, extname, dirname } from 'path';
14
14
  import { spawnSync } from 'child_process';
@@ -151,7 +151,13 @@ r2Command
151
151
  ' 3. Copy the Access Key ID and Secret Access Key\n\n' +
152
152
  'Note: Admin access lets Studiograph create your bucket automatically.\n' +
153
153
  'You can replace this with a bucket-scoped token later for tighter security.');
154
- openBrowser('https://dash.cloudflare.com/?to=/:account/r2/overview');
154
+ const openR2 = await confirm({ message: 'Open Cloudflare R2 dashboard in browser?' });
155
+ if (openR2) {
156
+ openBrowser('https://dash.cloudflare.com/?to=/:account/r2/overview');
157
+ }
158
+ else {
159
+ log.info('Open https://dash.cloudflare.com → R2 Object Storage to get your credentials');
160
+ }
155
161
  const accountId = await text({
156
162
  message: 'Account ID',
157
163
  placeholder: '32-character hex string',
@@ -1 +1 @@
1
- {"version":3,"file":"r2.js","sourceRoot":"","sources":["../../../src/cli/commands/r2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"r2.js","sourceRoot":"","sources":["../../../src/cli/commands/r2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * studiograph reset
3
+ *
4
+ * Reset a workspace by removing all entity data while preserving configuration.
5
+ * Keeps: .studiograph/ (config, team, migrations, sources, sync state)
6
+ * Removes: all repo directories (the entity markdown files)
7
+ *
8
+ * Useful for re-running sync pipelines from scratch or starting over
9
+ * without reconfiguring the workspace.
10
+ */
11
+ import { Command } from 'commander';
12
+ export declare const resetCommand: Command;
@@ -0,0 +1,137 @@
1
+ /**
2
+ * studiograph reset
3
+ *
4
+ * Reset a workspace by removing all entity data while preserving configuration.
5
+ * Keeps: .studiograph/ (config, team, migrations, sources, sync state)
6
+ * Removes: all repo directories (the entity markdown files)
7
+ *
8
+ * Useful for re-running sync pipelines from scratch or starting over
9
+ * without reconfiguring the workspace.
10
+ */
11
+ import { Command } from 'commander';
12
+ import { existsSync, rmSync, readdirSync, statSync, readFileSync, writeFileSync } from 'fs';
13
+ import { join, relative } from 'path';
14
+ import { confirm, intro, isCancel, cancel } from '@clack/prompts';
15
+ import { Workspace } from '../../core/workspace.js';
16
+ export const resetCommand = new Command('reset')
17
+ .description('Reset workspace by removing all entity data (keeps config)')
18
+ .option('--yes', 'Skip confirmation prompt')
19
+ .option('--keep-sync-state', 'Preserve .studiograph/sync-state.json')
20
+ .action(async (opts) => {
21
+ const workspacePath = process.cwd();
22
+ const workspace = new Workspace(workspacePath);
23
+ if (!workspace.isWorkspace()) {
24
+ console.error('Not in a Studiograph workspace. Nothing to reset.');
25
+ process.exit(1);
26
+ }
27
+ const config = await workspace.loadConfig();
28
+ const repos = config.repos ?? [];
29
+ if (repos.length === 0) {
30
+ console.log('No repos registered in workspace config. Nothing to reset.');
31
+ return;
32
+ }
33
+ // Collect directories that will be removed
34
+ const toRemove = [];
35
+ for (const repo of repos) {
36
+ const repoPath = join(workspacePath, repo.path);
37
+ if (!existsSync(repoPath))
38
+ continue;
39
+ const entityCount = countEntities(repoPath);
40
+ toRemove.push({ name: repo.name, path: repoPath, entityCount });
41
+ }
42
+ if (toRemove.length === 0) {
43
+ console.log('All repo directories already removed. Nothing to reset.');
44
+ return;
45
+ }
46
+ // Show what will be removed
47
+ if (!opts.yes) {
48
+ intro('Workspace Reset');
49
+ console.log('This will remove all entity data:\n');
50
+ let totalEntities = 0;
51
+ for (const item of toRemove) {
52
+ const rel = relative(workspacePath, item.path);
53
+ console.log(` ${rel.padEnd(30)} ${item.entityCount} entities`);
54
+ totalEntities += item.entityCount;
55
+ }
56
+ console.log(`\n Total: ${totalEntities} entities across ${toRemove.length} repos`);
57
+ console.log('\n Preserved: .studiograph/ (config, team, migrations)');
58
+ const proceed = await confirm({
59
+ message: 'Are you sure you want to reset?',
60
+ });
61
+ if (isCancel(proceed) || !proceed) {
62
+ cancel('Reset cancelled.');
63
+ process.exit(0);
64
+ }
65
+ }
66
+ // Remove repo directories
67
+ for (const item of toRemove) {
68
+ rmSync(item.path, { recursive: true, force: true });
69
+ console.log(` Removed ${item.name} (${item.entityCount} entities)`);
70
+ }
71
+ // Optionally clear sync state (preserving tombstones)
72
+ if (!opts.keepSyncState) {
73
+ const syncStatePath = join(workspacePath, '.studiograph', 'sync-state.json');
74
+ if (existsSync(syncStatePath)) {
75
+ let tombstones = [];
76
+ try {
77
+ const existing = JSON.parse(readFileSync(syncStatePath, 'utf-8'));
78
+ tombstones = existing.tombstones ?? [];
79
+ }
80
+ catch { /* ignore parse errors */ }
81
+ writeFileSync(syncStatePath, JSON.stringify({ sources: {}, tombstones }, null, 2) + '\n', 'utf-8');
82
+ if (tombstones.length > 0) {
83
+ console.log(` Cleared sync state (preserved ${tombstones.length} tombstones)`);
84
+ }
85
+ else {
86
+ console.log(' Cleared sync state');
87
+ }
88
+ }
89
+ const populateCachePath = join(workspacePath, '.studiograph', 'populate-cache');
90
+ if (existsSync(populateCachePath)) {
91
+ rmSync(populateCachePath, { recursive: true, force: true });
92
+ console.log(' Cleared populate cache');
93
+ }
94
+ const stagingPath = join(workspacePath, '.studiograph', 'staging');
95
+ if (existsSync(stagingPath)) {
96
+ rmSync(stagingPath, { recursive: true, force: true });
97
+ console.log(' Cleared staging');
98
+ }
99
+ }
100
+ // Remove private graph if it exists
101
+ const privatePath = join(workspacePath, 'private');
102
+ if (existsSync(privatePath)) {
103
+ rmSync(privatePath, { recursive: true, force: true });
104
+ console.log(' Removed private graph');
105
+ }
106
+ console.log('\nWorkspace reset complete. Config preserved at .studiograph/');
107
+ console.log('Re-run sync or create entities to repopulate.');
108
+ });
109
+ /**
110
+ * Count .md files recursively in a directory.
111
+ */
112
+ function countEntities(dir) {
113
+ let count = 0;
114
+ try {
115
+ const entries = readdirSync(dir);
116
+ for (const entry of entries) {
117
+ const full = join(dir, entry);
118
+ try {
119
+ const stat = statSync(full);
120
+ if (stat.isDirectory()) {
121
+ count += countEntities(full);
122
+ }
123
+ else if (entry.endsWith('.md')) {
124
+ count++;
125
+ }
126
+ }
127
+ catch {
128
+ // skip inaccessible entries
129
+ }
130
+ }
131
+ }
132
+ catch {
133
+ // skip inaccessible directories
134
+ }
135
+ return count;
136
+ }
137
+ //# sourceMappingURL=reset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset.js","sourceRoot":"","sources":["../../../src/cli/commands/reset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * studiograph review
3
+ *
4
+ * Review uncommitted or recently committed entity changes across workspace repos.
5
+ * Works after sync commit, enrich run, manual edits, or any other modification.
6
+ *
7
+ * studiograph review — interactive review (auto-detects uncommitted vs committed)
8
+ * studiograph review --type task — show colored diff for an entity type
9
+ * studiograph review --file <path> — show colored diff for a specific file
10
+ * studiograph review --committed — review last commit instead of uncommitted changes
11
+ */
12
+ import { Command } from 'commander';
13
+ export interface ReviewOptions {
14
+ type?: string;
15
+ file?: string;
16
+ committed?: boolean;
17
+ }
18
+ export declare function runReview(opts: ReviewOptions): Promise<void>;
19
+ export declare const reviewCommand: Command;
@@ -0,0 +1,128 @@
1
+ /**
2
+ * studiograph review
3
+ *
4
+ * Review uncommitted or recently committed entity changes across workspace repos.
5
+ * Works after sync commit, enrich run, manual edits, or any other modification.
6
+ *
7
+ * studiograph review — interactive review (auto-detects uncommitted vs committed)
8
+ * studiograph review --type task — show colored diff for an entity type
9
+ * studiograph review --file <path> — show colored diff for a specific file
10
+ * studiograph review --committed — review last commit instead of uncommitted changes
11
+ */
12
+ import { Command } from 'commander';
13
+ import { spawnSync } from 'child_process';
14
+ import { existsSync } from 'fs';
15
+ import { join } from 'path';
16
+ import { Workspace } from '../../core/workspace.js';
17
+ import { isGitRepo, gitHasUncommittedChanges } from '../../utils/git.js';
18
+ import { loadWorkspaceConfig } from '../../utils/workspace-config.js';
19
+ import { header, dimText, colorizeDiff } from '../colors.js';
20
+ import { detectDiffMode, runInteractiveReview } from '../sync-review-interactive.js';
21
+ export async function runReview(opts) {
22
+ const workspace = new Workspace(process.cwd());
23
+ if (!workspace.isWorkspace()) {
24
+ console.error('Not in a Studiograph workspace.');
25
+ process.exit(1);
26
+ }
27
+ const config = loadWorkspaceConfig(process.cwd());
28
+ const repos = (config?.repos ?? []).map((r) => ({
29
+ name: r.name,
30
+ path: r.path,
31
+ }));
32
+ const gitRepos = repos.filter((r) => {
33
+ const p = join(process.cwd(), r.path);
34
+ return existsSync(p) && isGitRepo(p);
35
+ });
36
+ if (gitRepos.length === 0) {
37
+ console.log('No git repositories found in workspace.');
38
+ return;
39
+ }
40
+ // Determine diff mode
41
+ const useCommitted = opts.committed ?? (detectDiffMode(process.cwd(), gitRepos) === 'committed');
42
+ const diffArgs = useCommitted
43
+ ? ['diff', 'HEAD~1..HEAD']
44
+ : ['diff'];
45
+ // ── Non-interactive: --file ──────────────────────────────────────────────
46
+ if (opts.file) {
47
+ for (const repo of gitRepos) {
48
+ const repoPath = join(process.cwd(), repo.path);
49
+ const result = spawnSync('git', [...diffArgs, '--', opts.file], { cwd: repoPath, encoding: 'utf-8' });
50
+ if (result.status === 0 && result.stdout.trim()) {
51
+ console.log(colorizeDiff(result.stdout));
52
+ return;
53
+ }
54
+ }
55
+ console.log(`No changes found for ${opts.file}`);
56
+ return;
57
+ }
58
+ // ── Non-interactive: --type ──────────────────────────────────────────────
59
+ if (opts.type) {
60
+ let found = false;
61
+ for (const repo of gitRepos) {
62
+ const repoPath = join(process.cwd(), repo.path);
63
+ const result = spawnSync('git', [...diffArgs, '--', `${opts.type}/`], { cwd: repoPath, encoding: 'utf-8' });
64
+ if (result.status === 0 && result.stdout.trim()) {
65
+ console.log(colorizeDiff(result.stdout));
66
+ found = true;
67
+ }
68
+ }
69
+ if (!found) {
70
+ console.log(`No changes found for type "${opts.type}"`);
71
+ }
72
+ return;
73
+ }
74
+ // ── Interactive mode ─────────────────────────────────────────────────────
75
+ if (process.stdout.isTTY) {
76
+ await runInteractiveReview({
77
+ workspacePath: process.cwd(),
78
+ repos: gitRepos,
79
+ committed: useCommitted,
80
+ });
81
+ if (!useCommitted)
82
+ printNextSteps(process.cwd(), gitRepos);
83
+ return;
84
+ }
85
+ // ── Non-interactive fallback (piped output) ──────────────────────────────
86
+ let totalChanged = 0;
87
+ console.log(`${header('Entity changes')}:\n`);
88
+ for (const repo of gitRepos) {
89
+ const repoPath = join(process.cwd(), repo.path);
90
+ const result = spawnSync('git', [...diffArgs, '--stat'], { cwd: repoPath, encoding: 'utf-8' });
91
+ if (result.status === 0 && result.stdout.trim()) {
92
+ console.log(` ${header(repo.name + '/')}`);
93
+ for (const line of result.stdout.trim().split('\n')) {
94
+ console.log(` ${line}`);
95
+ totalChanged++;
96
+ }
97
+ console.log();
98
+ }
99
+ }
100
+ if (totalChanged === 0) {
101
+ console.log('No changes in any repo.');
102
+ }
103
+ else {
104
+ console.log(`Review with: ${header('studiograph review --type <type>')}`);
105
+ if (!useCommitted)
106
+ printNextSteps(process.cwd(), gitRepos);
107
+ }
108
+ }
109
+ /** Print next-steps guidance when uncommitted changes remain. */
110
+ function printNextSteps(workspacePath, repos) {
111
+ const hasChanges = repos.some((r) => {
112
+ const p = join(workspacePath, r.path);
113
+ return existsSync(p) && isGitRepo(p) && gitHasUncommittedChanges(p);
114
+ });
115
+ if (!hasChanges)
116
+ return;
117
+ console.log(`\nNext: ${header('studiograph commit')} ${dimText('(git commit changes)')}`);
118
+ console.log(`Or: ${dimText('git checkout -- .')} ${dimText('(discard all changes)')}`);
119
+ }
120
+ export const reviewCommand = new Command('review')
121
+ .description('Review entity changes across workspace repos')
122
+ .option('--type <entity_type>', 'Show colored diff for an entity type')
123
+ .option('--file <path>', 'Show colored diff for a specific file')
124
+ .option('--committed', 'Review last commit instead of uncommitted changes')
125
+ .action(async (opts) => {
126
+ await runReview(opts);
127
+ });
128
+ //# sourceMappingURL=review.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/cli/commands/review.ts"],"names":[],"mappings":"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"}