stellavault 0.2.0 → 0.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 (390) hide show
  1. package/package.json +1 -1
  2. package/packages/core/dist/api/dashboard.d.ts +3 -0
  3. package/packages/core/{src/api/dashboard.ts → dist/api/dashboard.js} +8 -11
  4. package/packages/core/dist/api/graph-data.d.ts +11 -0
  5. package/packages/core/dist/api/graph-data.js +255 -0
  6. package/packages/core/dist/api/pwa.d.ts +3 -0
  7. package/packages/core/{src/api/pwa.ts → dist/api/pwa.js} +27 -32
  8. package/packages/core/dist/api/server.d.ts +16 -0
  9. package/packages/core/dist/api/server.js +647 -0
  10. package/packages/core/dist/capture/voice.d.ts +24 -0
  11. package/packages/core/dist/capture/voice.js +135 -0
  12. package/packages/core/{src/cloud/index.ts → dist/cloud/index.d.ts} +1 -0
  13. package/packages/core/dist/cloud/index.js +2 -0
  14. package/packages/core/dist/cloud/sync.d.ts +29 -0
  15. package/packages/core/dist/cloud/sync.js +137 -0
  16. package/packages/core/dist/config.d.ts +27 -0
  17. package/packages/core/dist/config.js +55 -0
  18. package/packages/core/dist/federation/credits.d.ts +26 -0
  19. package/packages/core/dist/federation/credits.js +56 -0
  20. package/packages/core/dist/federation/identity.d.ts +14 -0
  21. package/packages/core/dist/federation/identity.js +74 -0
  22. package/packages/core/{src/federation/index.ts → dist/federation/index.d.ts} +1 -2
  23. package/packages/core/dist/federation/index.js +5 -0
  24. package/packages/core/dist/federation/node.d.ts +31 -0
  25. package/packages/core/dist/federation/node.js +216 -0
  26. package/packages/core/dist/federation/privacy.d.ts +8 -0
  27. package/packages/core/dist/federation/privacy.js +40 -0
  28. package/packages/core/dist/federation/reputation.d.ts +37 -0
  29. package/packages/core/dist/federation/reputation.js +139 -0
  30. package/packages/core/dist/federation/search.d.ts +19 -0
  31. package/packages/core/dist/federation/search.js +101 -0
  32. package/packages/core/dist/federation/sharing.d.ts +72 -0
  33. package/packages/core/dist/federation/sharing.js +246 -0
  34. package/packages/core/dist/federation/trust.d.ts +15 -0
  35. package/packages/core/dist/federation/trust.js +60 -0
  36. package/packages/core/dist/federation/types.d.ts +40 -0
  37. package/packages/core/dist/federation/types.js +3 -0
  38. package/packages/core/dist/i18n/index.d.ts +6 -0
  39. package/packages/core/dist/i18n/index.js +81 -0
  40. package/packages/core/{src/index.ts → dist/index.d.ts} +46 -65
  41. package/packages/core/dist/index.js +69 -0
  42. package/packages/core/dist/indexer/chunker.d.ts +14 -0
  43. package/packages/core/dist/indexer/chunker.js +148 -0
  44. package/packages/core/dist/indexer/embedder.d.ts +8 -0
  45. package/packages/core/dist/indexer/embedder.js +3 -0
  46. package/packages/core/dist/indexer/index.d.ts +28 -0
  47. package/packages/core/dist/indexer/index.js +74 -0
  48. package/packages/core/dist/indexer/local-embedder.d.ts +3 -0
  49. package/packages/core/dist/indexer/local-embedder.js +29 -0
  50. package/packages/core/dist/indexer/scanner.d.ts +11 -0
  51. package/packages/core/dist/indexer/scanner.js +137 -0
  52. package/packages/core/dist/indexer/watcher.d.ts +19 -0
  53. package/packages/core/dist/indexer/watcher.js +49 -0
  54. package/packages/core/dist/intelligence/contradiction-detector.d.ts +20 -0
  55. package/packages/core/dist/intelligence/contradiction-detector.js +115 -0
  56. package/packages/core/dist/intelligence/decay-engine.d.ts +27 -0
  57. package/packages/core/dist/intelligence/decay-engine.js +190 -0
  58. package/packages/core/dist/intelligence/duplicate-detector.d.ts +20 -0
  59. package/packages/core/dist/intelligence/duplicate-detector.js +55 -0
  60. package/packages/core/dist/intelligence/fsrs.d.ts +43 -0
  61. package/packages/core/dist/intelligence/fsrs.js +70 -0
  62. package/packages/core/dist/intelligence/gap-detector.d.ts +25 -0
  63. package/packages/core/dist/intelligence/gap-detector.js +78 -0
  64. package/packages/core/dist/intelligence/learning-path.d.ts +31 -0
  65. package/packages/core/dist/intelligence/learning-path.js +53 -0
  66. package/packages/core/dist/intelligence/notifications.d.ts +31 -0
  67. package/packages/core/dist/intelligence/notifications.js +65 -0
  68. package/packages/core/dist/intelligence/predictive-gaps.d.ts +14 -0
  69. package/packages/core/dist/intelligence/predictive-gaps.js +74 -0
  70. package/packages/core/dist/intelligence/semantic-versioning.d.ts +37 -0
  71. package/packages/core/dist/intelligence/semantic-versioning.js +68 -0
  72. package/packages/core/dist/intelligence/types.d.ts +28 -0
  73. package/packages/core/dist/intelligence/types.js +3 -0
  74. package/packages/core/dist/mcp/custom-tools.d.ts +29 -0
  75. package/packages/core/dist/mcp/custom-tools.js +70 -0
  76. package/packages/core/{src/mcp/index.ts → dist/mcp/index.d.ts} +1 -0
  77. package/packages/core/dist/mcp/index.js +2 -0
  78. package/packages/core/dist/mcp/server.d.ts +49 -0
  79. package/packages/core/dist/mcp/server.js +133 -0
  80. package/packages/core/dist/mcp/tools/agentic-graph.d.ts +87 -0
  81. package/packages/core/dist/mcp/tools/agentic-graph.js +88 -0
  82. package/packages/core/dist/mcp/tools/brief.d.ts +31 -0
  83. package/packages/core/dist/mcp/tools/brief.js +39 -0
  84. package/packages/core/dist/mcp/tools/decay.d.ts +33 -0
  85. package/packages/core/dist/mcp/tools/decay.js +32 -0
  86. package/packages/core/dist/mcp/tools/decision-journal.d.ts +78 -0
  87. package/packages/core/dist/mcp/tools/decision-journal.js +79 -0
  88. package/packages/core/dist/mcp/tools/export.d.ts +29 -0
  89. package/packages/core/dist/mcp/tools/export.js +60 -0
  90. package/packages/core/dist/mcp/tools/federated-search.d.ts +29 -0
  91. package/packages/core/dist/mcp/tools/federated-search.js +36 -0
  92. package/packages/core/dist/mcp/tools/generate-claude-md.d.ts +35 -0
  93. package/packages/core/dist/mcp/tools/generate-claude-md.js +107 -0
  94. package/packages/core/dist/mcp/tools/get-document.d.ts +35 -0
  95. package/packages/core/dist/mcp/tools/get-document.js +25 -0
  96. package/packages/core/dist/mcp/tools/get-related.d.ts +32 -0
  97. package/packages/core/dist/mcp/tools/get-related.js +33 -0
  98. package/packages/core/dist/mcp/tools/learning-path.d.ts +23 -0
  99. package/packages/core/dist/mcp/tools/learning-path.js +45 -0
  100. package/packages/core/dist/mcp/tools/list-topics.d.ts +15 -0
  101. package/packages/core/dist/mcp/tools/list-topics.js +18 -0
  102. package/packages/core/dist/mcp/tools/search.d.ts +39 -0
  103. package/packages/core/dist/mcp/tools/search.js +29 -0
  104. package/packages/core/dist/mcp/tools/snapshot.d.ts +47 -0
  105. package/packages/core/dist/mcp/tools/snapshot.js +84 -0
  106. package/packages/core/dist/multi-vault/index.d.ts +26 -0
  107. package/packages/core/dist/multi-vault/index.js +80 -0
  108. package/packages/core/dist/pack/creator.d.ts +21 -0
  109. package/packages/core/dist/pack/creator.js +105 -0
  110. package/packages/core/dist/pack/exporter.d.ts +4 -0
  111. package/packages/core/dist/pack/exporter.js +18 -0
  112. package/packages/core/dist/pack/importer.d.ts +10 -0
  113. package/packages/core/dist/pack/importer.js +55 -0
  114. package/packages/core/{src/pack/index.ts → dist/pack/index.d.ts} +1 -0
  115. package/packages/core/dist/pack/index.js +5 -0
  116. package/packages/core/dist/pack/marketplace.d.ts +14 -0
  117. package/packages/core/dist/pack/marketplace.js +90 -0
  118. package/packages/core/dist/pack/pii-masker.d.ts +7 -0
  119. package/packages/core/dist/pack/pii-masker.js +29 -0
  120. package/packages/core/dist/pack/types.d.ts +36 -0
  121. package/packages/core/dist/pack/types.js +3 -0
  122. package/packages/core/dist/plugins/index.d.ts +35 -0
  123. package/packages/core/dist/plugins/index.js +57 -0
  124. package/packages/core/dist/plugins/webhooks.d.ts +30 -0
  125. package/packages/core/dist/plugins/webhooks.js +79 -0
  126. package/packages/core/dist/search/bm25.d.ts +4 -0
  127. package/packages/core/dist/search/bm25.js +10 -0
  128. package/packages/core/dist/search/index.d.ts +13 -0
  129. package/packages/core/dist/search/index.js +63 -0
  130. package/packages/core/dist/search/rrf.d.ts +7 -0
  131. package/packages/core/dist/search/rrf.js +21 -0
  132. package/packages/core/dist/search/semantic.d.ts +5 -0
  133. package/packages/core/dist/search/semantic.js +6 -0
  134. package/packages/core/{src/store/index.ts → dist/store/index.d.ts} +1 -0
  135. package/packages/core/dist/store/index.js +2 -0
  136. package/packages/core/dist/store/sqlite-vec.d.ts +6 -0
  137. package/packages/core/dist/store/sqlite-vec.js +251 -0
  138. package/packages/core/dist/store/types.d.ts +20 -0
  139. package/packages/core/dist/store/types.js +3 -0
  140. package/packages/core/dist/team/index.d.ts +25 -0
  141. package/packages/core/dist/team/index.js +97 -0
  142. package/packages/core/dist/types/chunk.d.ts +23 -0
  143. package/packages/core/dist/types/chunk.js +3 -0
  144. package/packages/core/dist/types/document.d.ts +23 -0
  145. package/packages/core/dist/types/document.js +3 -0
  146. package/packages/core/dist/types/graph.d.ts +39 -0
  147. package/packages/core/dist/types/graph.js +3 -0
  148. package/packages/core/dist/types/index.d.ts +5 -0
  149. package/packages/core/dist/types/index.js +2 -0
  150. package/packages/core/dist/types/search.d.ts +39 -0
  151. package/packages/core/dist/types/search.js +3 -0
  152. package/packages/core/dist/utils/retry.d.ts +25 -0
  153. package/packages/core/dist/utils/retry.js +59 -0
  154. package/.github/workflows/pages.yml +0 -37
  155. package/memory/MEMORY.md +0 -25
  156. package/packages/cli/dist/commands/brief-cmd.d.ts.map +0 -1
  157. package/packages/cli/dist/commands/brief-cmd.js.map +0 -1
  158. package/packages/cli/dist/commands/capture-cmd.d.ts.map +0 -1
  159. package/packages/cli/dist/commands/capture-cmd.js.map +0 -1
  160. package/packages/cli/dist/commands/card-cmd.d.ts.map +0 -1
  161. package/packages/cli/dist/commands/card-cmd.js.map +0 -1
  162. package/packages/cli/dist/commands/clip-cmd.d.ts.map +0 -1
  163. package/packages/cli/dist/commands/clip-cmd.js.map +0 -1
  164. package/packages/cli/dist/commands/cloud-cmd.d.ts.map +0 -1
  165. package/packages/cli/dist/commands/cloud-cmd.js.map +0 -1
  166. package/packages/cli/dist/commands/contradictions-cmd.d.ts.map +0 -1
  167. package/packages/cli/dist/commands/contradictions-cmd.js.map +0 -1
  168. package/packages/cli/dist/commands/decay-cmd.d.ts.map +0 -1
  169. package/packages/cli/dist/commands/decay-cmd.js.map +0 -1
  170. package/packages/cli/dist/commands/digest-cmd.d.ts.map +0 -1
  171. package/packages/cli/dist/commands/digest-cmd.js.map +0 -1
  172. package/packages/cli/dist/commands/duplicates-cmd.d.ts.map +0 -1
  173. package/packages/cli/dist/commands/duplicates-cmd.js.map +0 -1
  174. package/packages/cli/dist/commands/federate-cmd.d.ts.map +0 -1
  175. package/packages/cli/dist/commands/federate-cmd.js.map +0 -1
  176. package/packages/cli/dist/commands/gaps-cmd.d.ts.map +0 -1
  177. package/packages/cli/dist/commands/gaps-cmd.js.map +0 -1
  178. package/packages/cli/dist/commands/graph-cmd.d.ts.map +0 -1
  179. package/packages/cli/dist/commands/graph-cmd.js.map +0 -1
  180. package/packages/cli/dist/commands/index-cmd.d.ts.map +0 -1
  181. package/packages/cli/dist/commands/index-cmd.js.map +0 -1
  182. package/packages/cli/dist/commands/init-cmd.d.ts.map +0 -1
  183. package/packages/cli/dist/commands/init-cmd.js.map +0 -1
  184. package/packages/cli/dist/commands/learn-cmd.d.ts.map +0 -1
  185. package/packages/cli/dist/commands/learn-cmd.js.map +0 -1
  186. package/packages/cli/dist/commands/pack-cmd.d.ts.map +0 -1
  187. package/packages/cli/dist/commands/pack-cmd.js.map +0 -1
  188. package/packages/cli/dist/commands/review-cmd.d.ts.map +0 -1
  189. package/packages/cli/dist/commands/review-cmd.js.map +0 -1
  190. package/packages/cli/dist/commands/search-cmd.d.ts.map +0 -1
  191. package/packages/cli/dist/commands/search-cmd.js.map +0 -1
  192. package/packages/cli/dist/commands/serve-cmd.d.ts.map +0 -1
  193. package/packages/cli/dist/commands/serve-cmd.js.map +0 -1
  194. package/packages/cli/dist/commands/status-cmd.d.ts.map +0 -1
  195. package/packages/cli/dist/commands/status-cmd.js.map +0 -1
  196. package/packages/cli/dist/commands/sync-cmd.d.ts.map +0 -1
  197. package/packages/cli/dist/commands/sync-cmd.js.map +0 -1
  198. package/packages/cli/dist/commands/vault-cmd.d.ts.map +0 -1
  199. package/packages/cli/dist/commands/vault-cmd.js.map +0 -1
  200. package/packages/cli/dist/index.d.ts.map +0 -1
  201. package/packages/cli/dist/index.js.map +0 -1
  202. package/packages/cli/src/commands/brief-cmd.ts +0 -87
  203. package/packages/cli/src/commands/capture-cmd.ts +0 -34
  204. package/packages/cli/src/commands/card-cmd.ts +0 -29
  205. package/packages/cli/src/commands/clip-cmd.ts +0 -172
  206. package/packages/cli/src/commands/cloud-cmd.ts +0 -75
  207. package/packages/cli/src/commands/contradictions-cmd.ts +0 -41
  208. package/packages/cli/src/commands/decay-cmd.ts +0 -57
  209. package/packages/cli/src/commands/digest-cmd.ts +0 -89
  210. package/packages/cli/src/commands/duplicates-cmd.ts +0 -38
  211. package/packages/cli/src/commands/federate-cmd.ts +0 -256
  212. package/packages/cli/src/commands/gaps-cmd.ts +0 -40
  213. package/packages/cli/src/commands/graph-cmd.ts +0 -88
  214. package/packages/cli/src/commands/index-cmd.ts +0 -65
  215. package/packages/cli/src/commands/init-cmd.ts +0 -145
  216. package/packages/cli/src/commands/learn-cmd.ts +0 -56
  217. package/packages/cli/src/commands/pack-cmd.ts +0 -121
  218. package/packages/cli/src/commands/review-cmd.ts +0 -125
  219. package/packages/cli/src/commands/search-cmd.ts +0 -45
  220. package/packages/cli/src/commands/serve-cmd.ts +0 -17
  221. package/packages/cli/src/commands/status-cmd.ts +0 -37
  222. package/packages/cli/src/commands/sync-cmd.ts +0 -68
  223. package/packages/cli/src/commands/vault-cmd.ts +0 -64
  224. package/packages/cli/src/index.ts +0 -187
  225. package/packages/core/src/api/graph-data.ts +0 -286
  226. package/packages/core/src/api/server.ts +0 -660
  227. package/packages/core/src/capture/voice.ts +0 -168
  228. package/packages/core/src/cloud/sync.ts +0 -167
  229. package/packages/core/src/config.ts +0 -82
  230. package/packages/core/src/federation/credits.ts +0 -80
  231. package/packages/core/src/federation/hyperswarm.d.ts +0 -19
  232. package/packages/core/src/federation/identity.ts +0 -90
  233. package/packages/core/src/federation/node.ts +0 -235
  234. package/packages/core/src/federation/privacy.ts +0 -52
  235. package/packages/core/src/federation/reputation.ts +0 -202
  236. package/packages/core/src/federation/search.ts +0 -129
  237. package/packages/core/src/federation/sharing.ts +0 -315
  238. package/packages/core/src/federation/trust.ts +0 -76
  239. package/packages/core/src/federation/types.ts +0 -25
  240. package/packages/core/src/i18n/index.ts +0 -85
  241. package/packages/core/src/indexer/chunker.ts +0 -180
  242. package/packages/core/src/indexer/embedder.ts +0 -9
  243. package/packages/core/src/indexer/index.ts +0 -113
  244. package/packages/core/src/indexer/local-embedder.ts +0 -35
  245. package/packages/core/src/indexer/scanner.ts +0 -142
  246. package/packages/core/src/indexer/watcher.ts +0 -62
  247. package/packages/core/src/intelligence/contradiction-detector.ts +0 -134
  248. package/packages/core/src/intelligence/decay-engine.ts +0 -229
  249. package/packages/core/src/intelligence/duplicate-detector.ts +0 -71
  250. package/packages/core/src/intelligence/fsrs.ts +0 -79
  251. package/packages/core/src/intelligence/gap-detector.ts +0 -109
  252. package/packages/core/src/intelligence/learning-path.ts +0 -86
  253. package/packages/core/src/intelligence/notifications.ts +0 -106
  254. package/packages/core/src/intelligence/predictive-gaps.ts +0 -94
  255. package/packages/core/src/intelligence/semantic-versioning.ts +0 -97
  256. package/packages/core/src/intelligence/types.ts +0 -28
  257. package/packages/core/src/mcp/custom-tools.ts +0 -97
  258. package/packages/core/src/mcp/server.ts +0 -142
  259. package/packages/core/src/mcp/tools/agentic-graph.ts +0 -96
  260. package/packages/core/src/mcp/tools/brief.ts +0 -49
  261. package/packages/core/src/mcp/tools/decay.ts +0 -40
  262. package/packages/core/src/mcp/tools/decision-journal.ts +0 -95
  263. package/packages/core/src/mcp/tools/export.ts +0 -72
  264. package/packages/core/src/mcp/tools/federated-search.ts +0 -43
  265. package/packages/core/src/mcp/tools/generate-claude-md.ts +0 -130
  266. package/packages/core/src/mcp/tools/get-document.ts +0 -26
  267. package/packages/core/src/mcp/tools/get-related.ts +0 -41
  268. package/packages/core/src/mcp/tools/learning-path.ts +0 -52
  269. package/packages/core/src/mcp/tools/list-topics.ts +0 -20
  270. package/packages/core/src/mcp/tools/search.ts +0 -35
  271. package/packages/core/src/mcp/tools/snapshot.ts +0 -98
  272. package/packages/core/src/multi-vault/index.ts +0 -118
  273. package/packages/core/src/pack/creator.ts +0 -127
  274. package/packages/core/src/pack/exporter.ts +0 -21
  275. package/packages/core/src/pack/importer.ts +0 -82
  276. package/packages/core/src/pack/marketplace.ts +0 -103
  277. package/packages/core/src/pack/pii-masker.ts +0 -38
  278. package/packages/core/src/pack/types.ts +0 -39
  279. package/packages/core/src/plugins/index.ts +0 -100
  280. package/packages/core/src/plugins/webhooks.ts +0 -110
  281. package/packages/core/src/search/bm25.ts +0 -16
  282. package/packages/core/src/search/index.ts +0 -83
  283. package/packages/core/src/search/rrf.ts +0 -31
  284. package/packages/core/src/search/semantic.ts +0 -15
  285. package/packages/core/src/store/sqlite-vec.ts +0 -290
  286. package/packages/core/src/store/types.ts +0 -22
  287. package/packages/core/src/team/index.ts +0 -126
  288. package/packages/core/src/types/chunk.ts +0 -25
  289. package/packages/core/src/types/document.ts +0 -24
  290. package/packages/core/src/types/graph.ts +0 -44
  291. package/packages/core/src/types/index.ts +0 -15
  292. package/packages/core/src/types/search.ts +0 -38
  293. package/packages/core/src/utils/retry.ts +0 -85
  294. package/packages/core/tests/api-card.test.ts +0 -60
  295. package/packages/core/tests/api-routes.test.ts +0 -98
  296. package/packages/core/tests/bm25.test.ts +0 -87
  297. package/packages/core/tests/chunker.test.ts +0 -48
  298. package/packages/core/tests/cluster.test.ts +0 -75
  299. package/packages/core/tests/constellation.test.ts +0 -77
  300. package/packages/core/tests/export-utils.test.ts +0 -97
  301. package/packages/core/tests/fsrs.test.ts +0 -96
  302. package/packages/core/tests/gesture-detector.test.ts +0 -45
  303. package/packages/core/tests/graph-data.test.ts +0 -87
  304. package/packages/core/tests/layout.test.ts +0 -83
  305. package/packages/core/tests/mcp.test.ts +0 -148
  306. package/packages/core/tests/pack.test.ts +0 -127
  307. package/packages/core/tests/pii-masker.test.ts +0 -42
  308. package/packages/core/tests/profile-card.test.ts +0 -62
  309. package/packages/core/tests/rrf.test.ts +0 -29
  310. package/packages/core/tests/search-integration.test.ts +0 -139
  311. package/packages/core/tests/store.test.ts +0 -80
  312. package/packages/graph/click-result.png +0 -0
  313. package/packages/graph/dist/assets/camera_utils-BMxqtvoZ.js +0 -1
  314. package/packages/graph/dist/assets/hands-DXA01_mx.js +0 -18
  315. package/packages/graph/dist/assets/index-DMEe2diW.js +0 -4192
  316. package/packages/graph/dist/assets/layout.worker-DbKCEFTz.js +0 -1
  317. package/packages/graph/dist/index.html +0 -17
  318. package/packages/graph/index.html +0 -17
  319. package/packages/graph/package.json +0 -32
  320. package/packages/graph/src/App.tsx +0 -7
  321. package/packages/graph/src/api/client.ts +0 -39
  322. package/packages/graph/src/components/ClusterFilter.tsx +0 -73
  323. package/packages/graph/src/components/ConstellationView.tsx +0 -232
  324. package/packages/graph/src/components/ExportPanel.tsx +0 -177
  325. package/packages/graph/src/components/Graph3D.tsx +0 -230
  326. package/packages/graph/src/components/GraphEdges.tsx +0 -100
  327. package/packages/graph/src/components/GraphNodes.tsx +0 -386
  328. package/packages/graph/src/components/HealthDashboard.tsx +0 -173
  329. package/packages/graph/src/components/Layout.tsx +0 -214
  330. package/packages/graph/src/components/MotionOverlay.tsx +0 -81
  331. package/packages/graph/src/components/MotionToggle.tsx +0 -33
  332. package/packages/graph/src/components/MultiverseView.tsx +0 -286
  333. package/packages/graph/src/components/NodeDetail.tsx +0 -232
  334. package/packages/graph/src/components/PulseParticle.tsx +0 -232
  335. package/packages/graph/src/components/SearchBar.tsx +0 -107
  336. package/packages/graph/src/components/StarField.tsx +0 -197
  337. package/packages/graph/src/components/StatusBar.tsx +0 -53
  338. package/packages/graph/src/components/Timeline.tsx +0 -148
  339. package/packages/graph/src/components/ToolsPanel.tsx +0 -512
  340. package/packages/graph/src/components/Tooltip.tsx +0 -100
  341. package/packages/graph/src/components/TypeFilter.tsx +0 -131
  342. package/packages/graph/src/embed/EmbedGraph.tsx +0 -144
  343. package/packages/graph/src/hooks/useConstellationLOD.ts +0 -76
  344. package/packages/graph/src/hooks/useDecay.ts +0 -37
  345. package/packages/graph/src/hooks/useExport.ts +0 -165
  346. package/packages/graph/src/hooks/useGraph.ts +0 -69
  347. package/packages/graph/src/hooks/useKeyboardNav.ts +0 -122
  348. package/packages/graph/src/hooks/useLayout.ts +0 -45
  349. package/packages/graph/src/hooks/useMotion.ts +0 -120
  350. package/packages/graph/src/hooks/usePulse.ts +0 -58
  351. package/packages/graph/src/hooks/useSearch.ts +0 -71
  352. package/packages/graph/src/lib/constellation.ts +0 -107
  353. package/packages/graph/src/lib/export-utils.ts +0 -48
  354. package/packages/graph/src/lib/gesture-detector.ts +0 -123
  355. package/packages/graph/src/lib/layout.worker.ts +0 -153
  356. package/packages/graph/src/lib/motion-controller.ts +0 -83
  357. package/packages/graph/src/lib/profile-card.ts +0 -122
  358. package/packages/graph/src/main.tsx +0 -4
  359. package/packages/graph/src/stores/graph-store.ts +0 -155
  360. package/packages/graph/success.png +0 -0
  361. package/packages/graph/test-click.mjs +0 -49
  362. package/packages/graph/test-explore.mjs +0 -102
  363. package/packages/graph/test-final.mjs +0 -61
  364. package/packages/graph/test-graph.mjs +0 -139
  365. package/packages/graph/test-hover.mjs +0 -48
  366. package/packages/graph/test-pulse.mjs +0 -68
  367. package/packages/graph/test-screenshot.mjs +0 -56
  368. package/packages/graph/test-v2.mjs +0 -97
  369. package/packages/graph/tsconfig.tsbuildinfo +0 -1
  370. package/packages/graph/vite.config.ts +0 -15
  371. package/packages/sync/.env.example +0 -11
  372. package/packages/sync/.sync-state.json +0 -317
  373. package/packages/sync/.upload-state.json +0 -1009
  374. package/packages/sync/create-stella-network-notion.mjs +0 -151
  375. package/packages/sync/create-stellavault-project-notion.mjs +0 -322
  376. package/packages/sync/logs/sync-2026-03-28.log +0 -6
  377. package/packages/sync/logs/sync-2026-03-29.log +0 -12
  378. package/packages/sync/logs/sync-2026-03-30.log +0 -6
  379. package/packages/sync/logs/sync-2026-03-31.log +0 -6
  380. package/packages/sync/logs/sync-2026-04-01.log +0 -6
  381. package/packages/sync/logs/sync-2026-04-02.log +0 -6
  382. package/packages/sync/package-lock.json +0 -373
  383. package/packages/sync/package.json +0 -16
  384. package/packages/sync/run-sync.bat +0 -18
  385. package/packages/sync/run-sync.mjs +0 -46
  386. package/packages/sync/setup-scheduler.mjs +0 -119
  387. package/packages/sync/structured-sync.mjs +0 -187
  388. package/packages/sync/sync-to-obsidian.mjs +0 -264
  389. package/packages/sync/upload-pdca-to-notion.mjs +0 -495
  390. package/tsconfig.base.json +0 -18
@@ -1,61 +0,0 @@
1
- import { chromium } from 'playwright';
2
-
3
- const browser = await chromium.launch({ headless: false });
4
- const page = await browser.newPage({ viewport: { width: 1400, height: 800 } });
5
- await page.goto('http://localhost:5173');
6
- await page.waitForTimeout(5000);
7
-
8
- const canvas = await page.locator('canvas').boundingBox();
9
- const cx = canvas.x + canvas.width / 2;
10
- const cy = canvas.y + canvas.height / 2;
11
-
12
- for (let dx = -250; dx <= 250; dx += 20) {
13
- for (let dy = -200; dy <= 200; dy += 20) {
14
- await page.mouse.move(cx + dx, cy + dy);
15
- await page.waitForTimeout(30);
16
- const cursor = await page.evaluate(() => document.body.style.cursor);
17
- if (cursor === 'pointer') {
18
- console.log(`Node at [${dx}, ${dy}]`);
19
-
20
- // 클릭
21
- await page.mouse.click(cx + dx, cy + dy);
22
- await page.waitForTimeout(1500);
23
-
24
- // 확인
25
- const result = await page.evaluate(() => {
26
- const text = document.body.innerText;
27
- const has380 = !!Array.from(document.querySelectorAll('div')).find(d => d.style.width === '380px');
28
- return {
29
- hasPanel: has380,
30
- hasPreview: text.includes('DOCUMENT PREVIEW') || text.includes('Document Preview'),
31
- hasExplore: text.includes('Explore connections'),
32
- };
33
- });
34
- console.log('Result:', JSON.stringify(result));
35
-
36
- if (result.hasPanel) {
37
- console.log('SUCCESS - Panel is visible!');
38
- await page.screenshot({ path: 'success.png', fullPage: true });
39
- } else {
40
- console.log('FAIL - Panel not found');
41
-
42
- // 디버그: selectedNodeId 확인
43
- const debug = await page.evaluate(() => {
44
- // zustand 내부 상태에 접근할 수 없으므로 DOM 기반으로 확인
45
- return {
46
- allText: document.body.innerText.slice(0, 300),
47
- divCount: document.querySelectorAll('div').length,
48
- };
49
- });
50
- console.log('Debug:', JSON.stringify(debug, null, 2));
51
- }
52
-
53
- await page.waitForTimeout(2000);
54
- await browser.close();
55
- process.exit(0);
56
- }
57
- }
58
- }
59
-
60
- console.log('No node found');
61
- await browser.close();
@@ -1,139 +0,0 @@
1
- import { chromium } from 'playwright';
2
-
3
- const browser = await chromium.launch({ headless: false });
4
- const page = await browser.newPage();
5
-
6
- console.log('1. Opening graph...');
7
- await page.goto('http://localhost:5173');
8
- await page.waitForTimeout(3000);
9
-
10
- // 페이지 상태 확인
11
- const statusText = await page.locator('body').innerText();
12
- console.log('2. Page text:', statusText.slice(0, 200));
13
-
14
- // 콘솔 로그 캡처
15
- page.on('console', msg => {
16
- if (msg.type() === 'error') console.log(' [CONSOLE ERROR]', msg.text());
17
- });
18
-
19
- // zustand store 상태 확인
20
- const storeState = await page.evaluate(() => {
21
- // zustand store 직접 접근 시도
22
- const root = document.getElementById('root');
23
- return {
24
- rootExists: !!root,
25
- rootChildren: root?.children?.length ?? 0,
26
- rootHTML: root?.innerHTML?.slice(0, 500) ?? 'empty',
27
- };
28
- });
29
- console.log('3. Root state:', JSON.stringify(storeState, null, 2));
30
-
31
- // selectedNodeId 상태 확인
32
- const graphState = await page.evaluate(() => {
33
- try {
34
- // window에 노출된 함수로 상태 확인
35
- return {
36
- hasPulse: typeof window.__sv_pulse === 'function',
37
- hasStopPulse: typeof window.__sv_stopPulse === 'function',
38
- };
39
- } catch (e) {
40
- return { error: String(e) };
41
- }
42
- });
43
- console.log('4. Graph functions:', JSON.stringify(graphState));
44
-
45
- // Canvas 요소 확인
46
- const canvasInfo = await page.evaluate(() => {
47
- const canvas = document.querySelector('canvas');
48
- return {
49
- canvasExists: !!canvas,
50
- canvasSize: canvas ? `${canvas.width}x${canvas.height}` : 'none',
51
- };
52
- });
53
- console.log('5. Canvas:', JSON.stringify(canvasInfo));
54
-
55
- // 노드 호버 시뮬레이션: 캔버스 중앙 근처로 마우스 이동
56
- const canvasBounds = await page.locator('canvas').boundingBox();
57
- if (canvasBounds) {
58
- const cx = canvasBounds.x + canvasBounds.width / 2;
59
- const cy = canvasBounds.y + canvasBounds.height / 2;
60
-
61
- console.log('6. Moving mouse to canvas center:', cx, cy);
62
- await page.mouse.move(cx, cy);
63
- await page.waitForTimeout(500);
64
-
65
- // 호버 후 상태
66
- const afterHover = await page.evaluate(() => {
67
- // DOM에서 사이드패널 찾기
68
- const panels = document.querySelectorAll('div');
69
- let sidePanel = null;
70
- panels.forEach(p => {
71
- if (p.style.width === '380px') sidePanel = p;
72
- });
73
- return {
74
- panelFound: !!sidePanel,
75
- totalDivs: panels.length,
76
- };
77
- });
78
- console.log('7. After hover:', JSON.stringify(afterHover));
79
-
80
- // 클릭
81
- console.log('8. Clicking...');
82
- await page.mouse.click(cx, cy);
83
- await page.waitForTimeout(1000);
84
-
85
- // 클릭 후 상태
86
- const afterClick = await page.evaluate(() => {
87
- const panels = document.querySelectorAll('div');
88
- let sidePanel = null;
89
- let sidePanelText = '';
90
- panels.forEach(p => {
91
- if (p.style.width === '380px') {
92
- sidePanel = p;
93
- sidePanelText = p.innerText?.slice(0, 100) ?? '';
94
- }
95
- });
96
-
97
- // zustand 상태 직접 확인 — React 내부 접근
98
- const allText = document.body.innerText;
99
- const hasDocPreview = allText.includes('Document Preview');
100
- const hasExplore = allText.includes('Explore connections');
101
-
102
- return {
103
- panelFound: !!sidePanel,
104
- sidePanelText,
105
- hasDocPreview,
106
- hasExplore,
107
- bodyTextSnippet: allText.slice(0, 300),
108
- };
109
- });
110
- console.log('9. After click:', JSON.stringify(afterClick, null, 2));
111
-
112
- // 여러 위치에서 클릭 시도 (노드가 있을만한 곳)
113
- for (const offset of [[0, 0], [-100, -50], [100, 50], [-50, 80], [80, -60]]) {
114
- const x = cx + offset[0];
115
- const y = cy + offset[1];
116
- await page.mouse.move(x, y);
117
- await page.waitForTimeout(300);
118
-
119
- const cursorStyle = await page.evaluate(() => document.body.style.cursor);
120
- if (cursorStyle === 'pointer') {
121
- console.log(`10. Found node at offset [${offset}]! Clicking...`);
122
- await page.mouse.click(x, y);
123
- await page.waitForTimeout(1000);
124
-
125
- const result = await page.evaluate(() => {
126
- return {
127
- bodyText: document.body.innerText.slice(0, 500),
128
- has380Panel: !!Array.from(document.querySelectorAll('div')).find(d => d.style.width === '380px'),
129
- };
130
- });
131
- console.log('11. After node click:', JSON.stringify(result, null, 2));
132
- break;
133
- }
134
- }
135
- }
136
-
137
- await page.waitForTimeout(3000);
138
- await browser.close();
139
- console.log('Done.');
@@ -1,48 +0,0 @@
1
- import { chromium } from 'playwright';
2
-
3
- const browser = await chromium.launch({ headless: false });
4
- const page = await browser.newPage({ viewport: { width: 1400, height: 800 } });
5
- await page.goto('http://localhost:5173');
6
- await page.waitForTimeout(5000);
7
-
8
- const canvas = await page.locator('canvas').boundingBox();
9
- const cx = canvas.x + canvas.width / 2;
10
- const cy = canvas.y + canvas.height / 2;
11
-
12
- // 1. 노드 찾아서 호버만 (클릭 없이)
13
- for (let dx = -250; dx <= 250; dx += 20) {
14
- for (let dy = -200; dy <= 200; dy += 20) {
15
- await page.mouse.move(cx + dx, cy + dy);
16
- await page.waitForTimeout(30);
17
- const cursor = await page.evaluate(() => document.body.style.cursor);
18
- if (cursor === 'pointer') {
19
- console.log(`Node at [${dx}, ${dy}] — hovering (no click)`);
20
- await page.waitForTimeout(1500);
21
-
22
- const result = await page.evaluate(() => {
23
- const text = document.body.innerText;
24
- return {
25
- hasPreview: text.includes('Document Preview') || text.includes('DOCUMENT PREVIEW'),
26
- hasExplore: text.includes('Explore connections'),
27
- snippet: text.slice(0, 300),
28
- };
29
- });
30
- console.log('Hover result:', JSON.stringify(result, null, 2));
31
-
32
- // 2. 마우스를 빈 곳으로 이동 → 패널 사라지는지
33
- await page.mouse.move(cx + 250, cy + 200);
34
- await page.waitForTimeout(800);
35
- const afterLeave = await page.evaluate(() => {
36
- return document.body.innerText.includes('Document Preview');
37
- });
38
- console.log('After leave:', afterLeave ? 'Panel still visible' : 'Panel hidden');
39
-
40
- await page.waitForTimeout(2000);
41
- await browser.close();
42
- process.exit(0);
43
- }
44
- }
45
- }
46
-
47
- console.log('No node found');
48
- await browser.close();
@@ -1,68 +0,0 @@
1
- import { chromium } from 'playwright';
2
-
3
- const browser = await chromium.launch({ headless: false });
4
- const page = await browser.newPage({ viewport: { width: 1400, height: 800 } });
5
- page.on('console', m => { if (m.type() === 'error') console.log('ERR:', m.text()); });
6
- await page.goto('http://localhost:5173');
7
- await page.waitForTimeout(5000);
8
-
9
- const canvas = await page.locator('canvas').boundingBox();
10
- const cx = canvas.x + canvas.width / 2;
11
- const cy = canvas.y + canvas.height / 2;
12
-
13
- // 노드 찾아서 클릭
14
- for (let dx = -250; dx <= 250; dx += 15) {
15
- for (let dy = -200; dy <= 200; dy += 15) {
16
- await page.mouse.move(cx + dx, cy + dy);
17
- await page.waitForTimeout(20);
18
- if (await page.evaluate(() => document.body.style.cursor) === 'pointer') {
19
- await page.waitForTimeout(200);
20
- await page.mouse.down(); await page.waitForTimeout(50); await page.mouse.up();
21
- await page.waitForTimeout(1500);
22
-
23
- // Explore 클릭
24
- const btn = page.locator('button', { hasText: 'Explore connections' });
25
- if (await btn.isVisible()) {
26
- console.log('Clicking Explore...');
27
- await btn.click();
28
-
29
- // 2초 동안 모니터링
30
- for (let i = 0; i < 20; i++) {
31
- await page.waitForTimeout(200);
32
- const state = await page.evaluate(() => {
33
- const cv = document.querySelector('canvas');
34
- // 빛 입자가 있는지 확인 (mesh 개수 변화)
35
- return {
36
- canvasOK: cv ? cv.offsetWidth > 0 : false,
37
- };
38
- });
39
- if (i % 5 === 0) console.log(` ${i * 200}ms: canvas=${state.canvasOK}`);
40
- }
41
-
42
- // 완료 후 다른 노드 클릭
43
- console.log('Clicking another node...');
44
- for (let dx2 = -100; dx2 <= 100; dx2 += 15) {
45
- for (let dy2 = -100; dy2 <= 100; dy2 += 15) {
46
- await page.mouse.move(cx + dx2, cy + dy2);
47
- await page.waitForTimeout(20);
48
- if (await page.evaluate(() => document.body.style.cursor) === 'pointer') {
49
- await page.mouse.down(); await page.waitForTimeout(50); await page.mouse.up();
50
- await page.waitForTimeout(1000);
51
- const ok = await page.evaluate(() => {
52
- const cv = document.querySelector('canvas');
53
- return { canvasW: cv?.offsetWidth ?? 0, hasPanel: document.body.innerText.includes('DOCUMENT PREVIEW') };
54
- });
55
- console.log('After 2nd click:', JSON.stringify(ok));
56
- break;
57
- }
58
- }
59
- break;
60
- }
61
- }
62
- await page.waitForTimeout(2000);
63
- await browser.close();
64
- process.exit(0);
65
- }
66
- }
67
- }
68
- await browser.close();
@@ -1,56 +0,0 @@
1
- import { chromium } from 'playwright';
2
-
3
- const browser = await chromium.launch({ headless: false });
4
- const page = await browser.newPage({ viewport: { width: 1400, height: 800 } });
5
- await page.goto('http://localhost:5173');
6
- await page.waitForTimeout(5000);
7
-
8
- await page.screenshot({ path: '../../../images/before-click.png' });
9
- console.log('1. Before click screenshot saved');
10
-
11
- const canvas = await page.locator('canvas').boundingBox();
12
- const cx = canvas.x + canvas.width / 2;
13
- const cy = canvas.y + canvas.height / 2;
14
-
15
- // 노드 찾기
16
- for (let dx = -250; dx <= 250; dx += 20) {
17
- for (let dy = -200; dy <= 200; dy += 20) {
18
- await page.mouse.move(cx + dx, cy + dy);
19
- await page.waitForTimeout(30);
20
- const cursor = await page.evaluate(() => document.body.style.cursor);
21
- if (cursor === 'pointer') {
22
- console.log(`2. Node found at [${dx}, ${dy}], clicking...`);
23
- await page.mouse.click(cx + dx, cy + dy);
24
- await page.waitForTimeout(2000);
25
- await page.screenshot({ path: '../../../images/after-click.png' });
26
- console.log('3. After click screenshot saved');
27
-
28
- // DOM 디버그
29
- const debug = await page.evaluate(() => {
30
- const all = document.querySelectorAll('*');
31
- let panel = null;
32
- all.forEach(el => {
33
- if (el.textContent?.includes('DOCUMENT PREVIEW') && el.tagName === 'DIV') {
34
- const rect = el.getBoundingClientRect();
35
- panel = {
36
- tag: el.tagName,
37
- rect: { x: rect.x, y: rect.y, w: rect.width, h: rect.height },
38
- visible: rect.width > 0 && rect.height > 0,
39
- display: getComputedStyle(el).display,
40
- overflow: getComputedStyle(el).overflow,
41
- zIndex: getComputedStyle(el).zIndex,
42
- };
43
- }
44
- });
45
- return { panel, windowSize: { w: window.innerWidth, h: window.innerHeight } };
46
- });
47
- console.log('4. Panel debug:', JSON.stringify(debug, null, 2));
48
-
49
- await browser.close();
50
- process.exit(0);
51
- }
52
- }
53
- }
54
-
55
- console.log('No node found');
56
- await browser.close();
@@ -1,97 +0,0 @@
1
- import { chromium } from 'playwright';
2
-
3
- const browser = await chromium.launch({ headless: false });
4
- const page = await browser.newPage({ viewport: { width: 1400, height: 800 } });
5
- await page.goto('http://localhost:5173');
6
- await page.waitForTimeout(5000);
7
-
8
- const canvas = await page.locator('canvas').boundingBox();
9
- const cx = canvas.x + canvas.width / 2;
10
- const cy = canvas.y + canvas.height / 2;
11
-
12
- // 1. 노드 찾기
13
- let nodeX = 0, nodeY = 0;
14
- for (let dx = -250; dx <= 250; dx += 15) {
15
- for (let dy = -200; dy <= 200; dy += 15) {
16
- await page.mouse.move(cx + dx, cy + dy);
17
- await page.waitForTimeout(20);
18
- const cursor = await page.evaluate(() => document.body.style.cursor);
19
- if (cursor === 'pointer') {
20
- nodeX = cx + dx;
21
- nodeY = cy + dy;
22
- console.log(`1. Node found at [${dx}, ${dy}]`);
23
- break;
24
- }
25
- }
26
- if (nodeX) break;
27
- }
28
-
29
- if (!nodeX) { console.log('No node found'); await browser.close(); process.exit(1); }
30
-
31
- // 2. 호버 상태 확인 (툴팁만, 사이드패널 없음)
32
- await page.mouse.move(nodeX, nodeY);
33
- await page.waitForTimeout(500);
34
- let result = await page.evaluate(() => ({
35
- hasPanel: document.body.innerText.includes('Document Preview'),
36
- bodySnippet: document.body.innerText.slice(0, 200),
37
- }));
38
- console.log(`2. Hover only — panel: ${result.hasPanel}`);
39
-
40
- // 3. 클릭 (mousedown + mouseup at same position)
41
- await page.mouse.move(nodeX, nodeY);
42
- await page.waitForTimeout(200);
43
- await page.mouse.down();
44
- await page.waitForTimeout(50);
45
- await page.mouse.up();
46
- await page.waitForTimeout(1500);
47
-
48
- result = await page.evaluate(() => ({
49
- hasPanel: document.body.innerText.includes('Document Preview'),
50
- hasExplore: document.body.innerText.includes('Explore connections'),
51
- snippet: document.body.innerText.slice(0, 400),
52
- }));
53
- console.log(`3. After click — panel: ${result.hasPanel}, explore: ${result.hasExplore}`);
54
- if (result.hasPanel) console.log(' Content:', result.snippet.slice(200, 400));
55
-
56
- // 4. 빈 곳 클릭 → 해제
57
- await page.mouse.move(cx + 300, cy + 250);
58
- await page.waitForTimeout(200);
59
- await page.mouse.down();
60
- await page.waitForTimeout(50);
61
- await page.mouse.up();
62
- await page.waitForTimeout(800);
63
-
64
- result = await page.evaluate(() => ({
65
- hasPanel: document.body.innerText.includes('Document Preview'),
66
- }));
67
- console.log(`4. After empty click — panel: ${result.hasPanel}`);
68
-
69
- // 5. 같은 노드 다시 클릭 → 열기
70
- await page.mouse.move(nodeX, nodeY);
71
- await page.waitForTimeout(300);
72
- await page.mouse.down();
73
- await page.waitForTimeout(50);
74
- await page.mouse.up();
75
- await page.waitForTimeout(1500);
76
-
77
- result = await page.evaluate(() => ({
78
- hasPanel: document.body.innerText.includes('Document Preview'),
79
- }));
80
- console.log(`5. Re-click node — panel: ${result.hasPanel}`);
81
-
82
- // 6. 같은 노드 또 클릭 → 토글 닫기
83
- await page.mouse.move(nodeX, nodeY);
84
- await page.waitForTimeout(300);
85
- await page.mouse.down();
86
- await page.waitForTimeout(50);
87
- await page.mouse.up();
88
- await page.waitForTimeout(800);
89
-
90
- result = await page.evaluate(() => ({
91
- hasPanel: document.body.innerText.includes('Document Preview'),
92
- }));
93
- console.log(`6. Toggle off — panel: ${result.hasPanel}`);
94
-
95
- console.log('\nDone!');
96
- await page.waitForTimeout(2000);
97
- await browser.close();
@@ -1 +0,0 @@
1
- {"root":["./src/app.tsx","./src/main.tsx","./src/api/client.ts","./src/components/clusterfilter.tsx","./src/components/constellationview.tsx","./src/components/exportpanel.tsx","./src/components/graph3d.tsx","./src/components/graphedges.tsx","./src/components/graphnodes.tsx","./src/components/healthdashboard.tsx","./src/components/layout.tsx","./src/components/motionoverlay.tsx","./src/components/motiontoggle.tsx","./src/components/multiverseview.tsx","./src/components/nodedetail.tsx","./src/components/pulseparticle.tsx","./src/components/searchbar.tsx","./src/components/starfield.tsx","./src/components/statusbar.tsx","./src/components/timeline.tsx","./src/components/toolspanel.tsx","./src/components/tooltip.tsx","./src/components/typefilter.tsx","./src/embed/embedgraph.tsx","./src/hooks/useconstellationlod.ts","./src/hooks/usedecay.ts","./src/hooks/useexport.ts","./src/hooks/usegraph.ts","./src/hooks/usekeyboardnav.ts","./src/hooks/uselayout.ts","./src/hooks/usemotion.ts","./src/hooks/usepulse.ts","./src/hooks/usesearch.ts","./src/lib/constellation.ts","./src/lib/export-utils.ts","./src/lib/gesture-detector.ts","./src/lib/layout.worker.ts","./src/lib/motion-controller.ts","./src/lib/profile-card.ts","./src/stores/graph-store.ts"],"version":"5.9.3"}
@@ -1,15 +0,0 @@
1
- import { defineConfig } from 'vite';
2
- import react from '@vitejs/plugin-react';
3
-
4
- export default defineConfig({
5
- plugins: [react()],
6
- server: {
7
- port: 5173,
8
- proxy: {
9
- '/api': {
10
- target: 'http://127.0.0.1:3333',
11
- changeOrigin: true,
12
- },
13
- },
14
- },
15
- });
@@ -1,11 +0,0 @@
1
- # Notion API 키 (https://www.notion.so/my-integrations 에서 생성)
2
- NOTION_API_KEY=ntn_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
3
-
4
- # 프로젝트 상위 페이지 ID (노션 URL의 마지막 32자리)
5
- NOTION_ROOT_PAGE_ID=330dcee017df808d92d4d9ff46fa7697
6
-
7
- # 옵시디언 저장 경로
8
- OBSIDIAN_PATH=F:/obsidian/Evan/04_Projects
9
-
10
- # 로컬 프로젝트 경로들 (쉼표 구분)
11
- PROJECT_PATHS=E:/AI코딩프로젝트/클로드코드/ai_destiny,E:/AI코딩프로젝트/클로드코드/project-manager,E:/AI코딩프로젝트/클로드코드/stock_analist_beta,E:/AI코딩프로젝트/클로드코드/stock-autotrade,E:/AI코딩프로젝트/클로드코드/vibevonweb,E:/AI코딩프로젝트/클로드코드/TEST