@rubytech/create-realagent 1.0.766 → 1.0.769

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/dist/index.js CHANGED
@@ -1541,25 +1541,23 @@ function setupVncViewer() {
1541
1541
  }
1542
1542
  function setupAccount() {
1543
1543
  log("10", TOTAL, "Setting up...");
1544
+ // Tasks 787 + 788 — both seed-neo4j.sh and embed-backfill.sh hard-exit
1545
+ // without NEO4J_URI. The installer owns the brand-correct URI and password,
1546
+ // so we derive them once and pass to both call sites. Missing password file
1547
+ // is a hard error: ensureNeo4jPassword() ran upstream and would have thrown
1548
+ // already if it couldn't reach the brand's Neo4j.
1549
+ const passwordFile = join(INSTALL_DIR, "platform/config/.neo4j-password");
1550
+ if (!existsSync(passwordFile)) {
1551
+ throw new Error(`Neo4j password file missing at ${passwordFile} — required by setup step.`);
1552
+ }
1553
+ const password = readFileSync(passwordFile, "utf-8").trim();
1554
+ const neo4jUri = `bolt://localhost:${NEO4J_PORT}`;
1555
+ const neo4jEnv = { ...process.env, NEO4J_URI: neo4jUri, NEO4J_PASSWORD: password };
1544
1556
  const seedScript = join(INSTALL_DIR, "platform/scripts/seed-neo4j.sh");
1545
1557
  if (existsSync(seedScript)) {
1546
- // Task 787 — explicit env to seed. The script no longer falls back to
1547
- // bolt://localhost:7687, so the installer is responsible for naming the
1548
- // brand-correct URI and providing the password. Missing password file is
1549
- // a hard error: ensureNeo4jPassword() ran upstream and would have thrown
1550
- // already if it couldn't reach the brand's Neo4j.
1551
- const passwordFile = join(INSTALL_DIR, "platform/config/.neo4j-password");
1552
- if (!existsSync(passwordFile)) {
1553
- throw new Error(`Neo4j password file missing at ${passwordFile} — required by seed step.`);
1554
- }
1555
- const password = readFileSync(passwordFile, "utf-8").trim();
1556
- const neo4jUri = `bolt://localhost:${NEO4J_PORT}`;
1557
1558
  console.log(` [neo4j] passing NEO4J_URI=${neo4jUri} to seed`);
1558
1559
  logFile(` [neo4j] passing NEO4J_URI=${neo4jUri} to seed`);
1559
- shell("bash", [seedScript], {
1560
- cwd: INSTALL_DIR,
1561
- env: { ...process.env, NEO4J_URI: neo4jUri, NEO4J_PASSWORD: password },
1562
- });
1560
+ shell("bash", [seedScript], { cwd: INSTALL_DIR, env: neo4jEnv });
1563
1561
  }
1564
1562
  // Task 748 — universal embedding coverage backfill. Run after seed so the
1565
1563
  // entity_search index is in place and any pre-Task-748 nodes (e.g. the
@@ -1581,6 +1579,7 @@ function setupAccount() {
1581
1579
  stdio: "inherit",
1582
1580
  timeout: 30 * 60_000,
1583
1581
  cwd: INSTALL_DIR,
1582
+ env: neo4jEnv,
1584
1583
  });
1585
1584
  const dur = ((Date.now() - start) / 1000).toFixed(1);
1586
1585
  if (result.status !== 0 || result.signal) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rubytech/create-realagent",
3
- "version": "1.0.766",
3
+ "version": "1.0.769",
4
4
  "description": "Install Real Agent — Built for agents. By agents.",
5
5
  "bin": {
6
6
  "create-realagent": "./dist/index.js"
@@ -65,7 +65,7 @@ There is no dashboard, no settings panel, no menus. Everything is done through c
65
65
 
66
66
  The chat input auto-grows as you type — it expands to fit your message and shrinks back when you delete text. You can also drag the resize handle above the input to set a custom height.
67
67
 
68
- The admin interface is a three-pane layout: a sidebar on the left with your brand mark, navigation (Chat, Projects, Artefacts), and your recent conversations; the chat in the middle; and an artefact pane on the right that opens when you select a document, click a project, or open Browser, Data, or Graph from the menu — holding the surface side-by-side with the conversation so the chat stays live while you work in it. The sidebar's nav rows swap the list view in place — Chat shows recent conversations, Projects shows your active work projects, and Artefacts lists every KnowledgeDocument plus this account's agent templates (your admin agent's IDENTITY, SOUL, and KNOWLEDGE files plus one entry per enabled specialist). Click an artefact row to open the document. KnowledgeDocuments and your admin agent's templates are editable — type in the document and changes save automatically; specialist agent templates are read-only because they ship with Maxy and your edits would be overwritten on the next install. PDF artefacts render inline so you can read them without leaving the pane. Artefacts that have no readable file backing them (orphan rows, files removed from disk, unsupported content types) show a one-line banner explaining the skip instead of opening to a blank pane. Click a project row to open the Graph view focused on that project's neighbourhood — clicking a second project swaps the focus rather than stacking on top. The chat / artefact divider is drag-resizable — drag the line between the columns to make either side wider; double-click it to reset to half of the available width (viewport minus sidebar), clamped to the chat / artefact min-width floors. Your chosen width is remembered across reloads. On wider screens (>1280px) all three panes are visible. The sidebar narrows at 1280px, the artefact pane hides at 1080px (Browser, Data, and Graph then open as full-window pages instead), and the sidebar collapses to a 56px icon rail at 820px. On phones (<640px) the sidebar slides in as a drawer from the left when you tap the menu icon in the chat header.
68
+ The admin interface is a three-pane layout: a sidebar on the left with your brand mark, navigation (Chat, Projects, Artefacts), and your recent conversations; the chat in the middle; and an artefact pane on the right that opens when you select a document, click a project, or open Browser, Data, or Graph from the menu — holding the surface side-by-side with the conversation so the chat stays live while you work in it. The sidebar's nav rows swap the list view in place — Chat shows recent conversations, Projects shows your active work projects, and Artefacts lists every KnowledgeDocument plus this account's agent templates (your admin agent's IDENTITY, SOUL, and KNOWLEDGE files plus one entry per enabled specialist). Click an artefact row to open the document. KnowledgeDocuments and your admin agent's templates are editable — type in the document and changes save automatically; specialist agent templates are read-only because they ship with Maxy and your edits would be overwritten on the next install. PDF artefacts render inline so you can read them without leaving the pane. If your browser doesn't have a built-in PDF viewer, a Download button appears instead. Artefacts that have no readable file backing them (orphan rows, files removed from disk, unsupported content types) show a one-line banner explaining the skip instead of opening to a blank pane. Click a project row to open the Graph view focused on that project's neighbourhood — clicking a second project swaps the focus rather than stacking on top. The chat / artefact divider is drag-resizable — drag the line between the columns to make either side wider; double-click it to reset to half of the available width (viewport minus sidebar), clamped to the chat / artefact min-width floors. Your chosen width is remembered across reloads. On wider screens (>1280px) all three panes are visible. The sidebar narrows at 1280px, the artefact pane hides at 1080px (Browser, Data, and Graph then open as full-window pages instead), and the sidebar collapses to a 56px icon rail at 820px. On phones (<640px) the sidebar slides in as a drawer from the left when you tap the menu icon in the chat header.
69
69
 
70
70
  Page titles are brand-aware: the browser tab shows your product name (e.g. `Real Agent` instead of `Maxy`) on every shell — chat, graph, and data — so a non-default brand never leaks the default name in tab strips or browser history.
71
71
 
@@ -1 +1 @@
1
- import{t as e}from"./jsx-runtime-C96Yp1GB.js";var t=e();function n({checked:e,onChange:n,label:r,disabled:i}){return(0,t.jsxs)(`label`,{className:`maxy-checkbox${i?` maxy-checkbox--disabled`:``}`,children:[(0,t.jsx)(`input`,{type:`checkbox`,checked:e,onChange:e=>n(e.target.checked),disabled:i}),(0,t.jsx)(`span`,{className:`maxy-checkbox__box`,children:`✱`}),r&&(0,t.jsx)(`span`,{className:`maxy-checkbox__label`,children:r})]})}export{n as t};
1
+ import{t as e}from"./jsx-runtime-DeNudFNA.js";var t=e();function n({checked:e,onChange:n,label:r,disabled:i}){return(0,t.jsxs)(`label`,{className:`maxy-checkbox${i?` maxy-checkbox--disabled`:``}`,children:[(0,t.jsx)(`input`,{type:`checkbox`,checked:e,onChange:e=>n(e.target.checked),disabled:i}),(0,t.jsx)(`span`,{className:`maxy-checkbox__box`,children:`✱`}),r&&(0,t.jsx)(`span`,{className:`maxy-checkbox__label`,children:r})]})}export{n as t};