studiograph 1.3.3 → 1.3.5

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 (290) hide show
  1. package/dist/agent/orchestrator.d.ts +10 -0
  2. package/dist/agent/orchestrator.js +26 -7
  3. package/dist/agent/orchestrator.js.map +1 -1
  4. package/dist/agent/skills/sync-configuration.md +4 -29
  5. package/dist/agent/skills/sync-setup.md +2 -4
  6. package/dist/agent/tools/graph-tools.d.ts +5 -1
  7. package/dist/agent/tools/graph-tools.js +161 -9
  8. package/dist/agent/tools/graph-tools.js.map +1 -1
  9. package/dist/agent/tools/ops-tools.js +15 -126
  10. package/dist/agent/tools/ops-tools.js.map +1 -1
  11. package/dist/agent/tools/permission-tools.d.ts +15 -14
  12. package/dist/agent/tools/permission-tools.js +65 -128
  13. package/dist/agent/tools/permission-tools.js.map +1 -1
  14. package/dist/agent/tools/sync-tools.d.ts +7 -6
  15. package/dist/agent/tools/sync-tools.js +205 -178
  16. package/dist/agent/tools/sync-tools.js.map +1 -1
  17. package/dist/cli/commands/about.d.ts +13 -0
  18. package/dist/cli/commands/about.js +97 -0
  19. package/dist/cli/commands/about.js.map +1 -0
  20. package/dist/cli/commands/clone.d.ts +5 -2
  21. package/dist/cli/commands/clone.js +131 -62
  22. package/dist/cli/commands/clone.js.map +1 -1
  23. package/dist/cli/commands/connector.d.ts +2 -16
  24. package/dist/cli/commands/connector.js +32 -109
  25. package/dist/cli/commands/connector.js.map +1 -1
  26. package/dist/cli/commands/deploy.d.ts +0 -1
  27. package/dist/cli/commands/deploy.js +13 -103
  28. package/dist/cli/commands/deploy.js.map +1 -1
  29. package/dist/cli/commands/init.js +6 -93
  30. package/dist/cli/commands/init.js.map +1 -1
  31. package/dist/cli/commands/join.d.ts +3 -2
  32. package/dist/cli/commands/join.js +142 -97
  33. package/dist/cli/commands/join.js.map +1 -1
  34. package/dist/cli/commands/redeploy.js +1 -2
  35. package/dist/cli/commands/redeploy.js.map +1 -1
  36. package/dist/cli/commands/serve.d.ts +1 -3
  37. package/dist/cli/commands/serve.js +29 -109
  38. package/dist/cli/commands/serve.js.map +1 -1
  39. package/dist/cli/commands/start.js +1 -1
  40. package/dist/cli/commands/start.js.map +1 -1
  41. package/dist/cli/commands/sync-collection.d.ts +14 -0
  42. package/dist/cli/commands/sync-collection.js +366 -0
  43. package/dist/cli/commands/sync-collection.js.map +1 -0
  44. package/dist/cli/commands/sync.d.ts +4 -2
  45. package/dist/cli/commands/sync.js +529 -94
  46. package/dist/cli/commands/sync.js.map +1 -1
  47. package/dist/cli/index.js +15 -30
  48. package/dist/cli/index.js.map +1 -1
  49. package/dist/cli/setup-wizard.d.ts +0 -13
  50. package/dist/cli/setup-wizard.js +6 -81
  51. package/dist/cli/setup-wizard.js.map +1 -1
  52. package/dist/core/graph.d.ts +8 -2
  53. package/dist/core/graph.js +11 -7
  54. package/dist/core/graph.js.map +1 -1
  55. package/dist/core/types.d.ts +149 -21
  56. package/dist/core/types.js +16 -4
  57. package/dist/core/types.js.map +1 -1
  58. package/dist/core/workspace-manager.js +1 -5
  59. package/dist/core/workspace-manager.js.map +1 -1
  60. package/dist/core/workspace.d.ts +11 -4
  61. package/dist/core/workspace.js +61 -26
  62. package/dist/core/workspace.js.map +1 -1
  63. package/dist/integrations/asana.d.ts +26 -0
  64. package/dist/integrations/asana.js +77 -0
  65. package/dist/integrations/asana.js.map +1 -0
  66. package/dist/integrations/figma-local.d.ts +16 -0
  67. package/dist/integrations/figma-local.js +10 -0
  68. package/dist/integrations/figma-local.js.map +1 -0
  69. package/dist/integrations/figma.d.ts +17 -0
  70. package/dist/integrations/figma.js +16 -0
  71. package/dist/integrations/figma.js.map +1 -0
  72. package/dist/integrations/granola.d.ts +24 -0
  73. package/dist/integrations/granola.js +59 -0
  74. package/dist/integrations/granola.js.map +1 -0
  75. package/dist/integrations/linear.d.ts +14 -0
  76. package/dist/integrations/linear.js +70 -0
  77. package/dist/integrations/linear.js.map +1 -0
  78. package/dist/integrations/paper-local.d.ts +14 -0
  79. package/dist/integrations/paper-local.js +10 -0
  80. package/dist/integrations/paper-local.js.map +1 -0
  81. package/dist/integrations/paper.d.ts +2 -0
  82. package/dist/integrations/paper.js +10 -0
  83. package/dist/integrations/paper.js.map +1 -0
  84. package/dist/integrations/pipedrive.d.ts +26 -0
  85. package/dist/integrations/pipedrive.js +97 -0
  86. package/dist/integrations/pipedrive.js.map +1 -0
  87. package/dist/integrations/registry.d.ts +15 -0
  88. package/dist/integrations/registry.js +27 -0
  89. package/dist/integrations/registry.js.map +1 -0
  90. package/dist/integrations/types.d.ts +34 -0
  91. package/dist/integrations/types.js +9 -0
  92. package/dist/integrations/types.js.map +1 -0
  93. package/dist/mcp/connector-manager.d.ts +45 -31
  94. package/dist/mcp/connector-manager.js +164 -116
  95. package/dist/mcp/connector-manager.js.map +1 -1
  96. package/dist/mcp/server-oauth-provider.d.ts +56 -0
  97. package/dist/mcp/server-oauth-provider.js +138 -0
  98. package/dist/mcp/server-oauth-provider.js.map +1 -0
  99. package/dist/server/chrome/chrome.css +142 -28
  100. package/dist/server/chrome/chrome.js +46 -220
  101. package/dist/server/collab-authority.d.ts +70 -0
  102. package/dist/server/collab-authority.js +218 -0
  103. package/dist/server/collab-authority.js.map +1 -0
  104. package/dist/server/collab.d.ts +29 -0
  105. package/dist/server/collab.js +195 -0
  106. package/dist/server/collab.js.map +1 -0
  107. package/dist/server/commit-scheduler.d.ts +39 -0
  108. package/dist/server/commit-scheduler.js +113 -0
  109. package/dist/server/commit-scheduler.js.map +1 -0
  110. package/dist/server/index.d.ts +0 -2
  111. package/dist/server/index.js +166 -55
  112. package/dist/server/index.js.map +1 -1
  113. package/dist/server/routes/auth-api.d.ts +6 -0
  114. package/dist/server/routes/auth-api.js +78 -0
  115. package/dist/server/routes/auth-api.js.map +1 -1
  116. package/dist/server/routes/chat.js +4 -0
  117. package/dist/server/routes/chat.js.map +1 -1
  118. package/dist/server/routes/collab.d.ts +6 -0
  119. package/dist/server/routes/collab.js +10 -0
  120. package/dist/server/routes/collab.js.map +1 -0
  121. package/dist/server/routes/git-http.d.ts +23 -0
  122. package/dist/server/routes/git-http.js +251 -0
  123. package/dist/server/routes/git-http.js.map +1 -0
  124. package/dist/server/routes/graph-api.d.ts +6 -2
  125. package/dist/server/routes/graph-api.js +266 -82
  126. package/dist/server/routes/graph-api.js.map +1 -1
  127. package/dist/server/routes/mcp.d.ts +12 -0
  128. package/dist/server/routes/mcp.js +35 -0
  129. package/dist/server/routes/mcp.js.map +1 -0
  130. package/dist/server/routes/permissions-api.d.ts +6 -4
  131. package/dist/server/routes/permissions-api.js +53 -167
  132. package/dist/server/routes/permissions-api.js.map +1 -1
  133. package/dist/server/routes/sync-api.d.ts +26 -0
  134. package/dist/server/routes/sync-api.js +757 -0
  135. package/dist/server/routes/sync-api.js.map +1 -0
  136. package/dist/server/routes/ws.d.ts +9 -0
  137. package/dist/server/routes/ws.js +131 -0
  138. package/dist/server/routes/ws.js.map +1 -0
  139. package/dist/server/session-manager.d.ts +40 -0
  140. package/dist/server/session-manager.js +132 -0
  141. package/dist/server/session-manager.js.map +1 -0
  142. package/dist/server/ws-hub.d.ts +130 -0
  143. package/dist/server/ws-hub.js +250 -0
  144. package/dist/server/ws-hub.js.map +1 -0
  145. package/dist/server/yjs-manager.d.ts +59 -0
  146. package/dist/server/yjs-manager.js +194 -0
  147. package/dist/server/yjs-manager.js.map +1 -0
  148. package/dist/services/auth-service.d.ts +74 -0
  149. package/dist/services/auth-service.js +286 -6
  150. package/dist/services/auth-service.js.map +1 -1
  151. package/dist/services/git.d.ts +6 -0
  152. package/dist/services/git.js +32 -2
  153. package/dist/services/git.js.map +1 -1
  154. package/dist/services/sync/collection-sync.d.ts +73 -0
  155. package/dist/services/sync/collection-sync.js +726 -0
  156. package/dist/services/sync/collection-sync.js.map +1 -0
  157. package/dist/services/sync/commit.js +5 -20
  158. package/dist/services/sync/commit.js.map +1 -1
  159. package/dist/services/sync/data-fetcher.d.ts +31 -0
  160. package/dist/services/sync/data-fetcher.js +12 -0
  161. package/dist/services/sync/data-fetcher.js.map +1 -0
  162. package/dist/services/sync/entity-refresh.d.ts +30 -0
  163. package/dist/services/sync/entity-refresh.js +275 -0
  164. package/dist/services/sync/entity-refresh.js.map +1 -0
  165. package/dist/services/sync/frontmatter-extractor.d.ts +2 -2
  166. package/dist/services/sync/frontmatter-extractor.js +1 -2
  167. package/dist/services/sync/frontmatter-extractor.js.map +1 -1
  168. package/dist/services/sync/graph-match.js +1 -1
  169. package/dist/services/sync/graph-match.js.map +1 -1
  170. package/dist/services/sync/mcp-client.d.ts +16 -4
  171. package/dist/services/sync/mcp-client.js +34 -20
  172. package/dist/services/sync/mcp-client.js.map +1 -1
  173. package/dist/services/sync/prompts.js +1 -1
  174. package/dist/services/sync/reconciler.js +1 -2
  175. package/dist/services/sync/reconciler.js.map +1 -1
  176. package/dist/services/sync/rest-client.d.ts +40 -0
  177. package/dist/services/sync/rest-client.js +100 -0
  178. package/dist/services/sync/rest-client.js.map +1 -0
  179. package/dist/services/sync/source-config.d.ts +23 -1
  180. package/dist/services/sync/source-config.js +112 -16
  181. package/dist/services/sync/source-config.js.map +1 -1
  182. package/dist/services/sync/source-definitions/asana.d.ts +3 -4
  183. package/dist/services/sync/source-definitions/asana.js +7 -13
  184. package/dist/services/sync/source-definitions/asana.js.map +1 -1
  185. package/dist/services/sync/source-definitions/definitions.d.ts +5 -18
  186. package/dist/services/sync/source-definitions/definitions.js +4 -22
  187. package/dist/services/sync/source-definitions/definitions.js.map +1 -1
  188. package/dist/services/sync/source-definitions/granola.d.ts +1 -1
  189. package/dist/services/sync/source-definitions/granola.js +11 -18
  190. package/dist/services/sync/source-definitions/granola.js.map +1 -1
  191. package/dist/services/sync/source-definitions/linear.d.ts +1 -1
  192. package/dist/services/sync/source-definitions/linear.js +17 -15
  193. package/dist/services/sync/source-definitions/linear.js.map +1 -1
  194. package/dist/services/sync/source-definitions/pipedrive.d.ts +1 -1
  195. package/dist/services/sync/source-definitions/pipedrive.js +6 -15
  196. package/dist/services/sync/source-definitions/pipedrive.js.map +1 -1
  197. package/dist/services/sync/staging.js +1 -2
  198. package/dist/services/sync/staging.js.map +1 -1
  199. package/dist/services/sync/structured-extractor.d.ts +8 -2
  200. package/dist/services/sync/structured-extractor.js +243 -35
  201. package/dist/services/sync/structured-extractor.js.map +1 -1
  202. package/dist/services/sync/types.d.ts +192 -23
  203. package/dist/services/sync/unstructured-extractor.d.ts +1 -3
  204. package/dist/services/sync/unstructured-extractor.js +2 -14
  205. package/dist/services/sync/unstructured-extractor.js.map +1 -1
  206. package/dist/utils/git.d.ts +33 -20
  207. package/dist/utils/git.js +119 -62
  208. package/dist/utils/git.js.map +1 -1
  209. package/dist/utils/preflight.d.ts +1 -15
  210. package/dist/utils/preflight.js +1 -35
  211. package/dist/utils/preflight.js.map +1 -1
  212. package/dist/web/_app/immutable/assets/0.CupILLQs.css +1 -0
  213. package/dist/web/_app/immutable/assets/3.CtJi4Cy9.css +1 -0
  214. package/dist/web/_app/immutable/assets/5.CydFyZSu.css +1 -0
  215. package/dist/web/_app/immutable/assets/6.kqeOo0OW.css +1 -0
  216. package/dist/web/_app/immutable/assets/7.CseIx7qQ.css +1 -0
  217. package/dist/web/_app/immutable/assets/8.BYpFDZHK.css +1 -0
  218. package/dist/web/_app/immutable/assets/AppShell.Ch_ef9hJ.css +1 -0
  219. package/dist/web/_app/immutable/assets/ChatPanel.CP-_8txt.css +1 -0
  220. package/dist/web/_app/immutable/chunks/0oxpWEgM.js +1 -0
  221. package/dist/web/_app/immutable/chunks/B1y7Wy5O.js +18 -0
  222. package/dist/web/_app/immutable/chunks/BBLgaWN8.js +1 -0
  223. package/dist/web/_app/immutable/chunks/BCB5cYCz.js +2 -0
  224. package/dist/web/_app/immutable/chunks/BNwaTAEi.js +1 -0
  225. package/dist/web/_app/immutable/chunks/{aosHekRC.js → BPUy9_sS.js} +1 -1
  226. package/dist/web/_app/immutable/chunks/BVBRzmeQ.js +7 -0
  227. package/dist/web/_app/immutable/chunks/{CUzqHQY_.js → BXuvR8Ks.js} +2 -1
  228. package/dist/web/_app/immutable/chunks/BeBar3OL.js +1 -0
  229. package/dist/web/_app/immutable/chunks/BuOTIbJu.js +1 -0
  230. package/dist/web/_app/immutable/chunks/CLFba8FK.js +5 -0
  231. package/dist/web/_app/immutable/chunks/CQCkXCml.js +1 -0
  232. package/dist/web/_app/immutable/chunks/CR70O-Zc.js +64 -0
  233. package/dist/web/_app/immutable/chunks/ChURX7q7.js +1 -0
  234. package/dist/web/_app/immutable/chunks/Cs5oz2oJ.js +5 -0
  235. package/dist/web/_app/immutable/chunks/Cs_ROD7H.js +2 -0
  236. package/dist/web/_app/immutable/chunks/D2aTbzFm.js +3 -0
  237. package/dist/web/_app/immutable/chunks/DCGSm8Hl.js +1 -0
  238. package/dist/web/_app/immutable/chunks/DMQKkbyp.js +1 -0
  239. package/dist/web/_app/immutable/chunks/DP09rP34.js +2 -0
  240. package/dist/web/_app/immutable/chunks/DiP47fAp.js +1 -0
  241. package/dist/web/_app/immutable/chunks/DvPliCZE.js +27 -0
  242. package/dist/web/_app/immutable/chunks/O0fx2ss6.js +1 -0
  243. package/dist/web/_app/immutable/chunks/mLOCL_1Z.js +1 -0
  244. package/dist/web/_app/immutable/chunks/xBRYfpah.js +1 -0
  245. package/dist/web/_app/immutable/entry/app.BcjicA1n.js +2 -0
  246. package/dist/web/_app/immutable/entry/start.Bwjb_6uL.js +1 -0
  247. package/dist/web/_app/immutable/nodes/0.p2-jprGE.js +10 -0
  248. package/dist/web/_app/immutable/nodes/1.DU93aLWG.js +1 -0
  249. package/dist/web/_app/immutable/nodes/2.cvPHG4LO.js +1 -0
  250. package/dist/web/_app/immutable/nodes/3.CTUfmgsr.js +11 -0
  251. package/dist/web/_app/immutable/nodes/{5.BBpmYkAu.js → 4.yO3SDYpr.js} +2 -2
  252. package/dist/web/_app/immutable/nodes/5.BQ_D1Eea.js +2 -0
  253. package/dist/web/_app/immutable/nodes/6.ljQTLrU2.js +1 -0
  254. package/dist/web/_app/immutable/nodes/7.C_LqUu_m.js +2 -0
  255. package/dist/web/_app/immutable/nodes/8.BA0tZS13.js +1 -0
  256. package/dist/web/_app/version.json +1 -1
  257. package/dist/web/index.html +10 -12
  258. package/package.json +12 -2
  259. package/dist/web/_app/immutable/assets/0.CDbX4Cwz.css +0 -1
  260. package/dist/web/_app/immutable/assets/3.BJy7pVXi.css +0 -1
  261. package/dist/web/_app/immutable/assets/4.Ad16uh9o.css +0 -1
  262. package/dist/web/_app/immutable/assets/6.Bm2i7O0j.css +0 -1
  263. package/dist/web/_app/immutable/assets/AppShell.D0rmbdqF.css +0 -1
  264. package/dist/web/_app/immutable/assets/ChatPanel.RFD5GGYI.css +0 -1
  265. package/dist/web/_app/immutable/assets/editor.CPAf2SRV.css +0 -1
  266. package/dist/web/_app/immutable/chunks/479TgXB4.js +0 -1
  267. package/dist/web/_app/immutable/chunks/4QY4j-jX.js +0 -1
  268. package/dist/web/_app/immutable/chunks/BFb0g4TQ.js +0 -64
  269. package/dist/web/_app/immutable/chunks/Bopa-Ask.js +0 -1
  270. package/dist/web/_app/immutable/chunks/COwytaCP.js +0 -1
  271. package/dist/web/_app/immutable/chunks/DEJSHbC3.js +0 -1
  272. package/dist/web/_app/immutable/chunks/DNywhIex.js +0 -23
  273. package/dist/web/_app/immutable/chunks/DTUXhwEY.js +0 -1
  274. package/dist/web/_app/immutable/chunks/DThXpa0U.js +0 -6
  275. package/dist/web/_app/immutable/chunks/Dh_H7Owr.js +0 -18
  276. package/dist/web/_app/immutable/chunks/Dml-u95b.js +0 -2
  277. package/dist/web/_app/immutable/chunks/DnlgZ_Tk.js +0 -5
  278. package/dist/web/_app/immutable/chunks/DtVH--hH.js +0 -6
  279. package/dist/web/_app/immutable/chunks/DvKVaE7M.js +0 -1
  280. package/dist/web/_app/immutable/chunks/MbiSz-iW.js +0 -2
  281. package/dist/web/_app/immutable/chunks/bSAC733J.js +0 -1
  282. package/dist/web/_app/immutable/entry/app.BvodXQQ0.js +0 -2
  283. package/dist/web/_app/immutable/entry/start.Bkui3Kyw.js +0 -1
  284. package/dist/web/_app/immutable/nodes/0.DfbCOBhn.js +0 -2
  285. package/dist/web/_app/immutable/nodes/1.vtxUGpe6.js +0 -1
  286. package/dist/web/_app/immutable/nodes/2.Cq29oW4h.js +0 -1
  287. package/dist/web/_app/immutable/nodes/3.SquslPZy.js +0 -1
  288. package/dist/web/_app/immutable/nodes/4.COV8FR8b.js +0 -16
  289. package/dist/web/_app/immutable/nodes/6.BBbh6z9I.js +0 -2
  290. /package/dist/web/_app/immutable/assets/{5.BhKgiXd2.css → 4.BhKgiXd2.css} +0 -0
@@ -4,6 +4,27 @@
4
4
  * Defines source configs, extraction records, sync state, reconciliation
5
5
  * results, and staging metadata used across all sync pipeline stages.
6
6
  */
7
+ /**
8
+ * Declares a filterable field that a source exposes.
9
+ * Used by the UI to render filter inputs and by the sync runner to apply
10
+ * client-side post-extraction filters.
11
+ */
12
+ export interface FilterFieldDef {
13
+ /** Key used in CollectionSyncRule.filter (e.g. "title_contains") */
14
+ key: string;
15
+ /** Display label shown in the UI */
16
+ label: string;
17
+ /** Input placeholder text */
18
+ placeholder?: string;
19
+ /** Input type — currently only 'text' is supported */
20
+ type: 'text';
21
+ /** Where filtering is applied: 'client' = post-extraction, 'server' = passed to MCP API */
22
+ mode: 'client' | 'server';
23
+ /** Frontmatter fields to check when mode='client'. Defaults to ['title', 'name']. */
24
+ fields?: string[];
25
+ /** Comparison operator for client-side filtering. Default: 'contains'. */
26
+ op?: 'contains' | 'exact';
27
+ }
7
28
  /**
8
29
  * Source configuration stored at .studiograph/sources/<name>.json.
9
30
  * Defines how to map external data to Studiograph entities.
@@ -30,8 +51,8 @@ export interface EntityMapping {
30
51
  source_type: string;
31
52
  /** Studiograph entity type (e.g. "project", "meeting") */
32
53
  entity_type: string;
33
- /** Repo to write to (e.g. "projects", "meetings") */
34
- target_repo: string;
54
+ /** Repo to write to set by collection-sync runner, not by source config */
55
+ target_repo?: string;
35
56
  /** Structured: field map driven. Unstructured: LLM extraction. */
36
57
  extraction_mode: 'structured' | 'unstructured' | 'frontmatter';
37
58
  /** Maps source field paths to entity field names or transforms */
@@ -50,15 +71,8 @@ export interface EntityMapping {
50
71
  * Pass an array to make multiple list calls and merge results
51
72
  * (e.g. [{ archived: false }, { archived: true }]). */
52
73
  list_params?: Record<string, any> | Record<string, any>[];
53
- /** How entities are written to disk. 'entity' (default): repo/id/main.md. 'collection': repo/id.md */
74
+ /** How entities are written to disk. 'entity' (default): repo/type/id.md. 'collection': repo/id.md */
54
75
  write_mode?: 'entity' | 'collection';
55
- /** Co-locate entities as sub-content inside a parent entity folder. */
56
- co_locate?: {
57
- /** Frontmatter field that references the parent entity (e.g., "project"). Value is a wikilink like "[[my-project]]". */
58
- parent_field: string;
59
- /** Subfolder name inside the parent entity folder (e.g., "tasks"). */
60
- subfolder: string;
61
- };
62
76
  /** Fetch body content per record via a separate MCP tool call (e.g. readGoogleDoc).
63
77
  * The result text becomes the entity's markdown body. */
64
78
  content_tool?: {
@@ -70,6 +84,8 @@ export interface EntityMapping {
70
84
  id_from?: string;
71
85
  /** Extra args to pass to the tool (e.g. { format: "markdown" }) */
72
86
  extra_args?: Record<string, any>;
87
+ /** Field name to extract content from in array responses (default: "content") */
88
+ content_field?: string;
73
89
  };
74
90
  /** Directory patterns to match source files */
75
91
  directory_patterns?: string[];
@@ -77,6 +93,14 @@ export interface EntityMapping {
77
93
  list_tool?: string;
78
94
  /** Explicit MCP tool name for reading a file (e.g. "get_vault_file"). Falls back to heuristic matching. */
79
95
  read_tool?: string;
96
+ /** REST endpoint path for listing (e.g. "/v1/notes") */
97
+ list_endpoint?: string;
98
+ /** REST endpoint path for detail (e.g. "/v1/notes/{note_id}") */
99
+ detail_endpoint?: string;
100
+ /** Extra query params for detail endpoint (e.g. { "include": "transcript" }) */
101
+ detail_params?: Record<string, string>;
102
+ /** Page size for REST pagination */
103
+ page_size?: number;
80
104
  /** Maximum recursion depth for directory listing. 0 = files directly in the pattern dir, 1 = one level of subdirs, etc. Undefined = unlimited. */
81
105
  max_depth?: number;
82
106
  /** Glob pattern matched against filename (without .md extension). Only matching files are included. Supports * and ? wildcards. E.g. "dec-*", "*.project". */
@@ -91,7 +115,7 @@ export interface FieldTransform {
91
115
  /** Target entity field name */
92
116
  field: string;
93
117
  /** Transform type to apply */
94
- transform: 'direct' | 'kebab-case' | 'date-iso' | 'wikilink' | 'wikilink-array';
118
+ transform: 'direct' | 'kebab-case' | 'date-iso' | 'wikilink' | 'wikilink-array' | 'string-array';
95
119
  /** For array-of-objects: extract this sub-path from each element before transforming */
96
120
  subfield?: string;
97
121
  }
@@ -113,17 +137,12 @@ export interface StagingMetadata {
113
137
  export interface ExtractedRecord {
114
138
  entity_type: string;
115
139
  entity_id: string;
116
- target_repo: string;
140
+ target_repo?: string;
117
141
  frontmatter: Record<string, any>;
118
142
  content: string;
119
143
  source_name: string;
120
144
  source_ref: string;
121
145
  confidence: number;
122
- /** Co-location config from the entity mapping, if present. */
123
- co_locate?: {
124
- parent_field: string;
125
- subfolder: string;
126
- };
127
146
  /** Write mode from the entity mapping, if present. */
128
147
  write_mode?: 'entity' | 'collection';
129
148
  }
@@ -152,7 +171,7 @@ export interface SourceSyncState {
152
171
  export interface ReconciliationMatch {
153
172
  entity_id: string;
154
173
  entity_type: string;
155
- target_repo: string;
174
+ target_repo?: string;
156
175
  records: ExtractedRecord[];
157
176
  match_type: 'exact-id' | 'email' | 'name-variant' | 'fuzzy-name' | 'single';
158
177
  action: 'create' | 'update';
@@ -161,11 +180,6 @@ export interface ReconciliationMatch {
161
180
  confidence: number;
162
181
  notes: string;
163
182
  field_sources?: Record<string, string>;
164
- /** Co-location config, if this entity should be written as sub-content. */
165
- co_locate?: {
166
- parent_field: string;
167
- subfolder: string;
168
- };
169
183
  /** Write mode: 'entity' (default) or 'collection' (loose file). */
170
184
  write_mode?: 'entity' | 'collection';
171
185
  }
@@ -201,3 +215,158 @@ export interface DerivationRule {
201
215
  /** Repo to write derived entities to */
202
216
  target_repo: string;
203
217
  }
218
+ /**
219
+ * New-format source definition stored at .studiograph/sources/<name>.json.
220
+ * Keyed by entity type, with primary/derived entity configs.
221
+ */
222
+ export interface SourceDefinition {
223
+ connector: string;
224
+ /** Transport: 'mcp' (default) uses MCP tool calls, 'rest' uses direct HTTP. */
225
+ adapter?: 'mcp' | 'rest';
226
+ /** REST adapter config (required when adapter: 'rest'). */
227
+ rest?: {
228
+ base_url: string;
229
+ /** Auth via query params instead of headers (e.g. { api_token: "$PIPEDRIVE_API_TOKEN" }) */
230
+ query_auth?: Record<string, string>;
231
+ };
232
+ /** Filter fields this source supports (drives UI and client-side filtering). */
233
+ filter_fields?: FilterFieldDef[];
234
+ entities: Record<string, SourceEntityConfig>;
235
+ }
236
+ /**
237
+ * Configuration for a single entity type within a source definition.
238
+ */
239
+ export interface SourceEntityConfig {
240
+ /** Source record type in the external system (e.g. "issue" for Linear). Defaults to the entity type key. */
241
+ source_type?: string;
242
+ /** If true, this is the primary entity type fetched from the source */
243
+ primary?: boolean;
244
+ /** Source field to derive from (for secondary entities like person from deal.contact_person) */
245
+ derive_from?: string;
246
+ /** Exact-match dedup field (e.g., "email" for person, "domain" for organization) */
247
+ dedupe_field?: string;
248
+ /** Maps source fields → entity fields (string for direct, FieldTransform for transforms) */
249
+ field_map: Record<string, string | FieldTransform>;
250
+ /** Maps source status values to entity status values */
251
+ status_map?: Record<string, string>;
252
+ /** Source field to slugify for entity_id */
253
+ id_from?: string;
254
+ /** Source field whose value becomes the entity markdown body */
255
+ content_from?: string;
256
+ /** If true, fetch full record via get tool for each listed ID */
257
+ fetch_details?: boolean;
258
+ /** Override the limit param sent to the list tool */
259
+ list_limit?: number;
260
+ /** Extra params passed to the list tool. Array = multiple calls merged. */
261
+ list_params?: Record<string, any> | Record<string, any>[];
262
+ /** Extraction mode (default: structured) */
263
+ extraction_mode?: 'structured' | 'frontmatter';
264
+ /** Directory patterns for frontmatter mode */
265
+ directory_patterns?: string[];
266
+ /** Explicit MCP tool name for listing */
267
+ list_tool?: string;
268
+ /** Explicit MCP tool name for reading */
269
+ read_tool?: string;
270
+ /** REST endpoint path for listing (e.g. "/v1/notes") */
271
+ list_endpoint?: string;
272
+ /** REST endpoint path for detail (e.g. "/v1/notes/{note_id}") */
273
+ detail_endpoint?: string;
274
+ /** Extra query params for detail endpoint (e.g. { "include": "transcript" }) */
275
+ detail_params?: Record<string, string>;
276
+ /** Pagination style for REST adapter */
277
+ pagination?: 'cursor' | 'offset' | 'none';
278
+ /** Page size for REST adapter */
279
+ page_size?: number;
280
+ /** Field name containing the record ID (default: 'id') */
281
+ id_field?: string;
282
+ /** Fetch body content per record via a separate tool/endpoint call */
283
+ content_tool?: {
284
+ tool: string;
285
+ id_param: string;
286
+ id_from?: string;
287
+ extra_args?: Record<string, any>;
288
+ content_field?: string;
289
+ };
290
+ }
291
+ /**
292
+ * A single target within a workspace-level sync rule.
293
+ */
294
+ export interface WorkspaceSyncTarget {
295
+ /** Collection to write matching entities into */
296
+ repo: string;
297
+ /** Client-side filter applied after extraction (same shape as CollectionSyncRule.filter) */
298
+ filter?: Record<string, any>;
299
+ }
300
+ /**
301
+ * A workspace-level sync rule (stored in workspace.json top-level sync array).
302
+ * Fetches from a source once and distributes to multiple target collections.
303
+ */
304
+ export interface WorkspaceSyncRule {
305
+ /** Source definition name */
306
+ source: string;
307
+ /** Override which entity type from source def (default: primary) */
308
+ entity_type?: string;
309
+ /** One or more target collections. A target with no filter receives all records. */
310
+ targets: WorkspaceSyncTarget[];
311
+ }
312
+ /**
313
+ * Result of one target within a workspace sync rule run.
314
+ */
315
+ export interface WorkspaceSyncTargetResult {
316
+ repo: string;
317
+ created: number;
318
+ skipped: number;
319
+ derived: number;
320
+ errors: string[];
321
+ }
322
+ /**
323
+ * Result of running one workspace-level sync rule.
324
+ */
325
+ export interface WorkspaceSyncRuleResult {
326
+ source: string;
327
+ targets: WorkspaceSyncTargetResult[];
328
+ }
329
+ /**
330
+ * A sync rule on a collection (stored in workspace.json repo entry).
331
+ */
332
+ export interface CollectionSyncRule {
333
+ /** Source definition name (matches .studiograph/sources/<name>.json) */
334
+ source: string;
335
+ /** Override which entity type from source def (default: primary) */
336
+ entity_type?: string;
337
+ /** Source-side filter passed to MCP connector */
338
+ filter?: Record<string, any>;
339
+ }
340
+ /**
341
+ * Result of syncing one source into one collection.
342
+ */
343
+ export interface CollectionSyncResult {
344
+ collection: string;
345
+ source: string;
346
+ created: number;
347
+ skipped: number;
348
+ derived: number;
349
+ errors: string[];
350
+ }
351
+ /**
352
+ * A single field diff for entity refresh.
353
+ */
354
+ export interface RefreshDiff {
355
+ field: string;
356
+ old_value: any;
357
+ new_value: any;
358
+ }
359
+ /**
360
+ * Result of refreshing a single entity from its source.
361
+ */
362
+ export interface RefreshResult {
363
+ entity_id: string;
364
+ source_ref: string;
365
+ diffs: RefreshDiff[];
366
+ body_changed: boolean;
367
+ body_diff?: {
368
+ old: string;
369
+ new: string;
370
+ };
371
+ applied: boolean;
372
+ }
@@ -6,14 +6,12 @@
6
6
  */
7
7
  import { SyncMCPClient } from './mcp-client.js';
8
8
  import type { SchemaRegistry } from '../../core/schema-registry.js';
9
- import type { GraphRAGClient } from './graphrag-client.js';
10
9
  import type { SourceConfig, EntityMapping, ExtractedRecord, SourceFile } from './types.js';
11
10
  export declare class UnstructuredExtractor {
12
11
  private client;
13
12
  private sourceConfig;
14
13
  private schemaRegistry;
15
- private graphrag?;
16
- constructor(client: SyncMCPClient, sourceConfig: SourceConfig, schemaRegistry: SchemaRegistry, graphrag?: GraphRAGClient);
14
+ constructor(client: SyncMCPClient, sourceConfig: SourceConfig, schemaRegistry: SchemaRegistry);
17
15
  /**
18
16
  * Discover files matching directory patterns.
19
17
  */
@@ -12,12 +12,10 @@ export class UnstructuredExtractor {
12
12
  client;
13
13
  sourceConfig;
14
14
  schemaRegistry;
15
- graphrag;
16
- constructor(client, sourceConfig, schemaRegistry, graphrag) {
15
+ constructor(client, sourceConfig, schemaRegistry) {
17
16
  this.client = client;
18
17
  this.sourceConfig = sourceConfig;
19
18
  this.schemaRegistry = schemaRegistry;
20
- this.graphrag = graphrag;
21
19
  }
22
20
  /**
23
21
  * Discover files matching directory patterns.
@@ -122,16 +120,7 @@ export class UnstructuredExtractor {
122
120
  // Get schema for extraction
123
121
  const schema = this.schemaRegistry.getSchema(mapping.entity_type);
124
122
  try {
125
- // Get cross-document context from GraphRAG if available
126
- let graphragContext;
127
- if (this.graphrag) {
128
- const entityName = file.name.replace(/\.md$/, '');
129
- const ctx = this.graphrag.getEntityContext(entityName, mapping.entity_type, content);
130
- if (ctx.formattedContext) {
131
- graphragContext = ctx.formattedContext;
132
- }
133
- }
134
- const frontmatter = await llmExtract(content, mapping.entity_type, schema, graphragContext);
123
+ const frontmatter = await llmExtract(content, mapping.entity_type, schema);
135
124
  // Generate entity_id from extracted name/title or filename
136
125
  const nameField = frontmatter.name ?? frontmatter.title ?? file.name.replace(/\.md$/, '');
137
126
  const entityId = slugify(String(nameField));
@@ -147,7 +136,6 @@ export class UnstructuredExtractor {
147
136
  source_ref: `${this.sourceConfig.name}:${file.path}`,
148
137
  confidence: 0.7,
149
138
  ...(mapping.write_mode ? { write_mode: mapping.write_mode } : {}),
150
- ...(mapping.co_locate ? { co_locate: mapping.co_locate } : {}),
151
139
  };
152
140
  }
153
141
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"unstructured-extractor.js","sourceRoot":"","sources":["../../../src/services/sync/unstructured-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unstructured-extractor.js","sourceRoot":"","sources":["../../../src/services/sync/unstructured-extractor.ts"],"names":[],"mappings":"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"}
@@ -2,20 +2,22 @@
2
2
  * Thin wrappers around git shell operations.
3
3
  * Extracted so tests can mock them without mocking the built-in child_process.
4
4
  */
5
- export type PullResult = 'updated' | 'up-to-date' | 'conflict';
5
+ export type PullResult = 'updated' | 'up-to-date' | 'diverged';
6
6
  export type PushResult = 'pushed' | 'nothing-to-push' | 'rejected';
7
7
  export interface GitPullOptions {
8
- /** When true (default), abort the rebase on conflict to leave repo clean.
9
- * Set to false to leave the rebase in progress so a resolver can work on it. */
10
- abortOnConflict?: boolean;
8
+ /** Basic Auth credentials for the embedded git server (injected via GIT_ASKPASS). */
9
+ credentials?: {
10
+ username: string;
11
+ password: string;
12
+ };
11
13
  }
12
14
  /**
13
- * Pull the latest changes in a local git repo.
14
- * Uses --rebase to automatically handle divergent branches
15
- * (replays local commits on top of remote changes).
16
- * Auto-stashes uncommitted changes before pulling and restores them after.
17
- * Returns 'updated', 'up-to-date', or 'conflict'.
18
- * Throws on hard errors (no remote, auth failure, etc.).
15
+ * Pull the latest changes in a local git repo using fetch + fast-forward merge.
16
+ * Returns 'updated', 'up-to-date', or 'diverged' (local has commits the remote doesn't).
17
+ * Throws on hard errors (no remote, auth failure, fetch error, etc.).
18
+ *
19
+ * Fast-forward only: if the branches have diverged the caller should ask the
20
+ * user to resolve manually with `git pull --rebase`.
19
21
  */
20
22
  export declare function gitPull(repoPath: string, opts?: GitPullOptions): PullResult;
21
23
  /**
@@ -24,11 +26,6 @@ export declare function gitPull(repoPath: string, opts?: GitPullOptions): PullRe
24
26
  * Throws on hard errors (no remote, auth failure, etc.).
25
27
  */
26
28
  export declare function gitPush(repoPath: string): PushResult;
27
- /**
28
- * Pop the most recent stash entry, if any.
29
- * Safe to call even if the stash is empty.
30
- */
31
- export declare function gitStashPop(repoPath: string): void;
32
29
  /**
33
30
  * Check if a git repo has uncommitted changes (staged or unstaged).
34
31
  * Returns true if the working tree is dirty.
@@ -38,9 +35,30 @@ export declare function gitHasUncommittedChanges(repoPath: string): boolean;
38
35
  * Check if a directory is a git repository.
39
36
  */
40
37
  export declare function isGitRepo(repoPath: string): boolean;
38
+ /**
39
+ * Check if a git repo has a remote named "origin" configured.
40
+ */
41
+ export declare function gitHasRemote(repoPath: string): boolean;
42
+ /**
43
+ * Set or update the 'origin' remote URL on a local git repo.
44
+ */
45
+ export declare function gitSetRemote(repoPath: string, url: string): void;
46
+ /**
47
+ * Push local commits to origin with Basic Auth credentials via GIT_ASKPASS.
48
+ * Used for pushing to the embedded git server.
49
+ */
50
+ export declare function gitPushWithCredentials(repoPath: string, credentials: {
51
+ username: string;
52
+ password: string;
53
+ }): PushResult;
41
54
  export interface GitCloneOptions {
42
55
  /** When true, suppress all output and disable interactive prompts (for server use). */
43
56
  silent?: boolean;
57
+ /** Basic Auth credentials for the embedded git server. */
58
+ credentials?: {
59
+ username: string;
60
+ password: string;
61
+ };
44
62
  }
45
63
  /**
46
64
  * Clone a remote repository to a local path.
@@ -54,11 +72,6 @@ export interface GitCloneOptions {
54
72
  * Throws if the git command fails.
55
73
  */
56
74
  export declare function gitClone(remoteUrl: string, localPath: string, opts?: GitCloneOptions): void;
57
- /**
58
- * Check if a git repo is currently in a rebase state.
59
- * Looks for .git/rebase-merge/ or .git/rebase-apply/ directories.
60
- */
61
- export declare function isInRebase(repoPath: string): boolean;
62
75
  /**
63
76
  * Read a git config value.
64
77
  * Returns undefined if the key is not set.