@rubytech/create-maxy 1.0.792 → 1.0.794

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 (32) hide show
  1. package/dist/__tests__/brew-install.test.js +141 -0
  2. package/dist/__tests__/brew-resolve.test.js +103 -0
  3. package/dist/__tests__/launchd-plist.test.js +149 -0
  4. package/dist/__tests__/macos-version.test.js +96 -0
  5. package/dist/__tests__/platform-detect.test.js +50 -0
  6. package/dist/brew-install.js +175 -0
  7. package/dist/brew-resolve.js +68 -0
  8. package/dist/index.js +305 -27
  9. package/dist/launchd-plist.js +68 -0
  10. package/dist/macos-version.js +53 -0
  11. package/dist/platform-detect.js +36 -0
  12. package/dist/uninstall.js +47 -0
  13. package/package.json +1 -1
  14. package/payload/platform/lib/graph-search/src/__tests__/fulltext-coverage.test.ts +8 -0
  15. package/payload/platform/neo4j/edge-annotations.json +20 -0
  16. package/payload/platform/neo4j/migrations/002-project-public-agents.ts +191 -0
  17. package/payload/platform/neo4j/schema.cypher +69 -2
  18. package/payload/platform/plugins/admin/skills/public-agent-manager/SKILL.md +5 -2
  19. package/payload/platform/plugins/docs/references/deployment.md +15 -3
  20. package/payload/platform/plugins/docs/references/platform.md +1 -1
  21. package/payload/server/chunk-2N7XJW6Q.js +3428 -0
  22. package/payload/server/chunk-3SQJW5Y5.js +9892 -0
  23. package/payload/server/chunk-ZVUVUP6R.js +9892 -0
  24. package/payload/server/client-pool-CTMWNDMO.js +28 -0
  25. package/payload/server/maxy-edge.js +2 -2
  26. package/payload/server/public/assets/{admin-CBDpia8P.js → admin-DEhQ1wNO.js} +7 -7
  27. package/payload/server/public/assets/{graph-CT4W30GR.js → graph-DwzwJvlu.js} +1 -1
  28. package/payload/server/public/assets/page-BuoQU1c6.js +50 -0
  29. package/payload/server/public/graph.html +2 -2
  30. package/payload/server/public/index.html +2 -2
  31. package/payload/server/server.js +47 -7
  32. package/payload/server/public/assets/page-Cs2i--Z2.js +0 -50
@@ -5,12 +5,12 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Graph — Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/graph-CT4W30GR.js"></script>
8
+ <script type="module" crossorigin src="/assets/graph-DwzwJvlu.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-DD-I1_y5.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-Br2bU3EJ.js">
11
11
  <link rel="modulepreload" crossorigin href="/assets/Checkbox-DHsoNPeM.js">
12
12
  <link rel="modulepreload" crossorigin href="/assets/share-2-0IDKUUq9.js">
13
- <link rel="modulepreload" crossorigin href="/assets/page-Cs2i--Z2.js">
13
+ <link rel="modulepreload" crossorigin href="/assets/page-BuoQU1c6.js">
14
14
  <link rel="stylesheet" crossorigin href="/assets/jsx-runtime-lOmSwjvd.css">
15
15
  </head>
16
16
  <body>
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Maxy</title>
7
7
  <link rel="icon" href="/favicon.ico">
8
- <script type="module" crossorigin src="/assets/admin-CBDpia8P.js"></script>
8
+ <script type="module" crossorigin src="/assets/admin-DEhQ1wNO.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/chunk-DD-I1_y5.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-Br2bU3EJ.js">
11
11
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-qlgyTAkD.js">
@@ -13,7 +13,7 @@
13
13
  <link rel="modulepreload" crossorigin href="/assets/useVoiceRecorder-B1S_t3Hq.js">
14
14
  <link rel="modulepreload" crossorigin href="/assets/share-2-0IDKUUq9.js">
15
15
  <link rel="modulepreload" crossorigin href="/assets/page-DU8F3OGU.js">
16
- <link rel="modulepreload" crossorigin href="/assets/page-Cs2i--Z2.js">
16
+ <link rel="modulepreload" crossorigin href="/assets/page-BuoQU1c6.js">
17
17
  <link rel="stylesheet" crossorigin href="/assets/jsx-runtime-lOmSwjvd.css">
18
18
  <link rel="stylesheet" crossorigin href="/assets/admin-CWMpccrR.css">
19
19
  <link rel="stylesheet" href="/brand-defaults.css">
@@ -49,7 +49,7 @@ import {
49
49
  vncLog,
50
50
  waitForExit,
51
51
  writeChromiumWrapper
52
- } from "./chunk-H5F4S42X.js";
52
+ } from "./chunk-3SQJW5Y5.js";
53
53
  import {
54
54
  ACCOUNTS_DIR,
55
55
  GREETING_DIRECTIVE,
@@ -63,6 +63,7 @@ import {
63
63
  checkGroupMembership,
64
64
  clearSessionHistory,
65
65
  completeGrantSetup,
66
+ deleteAgentProjection,
66
67
  deleteConversation,
67
68
  embed,
68
69
  fetchBranding,
@@ -93,6 +94,7 @@ import {
93
94
  loadOnboardingStep,
94
95
  preConversationLogStream,
95
96
  preflushStreamLogKey,
97
+ projectAgent,
96
98
  registerGrantSession,
97
99
  registerResumedSession,
98
100
  registerSession,
@@ -111,7 +113,7 @@ import {
111
113
  verifyAndGetConversationUpdatedAt,
112
114
  verifyConversationOwnership,
113
115
  writeAdminUserAndPerson
114
- } from "./chunk-MIP54X7Q.js";
116
+ } from "./chunk-2N7XJW6Q.js";
115
117
 
116
118
  // ../lib/graph-trash/dist/index.js
117
119
  var require_dist = __commonJS({
@@ -8208,7 +8210,7 @@ var app11 = new Hono();
8208
8210
  app11.post("/cancel", requireAdminSession, async (c) => {
8209
8211
  const session_key = c.var.sessionKey;
8210
8212
  try {
8211
- const { interruptClient: interruptClient2 } = await import("./client-pool-4MZN42GG.js");
8213
+ const { interruptClient: interruptClient2 } = await import("./client-pool-CTMWNDMO.js");
8212
8214
  await interruptClient2(session_key);
8213
8215
  return c.json({ ok: true });
8214
8216
  } catch (err) {
@@ -8894,7 +8896,7 @@ app16.get("/", (c) => {
8894
8896
  }
8895
8897
  return c.json({ agents });
8896
8898
  });
8897
- app16.delete("/:slug", (c) => {
8899
+ app16.delete("/:slug", async (c) => {
8898
8900
  const slug = c.req.param("slug");
8899
8901
  const account = resolveAccount();
8900
8902
  if (!account) return c.json({ error: "No account resolved" }, 400);
@@ -8908,6 +8910,13 @@ app16.delete("/:slug", (c) => {
8908
8910
  if (!existsSync17(agentDir)) {
8909
8911
  return c.json({ error: "Agent not found" }, 404);
8910
8912
  }
8913
+ try {
8914
+ await deleteAgentProjection(account.accountId, slug);
8915
+ } catch (err) {
8916
+ const msg = err instanceof Error ? err.message : String(err);
8917
+ console.error(`[admin/agents] graph cleanup failed for agent "${slug}", aborting file removal: ${msg}`);
8918
+ return c.json({ error: `Graph cleanup failed: ${msg}` }, 500);
8919
+ }
8911
8920
  try {
8912
8921
  rmSync(agentDir, { recursive: true, force: true });
8913
8922
  console.log(`[admin/agents] deleted agent "${slug}"`);
@@ -8917,6 +8926,28 @@ app16.delete("/:slug", (c) => {
8917
8926
  return c.json({ error: "Failed to delete agent" }, 500);
8918
8927
  }
8919
8928
  });
8929
+ app16.post("/:slug/project", async (c) => {
8930
+ const slug = c.req.param("slug");
8931
+ const account = resolveAccount();
8932
+ if (!account) return c.json({ error: "No account resolved" }, 400);
8933
+ if (slug === "admin") {
8934
+ return c.json({ error: "Cannot project the admin agent" }, 403);
8935
+ }
8936
+ if (slug.includes("/") || slug.includes("..") || slug.includes("\\")) {
8937
+ return c.json({ error: "Invalid agent slug" }, 400);
8938
+ }
8939
+ const agentDir = resolve15(account.accountDir, "agents", slug);
8940
+ if (!existsSync17(agentDir)) {
8941
+ return c.json({ error: "Agent not found on disk" }, 404);
8942
+ }
8943
+ try {
8944
+ await projectAgent(account.accountId, account.accountDir, slug);
8945
+ return c.json({ ok: true });
8946
+ } catch (err) {
8947
+ const msg = err instanceof Error ? err.message : String(err);
8948
+ return c.json({ error: `Projection failed: ${msg}` }, 500);
8949
+ }
8950
+ });
8920
8951
  var agents_default = app16;
8921
8952
 
8922
8953
  // server/routes/admin/sessions.ts
@@ -9679,7 +9710,7 @@ app21.post("/setup", requireAdminSession, async (c) => {
9679
9710
  let actionId;
9680
9711
  let unit;
9681
9712
  try {
9682
- const launched = await launchAction("cloudflare-setup", { positional: args });
9713
+ const launched = await launchAction("cloudflare-setup", { positional: args, streamLogPath });
9683
9714
  actionId = launched.actionId;
9684
9715
  unit = launched.unit;
9685
9716
  } catch (e) {
@@ -10844,7 +10875,15 @@ var GRAPH_LABEL_COLOURS = {
10844
10875
  // unregistered here, producing an `unknown label` 400 whenever the
10845
10876
  // filter popover advertised the label. Muted brick — still reads as
10846
10877
  // alert against the cream background but doesn't shout fire-engine red.)
10847
- ReviewAlert: "#A85C5C"
10878
+ ReviewAlert: "#A85C5C",
10879
+ // Public-agent projection (Task 837) — burnished bronze sits between
10880
+ // people-terracotta and email-moss but shares neither hue, signalling
10881
+ // "operator-defined persona that traverses to KnowledgeDocuments,
10882
+ // Conversations, and other entities" without colliding with any existing
10883
+ // family. Pairs with the four owned KnowledgeDocument projections rendered
10884
+ // in the moss family — visual contrast cues the operator that the agent
10885
+ // node is a different kind of thing from its IDENTITY/SOUL/KNOWLEDGE docs.
10886
+ Agent: "#B8893D"
10848
10887
  };
10849
10888
  var ALL_GRAPH_LABELS = Object.freeze(
10850
10889
  Object.keys(GRAPH_LABEL_COLOURS)
@@ -10880,7 +10919,8 @@ var FILTER_TOP_LEVEL_LABELS = Object.freeze(
10880
10919
  "Workflow",
10881
10920
  "OnboardingState",
10882
10921
  "Email",
10883
- "EmailAccount"
10922
+ "EmailAccount",
10923
+ "Agent"
10884
10924
  ])
10885
10925
  );
10886
10926
  var AGENT_ACTION_LABELS = Object.freeze(