stellavault 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/packages/core/dist/api/dashboard.d.ts +3 -0
- package/packages/core/{src/api/dashboard.ts → dist/api/dashboard.js} +8 -11
- package/packages/core/dist/api/graph-data.d.ts +11 -0
- package/packages/core/dist/api/graph-data.js +255 -0
- package/packages/core/dist/api/pwa.d.ts +3 -0
- package/packages/core/{src/api/pwa.ts → dist/api/pwa.js} +27 -32
- package/packages/core/dist/api/server.d.ts +16 -0
- package/packages/core/dist/api/server.js +718 -0
- package/packages/core/dist/capture/voice.d.ts +24 -0
- package/packages/core/dist/capture/voice.js +135 -0
- package/packages/core/{src/cloud/index.ts → dist/cloud/index.d.ts} +1 -0
- package/packages/core/dist/cloud/index.js +2 -0
- package/packages/core/dist/cloud/sync.d.ts +29 -0
- package/packages/core/dist/cloud/sync.js +137 -0
- package/packages/core/dist/config.d.ts +27 -0
- package/packages/core/dist/config.js +55 -0
- package/packages/core/dist/federation/credits.d.ts +26 -0
- package/packages/core/dist/federation/credits.js +56 -0
- package/packages/core/dist/federation/identity.d.ts +14 -0
- package/packages/core/dist/federation/identity.js +74 -0
- package/packages/core/{src/federation/index.ts → dist/federation/index.d.ts} +1 -2
- package/packages/core/dist/federation/index.js +5 -0
- package/packages/core/dist/federation/node.d.ts +31 -0
- package/packages/core/dist/federation/node.js +216 -0
- package/packages/core/dist/federation/privacy.d.ts +8 -0
- package/packages/core/dist/federation/privacy.js +40 -0
- package/packages/core/dist/federation/reputation.d.ts +37 -0
- package/packages/core/dist/federation/reputation.js +139 -0
- package/packages/core/dist/federation/search.d.ts +19 -0
- package/packages/core/dist/federation/search.js +101 -0
- package/packages/core/dist/federation/sharing.d.ts +72 -0
- package/packages/core/dist/federation/sharing.js +246 -0
- package/packages/core/dist/federation/trust.d.ts +15 -0
- package/packages/core/dist/federation/trust.js +60 -0
- package/packages/core/dist/federation/types.d.ts +40 -0
- package/packages/core/dist/federation/types.js +3 -0
- package/packages/core/dist/i18n/index.d.ts +6 -0
- package/packages/core/dist/i18n/index.js +81 -0
- package/packages/core/{src/index.ts → dist/index.d.ts} +46 -65
- package/packages/core/dist/index.js +69 -0
- package/packages/core/dist/indexer/chunker.d.ts +14 -0
- package/packages/core/dist/indexer/chunker.js +148 -0
- package/packages/core/dist/indexer/embedder.d.ts +8 -0
- package/packages/core/dist/indexer/embedder.js +3 -0
- package/packages/core/dist/indexer/index.d.ts +28 -0
- package/packages/core/dist/indexer/index.js +74 -0
- package/packages/core/dist/indexer/local-embedder.d.ts +3 -0
- package/packages/core/dist/indexer/local-embedder.js +29 -0
- package/packages/core/dist/indexer/scanner.d.ts +11 -0
- package/packages/core/dist/indexer/scanner.js +137 -0
- package/packages/core/dist/indexer/watcher.d.ts +19 -0
- package/packages/core/dist/indexer/watcher.js +49 -0
- package/packages/core/dist/intelligence/code-linker.d.ts +20 -0
- package/packages/core/dist/intelligence/code-linker.js +88 -0
- package/packages/core/dist/intelligence/contradiction-detector.d.ts +20 -0
- package/packages/core/dist/intelligence/contradiction-detector.js +115 -0
- package/packages/core/dist/intelligence/decay-engine.d.ts +27 -0
- package/packages/core/dist/intelligence/decay-engine.js +190 -0
- package/packages/core/dist/intelligence/duplicate-detector.d.ts +20 -0
- package/packages/core/dist/intelligence/duplicate-detector.js +55 -0
- package/packages/core/dist/intelligence/fsrs.d.ts +43 -0
- package/packages/core/dist/intelligence/fsrs.js +70 -0
- package/packages/core/dist/intelligence/gap-detector.d.ts +25 -0
- package/packages/core/dist/intelligence/gap-detector.js +78 -0
- package/packages/core/dist/intelligence/learning-path.d.ts +31 -0
- package/packages/core/dist/intelligence/learning-path.js +53 -0
- package/packages/core/dist/intelligence/notifications.d.ts +31 -0
- package/packages/core/dist/intelligence/notifications.js +65 -0
- package/packages/core/dist/intelligence/predictive-gaps.d.ts +14 -0
- package/packages/core/dist/intelligence/predictive-gaps.js +74 -0
- package/packages/core/dist/intelligence/semantic-versioning.d.ts +37 -0
- package/packages/core/dist/intelligence/semantic-versioning.js +68 -0
- package/packages/core/dist/intelligence/types.d.ts +28 -0
- package/packages/core/dist/intelligence/types.js +3 -0
- package/packages/core/dist/mcp/custom-tools.d.ts +29 -0
- package/packages/core/dist/mcp/custom-tools.js +70 -0
- package/packages/core/{src/mcp/index.ts → dist/mcp/index.d.ts} +1 -0
- package/packages/core/dist/mcp/index.js +2 -0
- package/packages/core/dist/mcp/server.d.ts +49 -0
- package/packages/core/dist/mcp/server.js +151 -0
- package/packages/core/dist/mcp/tools/agentic-graph.d.ts +87 -0
- package/packages/core/dist/mcp/tools/agentic-graph.js +88 -0
- package/packages/core/dist/mcp/tools/brief.d.ts +31 -0
- package/packages/core/dist/mcp/tools/brief.js +39 -0
- package/packages/core/dist/mcp/tools/decay.d.ts +33 -0
- package/packages/core/dist/mcp/tools/decay.js +32 -0
- package/packages/core/dist/mcp/tools/decision-journal.d.ts +78 -0
- package/packages/core/dist/mcp/tools/decision-journal.js +79 -0
- package/packages/core/dist/mcp/tools/detect-gaps.d.ts +24 -0
- package/packages/core/dist/mcp/tools/detect-gaps.js +47 -0
- package/packages/core/dist/mcp/tools/export.d.ts +29 -0
- package/packages/core/dist/mcp/tools/export.js +60 -0
- package/packages/core/dist/mcp/tools/federated-search.d.ts +29 -0
- package/packages/core/dist/mcp/tools/federated-search.js +36 -0
- package/packages/core/dist/mcp/tools/generate-claude-md.d.ts +35 -0
- package/packages/core/dist/mcp/tools/generate-claude-md.js +107 -0
- package/packages/core/dist/mcp/tools/get-document.d.ts +35 -0
- package/packages/core/dist/mcp/tools/get-document.js +25 -0
- package/packages/core/dist/mcp/tools/get-evolution.d.ts +28 -0
- package/packages/core/dist/mcp/tools/get-evolution.js +70 -0
- package/packages/core/dist/mcp/tools/get-related.d.ts +32 -0
- package/packages/core/dist/mcp/tools/get-related.js +33 -0
- package/packages/core/dist/mcp/tools/learning-path.d.ts +23 -0
- package/packages/core/dist/mcp/tools/learning-path.js +45 -0
- package/packages/core/dist/mcp/tools/link-code.d.ts +34 -0
- package/packages/core/dist/mcp/tools/link-code.js +44 -0
- package/packages/core/dist/mcp/tools/list-topics.d.ts +15 -0
- package/packages/core/dist/mcp/tools/list-topics.js +18 -0
- package/packages/core/dist/mcp/tools/search.d.ts +39 -0
- package/packages/core/dist/mcp/tools/search.js +29 -0
- package/packages/core/dist/mcp/tools/snapshot.d.ts +47 -0
- package/packages/core/dist/mcp/tools/snapshot.js +84 -0
- package/packages/core/dist/multi-vault/index.d.ts +26 -0
- package/packages/core/dist/multi-vault/index.js +80 -0
- package/packages/core/dist/pack/creator.d.ts +21 -0
- package/packages/core/dist/pack/creator.js +105 -0
- package/packages/core/dist/pack/exporter.d.ts +4 -0
- package/packages/core/dist/pack/exporter.js +18 -0
- package/packages/core/dist/pack/importer.d.ts +10 -0
- package/packages/core/dist/pack/importer.js +55 -0
- package/packages/core/{src/pack/index.ts → dist/pack/index.d.ts} +1 -0
- package/packages/core/dist/pack/index.js +5 -0
- package/packages/core/dist/pack/marketplace.d.ts +14 -0
- package/packages/core/dist/pack/marketplace.js +90 -0
- package/packages/core/dist/pack/pii-masker.d.ts +7 -0
- package/packages/core/dist/pack/pii-masker.js +29 -0
- package/packages/core/dist/pack/types.d.ts +36 -0
- package/packages/core/dist/pack/types.js +3 -0
- package/packages/core/dist/plugins/index.d.ts +35 -0
- package/packages/core/dist/plugins/index.js +57 -0
- package/packages/core/dist/plugins/webhooks.d.ts +30 -0
- package/packages/core/dist/plugins/webhooks.js +79 -0
- package/packages/core/dist/search/adaptive.d.ts +16 -0
- package/packages/core/dist/search/adaptive.js +67 -0
- package/packages/core/dist/search/bm25.d.ts +4 -0
- package/packages/core/dist/search/bm25.js +10 -0
- package/packages/core/dist/search/index.d.ts +15 -0
- package/packages/core/dist/search/index.js +64 -0
- package/packages/core/dist/search/rrf.d.ts +7 -0
- package/packages/core/dist/search/rrf.js +21 -0
- package/packages/core/dist/search/semantic.d.ts +5 -0
- package/packages/core/dist/search/semantic.js +6 -0
- package/packages/core/{src/store/index.ts → dist/store/index.d.ts} +1 -0
- package/packages/core/dist/store/index.js +2 -0
- package/packages/core/dist/store/sqlite-vec.d.ts +6 -0
- package/packages/core/dist/store/sqlite-vec.js +251 -0
- package/packages/core/dist/store/types.d.ts +20 -0
- package/packages/core/dist/store/types.js +3 -0
- package/packages/core/dist/team/index.d.ts +25 -0
- package/packages/core/dist/team/index.js +97 -0
- package/packages/core/dist/types/chunk.d.ts +23 -0
- package/packages/core/dist/types/chunk.js +3 -0
- package/packages/core/dist/types/document.d.ts +23 -0
- package/packages/core/dist/types/document.js +3 -0
- package/packages/core/dist/types/graph.d.ts +39 -0
- package/packages/core/dist/types/graph.js +3 -0
- package/packages/core/dist/types/index.d.ts +5 -0
- package/packages/core/dist/types/index.js +2 -0
- package/packages/core/dist/types/search.d.ts +39 -0
- package/packages/core/dist/types/search.js +3 -0
- package/packages/core/dist/utils/retry.d.ts +25 -0
- package/packages/core/dist/utils/retry.js +59 -0
- package/.github/workflows/pages.yml +0 -37
- package/memory/MEMORY.md +0 -25
- package/packages/cli/dist/commands/brief-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/brief-cmd.js.map +0 -1
- package/packages/cli/dist/commands/capture-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/capture-cmd.js.map +0 -1
- package/packages/cli/dist/commands/card-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/card-cmd.js.map +0 -1
- package/packages/cli/dist/commands/clip-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/clip-cmd.js.map +0 -1
- package/packages/cli/dist/commands/cloud-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/cloud-cmd.js.map +0 -1
- package/packages/cli/dist/commands/contradictions-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/contradictions-cmd.js.map +0 -1
- package/packages/cli/dist/commands/decay-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/decay-cmd.js.map +0 -1
- package/packages/cli/dist/commands/digest-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/digest-cmd.js.map +0 -1
- package/packages/cli/dist/commands/duplicates-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/duplicates-cmd.js.map +0 -1
- package/packages/cli/dist/commands/federate-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/federate-cmd.js.map +0 -1
- package/packages/cli/dist/commands/gaps-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/gaps-cmd.js.map +0 -1
- package/packages/cli/dist/commands/graph-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/graph-cmd.js.map +0 -1
- package/packages/cli/dist/commands/index-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/index-cmd.js.map +0 -1
- package/packages/cli/dist/commands/init-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/init-cmd.js.map +0 -1
- package/packages/cli/dist/commands/learn-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/learn-cmd.js.map +0 -1
- package/packages/cli/dist/commands/pack-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/pack-cmd.js.map +0 -1
- package/packages/cli/dist/commands/review-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/review-cmd.js.map +0 -1
- package/packages/cli/dist/commands/search-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/search-cmd.js.map +0 -1
- package/packages/cli/dist/commands/serve-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/serve-cmd.js.map +0 -1
- package/packages/cli/dist/commands/status-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/status-cmd.js.map +0 -1
- package/packages/cli/dist/commands/sync-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/sync-cmd.js.map +0 -1
- package/packages/cli/dist/commands/vault-cmd.d.ts.map +0 -1
- package/packages/cli/dist/commands/vault-cmd.js.map +0 -1
- package/packages/cli/dist/index.d.ts.map +0 -1
- package/packages/cli/dist/index.js.map +0 -1
- package/packages/cli/src/commands/brief-cmd.ts +0 -87
- package/packages/cli/src/commands/capture-cmd.ts +0 -34
- package/packages/cli/src/commands/card-cmd.ts +0 -29
- package/packages/cli/src/commands/clip-cmd.ts +0 -172
- package/packages/cli/src/commands/cloud-cmd.ts +0 -75
- package/packages/cli/src/commands/contradictions-cmd.ts +0 -41
- package/packages/cli/src/commands/decay-cmd.ts +0 -57
- package/packages/cli/src/commands/digest-cmd.ts +0 -89
- package/packages/cli/src/commands/duplicates-cmd.ts +0 -38
- package/packages/cli/src/commands/federate-cmd.ts +0 -256
- package/packages/cli/src/commands/gaps-cmd.ts +0 -40
- package/packages/cli/src/commands/graph-cmd.ts +0 -88
- package/packages/cli/src/commands/index-cmd.ts +0 -65
- package/packages/cli/src/commands/init-cmd.ts +0 -145
- package/packages/cli/src/commands/learn-cmd.ts +0 -56
- package/packages/cli/src/commands/pack-cmd.ts +0 -121
- package/packages/cli/src/commands/review-cmd.ts +0 -125
- package/packages/cli/src/commands/search-cmd.ts +0 -45
- package/packages/cli/src/commands/serve-cmd.ts +0 -17
- package/packages/cli/src/commands/status-cmd.ts +0 -37
- package/packages/cli/src/commands/sync-cmd.ts +0 -68
- package/packages/cli/src/commands/vault-cmd.ts +0 -64
- package/packages/cli/src/index.ts +0 -187
- package/packages/core/src/api/graph-data.ts +0 -286
- package/packages/core/src/api/server.ts +0 -660
- package/packages/core/src/capture/voice.ts +0 -168
- package/packages/core/src/cloud/sync.ts +0 -167
- package/packages/core/src/config.ts +0 -82
- package/packages/core/src/federation/credits.ts +0 -80
- package/packages/core/src/federation/hyperswarm.d.ts +0 -19
- package/packages/core/src/federation/identity.ts +0 -90
- package/packages/core/src/federation/node.ts +0 -235
- package/packages/core/src/federation/privacy.ts +0 -52
- package/packages/core/src/federation/reputation.ts +0 -202
- package/packages/core/src/federation/search.ts +0 -129
- package/packages/core/src/federation/sharing.ts +0 -315
- package/packages/core/src/federation/trust.ts +0 -76
- package/packages/core/src/federation/types.ts +0 -25
- package/packages/core/src/i18n/index.ts +0 -85
- package/packages/core/src/indexer/chunker.ts +0 -180
- package/packages/core/src/indexer/embedder.ts +0 -9
- package/packages/core/src/indexer/index.ts +0 -113
- package/packages/core/src/indexer/local-embedder.ts +0 -35
- package/packages/core/src/indexer/scanner.ts +0 -142
- package/packages/core/src/indexer/watcher.ts +0 -62
- package/packages/core/src/intelligence/contradiction-detector.ts +0 -134
- package/packages/core/src/intelligence/decay-engine.ts +0 -229
- package/packages/core/src/intelligence/duplicate-detector.ts +0 -71
- package/packages/core/src/intelligence/fsrs.ts +0 -79
- package/packages/core/src/intelligence/gap-detector.ts +0 -109
- package/packages/core/src/intelligence/learning-path.ts +0 -86
- package/packages/core/src/intelligence/notifications.ts +0 -106
- package/packages/core/src/intelligence/predictive-gaps.ts +0 -94
- package/packages/core/src/intelligence/semantic-versioning.ts +0 -97
- package/packages/core/src/intelligence/types.ts +0 -28
- package/packages/core/src/mcp/custom-tools.ts +0 -97
- package/packages/core/src/mcp/server.ts +0 -142
- package/packages/core/src/mcp/tools/agentic-graph.ts +0 -96
- package/packages/core/src/mcp/tools/brief.ts +0 -49
- package/packages/core/src/mcp/tools/decay.ts +0 -40
- package/packages/core/src/mcp/tools/decision-journal.ts +0 -95
- package/packages/core/src/mcp/tools/export.ts +0 -72
- package/packages/core/src/mcp/tools/federated-search.ts +0 -43
- package/packages/core/src/mcp/tools/generate-claude-md.ts +0 -130
- package/packages/core/src/mcp/tools/get-document.ts +0 -26
- package/packages/core/src/mcp/tools/get-related.ts +0 -41
- package/packages/core/src/mcp/tools/learning-path.ts +0 -52
- package/packages/core/src/mcp/tools/list-topics.ts +0 -20
- package/packages/core/src/mcp/tools/search.ts +0 -35
- package/packages/core/src/mcp/tools/snapshot.ts +0 -98
- package/packages/core/src/multi-vault/index.ts +0 -118
- package/packages/core/src/pack/creator.ts +0 -127
- package/packages/core/src/pack/exporter.ts +0 -21
- package/packages/core/src/pack/importer.ts +0 -82
- package/packages/core/src/pack/marketplace.ts +0 -103
- package/packages/core/src/pack/pii-masker.ts +0 -38
- package/packages/core/src/pack/types.ts +0 -39
- package/packages/core/src/plugins/index.ts +0 -100
- package/packages/core/src/plugins/webhooks.ts +0 -110
- package/packages/core/src/search/bm25.ts +0 -16
- package/packages/core/src/search/index.ts +0 -83
- package/packages/core/src/search/rrf.ts +0 -31
- package/packages/core/src/search/semantic.ts +0 -15
- package/packages/core/src/store/sqlite-vec.ts +0 -290
- package/packages/core/src/store/types.ts +0 -22
- package/packages/core/src/team/index.ts +0 -126
- package/packages/core/src/types/chunk.ts +0 -25
- package/packages/core/src/types/document.ts +0 -24
- package/packages/core/src/types/graph.ts +0 -44
- package/packages/core/src/types/index.ts +0 -15
- package/packages/core/src/types/search.ts +0 -38
- package/packages/core/src/utils/retry.ts +0 -85
- package/packages/core/tests/api-card.test.ts +0 -60
- package/packages/core/tests/api-routes.test.ts +0 -98
- package/packages/core/tests/bm25.test.ts +0 -87
- package/packages/core/tests/chunker.test.ts +0 -48
- package/packages/core/tests/cluster.test.ts +0 -75
- package/packages/core/tests/constellation.test.ts +0 -77
- package/packages/core/tests/export-utils.test.ts +0 -97
- package/packages/core/tests/fsrs.test.ts +0 -96
- package/packages/core/tests/gesture-detector.test.ts +0 -45
- package/packages/core/tests/graph-data.test.ts +0 -87
- package/packages/core/tests/layout.test.ts +0 -83
- package/packages/core/tests/mcp.test.ts +0 -148
- package/packages/core/tests/pack.test.ts +0 -127
- package/packages/core/tests/pii-masker.test.ts +0 -42
- package/packages/core/tests/profile-card.test.ts +0 -62
- package/packages/core/tests/rrf.test.ts +0 -29
- package/packages/core/tests/search-integration.test.ts +0 -139
- package/packages/core/tests/store.test.ts +0 -80
- package/packages/graph/click-result.png +0 -0
- package/packages/graph/dist/assets/camera_utils-BMxqtvoZ.js +0 -1
- package/packages/graph/dist/assets/hands-DXA01_mx.js +0 -18
- package/packages/graph/dist/assets/index-DMEe2diW.js +0 -4192
- package/packages/graph/dist/assets/layout.worker-DbKCEFTz.js +0 -1
- package/packages/graph/dist/index.html +0 -17
- package/packages/graph/index.html +0 -17
- package/packages/graph/package.json +0 -32
- package/packages/graph/src/App.tsx +0 -7
- package/packages/graph/src/api/client.ts +0 -39
- package/packages/graph/src/components/ClusterFilter.tsx +0 -73
- package/packages/graph/src/components/ConstellationView.tsx +0 -232
- package/packages/graph/src/components/ExportPanel.tsx +0 -177
- package/packages/graph/src/components/Graph3D.tsx +0 -230
- package/packages/graph/src/components/GraphEdges.tsx +0 -100
- package/packages/graph/src/components/GraphNodes.tsx +0 -386
- package/packages/graph/src/components/HealthDashboard.tsx +0 -173
- package/packages/graph/src/components/Layout.tsx +0 -214
- package/packages/graph/src/components/MotionOverlay.tsx +0 -81
- package/packages/graph/src/components/MotionToggle.tsx +0 -33
- package/packages/graph/src/components/MultiverseView.tsx +0 -286
- package/packages/graph/src/components/NodeDetail.tsx +0 -232
- package/packages/graph/src/components/PulseParticle.tsx +0 -232
- package/packages/graph/src/components/SearchBar.tsx +0 -107
- package/packages/graph/src/components/StarField.tsx +0 -197
- package/packages/graph/src/components/StatusBar.tsx +0 -53
- package/packages/graph/src/components/Timeline.tsx +0 -148
- package/packages/graph/src/components/ToolsPanel.tsx +0 -512
- package/packages/graph/src/components/Tooltip.tsx +0 -100
- package/packages/graph/src/components/TypeFilter.tsx +0 -131
- package/packages/graph/src/embed/EmbedGraph.tsx +0 -144
- package/packages/graph/src/hooks/useConstellationLOD.ts +0 -76
- package/packages/graph/src/hooks/useDecay.ts +0 -37
- package/packages/graph/src/hooks/useExport.ts +0 -165
- package/packages/graph/src/hooks/useGraph.ts +0 -69
- package/packages/graph/src/hooks/useKeyboardNav.ts +0 -122
- package/packages/graph/src/hooks/useLayout.ts +0 -45
- package/packages/graph/src/hooks/useMotion.ts +0 -120
- package/packages/graph/src/hooks/usePulse.ts +0 -58
- package/packages/graph/src/hooks/useSearch.ts +0 -71
- package/packages/graph/src/lib/constellation.ts +0 -107
- package/packages/graph/src/lib/export-utils.ts +0 -48
- package/packages/graph/src/lib/gesture-detector.ts +0 -123
- package/packages/graph/src/lib/layout.worker.ts +0 -153
- package/packages/graph/src/lib/motion-controller.ts +0 -83
- package/packages/graph/src/lib/profile-card.ts +0 -122
- package/packages/graph/src/main.tsx +0 -4
- package/packages/graph/src/stores/graph-store.ts +0 -155
- package/packages/graph/success.png +0 -0
- package/packages/graph/test-click.mjs +0 -49
- package/packages/graph/test-explore.mjs +0 -102
- package/packages/graph/test-final.mjs +0 -61
- package/packages/graph/test-graph.mjs +0 -139
- package/packages/graph/test-hover.mjs +0 -48
- package/packages/graph/test-pulse.mjs +0 -68
- package/packages/graph/test-screenshot.mjs +0 -56
- package/packages/graph/test-v2.mjs +0 -97
- package/packages/graph/tsconfig.tsbuildinfo +0 -1
- package/packages/graph/vite.config.ts +0 -15
- package/packages/sync/.env.example +0 -11
- package/packages/sync/.sync-state.json +0 -317
- package/packages/sync/.upload-state.json +0 -1009
- package/packages/sync/create-stella-network-notion.mjs +0 -151
- package/packages/sync/create-stellavault-project-notion.mjs +0 -322
- package/packages/sync/logs/sync-2026-03-28.log +0 -6
- package/packages/sync/logs/sync-2026-03-29.log +0 -12
- package/packages/sync/logs/sync-2026-03-30.log +0 -6
- package/packages/sync/logs/sync-2026-03-31.log +0 -6
- package/packages/sync/logs/sync-2026-04-01.log +0 -6
- package/packages/sync/logs/sync-2026-04-02.log +0 -6
- package/packages/sync/package-lock.json +0 -373
- package/packages/sync/package.json +0 -16
- package/packages/sync/run-sync.bat +0 -18
- package/packages/sync/run-sync.mjs +0 -46
- package/packages/sync/setup-scheduler.mjs +0 -119
- package/packages/sync/structured-sync.mjs +0 -187
- package/packages/sync/sync-to-obsidian.mjs +0 -264
- package/packages/sync/upload-pdca-to-notion.mjs +0 -495
- package/tsconfig.base.json +0 -18
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
import { Client } from '@notionhq/client';
|
|
2
|
-
|
|
3
|
-
const notion = new Client({ auth: 'process.env.NOTION_TOKEN' });
|
|
4
|
-
const PARENT_PAGE_ID = '330dcee017df808d92d4d9ff46fa7697';
|
|
5
|
-
|
|
6
|
-
function h1(t) { return { type: 'heading_1', heading_1: { rich_text: [{ text: { content: t } }] } }; }
|
|
7
|
-
function h2(t) { return { type: 'heading_2', heading_2: { rich_text: [{ text: { content: t } }] } }; }
|
|
8
|
-
function h3(t) { return { type: 'heading_3', heading_3: { rich_text: [{ text: { content: t } }] } }; }
|
|
9
|
-
function p(t) { return { type: 'paragraph', paragraph: { rich_text: [{ text: { content: t } }] } }; }
|
|
10
|
-
function q(t) { return { type: 'quote', quote: { rich_text: [{ text: { content: t } }] } }; }
|
|
11
|
-
function b(t) { return { type: 'bulleted_list_item', bulleted_list_item: { rich_text: [{ text: { content: t } }] } }; }
|
|
12
|
-
function d() { return { type: 'divider', divider: {} }; }
|
|
13
|
-
function callout(t, e = '💡') { return { type: 'callout', callout: { rich_text: [{ text: { content: t } }], icon: { emoji: e } } }; }
|
|
14
|
-
function code(t) { return { type: 'code', code: { rich_text: [{ text: { content: t } }], language: 'plain text' } }; }
|
|
15
|
-
|
|
16
|
-
async function main() {
|
|
17
|
-
console.log('Creating Stella Network...');
|
|
18
|
-
|
|
19
|
-
const part1 = [
|
|
20
|
-
callout('Your knowledge stays yours. The network\'s intelligence becomes everyone\'s.', '🌐'),
|
|
21
|
-
d(),
|
|
22
|
-
h1('Executive Summary'),
|
|
23
|
-
p('Stella Network는 각 개인의 Stellavault 인스턴스를 하나의 노드로 연결하는 분산 지식 네트워크입니다. 임베딩 벡터만 공유하여 원문 프라이버시를 보장하면서, AI 에이전트가 집단 지성에 접근할 수 있게 합니다.'),
|
|
24
|
-
q('"지식 토렌트" — 토렌트가 파일을 공유하듯, Stella Network는 지식의 의미(벡터)를 공유합니다. 원문은 절대 나가지 않습니다.'),
|
|
25
|
-
d(),
|
|
26
|
-
h1('핵심 가치 제안'),
|
|
27
|
-
h2('문제'),
|
|
28
|
-
b('개인 지식은 고립된 섬 — 내 Obsidian vault는 나만 접근 가능'),
|
|
29
|
-
b('중앙화 AI(ChatGPT, Notion AI)는 내 데이터를 서버에 넘겨야 함'),
|
|
30
|
-
b('팀 간 지식 사일로 — Confluence 검색이 안 되는 보편적 고통'),
|
|
31
|
-
b('$23B 지식 관리 시장을 중앙 플랫폼이 독점'),
|
|
32
|
-
h2('솔루션'),
|
|
33
|
-
b('각 Stellavault = 하나의 소버린 노드 (데이터 주권 보장)'),
|
|
34
|
-
b('임베딩 벡터만 P2P로 공유 (원문 비공개, Differential Privacy)'),
|
|
35
|
-
b('AI 에이전트(MCP)가 연합 네트워크를 시맨틱 검색'),
|
|
36
|
-
b('Web of Trust로 노드 신뢰도 관리'),
|
|
37
|
-
d(),
|
|
38
|
-
h1('비즈니스 모델'),
|
|
39
|
-
h2('3-Layer 수익 구조'),
|
|
40
|
-
b('Layer 1 (단기): Tool — Stellavault Pro 개인 구독'),
|
|
41
|
-
b('Layer 2 (중기): Federation — Enterprise 팀 라이선스 + Hub 노드'),
|
|
42
|
-
b('Layer 3 (장기): Knowledge Economy — 지식 거래 플랫폼'),
|
|
43
|
-
h2('가격 체계'),
|
|
44
|
-
b('Free $0 — 로컬 전체 + 커뮤니티 연합 읽기 10회/일'),
|
|
45
|
-
b('Pro $12/월 — 무제한 연합 검색 + Cloud Sync + 고급 인텔리전스'),
|
|
46
|
-
b('Expert Node $29/월 — 인증 전문가 노드 + 지식팩 판매 + 프로필'),
|
|
47
|
-
b('Team $18/인/월 — 프라이빗 연합 + 관리자 대시보드 + RBAC'),
|
|
48
|
-
b('Enterprise 커스텀 — 온프레미스 + SLA + SSO'),
|
|
49
|
-
h2('추가 수익원'),
|
|
50
|
-
b('Knowledge Pack 마켓플레이스 — 판매가 30% 수수료'),
|
|
51
|
-
b('Hub 노드 호스팅 — 관리형 $49/월'),
|
|
52
|
-
b('API 과금 — 외부 AI 에이전트 연합 검색 시 토큰당'),
|
|
53
|
-
b('인증 프로그램 — Stellavault Certified Expert $99/년'),
|
|
54
|
-
h2('수익 예측'),
|
|
55
|
-
b('Year 1: Pro 200명 + Team 5사 = ~$13K ARR'),
|
|
56
|
-
b('Year 2: Pro 2K + Team 30사 + Expert 100 = ~$150K ARR'),
|
|
57
|
-
b('Year 3: + Enterprise + Marketplace = $500K-1M ARR'),
|
|
58
|
-
d(),
|
|
59
|
-
h1('기술 아키텍처'),
|
|
60
|
-
h2('Federation Protocol'),
|
|
61
|
-
code('Node A (ML전문가) <-- 임베딩만 교환 --> Node B (DevOps)\nSQLite-vec (원문) Hyperswarm P2P SQLite-vec (원문)\nMCP 13+ tools Protobuf + Noise MCP 13+ tools\n+ federated-search Ed25519 서명 + federated-search\n+ route-query Diff Privacy + network-gaps'),
|
|
62
|
-
h2('프라이버시 보장'),
|
|
63
|
-
b('원문 절대 비공개 — 임베딩 벡터만 공유'),
|
|
64
|
-
b('Differential Privacy — 노이즈 추가로 원문 복원 불가'),
|
|
65
|
-
b('EGuard — 임베딩 변환 레이어 (역변환 방지)'),
|
|
66
|
-
b('공유 범위를 태그/폴더 단위로 직접 선택'),
|
|
67
|
-
h2('기술 스택'),
|
|
68
|
-
b('P2P: Hyperswarm (NAT traversal + DHT)'),
|
|
69
|
-
b('직렬화: Protobuf (효율적 임베딩 전송)'),
|
|
70
|
-
b('암호화: Noise Protocol + Ed25519'),
|
|
71
|
-
b('검색: 분산 시맨틱 라우팅 (multi-hop)'),
|
|
72
|
-
b('AI: MCP 4개 신규 도구 (federated-search, network-gaps, route-query, trust-score)'),
|
|
73
|
-
d(),
|
|
74
|
-
h1('토렌트 vs Stella Network'),
|
|
75
|
-
b('BitTorrent: 같은 파일을 여러 명이 복제'),
|
|
76
|
-
b('Stella Network: 서로 다른 지식을 가진 노드들이 보완'),
|
|
77
|
-
callout('복제가 아니라 보완. 노드가 많을수록 더 똑똑해진다.', '💡'),
|
|
78
|
-
d(),
|
|
79
|
-
h1('블록체인 전략'),
|
|
80
|
-
h2('2-Track 접근'),
|
|
81
|
-
callout('블록체인 없어도 100% 작동. 토큰은 선택적 레이어.', '⚠️'),
|
|
82
|
-
h3('Track A: 크레딧 시스템 (즉시)'),
|
|
83
|
-
b('지식 공유 1건 = 10 크레딧 / 연합 검색 1건 = 1 크레딧 소모'),
|
|
84
|
-
b('Hub 노드 DB로 관리 — 99%에게 충분'),
|
|
85
|
-
h3('Track B: 온체인 토큰 (선택적)'),
|
|
86
|
-
b('$STELLA 토큰 (Base/Solana L2) + 크레딧-토큰 브릿지'),
|
|
87
|
-
b('지식팩 NFT — 소유권 + 자동 로열티'),
|
|
88
|
-
h3('킬러 시나리오'),
|
|
89
|
-
p('전문가가 지식팩 NFT 발행 → 검색에서 사용될 때마다 자동 로열티 → 지식 정리 = 패시브 인컴. 이것이 "지식의 저작권 + 자동 과금"이다.'),
|
|
90
|
-
];
|
|
91
|
-
|
|
92
|
-
const page = await notion.pages.create({
|
|
93
|
-
parent: { page_id: PARENT_PAGE_ID },
|
|
94
|
-
icon: { emoji: '🌐' },
|
|
95
|
-
properties: { title: [{ text: { content: 'Stella Network — 분산 지식 인텔리전스 플랫폼' } }] },
|
|
96
|
-
children: part1,
|
|
97
|
-
});
|
|
98
|
-
console.log(`Page created: ${page.url}`);
|
|
99
|
-
|
|
100
|
-
const part2 = [
|
|
101
|
-
d(),
|
|
102
|
-
h1('시장 진입 전략'),
|
|
103
|
-
h2('Phase별 확장'),
|
|
104
|
-
b('Phase 1 (지금): 개인 도구 — Stellavault 사용자 확보'),
|
|
105
|
-
b('Phase 2 (6-12개월): Enterprise Federation — 기업 내부 연합 → 첫 수익'),
|
|
106
|
-
b('Phase 3 (12-18개월): 커뮤니티 연합 오픈 — 네트워크 효과'),
|
|
107
|
-
b('Phase 4 (18-36개월): 지식 경제 — 전문가 노드, 팩 마켓, 토큰'),
|
|
108
|
-
h2('Beachhead'),
|
|
109
|
-
b('Claude Code + Obsidian MCP 개발자 — 이미 MCP 사용, 온보딩 마찰 최소'),
|
|
110
|
-
b('Obsidian 커뮤니티 수백만 명이 vault 보유'),
|
|
111
|
-
h2('콜드 스타트 해결'),
|
|
112
|
-
b('Enterprise Federation 먼저 — 회사 내부 5-10개 노드'),
|
|
113
|
-
b('Knowledge Pack 시딩 — 공개 지식팩으로 초기 가치'),
|
|
114
|
-
b('Stellavault Pro 유저 자동 연합 옵트인'),
|
|
115
|
-
d(),
|
|
116
|
-
h1('경쟁 분석'),
|
|
117
|
-
b('Solid (Tim Berners-Lee) — 분산 데이터, 지식 특화 X'),
|
|
118
|
-
b('AT Protocol (Bluesky) — 소셜 미디어 특화, 지식 그래프 X'),
|
|
119
|
-
b('Nostr — 최소주의, 시맨틱 검색 X'),
|
|
120
|
-
b('Anytype — P2P 노트, 벡터 검색/MCP X'),
|
|
121
|
-
callout('유일하게 "임베딩 시맨틱 연합 검색 + AI 에이전트 + 프라이버시 보존"을 동시 제공', '🎯'),
|
|
122
|
-
d(),
|
|
123
|
-
h1('리스크 & 대응'),
|
|
124
|
-
b('콜드 스타트 → Enterprise 먼저 + Pack 시딩'),
|
|
125
|
-
b('임베딩 품질 차이 → 신뢰도 스코어링 + 품질 필터'),
|
|
126
|
-
b('P2P 수익화 → Hub 노드 유료 모델'),
|
|
127
|
-
b('프라이버시 사고 → DP + EGuard + 제3자 감사'),
|
|
128
|
-
b('"왜 공유?" → 크레딧 인센티브 + 전문가 인증'),
|
|
129
|
-
b('Web3 거부감 → Track A 기본, Track B 선택적'),
|
|
130
|
-
d(),
|
|
131
|
-
h1('구현 로드맵'),
|
|
132
|
-
b('Week 1-3: P2P 연결 + 임베딩 동기화 프로토콜'),
|
|
133
|
-
b('Week 4-6: 연합 시맨틱 검색 + 라우팅'),
|
|
134
|
-
b('Week 7-9: Web of Trust + 프라이버시 레이어'),
|
|
135
|
-
b('Week 10-11: 3D 네트워크 시각화 + MCP 통합'),
|
|
136
|
-
b('Week 12+: Enterprise Federation MVP + 파일럿'),
|
|
137
|
-
d(),
|
|
138
|
-
h1('현재 상태 (2026-04-02)'),
|
|
139
|
-
b('Stellavault 코어: GitHub 공개 (github.com/Evanciel/stellavault)'),
|
|
140
|
-
b('CLI 19개, MCP 13+, PRD 22기능 중 18개 구현'),
|
|
141
|
-
b('Federation Protocol PRD 작성 완료'),
|
|
142
|
-
b('다음: Federation Phase 1 구현 시작'),
|
|
143
|
-
d(),
|
|
144
|
-
q('Notes die in folders. Stella Network makes collective intelligence accessible to everyone — without giving up ownership of a single word.'),
|
|
145
|
-
];
|
|
146
|
-
|
|
147
|
-
await notion.blocks.children.append({ block_id: page.id, children: part2 });
|
|
148
|
-
console.log('✅ Done! ' + page.url);
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
main().catch(console.error);
|
|
@@ -1,322 +0,0 @@
|
|
|
1
|
-
import { Client } from '@notionhq/client';
|
|
2
|
-
|
|
3
|
-
const notion = new Client({ auth: 'process.env.NOTION_TOKEN' });
|
|
4
|
-
const PARENT_PAGE_ID = '330dcee017df808d92d4d9ff46fa7697';
|
|
5
|
-
|
|
6
|
-
function h2(t) { return { type: 'heading_2', heading_2: { rich_text: [{ text: { content: t } }] } }; }
|
|
7
|
-
function p(t) { return { type: 'paragraph', paragraph: { rich_text: [{ text: { content: t } }] } }; }
|
|
8
|
-
function d() { return { type: 'divider', divider: {} }; }
|
|
9
|
-
function callout(t, e = '💡') { return { type: 'callout', callout: { rich_text: [{ text: { content: t } }], icon: { emoji: e } } }; }
|
|
10
|
-
|
|
11
|
-
function table(headers, rows) {
|
|
12
|
-
return {
|
|
13
|
-
type: 'table', table: {
|
|
14
|
-
table_width: headers.length,
|
|
15
|
-
has_column_header: true,
|
|
16
|
-
has_row_header: false,
|
|
17
|
-
children: [
|
|
18
|
-
{ type: 'table_row', table_row: { cells: headers.map(h => [{ type: 'text', text: { content: h } }]) } },
|
|
19
|
-
...rows.map(row => ({
|
|
20
|
-
type: 'table_row', table_row: { cells: row.map(c => [{ type: 'text', text: { content: c } }]) }
|
|
21
|
-
})),
|
|
22
|
-
],
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function columnList(columns) {
|
|
28
|
-
return {
|
|
29
|
-
type: 'column_list', column_list: {
|
|
30
|
-
children: columns.map(col => ({
|
|
31
|
-
type: 'column', column: { children: col }
|
|
32
|
-
}))
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
async function main() {
|
|
38
|
-
console.log('Creating Stellavault project page...');
|
|
39
|
-
|
|
40
|
-
const part1 = [
|
|
41
|
-
// Callout header
|
|
42
|
-
callout('Stellavault — Notes die in folders. Stellavault keeps your knowledge alive.', '🧠'),
|
|
43
|
-
|
|
44
|
-
// 프로젝트 개요
|
|
45
|
-
h2('프로젝트 개요'),
|
|
46
|
-
table(['항목', '내용'], [
|
|
47
|
-
['프로젝트명', 'Stellavault (스텔라볼트)'],
|
|
48
|
-
['유형', '개인 지식 인텔리전스 플랫폼 (오픈소스 + Pro)'],
|
|
49
|
-
['목적', 'Obsidian vault를 벡터화하여 3D 시각화, AI 시맨틱 검색, 기억 감쇠 추적, MCP로 AI 에이전트 연결'],
|
|
50
|
-
['대상', 'AI 개발자, 지식 노동자, Obsidian 사용자'],
|
|
51
|
-
['핵심 가치', '지식 간 연결 자동 발견 + 잊혀가는 지식 감지 + AI 에이전트에 지식 접속'],
|
|
52
|
-
['라이선스', 'MIT (오픈소스)'],
|
|
53
|
-
['GitHub', 'github.com/Evanciel/stellavault'],
|
|
54
|
-
['CLI', 'stellavault (alias: sv) — 19개 명령어'],
|
|
55
|
-
['MCP', '13+ tools — Claude Code 등 AI 에이전트 연동'],
|
|
56
|
-
]),
|
|
57
|
-
d(),
|
|
58
|
-
|
|
59
|
-
// 핵심 기능
|
|
60
|
-
h2('핵심 기능'),
|
|
61
|
-
columnList([
|
|
62
|
-
[
|
|
63
|
-
callout('3D Knowledge Graph\nReact Three Fiber 기반 뉴럴 네트워크 시각화\nConstellation View + LOD 3단계\nTimeline 슬라이더 + Type/Source 필터', '🌐'),
|
|
64
|
-
],
|
|
65
|
-
[
|
|
66
|
-
callout('AI Semantic Search\nBM25 + Cosine + RRF 하이브리드\n384차원 로컬 벡터 임베딩\n시맨틱 + 키워드 융합', '🔍'),
|
|
67
|
-
],
|
|
68
|
-
]),
|
|
69
|
-
columnList([
|
|
70
|
-
[
|
|
71
|
-
callout('Intelligence Layer\nFSRS 기억 감쇠 추적\n갭 탐지 + 모순 탐지\n중복 탐지 + 예측적 갭 분석\nAI 학습 경로 생성', '🧬'),
|
|
72
|
-
],
|
|
73
|
-
[
|
|
74
|
-
callout('MCP + Plugin\n13개 MCP 도구 (AI 에이전트 연동)\nPlugin SDK (이벤트 버스)\nWebhook 시스템\n커스텀 MCP 도구 빌더 (YAML)', '🔌'),
|
|
75
|
-
],
|
|
76
|
-
]),
|
|
77
|
-
d(),
|
|
78
|
-
|
|
79
|
-
// 기술 스택
|
|
80
|
-
h2('기술 스택'),
|
|
81
|
-
table(['카테고리', '기술', '버전 / 비고'], [
|
|
82
|
-
['Runtime', 'Node.js (ESM)', '20+'],
|
|
83
|
-
['Language', 'TypeScript', 'Strict mode'],
|
|
84
|
-
['Monorepo', 'npm workspaces', '4 packages (core, cli, graph, sync)'],
|
|
85
|
-
['Vector DB', 'SQLite-vec (better-sqlite3)', '384차원 임베딩'],
|
|
86
|
-
['Embedding', '@xenova/transformers', 'all-MiniLM-L6-v2 (로컬, API 키 불필요)'],
|
|
87
|
-
['Search', 'BM25 + Cosine + RRF', 'K=60, 하이브리드 퓨전'],
|
|
88
|
-
['3D 시각화', 'React Three Fiber + drei + Three.js', 'R3F 9.0 / Three 0.170'],
|
|
89
|
-
['State', 'Zustand', '5.0'],
|
|
90
|
-
['Memory Model', 'FSRS (Free Spaced Repetition)', 'SM2 알고리즘 변형'],
|
|
91
|
-
['AI 연동', 'MCP (@modelcontextprotocol/sdk)', 'stdio + Streamable HTTP'],
|
|
92
|
-
['Build', 'Vite (graph) + tsc (core/cli)', 'Vite 6.0'],
|
|
93
|
-
['Testing', 'Vitest', '116 tests'],
|
|
94
|
-
]),
|
|
95
|
-
d(),
|
|
96
|
-
|
|
97
|
-
// 규모 지표
|
|
98
|
-
h2('규모 지표'),
|
|
99
|
-
columnList([
|
|
100
|
-
[
|
|
101
|
-
callout('코드 규모\n175+ 소스 파일\n30,000+ LOC (TypeScript)\n4 workspace packages\n19 CLI 명령어\n13+ MCP 도구', '📊'),
|
|
102
|
-
],
|
|
103
|
-
[
|
|
104
|
-
callout('기능 현황\nPRD 22개 기능 중 18개 구현\nP0 (4/4) + P1 (7/7) + P2 (7/7)\nIntelligence 모듈 8개\ni18n 4개 언어 (en/ko/ja/zh)', '✅'),
|
|
105
|
-
],
|
|
106
|
-
[
|
|
107
|
-
callout('아키텍처\nHybrid Search (BM25+Vector+RRF)\nPlugin SDK + Webhook\nEmbed Widget (iframe)\nStreamable HTTP MCP\nKeyboard Navigation', '🏗️'),
|
|
108
|
-
],
|
|
109
|
-
]),
|
|
110
|
-
];
|
|
111
|
-
|
|
112
|
-
const page = await notion.pages.create({
|
|
113
|
-
parent: { page_id: PARENT_PAGE_ID },
|
|
114
|
-
icon: { emoji: '🧠' },
|
|
115
|
-
properties: { title: [{ text: { content: 'Stellavault (AI 지식 그래프 플랫폼)' } }] },
|
|
116
|
-
children: part1,
|
|
117
|
-
});
|
|
118
|
-
console.log(`Page created: ${page.url}`);
|
|
119
|
-
|
|
120
|
-
// Part 2: 하위 페이지들
|
|
121
|
-
// 기술 아키텍처
|
|
122
|
-
await notion.pages.create({
|
|
123
|
-
parent: { page_id: page.id },
|
|
124
|
-
properties: { title: [{ text: { content: '기술 아키텍처' } }] },
|
|
125
|
-
children: [
|
|
126
|
-
h2('Monorepo 구조'),
|
|
127
|
-
{ type: 'code', code: { rich_text: [{ text: { content:
|
|
128
|
-
`stellavault/
|
|
129
|
-
├── packages/
|
|
130
|
-
│ ├── core/ 벡터 검색 엔진 + MCP 서버 + REST API + Intelligence
|
|
131
|
-
│ │ ├── indexer/ Vault 스캐너 + 청킹 + 임베딩
|
|
132
|
-
│ │ ├── search/ BM25 + Cosine + RRF
|
|
133
|
-
│ │ ├── store/ SQLite-vec 벡터 스토어
|
|
134
|
-
│ │ ├── intelligence/ FSRS + Gap + Duplicate + Contradiction + Learning Path
|
|
135
|
-
│ │ ├── mcp/ MCP 서버 (13+ tools) + Custom Tool Builder
|
|
136
|
-
│ │ ├── plugins/ Plugin SDK + Webhook Manager
|
|
137
|
-
│ │ ├── api/ REST API + Graph Data + Embed + Profile
|
|
138
|
-
│ │ ├── pack/ Knowledge Pack (.sv-pack)
|
|
139
|
-
│ │ ├── i18n/ 다국어 (en/ko/ja/zh)
|
|
140
|
-
│ │ └── utils/ Error Recovery (retry + StellavaultError)
|
|
141
|
-
│ ├── cli/ 19 CLI 명령어
|
|
142
|
-
│ │ └── commands/ init, index, search, graph, serve, decay, learn,
|
|
143
|
-
│ │ brief, digest, review, gaps, duplicates, contradictions,
|
|
144
|
-
│ │ clip, sync, card, status, pack
|
|
145
|
-
│ ├── graph/ 3D Knowledge Graph (React Three Fiber)
|
|
146
|
-
│ │ ├── components/ Layout, Graph3D, GraphNodes, GraphEdges,
|
|
147
|
-
│ │ │ SearchBar, ClusterFilter, TypeFilter, Timeline,
|
|
148
|
-
│ │ │ HealthDashboard, ToolsPanel, NodeDetail, etc.
|
|
149
|
-
│ │ ├── hooks/ useGraph, useSearch, useLayout, useDecay,
|
|
150
|
-
│ │ │ useKeyboardNav, useExport, useMotion, usePulse
|
|
151
|
-
│ │ ├── stores/ Zustand graph-store (전체 상태 관리)
|
|
152
|
-
│ │ └── embed/ EmbedGraph (iframe 위젯)
|
|
153
|
-
│ └── sync/ Notion-Obsidian 동기화
|
|
154
|
-
└── scripts/ api-only.mjs` } }], language: 'plain text' } },
|
|
155
|
-
d(),
|
|
156
|
-
h2('Intelligence Layer'),
|
|
157
|
-
table(['모듈', '기능', '파일'], [
|
|
158
|
-
['FSRS Decay Engine', '기억 감쇠 추적 (SM2 알고리즘)', 'intelligence/fsrs.ts + decay-engine.ts'],
|
|
159
|
-
['Gap Detector', '클러스터 간 지식 갭 탐지', 'intelligence/gap-detector.ts'],
|
|
160
|
-
['Duplicate Detector', '벡터 유사도 기반 중복 탐지', 'intelligence/duplicate-detector.ts'],
|
|
161
|
-
['Contradiction Detector', '모순 진술 탐지 (NLI 패턴)', 'intelligence/contradiction-detector.ts'],
|
|
162
|
-
['Learning Path', 'AI 학습 경로 생성', 'intelligence/learning-path.ts'],
|
|
163
|
-
['Predictive Gaps', '그래프 토폴로지 기반 예측', 'intelligence/predictive-gaps.ts'],
|
|
164
|
-
['Semantic Versioning', '임베딩 드리프트 추적', 'intelligence/semantic-versioning.ts'],
|
|
165
|
-
['Notifications', '설정 가능한 알림 시스템', 'intelligence/notifications.ts'],
|
|
166
|
-
]),
|
|
167
|
-
d(),
|
|
168
|
-
h2('MCP Tools (13+)'),
|
|
169
|
-
table(['#', 'Tool', '기능'], [
|
|
170
|
-
['1', 'search', 'RRF 하이브리드 검색'],
|
|
171
|
-
['2', 'get-document', '문서 전문 조회'],
|
|
172
|
-
['3', 'list-topics', '토픽 클라우드'],
|
|
173
|
-
['4', 'get-related', '관련 문서 탐색'],
|
|
174
|
-
['5', 'generate-claude-md', 'CLAUDE.md 자동 생성'],
|
|
175
|
-
['6', 'create-snapshot', '컨텍스트 스냅샷'],
|
|
176
|
-
['7', 'load-snapshot', '스냅샷 복원'],
|
|
177
|
-
['8', 'log-decision', '기술 결정 기록'],
|
|
178
|
-
['9', 'find-decisions', '결정 검색'],
|
|
179
|
-
['10', 'export', 'JSON/CSV 내보내기'],
|
|
180
|
-
['11', 'get-decay-status', '기억 감쇠 리포트'],
|
|
181
|
-
['12', 'get-morning-brief', '아침 지식 브리핑'],
|
|
182
|
-
['13', 'get-learning-path', 'AI 학습 경로 추천'],
|
|
183
|
-
]),
|
|
184
|
-
],
|
|
185
|
-
});
|
|
186
|
-
console.log(' + 기술 아키텍처');
|
|
187
|
-
|
|
188
|
-
// PDCA 산출물 요약
|
|
189
|
-
await notion.pages.create({
|
|
190
|
-
parent: { page_id: page.id },
|
|
191
|
-
properties: { title: [{ text: { content: 'PDCA 산출물 요약' } }] },
|
|
192
|
-
children: [
|
|
193
|
-
h2('PM 분석'),
|
|
194
|
-
table(['문서', '내용'], [
|
|
195
|
-
['core.prd.md', 'Phase 4 기능 분석 (FSRS, 갭 탐지, 클리핑 등)'],
|
|
196
|
-
['stellavault-advanced.prd.md', 'Advanced 22 features PRD (P0-P3, 5 tiers)'],
|
|
197
|
-
['stellavault-federation.prd.md', 'Federation Protocol PRD (P2P 분산 지식 네트워크)'],
|
|
198
|
-
]),
|
|
199
|
-
d(),
|
|
200
|
-
h2('구현 완료 기능 (18/22)'),
|
|
201
|
-
table(['Tier', '기능', '상태'], [
|
|
202
|
-
['P0', 'F-A01 Onboarding Wizard (stellavault init)', '✅'],
|
|
203
|
-
['P0', 'F-A02 Error Recovery System (withRetry + StellavaultError)', '✅'],
|
|
204
|
-
['P0', 'F-A03 Performance Optimization (인덱서 resilience)', '✅'],
|
|
205
|
-
['P0', 'F-A08 Embeddable Graph Widget (/api/embed)', '✅'],
|
|
206
|
-
['P1', 'F-A21 CLI Output Polish (--json, --quiet)', '✅'],
|
|
207
|
-
['P1', 'F-A11 AI Learning Path Generator (sv learn + MCP)', '✅'],
|
|
208
|
-
['P1', 'F-A05 Notification Center', '✅'],
|
|
209
|
-
['P1', 'F-A09 Knowledge Profile (/api/profile)', '✅'],
|
|
210
|
-
['P1', 'F-A22 Streamable HTTP MCP', '✅'],
|
|
211
|
-
['P1', 'F-A20 10K+ Performance (maxVisibleNodes)', '✅'],
|
|
212
|
-
['P1', 'F-A15 Plugin SDK (PluginManager + 이벤트 버스)', '✅'],
|
|
213
|
-
['P2', 'F-A12 Contradiction Detector', '✅'],
|
|
214
|
-
['P2', 'F-A17 Webhook/Event System', '✅'],
|
|
215
|
-
['P2', 'F-A16 Custom MCP Tool Builder (YAML)', '✅'],
|
|
216
|
-
['P2', 'F-A18 Keyboard Graph Navigation', '✅'],
|
|
217
|
-
['P2', 'F-A13 Semantic Versioning (임베딩 드리프트)', '✅'],
|
|
218
|
-
['P2', 'F-A14 Predictive Gap Analysis', '✅'],
|
|
219
|
-
['P2', 'F-A19 i18n (en/ko/ja/zh)', '✅'],
|
|
220
|
-
]),
|
|
221
|
-
d(),
|
|
222
|
-
h2('미구현 (인프라 필요)'),
|
|
223
|
-
table(['기능', '필요 인프라', '상태'], [
|
|
224
|
-
['F-A04 Cloud Sync Engine', 'S3/R2 스토리지', '대기'],
|
|
225
|
-
['F-A06 Team Vault', '인증 서버', '대기'],
|
|
226
|
-
['F-A07 Pack Marketplace', '웹 서비스', '대기'],
|
|
227
|
-
['P3 (5건)', '장기 비전', '대기'],
|
|
228
|
-
]),
|
|
229
|
-
],
|
|
230
|
-
});
|
|
231
|
-
console.log(' + PDCA 산출물 요약');
|
|
232
|
-
|
|
233
|
-
// 기능 상세
|
|
234
|
-
await notion.pages.create({
|
|
235
|
-
parent: { page_id: page.id },
|
|
236
|
-
properties: { title: [{ text: { content: '기능 상세 명세' } }] },
|
|
237
|
-
children: [
|
|
238
|
-
h2('CLI 명령어 (19개)'),
|
|
239
|
-
table(['명령어', '기능'], [
|
|
240
|
-
['sv init', '인터랙티브 3단계 셋업 위저드'],
|
|
241
|
-
['sv index <path>', 'Obsidian vault 벡터화 인덱싱'],
|
|
242
|
-
['sv search <query>', '터미널 시맨틱 검색'],
|
|
243
|
-
['sv graph', '3D Knowledge Graph + API 서버 실행'],
|
|
244
|
-
['sv serve', 'MCP 서버 (stdio)'],
|
|
245
|
-
['sv status', '인덱스 상태 확인'],
|
|
246
|
-
['sv decay', '기억 감쇠 리포트'],
|
|
247
|
-
['sv learn', 'AI 학습 경로 추천'],
|
|
248
|
-
['sv brief', '오늘의 지식 브리핑'],
|
|
249
|
-
['sv digest', '주간 활동 리포트'],
|
|
250
|
-
['sv review', 'FSRS 기반 일일 리뷰 세션'],
|
|
251
|
-
['sv gaps', '지식 갭 탐지'],
|
|
252
|
-
['sv duplicates', '중복 노트 탐지'],
|
|
253
|
-
['sv contradictions', '모순 진술 탐지'],
|
|
254
|
-
['sv clip <url>', '웹/YouTube 클리핑'],
|
|
255
|
-
['sv sync', 'Notion → Obsidian 동기화'],
|
|
256
|
-
['sv card', 'SVG 프로필 카드 생성'],
|
|
257
|
-
['sv pack <cmd>', 'Knowledge Pack 관리'],
|
|
258
|
-
]),
|
|
259
|
-
d(),
|
|
260
|
-
h2('3D Graph UI 컴포넌트'),
|
|
261
|
-
table(['컴포넌트', '기능'], [
|
|
262
|
-
['Graph3D', 'R3F Canvas + OrbitControls + 자동 회전'],
|
|
263
|
-
['GraphNodes', 'Points 클라우드 렌더링 + 클러스터 색상 + Decay 오버레이'],
|
|
264
|
-
['ConstellationView', 'MST 기반 별자리 뷰 + LOD 3단계'],
|
|
265
|
-
['SearchBar', '시맨틱 검색 + 검색 히스토리 드롭다운'],
|
|
266
|
-
['ClusterFilter', '클러스터 토글 필터'],
|
|
267
|
-
['TypeFilter', 'source/type 필터 드롭다운'],
|
|
268
|
-
['Timeline', '날짜 범위 슬라이더 + 히스토그램'],
|
|
269
|
-
['HealthDashboard', '종합 건강도 (decay/gaps/dups/growth)'],
|
|
270
|
-
['ToolsPanel', 'Intelligence 6탭 (Gaps/Duplicates/Decay/Clip/Sync/Health)'],
|
|
271
|
-
['NodeDetail', '노드 상세 패널 + 관련 문서 + Obsidian 열기'],
|
|
272
|
-
['EmbedGraph', 'iframe 임베드용 미니 그래프'],
|
|
273
|
-
]),
|
|
274
|
-
d(),
|
|
275
|
-
h2('API Endpoints'),
|
|
276
|
-
table(['Method', 'Path', '기능'], [
|
|
277
|
-
['GET', '/api/graph', '전체 그래프 데이터 (cached)'],
|
|
278
|
-
['GET', '/api/search', 'RRF 하이브리드 검색'],
|
|
279
|
-
['GET', '/api/document/:id', '문서 전문 + 관련 문서'],
|
|
280
|
-
['GET', '/api/stats', '인덱스 통계'],
|
|
281
|
-
['GET', '/api/decay', '기억 감쇠 리포트'],
|
|
282
|
-
['GET', '/api/duplicates', '중복 노트 탐지'],
|
|
283
|
-
['GET', '/api/gaps', '지식 갭 리포트'],
|
|
284
|
-
['GET', '/api/health', '종합 건강도 대시보드'],
|
|
285
|
-
['GET', '/api/profile', '지식 프로필 (공개용)'],
|
|
286
|
-
['GET', '/api/embed', '임베드용 경량 그래프'],
|
|
287
|
-
['GET', '/api/profile-card', 'SVG 프로필 카드'],
|
|
288
|
-
['POST', '/api/clip', '웹 클리핑'],
|
|
289
|
-
['POST', '/api/sync', 'Notion 동기화 트리거'],
|
|
290
|
-
['POST', '/api/duplicates/merge', '중복 노트 병합'],
|
|
291
|
-
['POST', '/api/gaps/create-bridge', '갭 브릿지 노트 생성'],
|
|
292
|
-
]),
|
|
293
|
-
],
|
|
294
|
-
});
|
|
295
|
-
console.log(' + 기능 상세 명세');
|
|
296
|
-
|
|
297
|
-
// Next Steps
|
|
298
|
-
await notion.pages.create({
|
|
299
|
-
parent: { page_id: page.id },
|
|
300
|
-
properties: { title: [{ text: { content: '🔮 Next: Stella Network (Federation)' } }] },
|
|
301
|
-
children: [
|
|
302
|
-
callout('Stellavault의 다음 단계: 분산 지식 네트워크 (Federation Protocol)', '🌐'),
|
|
303
|
-
p('각 Stellavault 인스턴스를 P2P 노드로 연결하여 "지식 토렌트" 구현.'),
|
|
304
|
-
p('임베딩만 공유 (원문 비공개), AI 에이전트가 집단 지성에 접근.'),
|
|
305
|
-
p('상세: Stella Network 페이지 참조'),
|
|
306
|
-
d(),
|
|
307
|
-
h2('Git History'),
|
|
308
|
-
table(['Commit', '내용'], [
|
|
309
|
-
['94dceb4', 'feat: initial release of Stellavault'],
|
|
310
|
-
['d1b01c6', 'docs: rewrite README with core value proposition'],
|
|
311
|
-
['9b8caac', 'feat: P0 features (init, error recovery, perf, embed)'],
|
|
312
|
-
['1a72d52', 'feat: P1 features (CLI polish, learning path, notifications, profile, HTTP MCP, plugin SDK)'],
|
|
313
|
-
['6175b80', 'feat: P2 features (contradictions, webhooks, custom MCP, keyboard nav, semantic versioning, predictive gaps, i18n)'],
|
|
314
|
-
]),
|
|
315
|
-
],
|
|
316
|
-
});
|
|
317
|
-
console.log(' + Next Steps');
|
|
318
|
-
|
|
319
|
-
console.log(`\n✅ Done! ${page.url}`);
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
main().catch(console.error);
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
[2026. 3. 28. 오후 2:15:19] ===== START =====
|
|
2
|
-
[2026. 3. 28. 오후 2:15:19] [1/2] Upload PDCA to Notion
|
|
3
|
-
[2026. 3. 28. 오후 2:18:26] ║ ✅ 업로드 완료 ║ | ║ 📤 신규: 1 | 🔄 업데이트: 1 | ⏭️ 스킵: 236 ║ | ╚══════════════════════════════════════════════╝
|
|
4
|
-
[2026. 3. 28. 오후 2:18:26] [2/2] Sync Notion to Obsidian
|
|
5
|
-
[2026. 3. 28. 오후 2:28:26] ERROR in sync-to-obsidian.mjs: spawnSync node ETIMEDOUT
|
|
6
|
-
[2026. 3. 28. 오후 2:28:26] ===== DONE =====
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
[2026. 3. 30. 오전 1:19:30] ===== START =====
|
|
2
|
-
[2026. 3. 30. 오전 1:19:30] [1/2] Upload PDCA to Notion
|
|
3
|
-
[2026. 3. 30. 오전 1:22:11] ║ ✅ 업로드 완료 ║ | ║ 📤 신규: 0 | 🔄 업데이트: 0 | ⏭️ 스킵: 238 ║ | ╚══════════════════════════════════════════════╝
|
|
4
|
-
[2026. 3. 30. 오전 1:22:11] [2/2] Sync Notion to Obsidian
|
|
5
|
-
[2026. 3. 30. 오전 1:44:47] ║ 📄 업데이트: 282건 | ⏭️ 스킵: 19건 ║ | ║ 📁 저장: F:/obsidian/Evan/04_Projects ║ | ╚══════════════════════════════════════════════╝
|
|
6
|
-
[2026. 3. 30. 오전 1:44:47] ===== DONE =====
|
|
7
|
-
[2026. 3. 30. 오전 7:00:00] ===== START =====
|
|
8
|
-
[2026. 3. 30. 오전 7:00:00] [1/2] Upload PDCA to Notion
|
|
9
|
-
[2026. 3. 30. 오전 7:02:46] ║ ✅ 업로드 완료 ║ | ║ 📤 신규: 0 | 🔄 업데이트: 0 | ⏭️ 스킵: 237 ║ | ╚══════════════════════════════════════════════╝
|
|
10
|
-
[2026. 3. 30. 오전 7:02:46] [2/2] Sync Notion to Obsidian
|
|
11
|
-
[2026. 3. 30. 오전 7:02:47] ║ 📄 업데이트: 0건 | ⏭️ 스킵: 6건 ║ | ║ 📁 저장: F:/obsidian/Evan/04_Projects ║ | ╚══════════════════════════════════════════════╝
|
|
12
|
-
[2026. 3. 30. 오전 7:02:47] ===== DONE =====
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
[2026. 3. 31. 오전 7:00:01] ===== START =====
|
|
2
|
-
[2026. 3. 31. 오전 7:00:01] [1/2] Upload PDCA to Notion
|
|
3
|
-
[2026. 3. 31. 오전 7:03:09] ║ ✅ 업로드 완료 ║ | ║ 📤 신규: 8 | 🔄 업데이트: 0 | ⏭️ 스킵: 237 ║ | ╚══════════════════════════════════════════════╝
|
|
4
|
-
[2026. 3. 31. 오전 7:03:09] [2/2] Sync Notion to Obsidian
|
|
5
|
-
[2026. 3. 31. 오전 7:03:09] ║ 📄 업데이트: 0건 | ⏭️ 스킵: 6건 ║ | ║ 📁 저장: F:/obsidian/Evan/04_Projects ║ | ╚══════════════════════════════════════════════╝
|
|
6
|
-
[2026. 3. 31. 오전 7:03:09] ===== DONE =====
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
[2026. 4. 1. 오전 7:00:01] ===== START =====
|
|
2
|
-
[2026. 4. 1. 오전 7:00:01] [1/2] Upload PDCA to Notion
|
|
3
|
-
[2026. 4. 1. 오전 7:02:59] ║ ✅ 업로드 완료 ║ | ║ 📤 신규: 1 | 🔄 업데이트: 1 | ⏭️ 스킵: 244 ║ | ╚══════════════════════════════════════════════╝
|
|
4
|
-
[2026. 4. 1. 오전 7:02:59] [2/2] Sync Notion to Obsidian
|
|
5
|
-
[2026. 4. 1. 오전 7:03:35] ║ 📄 업데이트: 1건 | ⏭️ 스킵: 6건 ║ | ║ 📁 저장: F:/obsidian/Evan/04_Projects ║ | ╚══════════════════════════════════════════════╝
|
|
6
|
-
[2026. 4. 1. 오전 7:03:35] ===== DONE =====
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
[2026. 4. 2. 오전 7:00:01] ===== START =====
|
|
2
|
-
[2026. 4. 2. 오전 7:00:01] [1/2] Upload PDCA to Notion
|
|
3
|
-
[2026. 4. 2. 오전 7:02:46] ║ ✅ 업로드 완료 ║ | ║ 📤 신규: 0 | 🔄 업데이트: 0 | ⏭️ 스킵: 246 ║ | ╚══════════════════════════════════════════════╝
|
|
4
|
-
[2026. 4. 2. 오전 7:02:46] [2/2] Sync Notion to Obsidian
|
|
5
|
-
[2026. 4. 2. 오전 7:02:46] ║ 📄 업데이트: 0건 | ⏭️ 스킵: 7건 ║ | ║ 📁 저장: F:/obsidian/Evan/04_Projects ║ | ╚══════════════════════════════════════════════╝
|
|
6
|
-
[2026. 4. 2. 오전 7:02:46] ===== DONE =====
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
[2026. 4. 3. 오전 7:00:22] ===== START =====
|
|
2
|
-
[2026. 4. 3. 오전 7:00:32] [1/2] Upload PDCA to Notion
|
|
3
|
-
[2026. 4. 3. 오전 7:04:28] ║ ✅ 업로드 완료 ║ | ║ 📤 신규: 0 | 🔄 업데이트: 0 | ⏭️ 스킵: 246 ║ | ╚══════════════════════════════════════════════╝
|
|
4
|
-
[2026. 4. 3. 오전 7:04:28] [2/2] Sync Notion to Obsidian
|
|
5
|
-
[2026. 4. 3. 오전 7:05:55] ║ 📄 업데이트: 6건 | ⏭️ 스킵: 7건 ║ | ║ 📁 저장: F:/obsidian/Evan/04_Projects ║ | ╚══════════════════════════════════════════════╝
|
|
6
|
-
[2026. 4. 3. 오전 7:05:55] ===== DONE =====
|