recallx 1.0.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/README.md +205 -0
- package/app/cli/bin/recallx-mcp.js +2 -0
- package/app/cli/bin/recallx.js +8 -0
- package/app/cli/src/cli.js +808 -0
- package/app/cli/src/format.js +242 -0
- package/app/cli/src/http.js +35 -0
- package/app/mcp/api-client.js +101 -0
- package/app/mcp/index.js +128 -0
- package/app/mcp/server.js +786 -0
- package/app/server/app.js +2263 -0
- package/app/server/config.js +27 -0
- package/app/server/db.js +399 -0
- package/app/server/errors.js +17 -0
- package/app/server/governance.js +466 -0
- package/app/server/index.js +26 -0
- package/app/server/inferred-relations.js +247 -0
- package/app/server/observability.js +495 -0
- package/app/server/project-graph.js +199 -0
- package/app/server/relation-scoring.js +59 -0
- package/app/server/repositories.js +2992 -0
- package/app/server/retrieval.js +486 -0
- package/app/server/semantic/chunker.js +85 -0
- package/app/server/semantic/provider.js +124 -0
- package/app/server/semantic/types.js +1 -0
- package/app/server/semantic/vector-store.js +169 -0
- package/app/server/utils.js +43 -0
- package/app/server/workspace-session.js +128 -0
- package/app/server/workspace.js +79 -0
- package/app/shared/contracts.js +268 -0
- package/app/shared/request-runtime.js +30 -0
- package/app/shared/types.js +1 -0
- package/app/shared/version.js +1 -0
- package/dist/renderer/assets/ProjectGraphCanvas-BMvz9DmE.js +312 -0
- package/dist/renderer/assets/index-C2-KXqBO.css +1 -0
- package/dist/renderer/assets/index-CrDu22h7.js +76 -0
- package/dist/renderer/index.html +13 -0
- package/package.json +49 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{color-scheme:dark;--bg: #020202;--bg-2: #080808;--bg-3: #121212;--panel: rgba(9, 9, 9, .88);--panel-strong: rgba(13, 13, 13, .96);--panel-soft: rgba(255, 255, 255, .03);--panel-border: rgba(255, 255, 255, .08);--panel-border-strong: rgba(255, 255, 255, .14);--text: #f5f5f5;--muted: #9a9a9a;--muted-strong: #cfcfcf;--accent: #d8d8d8;--accent-strong: #f4f4f4;--accent-warm: #8c8c8c;--good: #6fdaa4;--warn: #f1c46d;--info: #89b9ff;--danger: #ff8f8f;--shadow: 0 26px 60px rgba(0, 0, 0, .5);--shadow-soft: 0 18px 32px rgba(0, 0, 0, .24);--radius-xl: 30px;--radius-lg: 22px;--radius-md: 18px;--radius-sm: 14px}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:Soehne,Neue Haas Grotesk Text Pro,IBM Plex Sans,Inter,sans-serif;color:var(--text);background:radial-gradient(circle at 18% 16%,rgba(255,255,255,.06),transparent 0 24%),radial-gradient(circle at 80% 18%,rgba(255,255,255,.045),transparent 0 22%),linear-gradient(180deg,#000000 0%,var(--bg) 34%,var(--bg-2) 72%,#141414 100%)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.06;background-image:radial-gradient(circle at 14% 24%,rgba(255,255,255,.9) 0 1px,transparent 1.5px),radial-gradient(circle at 72% 16%,rgba(255,255,255,.9) 0 1px,transparent 1.5px),radial-gradient(circle at 61% 38%,rgba(255,255,255,.9) 0 1px,transparent 1.5px);background-size:420px 420px,540px 540px,620px 620px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}code,pre{font-family:SF Mono,JetBrains Mono,IBM Plex Mono,monospace}.app-shell{min-height:100vh}.workspace{position:relative;min-height:100vh;padding:24px}.workspace:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:28px;border:1px solid rgba(255,255,255,.05);background:linear-gradient(180deg,#060606f5,#0a0a0ae6),radial-gradient(circle at top,rgba(255,255,255,.04),transparent 42%);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:0}.topbar,.workspace-body,.banner{position:relative;z-index:1}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 12px 28px}.brand{display:flex;align-items:center;gap:14px;min-width:0}.brand strong{display:block;font-size:1rem;font-weight:600;letter-spacing:-.02em}.brand p,.topbar-meta,.page-copy p,.page-heading p,.result-card p,.mini-card p,.route-card span,.info-block p,.empty-state,.meta-row,.note-reading-pane,.banner{color:var(--muted)}.brand p{margin:4px 0 0;font-size:.84rem}.brand-mark{width:12px;height:12px;border-radius:999px;background:radial-gradient(circle at 35% 35%,#fff,#8cd1ff 40%,#4a7cff 72%,#4a7cff1f);box-shadow:0 0 22px #6fb8ffbf,0 0 0 8px #6fb8ff14}.nav-list{display:flex;align-items:center;gap:10px;margin:0}.nav-list--top{flex:1;justify-content:center}.nav-item,.hero-button,.tool-chip,.route-card,.result-card,.mini-card--interactive,.ghost,.action-row button{transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease,color .18s ease}.nav-item{min-width:92px;display:grid;gap:2px;padding:10px 14px;border-radius:999px;border:1px solid transparent;background:#ffffff05;color:var(--muted-strong)}.nav-item span{font-size:.92rem;font-weight:500}.nav-item small{font-size:.72rem;color:var(--muted)}.nav-item:hover,.nav-item.active{transform:translateY(-1px);border-color:#ffffff2e;background:#ffffff0f;box-shadow:0 10px 24px #0003}.topbar-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;font-size:.78rem}.utility-nav{display:inline-flex;align-items:center;gap:8px}.utility-nav-item{padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--muted-strong);transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease,color .18s ease}.utility-nav-item:hover,.utility-nav-item.active{transform:translateY(-1px);border-color:#ffffff29;background:#ffffff0f;color:var(--text);box-shadow:0 10px 24px #00000029}.topbar-meta span{padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff08}.banner{margin:0 12px 20px;padding:12px 16px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.1);background:#ffffff0a}.workspace-body{padding:0 12px 12px}.page-section{display:grid;gap:20px}.page-section--guide{gap:28px}.page-section--centered{min-height:calc(100vh - 180px);place-items:center}.home-section{min-height:calc(100vh - 180px);align-items:center}.page-heading,.page-copy{display:grid;gap:8px}.page-heading h2,.page-copy h3,.section-head h2,.section-head h3,.home-hero h2{margin:0;letter-spacing:-.04em}.page-heading h2{font-size:clamp(2rem,4vw,3rem);max-width:10ch}.page-heading p,.page-copy p{margin:0;line-height:1.6;max-width:62ch}.page-section--guide .page-heading h2{max-width:18ch}.page-section--guide .page-heading p{max-width:72ch;color:var(--muted-strong)}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.eyebrow:before{content:"";width:18px;height:1px;background:currentColor;opacity:.65}.card,.page-card,.auth-card{border:1px solid var(--panel-border);border-radius:var(--radius-xl);background:linear-gradient(180deg,#0e0e0ef0,#080808e6);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.card{padding:24px}.auth-card{width:min(520px,100%)}.two-column-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:20px}.guide-shell{display:grid;grid-template-columns:minmax(240px,280px) minmax(0,1fr);gap:28px;align-items:start}.guide-sidebar{position:sticky;top:28px;display:grid;gap:18px;min-height:620px;padding-right:18px;border-right:1px solid rgba(255,255,255,.08)}.guide-sidebar-head{display:grid;gap:6px}.guide-sidebar-head h3{margin:0;font-size:1.1rem}.guide-tree,.guide-tree-group,.guide-tree-children,.guide-copy-list,.guide-content,.guide-article{display:grid;gap:10px}.guide-tree-group{gap:8px}.guide-tree-group-label{color:var(--muted);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.guide-tree-item{padding:8px 0 8px 14px;border:0;border-left:1px solid rgba(255,255,255,.08);background:transparent;color:var(--muted-strong);text-align:left}.guide-tree-item:hover,.guide-tree-item.active{color:var(--text);border-left-color:#ffffff6b}.guide-content{min-height:620px;padding:10px 0 0}.guide-article{gap:18px;max-width:820px}.guide-article h3{margin:0;font-size:clamp(2rem,3vw,2.6rem);letter-spacing:-.04em;line-height:1.05;max-width:15ch}.guide-kicker-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.guide-section-meta{color:var(--muted);font-size:.8rem}.guide-body{max-width:62ch;line-height:1.8;color:var(--muted-strong)}.guide-copy-list p{margin:0;padding-left:14px;border-left:1px solid rgba(255,255,255,.08);line-height:1.75;color:var(--text)}.guide-code-block{margin:10px 0 0;overflow:auto;padding:20px 0 0;border:0;border-top:1px solid rgba(255,255,255,.08);background:transparent;color:#f2f2f2;line-height:1.7}.info-grid{display:grid;gap:16px}.info-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.info-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.info-block{display:grid;gap:8px;padding:18px;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#ffffff08,#ffffff04)}.info-block strong{font-size:1rem;font-weight:600;line-height:1.35}.info-block p{margin:0;line-height:1.55}.info-label{font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.section-head--compact{margin-bottom:14px}.section-head h2{font-size:1.3rem}.section-head h3,.page-copy h3{font-size:1.2rem}.card-stack{display:grid;gap:12px}.compact-stack{gap:10px}.route-card,.result-card,.mini-card,.graph-node{width:100%;min-width:0;text-align:left;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-lg);background:linear-gradient(180deg,#ffffff09,#ffffff05);color:var(--text)}.route-card,.result-card,.mini-card{padding:16px}.route-card{display:flex;align-items:center;justify-content:space-between;gap:14px}.route-card strong,.result-card strong,.mini-card strong,.graph-node strong{display:block;min-width:0;margin:0 0 6px;font-size:.98rem;font-weight:600;overflow-wrap:anywhere;word-break:break-word}.route-card span,.mini-card p,.result-card p,.graph-node p{line-height:1.55;overflow-wrap:anywhere;word-break:break-word}.route-card em{color:var(--accent);font-style:normal;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}.route-card:hover,.result-card:hover,.mini-card--interactive:hover,.graph-node:hover,.hero-button:hover,.tool-chip:hover,.action-row button:hover,.ghost:hover{transform:translateY(-1px);border-color:#ffffff29;box-shadow:0 16px 28px #00000038}.result-card.selected{border-color:#ffffff29;background:linear-gradient(180deg,#ffffff14,#ffffff09)}.result-card__top,.meta-row,.chip-row,.action-row,.graph-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.result-card__top{align-items:flex-start;min-width:0}.meta-row{flex-wrap:wrap;margin-top:12px;font-size:.78rem}.chip-row,.graph-toolbar{flex-wrap:wrap}.pill,.chip,.tool-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:.74rem;white-space:nowrap}.pill,.chip{padding:7px 10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a}.chip-static{color:var(--muted-strong)}.tool-chip{padding:9px 12px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--muted-strong)}.tool-chip--active,.hero-button--secondary,.ghost{border-color:#ffffff1f;background:#ffffff0a;color:var(--text)}.relation-chip{text-transform:capitalize}.relation-chip--supports{border-color:#6fdaa438;background:#6fdaa414;color:var(--good)}.relation-chip--depends{border-color:#f1c46d3d;background:#f1c46d14;color:var(--warn)}.relation-chip--contradicts{border-color:#ff8f8f3d;background:#ff8f8f14;color:var(--danger)}.relation-chip--elaborates,.relation-chip--derived,.relation-chip--produced,.relation-chip--relevant,.relation-chip--related{border-color:#89b9ff3d;background:#89b9ff14;color:var(--info)}.tone-good{color:var(--good);border-color:#6fdaa438;background:#6fdaa414}.tone-warn{color:var(--warn);border-color:#f1c46d3d;background:#f1c46d14}.tone-info{color:var(--info);border-color:#89b9ff3d;background:#89b9ff14}.tone-muted{color:var(--muted-strong)}.capture-form,.search-box{display:grid;gap:10px}.compact-form{margin-top:18px}.search-box span{font-size:.84rem;color:var(--muted-strong)}.search-box input,.search-box select,.search-box textarea{width:100%;padding:13px 14px;border:1px solid rgba(148,174,210,.14);border-radius:var(--radius-sm);background:#ffffff0b;color:var(--text);outline:none}.search-box textarea{resize:vertical}.search-box input::placeholder,.search-box textarea::placeholder{color:#95a4bfd1}.search-box input:focus,.search-box select:focus,.search-box textarea:focus{border-color:#8dc1ff52;box-shadow:0 0 0 3px #6fb8ff14}.action-row{flex-wrap:wrap;justify-content:flex-start;margin-top:4px}.action-row button,.hero-button{padding:12px 16px;border-radius:999px;border:1px solid transparent}.action-row button,.hero-button--primary{background:linear-gradient(135deg,var(--accent-strong),var(--accent-warm));color:#04101d;font-weight:600;box-shadow:0 18px 36px #3e7bff38}.ghost{box-shadow:none}.notice{padding:12px 14px;border-radius:var(--radius-sm);border:1px solid rgba(111,218,164,.2);background:#6fdaa414;color:#d8ffe7}.empty-state{padding:14px 16px;border-radius:var(--radius-md);border:1px dashed rgba(148,174,210,.16);background:#ffffff06;line-height:1.55}.empty-state.compact{padding:10px 12px}.home-hero{width:min(760px,100%);display:grid;gap:22px;margin:0 auto;padding:clamp(36px,8vw,72px) clamp(24px,5vw,56px);border-radius:36px;border:1px solid rgba(148,174,210,.12);background:radial-gradient(circle at top,rgba(121,171,255,.12),transparent 0 42%),linear-gradient(180deg,#09101ee0,#060a14c2);box-shadow:var(--shadow)}.home-hero h2{max-width:11ch;font-size:clamp(2.6rem,6vw,4.9rem);line-height:.96}.home-hero p{margin:0;max-width:34ch;font-size:1rem;line-height:1.7;color:var(--muted-strong)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-button{min-width:150px}.notes-toolbar{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr);gap:18px}.notes-toolbar-card{display:grid;align-content:start;gap:16px}.notes-capture-form{display:grid;grid-template-columns:120px minmax(200px,.9fr) minmax(220px,1.1fr) auto;gap:12px;align-items:end}.notes-capture-body{min-width:0}.notes-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.note-tile{display:grid;align-content:start;gap:12px;min-height:220px;padding:16px;border-radius:22px;border:1px solid rgba(148,174,210,.12);background:linear-gradient(180deg,#101a2deb,#0a111feb);color:var(--text);text-align:left;box-shadow:var(--shadow-soft);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.note-tile:hover,.note-tile.selected{transform:translateY(-2px);border-color:#8dc1ff47;box-shadow:0 18px 30px #01050f42;background:linear-gradient(180deg,#1e345857,#0c1424eb)}.note-tile strong{font-size:1rem;line-height:1.35}.note-tile p{margin:0;color:var(--muted-strong);line-height:1.6;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.note-tile-time{font-size:.76rem;color:var(--muted)}.note-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:28px;background:#02060ead;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.note-modal{width:min(760px,100%);max-height:calc(100vh - 72px);overflow:auto;display:grid;gap:18px}.note-modal-actions{display:flex;align-items:center;gap:10px}.note-reading-pane{min-height:260px;padding:18px;border-radius:var(--radius-lg);border:1px solid rgba(148,174,210,.12);background:#ffffff08;white-space:pre-wrap}.compact-copy{margin-top:8px}.code-block{margin:0;overflow:auto;padding:16px;border-radius:var(--radius-lg);border:1px solid rgba(148,174,210,.12);background:#030810d1;color:#d6ebff;line-height:1.6}.graph-summary-grid{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.graph-focus,.graph-node,.mini-card{display:grid;gap:8px}.graph-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.graph-section-grid--project{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr)}.governance-layout{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(0,1.08fr);gap:20px}.governance-list,.governance-detail{display:grid;align-content:start;gap:18px}.governance-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.governance-detail-card{display:grid;align-content:start;gap:14px;padding:18px;border-radius:var(--radius-lg);border:1px solid rgba(148,174,210,.12);background:#ffffff06}.relation-group-card{display:grid;align-content:start;gap:14px}.relation-group-grid,.graph-related-grid,.graph-support-grid{display:grid;gap:12px}.relation-group-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.graph-related-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.graph-support-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:14px}.graph-empty{display:grid;gap:14px;margin-top:10px}.graph-filter-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.graph-node{padding:16px}.graph-node .result-card__top{flex-wrap:wrap}.graph-node .chip-row{justify-content:flex-start}.graph-node--hop-2{opacity:.9}.project-graph-card{gap:18px}.project-graph-canvas{position:relative;min-height:520px;border-radius:var(--radius-xl);border:1px solid rgba(148,174,210,.14);background:radial-gradient(circle at top,rgba(59,130,246,.1),transparent 34%),linear-gradient(180deg,#080f1deb,#0c1526d6);overflow:hidden}.project-graph-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.55fr);gap:14px}.project-graph-scrubber{align-content:start}.project-graph-scrubber input[type=range]{width:100%}@media(max-width:1180px){.topbar{flex-wrap:wrap;align-items:flex-start}.nav-list--top{order:3;width:100%;justify-content:flex-start;flex-wrap:wrap}.topbar-meta{justify-content:flex-start}.two-column-grid,.guide-shell,.notes-toolbar,.graph-summary-grid,.graph-section-grid,.governance-layout,.governance-detail-grid,.project-graph-controls,.graph-section-grid--project,.info-grid.three,.info-grid.two,.notes-capture-form{grid-template-columns:1fr}}@media(max-width:760px){.workspace{padding:14px}.workspace:before{top:0;right:0;bottom:0;left:0;border-radius:0}.topbar,.workspace-body{padding-left:4px;padding-right:4px}.card,.home-hero{padding:20px;border-radius:24px}.home-hero h2,.page-heading h2{max-width:none}.nav-item{min-width:unset}.hero-button,.action-row button{width:100%;justify-content:center}}
|