@rubytech/create-maxy-code 0.1.188 → 0.1.190

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 (141) hide show
  1. package/dist/index.js +129 -38
  2. package/package.json +1 -1
  3. package/payload/platform/lib/graph-search/dist/index.d.ts +12 -0
  4. package/payload/platform/lib/graph-search/dist/index.d.ts.map +1 -1
  5. package/payload/platform/lib/graph-search/dist/index.js +4 -1
  6. package/payload/platform/lib/graph-search/dist/index.js.map +1 -1
  7. package/payload/platform/lib/graph-search/src/index.ts +4 -2
  8. package/payload/platform/neo4j/schema.cypher +16 -1
  9. package/payload/platform/plugins/admin/.claude-plugin/plugin.json +1 -1
  10. package/payload/platform/plugins/admin/PLUGIN.md +3 -5
  11. package/payload/platform/plugins/admin/mcp/dist/__tests__/admin-authoring-skill-gate.test.d.ts +2 -0
  12. package/payload/platform/plugins/admin/mcp/dist/__tests__/admin-authoring-skill-gate.test.d.ts.map +1 -0
  13. package/payload/platform/plugins/admin/mcp/dist/__tests__/admin-authoring-skill-gate.test.js +79 -0
  14. package/payload/platform/plugins/admin/mcp/dist/__tests__/admin-authoring-skill-gate.test.js.map +1 -0
  15. package/payload/platform/plugins/admin/mcp/dist/index.js +21 -95
  16. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  17. package/payload/platform/plugins/admin/mcp/dist/skill-resolution.d.ts +9 -0
  18. package/payload/platform/plugins/admin/mcp/dist/skill-resolution.d.ts.map +1 -1
  19. package/payload/platform/plugins/admin/mcp/dist/skill-resolution.js +47 -0
  20. package/payload/platform/plugins/admin/mcp/dist/skill-resolution.js.map +1 -1
  21. package/payload/platform/plugins/admin/skills/file-presentation/SKILL.md +6 -12
  22. package/payload/platform/plugins/admin/skills/professional-document/SKILL.md +1 -1
  23. package/payload/platform/plugins/docs/references/admin-ui.md +1 -2
  24. package/payload/platform/plugins/docs/references/plugins-guide.md +1 -1
  25. package/payload/platform/plugins/docs/references/voice-mirror-guide.md +2 -0
  26. package/payload/platform/plugins/memory/.claude-plugin/plugin.json +1 -1
  27. package/payload/platform/plugins/memory/PLUGIN.md +4 -1
  28. package/payload/platform/plugins/memory/mcp/dist/index.js +63 -0
  29. package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
  30. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-lookup-by-name.test.d.ts +2 -0
  31. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-lookup-by-name.test.d.ts.map +1 -0
  32. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-lookup-by-name.test.js +135 -0
  33. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/memory-lookup-by-name.test.js.map +1 -0
  34. package/payload/platform/plugins/memory/mcp/dist/tools/memory-lookup-by-name.d.ts +16 -0
  35. package/payload/platform/plugins/memory/mcp/dist/tools/memory-lookup-by-name.d.ts.map +1 -0
  36. package/payload/platform/plugins/memory/mcp/dist/tools/memory-lookup-by-name.js +56 -0
  37. package/payload/platform/plugins/memory/mcp/dist/tools/memory-lookup-by-name.js.map +1 -0
  38. package/payload/platform/plugins/scheduling/PLUGIN.md +1 -1
  39. package/payload/platform/plugins/scheduling/mcp/dist/index.js +1 -1
  40. package/payload/platform/plugins/scheduling/mcp/dist/index.js.map +1 -1
  41. package/payload/platform/scripts/identity-forbidden-token-check.mjs +6 -5
  42. package/payload/platform/scripts/setup-account.sh +6 -1
  43. package/payload/platform/scripts/smoke-boot-services.sh +1 -0
  44. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +1 -1
  45. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
  46. package/payload/platform/services/claude-session-manager/dist/config.d.ts +4 -0
  47. package/payload/platform/services/claude-session-manager/dist/config.d.ts.map +1 -1
  48. package/payload/platform/services/claude-session-manager/dist/config.js +6 -1
  49. package/payload/platform/services/claude-session-manager/dist/config.js.map +1 -1
  50. package/payload/platform/services/claude-session-manager/dist/index.js +1 -0
  51. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  52. package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts +4 -0
  53. package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts.map +1 -1
  54. package/payload/platform/services/claude-session-manager/dist/rc-daemon.js +8 -2
  55. package/payload/platform/services/claude-session-manager/dist/rc-daemon.js.map +1 -1
  56. package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts.map +1 -1
  57. package/payload/platform/services/claude-session-manager/dist/system-prompt.js +7 -9
  58. package/payload/platform/services/claude-session-manager/dist/system-prompt.js.map +1 -1
  59. package/payload/platform/templates/agents/admin/IDENTITY.md +14 -1
  60. package/payload/platform/templates/specialists/agents/content-producer.md +2 -2
  61. package/payload/platform/templates/specialists/agents/database-operator.md +1 -1
  62. package/payload/platform/templates/specialists/agents/librarian.md +1 -0
  63. package/payload/platform/templates/specialists/agents/personal-assistant.md +1 -1
  64. package/payload/premium-plugins/writer-craft/skills/voice-mirror/SKILL.md +6 -0
  65. package/payload/server/public/assets/{Checkbox-ChWmQ7if.js → Checkbox-g2WZRfCt.js} +1 -1
  66. package/payload/server/public/assets/{admin-BLi_fAKQ.js → admin-Cv2A5vnQ.js} +53 -53
  67. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-DSqzB21V.js → architectureDiagram-Q4EWVU46-BVKxPUIS.js} +1 -1
  68. package/payload/server/public/assets/{blockDiagram-DXYQGD6D--otTO_UB.js → blockDiagram-DXYQGD6D-BpD-1G1V.js} +1 -1
  69. package/payload/server/public/assets/brand-BQW2DYy_.css +1 -0
  70. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-CBszqa9W.js → c4Diagram-AHTNJAMY-CFl9Dr6U.js} +1 -1
  71. package/payload/server/public/assets/channel-BTEFjudQ.js +1 -0
  72. package/payload/server/public/assets/{chunk-336JU56O-ClAJP2KY.js → chunk-336JU56O-B2Uc6pEC.js} +2 -2
  73. package/payload/server/public/assets/{chunk-426QAEUC-CgLucS4H.js → chunk-426QAEUC-CcIGcm29.js} +1 -1
  74. package/payload/server/public/assets/{chunk-4TB4RGXK-BvOX6mSk.js → chunk-4TB4RGXK-Dvf5uiFR.js} +1 -1
  75. package/payload/server/public/assets/{chunk-5FUZZQ4R-uyN4XtrW.js → chunk-5FUZZQ4R-DUQR1rF9.js} +1 -1
  76. package/payload/server/public/assets/{chunk-5PVQY5BW-B6xHEzh2.js → chunk-5PVQY5BW-OTvNug7K.js} +1 -1
  77. package/payload/server/public/assets/{chunk-EDXVE4YY-9objw8tW.js → chunk-EDXVE4YY-CRAsAWbD.js} +1 -1
  78. package/payload/server/public/assets/{chunk-ENJZ2VHE-pQpbHIJL.js → chunk-ENJZ2VHE-BNllMoi_.js} +1 -1
  79. package/payload/server/public/assets/{chunk-ICPOFSXX-qS23jC3x.js → chunk-ICPOFSXX-vTeVS4qd.js} +1 -1
  80. package/payload/server/public/assets/{chunk-OYMX7WX6-C9YUwGqp.js → chunk-OYMX7WX6-BdSFcvNa.js} +1 -1
  81. package/payload/server/public/assets/{chunk-U2HBQHQK-D_pYedRJ.js → chunk-U2HBQHQK-BpFXup4D.js} +1 -1
  82. package/payload/server/public/assets/{chunk-X2U36JSP-nxf6GHD-.js → chunk-X2U36JSP-DF-6QHx4.js} +1 -1
  83. package/payload/server/public/assets/{chunk-YZCP3GAM-DqKT124V.js → chunk-YZCP3GAM-CKgDoLRT.js} +1 -1
  84. package/payload/server/public/assets/{chunk-ZZ45TVLE-CLwvpbvu.js → chunk-ZZ45TVLE-B0ACvZCZ.js} +1 -1
  85. package/payload/server/public/assets/classDiagram-6PBFFD2Q-ClkdniKF.js +1 -0
  86. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-kjJetfh2.js +1 -0
  87. package/payload/server/public/assets/clone-BllVm2iY.js +1 -0
  88. package/payload/server/public/assets/{dagre-COCXt23n.js → dagre-3yl9rfxR.js} +1 -1
  89. package/payload/server/public/assets/{dagre-KV5264BT-DmuVMrt4.js → dagre-KV5264BT-D-Ux4uwL.js} +1 -1
  90. package/payload/server/public/assets/data-DIa-MKNj.js +1 -0
  91. package/payload/server/public/assets/{diagram-5BDNPKRD-DOiLSgj_.js → diagram-5BDNPKRD-D-MOMikl.js} +1 -1
  92. package/payload/server/public/assets/{diagram-G4DWMVQ6-quY6PSZQ.js → diagram-G4DWMVQ6-DKdFcnhf.js} +1 -1
  93. package/payload/server/public/assets/{diagram-MMDJMWI5-tN2yiz0C.js → diagram-MMDJMWI5-ajamR766.js} +1 -1
  94. package/payload/server/public/assets/{diagram-TYMM5635-CjrRQNQ0.js → diagram-TYMM5635-D2Pbk2Kk.js} +1 -1
  95. package/payload/server/public/assets/{erDiagram-SMLLAGMA-CrNNMxkA.js → erDiagram-SMLLAGMA-v3o948pk.js} +1 -1
  96. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-CCUsJph7.js → flowDiagram-DWJPFMVM-byC1a6GE.js} +1 -1
  97. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-18276bri.js → ganttDiagram-T4ZO3ILL-Dybzs-Sw.js} +1 -1
  98. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-CsLsKMjN.js → gitGraphDiagram-UUTBAWPF-DvzXYLuW.js} +1 -1
  99. package/payload/server/public/assets/graph-Y5y3kw6J.js +1 -0
  100. package/payload/server/public/assets/graph-labels-BIRCh328.js +1 -0
  101. package/payload/server/public/assets/{graphlib-CmtUzIni.js → graphlib-DvH_spaA.js} +1 -1
  102. package/payload/server/public/assets/{infoDiagram-42DDH7IO-Dny_ZNz3.js → infoDiagram-42DDH7IO-C2FeU8nE.js} +1 -1
  103. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-kUhIUQE-.js → ishikawaDiagram-UXIWVN3A-CpY5W64P.js} +1 -1
  104. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-DekMvAKB.js → journeyDiagram-VCZTEJTY-ymMAQVdm.js} +1 -1
  105. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-st0HNZZo.js → kanban-definition-6JOO6SKY-_NX9hNK3.js} +1 -1
  106. package/payload/server/public/assets/{lib-Ca7uCvl9.js → lib-BEvO-mE0.js} +1 -1
  107. package/payload/server/public/assets/{line-BaNk-I7J.js → line-Dz7zKWX-.js} +1 -1
  108. package/payload/server/public/assets/{mermaid-parser.core-CRCHYQ_F.js → mermaid-parser.core-BCWd1en6.js} +1 -1
  109. package/payload/server/public/assets/{mermaid.core-BaIYEciF.js → mermaid.core-gSoFkVoN.js} +3 -3
  110. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-D4u4KU2v.js → mindmap-definition-QFDTVHPH-QuIyK2bd.js} +1 -1
  111. package/payload/server/public/assets/page-BCCqlOmj.js +1 -0
  112. package/payload/server/public/assets/{page-DayPduMN.js → page-DwNvJOvr.js} +3 -3
  113. package/payload/server/public/assets/{pieDiagram-DEJITSTG-BItWEilY.js → pieDiagram-DEJITSTG-DHK0yy7U.js} +1 -1
  114. package/payload/server/public/assets/{public-Dze4yArS.js → public-BnS9zREj.js} +3 -3
  115. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-CeWDBvmH.js → quadrantDiagram-34T5L4WZ-wK1jwWo5.js} +1 -1
  116. package/payload/server/public/assets/{requirementDiagram-MS252O5E-CcosjedW.js → requirementDiagram-MS252O5E-W_mH85_d.js} +1 -1
  117. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-DNGeFpUj.js → sankeyDiagram-XADWPNL6-nGAM-YLQ.js} +1 -1
  118. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-Cqy_deB6.js → sequenceDiagram-FGHM5R23-SMfUCwBH.js} +1 -1
  119. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-2yoAqEsA.js → stateDiagram-FHFEXIEX-CYKXFirH.js} +1 -1
  120. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-B9ZwM8kx.js +1 -0
  121. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-Dmeghpw1.js → timeline-definition-GMOUNBTQ-DethbNFa.js} +1 -1
  122. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-TX5D-Zzp.js → vennDiagram-DHZGUBPP-BUlJTe9Z.js} +1 -1
  123. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-B7mcpl5E.js → wardleyDiagram-NUSXRM2D-CL1TvZ7j.js} +1 -1
  124. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-DH77CxKf.js → xychartDiagram-5P7HB3ND-Cav10l-Z.js} +1 -1
  125. package/payload/server/public/data.html +5 -5
  126. package/payload/server/public/graph.html +6 -6
  127. package/payload/server/public/index.html +8 -8
  128. package/payload/server/public/public.html +5 -5
  129. package/payload/server/server-init.cjs +12 -2
  130. package/payload/server/server.js +586 -292
  131. package/payload/server/public/assets/brand-DzacFNMk.css +0 -1
  132. package/payload/server/public/assets/channel-C-SJYogg.js +0 -1
  133. package/payload/server/public/assets/classDiagram-6PBFFD2Q-OBkxl5to.js +0 -1
  134. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-CkTyus-1.js +0 -1
  135. package/payload/server/public/assets/clone-VufdPzJ-.js +0 -1
  136. package/payload/server/public/assets/data-TlJbMIfa.js +0 -1
  137. package/payload/server/public/assets/graph-D2Yvni5R.js +0 -1
  138. package/payload/server/public/assets/graph-labels-uksnCgSC.js +0 -1
  139. package/payload/server/public/assets/page-QQmuB04w.js +0 -1
  140. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Dc5siYvu.js +0 -1
  141. /package/payload/server/public/assets/{brand-Djtb-tLQ.js → brand-BGvv6AYI.js} +0 -0
package/dist/index.js CHANGED
@@ -2411,26 +2411,36 @@ function writeInstallDefaults(accountId) {
2411
2411
  console.log(tierLine);
2412
2412
  logFile(tierLine);
2413
2413
  }
2414
- // Admin SOUL.md is sourced from the bundled template with ${PRODUCT_NAME}
2415
- // substituted at install time. The template carries the Phase 1 standing
2416
- // offer (brochure / preval / Loop CRM) so the agent ships with a stated
2417
- // capability set rather than a one-line operator-tag.
2414
+ // Admin SOUL.md is user-controlled personalisation: create it from the
2415
+ // bundled template (with ${PRODUCT_NAME} substituted) on a fresh install,
2416
+ // and never overwrite it once it exists. The operator builds the agent's
2417
+ // personality up through use, so an existing SOUL must survive every
2418
+ // upgrade. Task 511: an unconditional write here reset SOUL to the 7-byte
2419
+ // template on every full install. Mirrors the public SOUL guard below and
2420
+ // the create-if-missing branch in setup-account.sh.
2418
2421
  const soulPath = join(accountDir, "agents/admin/SOUL.md");
2419
2422
  mkdirSync(dirname(soulPath), { recursive: true });
2420
- const adminSoulTemplate = join(INSTALL_DIR, "platform/templates/agents/admin/SOUL.md");
2421
- let soulContent;
2422
- try {
2423
- soulContent = readFileSync(adminSoulTemplate, "utf-8");
2423
+ if (existsSync(soulPath)) {
2424
+ const preservedBytes = statSync(soulPath).size;
2425
+ console.log(` [install-defaults] soul-md preserved path=${soulPath} bytes=${preservedBytes}`);
2426
+ logFile(` [install-defaults] soul-md preserved path=${soulPath} bytes=${preservedBytes}`);
2424
2427
  }
2425
- catch (err) {
2426
- console.error(` [install-defaults] admin-soul template missing at ${adminSoulTemplate}: ${err.message}`);
2427
- logFile(` [install-defaults] admin-soul template missing: ${err.message}`);
2428
- return;
2428
+ else {
2429
+ const adminSoulTemplate = join(INSTALL_DIR, "platform/templates/agents/admin/SOUL.md");
2430
+ let soulContent;
2431
+ try {
2432
+ soulContent = readFileSync(adminSoulTemplate, "utf-8");
2433
+ }
2434
+ catch (err) {
2435
+ console.error(` [install-defaults] admin-soul template missing at ${adminSoulTemplate}: ${err.message}`);
2436
+ logFile(` [install-defaults] admin-soul template missing: ${err.message}`);
2437
+ return;
2438
+ }
2439
+ soulContent = soulContent.replace(/\$\{PRODUCT_NAME\}/g, BRAND.productName);
2440
+ writeFileSync(soulPath, soulContent);
2441
+ console.log(` [install-defaults] soul-md created path=${soulPath} bytes=${soulContent.length}`);
2442
+ logFile(` [install-defaults] soul-md created path=${soulPath} bytes=${soulContent.length}`);
2429
2443
  }
2430
- soulContent = soulContent.replace(/\$\{PRODUCT_NAME\}/g, BRAND.productName);
2431
- writeFileSync(soulPath, soulContent);
2432
- console.log(` [install-defaults] soul-md path=${soulPath} bytes=${soulContent.length}`);
2433
- logFile(` [install-defaults] soul-md path=${soulPath} bytes=${soulContent.length}`);
2434
2444
  // Public agent files — IDENTITY.md is always overwritten (Rubytech-controlled);
2435
2445
  // SOUL.md and config.json are created if missing (user-controlled). All three
2436
2446
  // are sourced from the payload templates under
@@ -3146,37 +3156,118 @@ WantedBy=multi-user.target
3146
3156
  spawnSync("sudo", ["loginctl", "enable-linger", currentUser], { stdio: "inherit" });
3147
3157
  }
3148
3158
  catch { /* not critical */ }
3149
- // Task 249: persist the systemd journal so per-unit lifecycle events
3150
- // (watchdog timeouts, SIGTERM/SIGKILL transitions, restart reasons) survive
3151
- // reboots and are queryable via `journalctl --user -u <brand>.service`.
3159
+ // Task 504: persist the systemd journal so per-unit lifecycle events
3160
+ // (SIGTERM/SIGKILL transitions, dependency-propagated stops, restart job
3161
+ // records) survive reboots and remain greppable via `journalctl --user -u
3162
+ // <brand>.service` after a restart loop quiets.
3152
3163
  //
3153
- // Bookworm-canonical mechanism: journald uses persistent storage when
3154
- // `/var/log/journal/<machine-id>/` exists. No user-level
3155
- // systemd-journald.service exists by default on Debian; the system instance
3156
- // stores user-unit events in the same tree, filtered at read time. We only
3157
- // restart journald when we just created the directory if the path already
3158
- // existed, persistence was already active and restarting would needlessly
3159
- // churn the system journal during the install.
3164
+ // Why a drop-in and not the Task-249 `mkdir /var/log/journal`: the directory
3165
+ // heuristic only takes effect under journald's default `Storage=auto`. A
3166
+ // base image (common on RPi to spare the SD card) that ships an explicit
3167
+ // `Storage=volatile` overrides directory existence, so the bare mkdir is a
3168
+ // no-op there exactly the state observed on the realagent-code device. An
3169
+ // explicit `Storage=persistent` drop-in wins regardless of the base default,
3170
+ // and journald itself creates `/var/log/journal/<machine-id>` on restart, so
3171
+ // the mkdir is no longer needed.
3172
+ //
3173
+ // journald is one system instance, so the drop-in is host-wide with a neutral
3174
+ // filename — idempotent across brands and reinstalls. Restart journald only
3175
+ // when the drop-in content actually changes, to avoid churning the system
3176
+ // journal on every reinstall. Best-effort: a failure here warns, never aborts
3177
+ // the install.
3160
3178
  try {
3161
- const machineId = readFileSync("/etc/machine-id", "utf-8").trim();
3162
- if (machineId) {
3163
- const journalPath = `/var/log/journal/${machineId}`;
3164
- const alreadyPersistent = existsSync(journalPath);
3165
- if (!alreadyPersistent) {
3166
- console.log(" [privileged] mkdir /var/log/journal");
3167
- shell("mkdir", ["-p", journalPath], { sudo: true });
3168
- console.log(" [privileged] systemctl restart systemd-journald");
3169
- spawnSync("sudo", ["systemctl", "restart", "systemd-journald"], { stdio: "inherit", timeout: 15_000 });
3170
- logFile(` journald persistence: enabled (created ${journalPath} + restarted journald)`);
3179
+ const journaldDropinDir = "/etc/systemd/journald.conf.d";
3180
+ const journaldDropinPath = `${journaldDropinDir}/10-maxy-persistent.conf`;
3181
+ const desiredJournaldConf = "[Journal]\nStorage=persistent\n";
3182
+ let journaldCurrent = "";
3183
+ if (existsSync(journaldDropinPath)) {
3184
+ try {
3185
+ journaldCurrent = readFileSync(journaldDropinPath, "utf-8");
3171
3186
  }
3172
- else {
3173
- logFile(` journald persistence: already active (${journalPath} present)`);
3187
+ catch {
3188
+ // Unreadable existing drop-in treat as changed so we rewrite + restart.
3189
+ journaldCurrent = "";
3174
3190
  }
3175
3191
  }
3192
+ if (journaldCurrent === desiredJournaldConf) {
3193
+ logFile(` journald persistence: already active (${journaldDropinPath} matches Storage=persistent)`);
3194
+ }
3195
+ else {
3196
+ const journaldTmpPath = "/tmp/10-maxy-persistent.conf";
3197
+ writeFileSync(journaldTmpPath, desiredJournaldConf);
3198
+ console.log(" [privileged] install journald Storage=persistent drop-in");
3199
+ shell("mkdir", ["-p", journaldDropinDir], { sudo: true });
3200
+ shell("cp", [journaldTmpPath, journaldDropinPath], { sudo: true });
3201
+ spawnSync("rm", ["-f", journaldTmpPath]);
3202
+ console.log(" [privileged] systemctl restart systemd-journald");
3203
+ spawnSync("sudo", ["systemctl", "restart", "systemd-journald"], { stdio: "inherit", timeout: 15_000 });
3204
+ logFile(` journald persistence: enabled (wrote ${journaldDropinPath} Storage=persistent + restarted journald)`);
3205
+ }
3176
3206
  }
3177
3207
  catch (err) {
3178
3208
  console.error(` WARNING: failed to enable journald persistence: ${err instanceof Error ? err.message : String(err)}`);
3179
3209
  }
3210
+ // Task 504: capture the initiator of a brand-service restart so the next
3211
+ // recurrence of the restart loop is attributable to its source from
3212
+ // device-retained evidence. The brand admin process logs only that it
3213
+ // *received* SIGTERM (not the sender), and a JS signal handler cannot read
3214
+ // si_pid. auditd is the device-side primitive that names the initiator:
3215
+ //
3216
+ // - `kill` syscall with sig=15 (SIGTERM): names a process that sends
3217
+ // SIGTERM directly to the brand pid. For a systemd-managed stop the
3218
+ // sender is the user systemd manager itself, so this rule alone does NOT
3219
+ // name the upstream actor of a managed restart — but it does catch a
3220
+ // direct, non-systemd kill.
3221
+ // - `execve` of systemctl: names the pid/cgroup that drives a CLI restart
3222
+ // (`systemctl --user restart <unit>`), which is the upstream actor the
3223
+ // kill rule misses for the systemd-mediated path.
3224
+ // - Once auditd runs, systemd emits native SERVICE_START/SERVICE_STOP audit
3225
+ // records with no rule needed, covering a restart issued over raw D-Bus
3226
+ // (no systemctl binary, so the execve rule would miss it).
3227
+ //
3228
+ // Rules are deliberately narrow (SIGTERM + systemctl execve only) so audit
3229
+ // write volume stays bounded on a low-power device; auditd's default log
3230
+ // rotation bounds disk further. Everything here is best-effort: a box with no
3231
+ // apt mirror, or a kernel without audit support, warns and the install still
3232
+ // completes. Load via `augenrules --load` (merges rules.d into the running
3233
+ // daemon without a disruptive auditd restart).
3234
+ try {
3235
+ console.log(" [privileged] apt-get install auditd");
3236
+ shell("apt-get", ["install", "-y", "auditd"], { sudo: true, bestEffort: true });
3237
+ const auditRulesPath = "/etc/audit/rules.d/90-maxy-restart-forensics.rules";
3238
+ // Rule ordering matters: auditctl loads rules in file order, and a rule a
3239
+ // kernel rejects (the arch=b32 kill rule on an arm64 kernel without 32-bit
3240
+ // compat) must not sit ahead of rules that should load. So the b64 kill
3241
+ // rule and the systemctl watch come first; the b32 kill rule (the one that
3242
+ // may be rejected) comes last. The systemctl capture uses a file watch
3243
+ // (`-w … -p x`), the idiomatic form for "audit execution of this binary" —
3244
+ // it records the caller pid/cgroup and is arch-agnostic, avoiding the
3245
+ // invalid `arch`+`path`+`perm` field mix.
3246
+ const auditRules = [
3247
+ "# Maxy restart-loop forensics (Task 504) — name the initiator of a",
3248
+ "# brand-service restart on the next recurrence.",
3249
+ "# SIGTERM sender (a0=target pid, a1=signal).",
3250
+ "-a always,exit -F arch=b64 -S kill -F a1=15 -k maxy_sigterm",
3251
+ "# systemctl execution — names the caller pid/cgroup of a CLI restart.",
3252
+ "-w /usr/bin/systemctl -p x -k maxy_systemctl",
3253
+ "# b32 kill sibling last: a 32-bit-compat caller is still captured, and a",
3254
+ "# rejection on an arm64 kernel without compat cannot block the rules above.",
3255
+ "-a always,exit -F arch=b32 -S kill -F a1=15 -k maxy_sigterm",
3256
+ "",
3257
+ ].join("\n");
3258
+ const auditTmpPath = "/tmp/90-maxy-restart-forensics.rules";
3259
+ writeFileSync(auditTmpPath, auditRules);
3260
+ console.log(" [privileged] install auditd restart-forensics rules");
3261
+ shell("mkdir", ["-p", "/etc/audit/rules.d"], { sudo: true, bestEffort: true });
3262
+ shell("cp", [auditTmpPath, auditRulesPath], { sudo: true, bestEffort: true });
3263
+ spawnSync("rm", ["-f", auditTmpPath]);
3264
+ console.log(" [privileged] augenrules --load");
3265
+ shell("augenrules", ["--load"], { sudo: true, bestEffort: true });
3266
+ logFile(` auditd restart forensics: rules at ${auditRulesPath} (keys maxy_sigterm, maxy_systemctl) — verify on device with \`ausearch -k maxy_sigterm\``);
3267
+ }
3268
+ catch (err) {
3269
+ console.error(` WARNING: failed to install auditd restart forensics: ${err instanceof Error ? err.message : String(err)}`);
3270
+ }
3180
3271
  // Reload and (re)start.
3181
3272
  //
3182
3273
  // ordering: on upgrades, the old main brand service still holds
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rubytech/create-maxy-code",
3
- "version": "0.1.188",
3
+ "version": "0.1.190",
4
4
  "description": "Install Maxy — AI for Productive People",
5
5
  "bin": {
6
6
  "create-maxy-code": "./dist/index.js"
@@ -164,6 +164,18 @@ export interface Bm25OnlyParams {
164
164
  */
165
165
  sliceToken?: string;
166
166
  }
167
+ /**
168
+ * Build the scope-and-slice WHERE fragment + params. Centralises the three
169
+ * cypher composition sites (bm25, vector, prop) so the gated/non-gated
170
+ * behaviour does not drift between them. Returns empty strings when no
171
+ * filter applies. Exported so deterministic-read tools outside the ranking
172
+ * stack (e.g. memory-lookup-by-name) reuse the exact same scope predicate
173
+ * rather than re-deriving it — drift here is an account-isolation gap.
174
+ */
175
+ export declare function buildScopeAndSliceClause(allowedScopes: readonly string[] | undefined, sliceToken: string | undefined, alias?: string): {
176
+ clause: string;
177
+ params: Record<string, unknown>;
178
+ };
167
179
  export interface HybridParams extends Bm25OnlyParams {
168
180
  expandHops?: number;
169
181
  keywordSubscriptions?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,EAAO,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAOjD,OAAO,EAAsB,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AA6B/D,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAC1D,eAAO,MAAM,qBAAqB,yBAAyB,CAAC;AAE5D;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAC3C,MAAM,CAER;AAED;2EAC2E;AAC3E,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAC3C,OAAO,CAET;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C;;;;;;;;;OASG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,KAAK,CAAC;QACb;;;;WAIG;QACH,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrC,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;;;OAYG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC7B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAkCD,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;;;;;;;;;;OAeG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAIzB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6DAA6D;IAC7D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iEAAiE;IACjE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,sEAAsE;IACtE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yDAAyD;IACzD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;;;OAeG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;;OAKG;IACH,WAAW,EAAE;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAE1D;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAO9D;AAMD,wBAAsB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAapF;AAED,yDAAyD;AACzD,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAmBD;;;;;GAKG;AACH,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,SAAS,EAAE,CAAC,CAwDtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,MAAM,CAC1B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,cAAc,CAAC,CAgkBzB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
47
47
  exports.FULLTEXT_INDEX_PUBLIC = exports.FULLTEXT_INDEX_ADMIN = exports.DEFAULT_LAYERS = void 0;
48
48
  exports.pickFulltextIndex = pickFulltextIndex;
49
49
  exports.isPublicOnlyScope = isPublicOnlyScope;
50
+ exports.buildScopeAndSliceClause = buildScopeAndSliceClause;
50
51
  exports.escapeLucene = escapeLucene;
51
52
  exports.normaliseBm25Scores = normaliseBm25Scores;
52
53
  exports.discoverIndexes = discoverIndexes;
@@ -122,7 +123,9 @@ function isPublicOnlyScope(allowedScopes) {
122
123
  * Build the scope-and-slice WHERE fragment + params. Centralises the three
123
124
  * cypher composition sites (bm25, vector, prop) so the gated/non-gated
124
125
  * behaviour does not drift between them. Returns empty strings when no
125
- * filter applies.
126
+ * filter applies. Exported so deterministic-read tools outside the ranking
127
+ * stack (e.g. memory-lookup-by-name) reuse the exact same scope predicate
128
+ * rather than re-deriving it — drift here is an account-isolation gap.
126
129
  */
127
130
  function buildScopeAndSliceClause(allowedScopes, sliceToken, alias = "node") {
128
131
  const hasSlice = typeof sliceToken === "string" && sliceToken.length > 0;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;;;AAgEH,8CAIC;AAID,8CAIC;AAmPD,oCAEC;AAQD,kDAOC;AAMD,0CAaC;AAGD,0CAEC;AAyBD,4BA2DC;AA+BD,wBAokBC;AA7hCD,+CAAiD;AACjD,8DAA6D;AAC7D,mDAA0C;AAC1C,0EAA0E;AAC1E,4EAA4E;AAC5E,uCAAuC;AACvC,2CAA0E;AAC1E,yCAAiF;AA+BxE,+FA/BoB,yBAAc,OA+BpB;AA9BvB,yCAA+D;AAE/D,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,WAAW,GAAG,GAAG,CAAC;AAExB;;;;;;;;;GASG;AACH,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,KAAK,CAAC;AAClD,CAAC;AACD,SAAS,SAAS;IAChB,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,aAAa,CAAC;QAC3B,SAAS,EAAE,OAAO,CAAC,mBAAmB,CAAC;QACvC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC;QACjC,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC;QAC/B,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC;KAChC,CAAC;AACJ,CAAC;AAID;;;;;;;;;GASG;AACU,QAAA,oBAAoB,GAAG,qBAAqB,CAAC;AAC7C,QAAA,qBAAqB,GAAG,sBAAsB,CAAC;AAE5D;;;;;;;;;GASG;AACH,SAAgB,iBAAiB,CAC/B,aAA4C;IAE5C,OAAO,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,6BAAqB,CAAC,CAAC,CAAC,4BAAoB,CAAC;AACzF,CAAC;AAED;2EAC2E;AAC3E,SAAgB,iBAAiB,CAC/B,aAA4C;IAE5C,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;AACrG,CAAC;AAkGD;;;;;GAKG;AACH,SAAS,wBAAwB,CAC/B,aAA4C,EAC5C,UAA8B,EAC9B,QAAgB,MAAM;IAEtB,MAAM,QAAQ,GAAG,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3E,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC/D,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC1B,OAAO;YACL,MAAM,EAAE,QAAQ,KAAK,gCAAgC,KAAK,qBAAqB,KAAK,2BAA2B;YAC/G,MAAM,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE;SACtC,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,MAAM,EAAE,QAAQ,KAAK,gCAAgC,KAAK,iBAAiB;YAC3E,MAAM,EAAE,EAAE,UAAU,EAAE;SACvB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,MAAM,EAAE,QAAQ,KAAK,qBAAqB,KAAK,2BAA2B;QAC1E,MAAM,EAAE,EAAE,aAAa,EAAE;KAC1B,CAAC;AACJ,CAAC;AA8GD;;;;GAIG;AACH,SAAgB,YAAY,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,OAAO,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,MAAgB;IAClD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;IACxB,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IAC9C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED,0EAA0E;AAC1E,4DAA4D;AAC5D,IAAI,UAAU,GAA+B,IAAI,CAAC;AAE3C,KAAK,UAAU,eAAe,CAAC,OAAgB;IACpD,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,+FAA+F,CAChG,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAW,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAa,CAAC;QACvD,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IACD,UAAU,GAAG,KAAK,CAAC;IACnB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,yDAAyD;AACzD,SAAgB,eAAe;IAC7B,UAAU,GAAG,IAAI,CAAC;AACpB,CAAC;AAOD,SAAS,kBAAkB,CACzB,QAA8B,EAC9B,eAA8B,KAAK;IAEnC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACzD,MAAM,EAAE,GAAG,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAClD,OAAO;QACL,MAAM,EAAE,iCAAiC,EAAE,8CAA8C;QACzF,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE;KAClE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,QAAQ,CAC5B,OAAgB,EAChB,MAAsB;IAEtB,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IACjH,MAAM,KAAK,GAAG,wBAAwB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;IACjC,MAAM,WAAW,GAAG,SAAS;QAC3B,CAAC,CAAC,2DAA2D;QAC7D,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,WAAW,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAC7C,CAAC,CAAC,+CAA+C;QACjD,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,aAAa,EAAE,MAAM,IAAI,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B;;;SAGG,WAAW;SACX,WAAW;SACX,WAAW;aACP,IAAA,qBAAU,EAAC,MAAM,CAAC;SACtB,QAAQ;;;oBAGG,EACd;YACE,SAAS,EAAE,iBAAiB,CAAC,aAAa,CAAC;YAC3C,KAAK,EAAE,OAAO;YACd,SAAS;YACT,KAAK,EAAE,IAAA,kBAAG,EAAC,KAAK,CAAC;YACjB,GAAG,KAAK,CAAC,MAAM;YACf,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,aAAa,EAAE,MAAM,IAAI,EAAE,CAAC;SACjC,CACF,CAAC;QACF,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzE,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAA4C,CAAC;YACtE,OAAO;gBACL,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAW;gBACjC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAa;gBACvC,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC5C,KAAK;aACN,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACnF,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACI,KAAK,UAAU,MAAM,CAC1B,OAAgB,EAChB,KAAc,EACd,MAAoB;IAEpB,MAAM,EACJ,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EACb,UAAU,EACV,QAAQ,EACR,YAAY,GAAG,KAAK,EACpB,SAAS,EACT,oBAAoB,EACpB,UAAU,GAAG,CAAC,EACd,qBAAqB,GAAG,KAAK,EAC7B,cAAc,EACd,WAAW,GAAG,yBAAc,EAC5B,IAAI,GAAG,EAAE,GACV,GAAG,MAAM,CAAC;IAEX,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC;IAChD,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,IAAI,QAAQ,CAAC,SAAS,CAAC;IAClE,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,IAAI,QAAQ,CAAC,MAAM,CAAC;IACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC;IAEtD,+EAA+E;IAC/E,MAAM,IAAI,GAAG,QAAQ;QACnB,CAAC,CAAC,IAAA,uBAAY,EAAC,cAAc,CAAC;QAC9B,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,SAAiC,EAAE,CAAC;IAE1H,MAAM,gBAAgB,GAAG;QACvB,UAAU,EAAE,CAAC;QACb,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,CAAC;KACT,CAAC;IAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;YAC/B,OAAO,EAAE,EAAE;YACX,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;YACzC,WAAW,EAAE,gBAAgB;SAC9B,CAAC;IACJ,CAAC;IAED,sEAAsE;IACtE,0DAA0D;IAC1D,MAAM,eAAe,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACnD,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IAErB,6DAA6D;IAC7D,oEAAoE;IACpE,yCAAyC;IACzC,IAAI,cAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,cAAc,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,qBAAqB;YAAE,MAAM,GAAG,CAAC;QACtC,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;QACjF,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,MAAM,OAAO,GAAmB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,GAAG,CAAC;YACJ,WAAW,EAAE,CAAC;YACd,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7B,OAAO,EAAE,EAAE;SACZ,CAAC,CAAC,CAAC;QACJ,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,OAAO;YACP,UAAU,EAAE,GAAG;YACf,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,OAAO,CAAC,MAAM;YACzB,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI;YACf,WAAW,EAAE;gBACX,UAAU,EAAE,CAAC;gBACb,MAAM,EAAE,CAAC;gBACT,IAAI,EAAE,OAAO,CAAC,MAAM;gBACpB,KAAK,EAAE,OAAO,CAAC,MAAM;gBACrB,OAAO,EAAE,OAAO,CAAC,MAAM;gBACvB,OAAO,EAAE,OAAO,CAAC,MAAM;gBACvB,KAAK,EAAE,OAAO,CAAC,MAAM;aACtB;SACF,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IAEpD,8DAA8D;IAC9D,EAAE;IACF,6EAA6E;IAC7E,wEAAwE;IACxE,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,sEAAsE;IACtE,0EAA0E;IAC1E,2EAA2E;IAC3E,8DAA8D;IAC9D,IAAI,cAAwB,CAAC;IAC7B,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,cAAc,GAAG,eAAe;aAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aAC/B,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;QACrD,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,8CAA8C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;gBAChE,aAAa,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,oDAAoD,CACjG,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,WAAW,GAAG,wBAAwB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;IACvC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;IACvC,MAAM,WAAW,GAAG,SAAS;QAC3B,CAAC,CAAC,2DAA2D;QAC7D,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnD,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACjE,MAAM,aAAa,GAAG,aAAa,EAAE,MAAM,IAAI,EAAE,CAAC;IAClD,MAAM,aAAa,GAAG,aAAa,EAAE,MAAM,IAAI,EAAE,CAAC;IAElD,2DAA2D;IAC3D,wEAAwE;IACxE,uEAAuE;IACvE,sEAAsE;IACtE,0CAA0C;IAC1C,KAAK,YAAY,CAAC;IAClB,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,CAAC;IAS3B,MAAM,MAAM,GAAW,MAAM,OAAO,CAAC,GAAG,CACtC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAClC,IAAI,MAAuB,CAAC;QAC5B,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACd,MAAM,GAAG,cAAc,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAiB,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC7C,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;gBACvC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC;;;eAGG,WAAW;eACX,WAAW;mBACP,IAAA,qBAAU,EAAC,MAAM,CAAC;eACtB,aAAa;;;0BAGF,EACd;oBACE,SAAS;oBACT,SAAS,EAAE,MAAM;oBACjB,KAAK,EAAE,IAAA,kBAAG,EAAC,KAAK,CAAC;oBACjB,SAAS;oBACT,GAAG,WAAW;oBACd,GAAG,WAAW;oBACd,GAAG,aAAa;iBACjB,CACF,CAAC;gBACF,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;oBAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAW,CAAC;oBAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACrC,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACzE,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC3C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;wBAC9B,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;wBAC3C,IAAI,KAAK,GAAG,QAAQ,CAAC,WAAW;4BAAE,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAC;wBAC/D,SAAS;oBACX,CAAC;oBACD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAA4C,CAAC;oBAC3E,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;oBAC5C,YAAY,CAAC,IAAI,CAAC;wBAChB,MAAM;wBACN,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAa;wBAC5C,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;wBAC5C,WAAW,EAAE,KAAK;wBAClB,SAAS,EAAE,CAAC;wBACZ,OAAO,EAAE,KAAK;qBACf,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE;YACvC,GAAG,MAAM;YACT,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,eAAe;SACxB,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACnE,MAAM,UAAU,GAAiB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACvD,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,WAAW,EAAE,CAAC;YACd,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3B,OAAO,EAAE,IAAI;SACd,CAAC,CAAC,CAAC;QAEJ,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3E,CAAC,CAAC,CACH,CAAC;IAEF,yCAAyC;IACzC,sEAAsE;IACtE,qEAAqE;IACrE,sEAAsE;IACtE,gCAAgC;IAChC,wEAAwE;IACxE,kEAAkE;IAClE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC/C,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QACxC,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,YAAY,CAAC,QAAQ,EAAE;gBACrB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,KAAK,EAAE,CAAC,CAAC,SAAS;aACnB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,uEAAuE;IACvE,6CAA6C;IAC7C,IAAI,oBAAoB,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,KAAK,MAAM,EAAE,IAAI,oBAAoB,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE;gBACrC,KAAK,EAAE,EAAE;gBACT,SAAS;gBACT,KAAK;gBACL,aAAa;gBACb,UAAU;aACX,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAClC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,wBAAwB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC;;aAEO,IAAA,qBAAU,EAAC,MAAM,CAAC;;;SAGtB,SAAS,CAAC,MAAM;;oBAEL,EACd;YACE,SAAS;YACT,MAAM,EAAE,oBAAoB;YAC5B,KAAK,EAAE,IAAA,kBAAG,EAAC,KAAK,CAAC;YACjB,GAAG,SAAS,CAAC,MAAM;SACpB,CACF,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAW,CAAC;YAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBACvD,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAA4C,CAAC;gBAC3E,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE;oBACnB,MAAM;oBACN,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAa;oBAC5C,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;oBAC5C,WAAW,EAAE,CAAC;oBACd,SAAS,EAAE,GAAG;oBACd,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,IAAI,oBAAoB,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5D,KAAK,MAAM,EAAE,IAAI,oBAAoB,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE;gBACrC,KAAK,EAAE,EAAE;gBACT,SAAS;gBACT,KAAK;gBACL,aAAa;gBACb,UAAU;aACX,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAClC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,wBAAwB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QACtE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAClC;;aAEO,IAAA,qBAAU,EAAC,MAAM,CAAC;;;SAGtB,SAAS,CAAC,MAAM;;oBAEL,EACd;YACE,SAAS;YACT,MAAM,EAAE,oBAAoB;YAC5B,KAAK,EAAE,IAAA,kBAAG,EAAC,KAAK,CAAC;YACjB,GAAG,SAAS,CAAC,MAAM;SACpB,CACF,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAW,CAAC;YAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBACvD,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAA4C,CAAC;gBAC3E,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE;oBACnB,MAAM;oBACN,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,YAAY,CAAa;oBAC5C,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;oBAC5C,WAAW,EAAE,CAAC;oBACd,SAAS,EAAE,GAAG;oBACd,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,EAAE;IACF,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,gCAAgC;IAChC,EAAE;IACF,uEAAuE;IACvE,oEAAoE;IACpE,uEAAuE;IACvE,kEAAkE;IAClE,IAAI,SAAwD,CAAC;IAC7D,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,WAAW,GAAmB,EAAE,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;gBAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACtE,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;gBAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,KAAK,GAAG,IAAA,uBAAO,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACzC,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,sEAAsE;YACtE,gEAAgE;YAChE,iEAAiE;YACjE,4DAA4D;YAC5D,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO,EAAE,GAAG,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAChD,GAAG,IAAI;YACP,aAAa,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS;SACvF,CAAC,CAAC,CAAC;IACN,CAAC;IACD,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;IAEpC,4BAA4B;IAC5B,mEAAmE;IACnE,mEAAmE;IACnE,mEAAmE;IACnE,0CAA0C;IAC1C,IAAI,SAAS,EAAE,CAAC;QACd,SAAS,GAAG,IAAA,mCAAuB,EACjC,IAAA,8BAAkB,EAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvC,GAAG,CAAC;YACJ,KAAK,EAAE,CAAC,CAAC,aAAa;SACvB,CAAC,CAAC,CAAC,CACL,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC;IAEtC,2BAA2B;IAC3B,wEAAwE;IACxE,sEAAsE;IACtE,+BAA+B;IAC/B,IAAI,QAAQ,EAAE,CAAC;QACb,SAAS,GAAG,IAAA,gBAAS,EACnB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,EACxD,WAAW,CACZ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC;IAEtC,mCAAmC;IACnC,EAAE;IACF,4DAA4D;IAC5D,sEAAsE;IACtE,wEAAwE;IACxE,uEAAuE;IACvE,wEAAwE;IACxE,yEAAyE;IACzE,qEAAqE;IACrE,EAAE;IACF,uEAAuE;IACvE,kEAAkE;IAClE,qEAAqE;IACrE,oEAAoE;IACpE,sDAAsD;IACtD,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;IACnC,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC;IACzC,IAAI,IAAI,GAAG,SAAS,CAAC;IACrB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,GAAG,EAAE,CAAC;QACV,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,WAAW,IAAI,SAAS,EAAE,CAAC;gBAClC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;iBAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,UAAU,EAAE,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI;SAChB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC;SACjD,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAEnB,mDAAmD;IACnD,EAAE;IACF,2EAA2E;IAC3E,wEAAwE;IACxE,EAAE;IACF,qEAAqE;IACrE,2EAA2E;IAC3E,uEAAuE;IACvE,sEAAsE;IACtE,uEAAuE;IACvE,EAAE;IACF,oEAAoE;IACpE,wEAAwE;IACxE,6DAA6D;IAC7D,MAAM,OAAO,GAAmB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,KAAK,EAAE,IAAI,CAAC,aAAa;QACzB,2DAA2D;QAC3D,uEAAuE;QACvE,wEAAwE;QACxE,wEAAwE;QACxE,yCAAyC;QACzC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,EAAE;KACZ,CAAC,CAAC,CAAC;IAEJ,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,UAAU,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,iBAAiB,GAAG,aAAa;YACrC,CAAC,CAAC,gEAAgE;YAClE,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,iBAAiB,GAAG,SAAS;YACjC,CAAC,CAAC,8DAA8D;YAChE,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC;;;aAGO,IAAA,qBAAU,EAAC,SAAS,CAAC;SACzB,iBAAiB;SACjB,iBAAiB;;;;;;;;;yBASD,EACnB,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,WAAW,EAAE,GAAG,WAAW,EAAE,CAC1E,CAAC;QACF,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAuB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAW,CAAC;YACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAM3B,CAAC;YACH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;oBAClB,MAAM,EAAE,IAAI,CAAC,aAAa;oBAC1B,YAAY,EAAE,IAAI,CAAC,OAAO;oBAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,MAAM,EAAE,IAAI,CAAC,aAAa;oBAC1B,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;iBACrD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;QAC/B,OAAO;QACP,QAAQ;QACR,SAAS;QACT,UAAU;QACV,UAAU;QACV,SAAS,EAAE,SAAS,IAAI,IAAI;QAC5B,WAAW,EAAE;YACX,UAAU,EAAE,UAAU,CAAC,MAAM;YAC7B,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,YAAY;YACrB,KAAK,EAAE,OAAO,CAAC,MAAM;SACtB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,GAA4B,EAC5B,GAAc,EACd,eAAuB;IAEvB,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QACnE,wDAAwD;QACxD,kEAAkE;QAClE,iEAAiE;QACjE,2DAA2D;QAC3D,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE;YAClB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,WAAW,EAAE,CAAC;YACd,SAAS,EAAE,eAAe;YAC1B,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,mEAAmE;AACnE,SAAS,eAAe,CAAC,UAAmC;IAC1D,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,IAAI,GAAG,KAAK,WAAW;YAAE,SAAS;QAClC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;YAC9D,KAAK,CAAC,GAAG,CAAC,GAAI,KAAgC,CAAC,QAAQ,EAAE,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -219,9 +219,11 @@ export interface Bm25OnlyParams {
219
219
  * Build the scope-and-slice WHERE fragment + params. Centralises the three
220
220
  * cypher composition sites (bm25, vector, prop) so the gated/non-gated
221
221
  * behaviour does not drift between them. Returns empty strings when no
222
- * filter applies.
222
+ * filter applies. Exported so deterministic-read tools outside the ranking
223
+ * stack (e.g. memory-lookup-by-name) reuse the exact same scope predicate
224
+ * rather than re-deriving it — drift here is an account-isolation gap.
223
225
  */
224
- function buildScopeAndSliceClause(
226
+ export function buildScopeAndSliceClause(
225
227
  allowedScopes: readonly string[] | undefined,
226
228
  sliceToken: string | undefined,
227
229
  alias: string = "node",
@@ -459,7 +459,8 @@ FOR (n:LocalBusiness|Service|PriceSpecification|OpeningHoursSpecification|Organi
459
459
  |EmailAccount
460
460
  |Position|Credential|Agent|Idea|Concept
461
461
  |VoiceProfile|VoiceEdit|SocialPost|AEOAudit|Page
462
- |TimelineEvent|CompiledTruthRevision|Report|OrphanCandidate|CitationProposal)
462
+ |TimelineEvent|CompiledTruthRevision|Report|OrphanCandidate|CitationProposal
463
+ |FileArtifact)
463
464
  ON EACH [n.name, n.firstName, n.lastName, n.givenName, n.familyName,
464
465
  n.title, n.currentTitle, n.summary, n.body, n.content, n.text, n.description, n.headline, n.abstract,
465
466
  n.email, n.note, n.label, n.value, n.message, n.preview, n.tagline,
@@ -1724,6 +1725,20 @@ OPTIONS {
1724
1725
  }
1725
1726
  };
1726
1727
 
1728
+ // Task 514: physical files on disk indexed as :FileArtifact so the /data
1729
+ // search box runs the same hybrid (vector + BM25) retrieval over files that
1730
+ // the agent runs over the graph. discoverIndexes() enrols this at boot; the
1731
+ // file-index reconciler populates f.embedding (768-d nomic-embed-text over
1732
+ // name + extracted content).
1733
+ CREATE VECTOR INDEX file_artifact_embedding IF NOT EXISTS
1734
+ FOR (f:FileArtifact) ON (f.embedding)
1735
+ OPTIONS {
1736
+ indexConfig: {
1737
+ `vector.dimensions`: 768,
1738
+ `vector.similarity_function`: 'cosine'
1739
+ }
1740
+ };
1741
+
1727
1742
  CREATE CONSTRAINT orphan_candidate_id_unique IF NOT EXISTS
1728
1743
  FOR (o:OrphanCandidate) REQUIRE o.orphanCandidateId IS UNIQUE;
1729
1744
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "admin",
3
- "description": "Platform administration plugin. Provides system-status, public-hostname (deterministic Cloudflare public-URL resolver, single call returning the operator's canonical hostname so agents never guess property names on :CloudflareHostname nodes), publish-site (move an extracted static-site tree under <accountDir>/sites/<slug>/, emit one canonical path slug, and refresh llms.txt at the site root — typed refusal taxonomy replaces the prior skill-prose contract), brand-settings, account-manage, account-update, admin-add, admin-remove, admin-list, admin-update-pin, agent-list, agent-config-read, logs-read, plugin-read, skill-load (one-call resolve+read for SKILL.md by skill name, the canonical primitive for loading a named skill; plugin-read remains the reader for references/* and PLUGIN.md), store-skill (deterministic write counterpart to plugin-read; persists operator-authored skills as plugin files under the active account), session-reset, session-resume, file-attach, wifi, action-approval tools (action-pending, action-approve, action-reject, action-edit), and session-retrospective-mark-complete (the deterministic sentinel the session-end Stop hook reads via JSONL grep to release the retrospective gate; admin calls it once per session after running the three-pass retrospective) for managing the Maxy platform.",
3
+ "description": "Platform administration plugin. Provides system-status, public-hostname (deterministic Cloudflare public-URL resolver, single call returning the operator's canonical hostname so agents never guess property names on :CloudflareHostname nodes), publish-site (move an extracted static-site tree under <accountDir>/sites/<slug>/, emit one canonical path slug, and refresh llms.txt at the site root — typed refusal taxonomy replaces the prior skill-prose contract), brand-settings, account-manage, account-update, admin-add, admin-remove, admin-list, admin-update-pin, agent-list, agent-config-read, logs-read, plugin-read, skill-load (one-call resolve+read for SKILL.md by skill name, the canonical primitive for loading a named skill; plugin-read remains the reader for references/* and PLUGIN.md), store-skill (deterministic write counterpart to plugin-read; persists operator-authored skills as plugin files under the active account), session-reset, session-resume, wifi, action-approval tools (action-pending, action-approve, action-reject, action-edit), and session-retrospective-mark-complete (the deterministic sentinel the session-end Stop hook reads via JSONL grep to release the retrospective gate; admin calls it once per session after running the three-pass retrospective) for managing the Maxy platform.",
4
4
  "version": "0.1.0",
5
5
  "author": {
6
6
  "name": "Rubytech LLC"
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: admin
3
3
  surface: platform
4
- description: "Platform administration plugin. Provides system-status, public-hostname (deterministic Cloudflare public-URL resolver, single call returning the operator's canonical hostname so agents never guess property names on :CloudflareHostname nodes), publish-site (move an extracted static-site tree under <accountDir>/sites/<slug>/, emit one canonical path slug, and refresh llms.txt at the site root — typed refusal taxonomy replaces the prior skill-prose contract), brand-settings, account-manage, account-update, admin-add, admin-remove, admin-list, admin-update-pin, agent-list, agent-config-read, logs-read, plugin-read, skill-load (one-call resolve+read for SKILL.md by skill name, the canonical primitive for loading a named skill; plugin-read remains the reader for references/* and PLUGIN.md), store-skill (deterministic write counterpart to plugin-read; persists operator-authored skills as plugin files under the active account), session-reset, session-resume, file-attach, wifi, action-approval tools (action-pending, action-approve, action-reject, action-edit), and session-retrospective-mark-complete (the deterministic sentinel the session-end Stop hook reads via JSONL grep to release the retrospective gate; admin calls it once per session after running the three-pass retrospective) for managing the Maxy platform."
4
+ description: "Platform administration plugin. Provides system-status, public-hostname (deterministic Cloudflare public-URL resolver, single call returning the operator's canonical hostname so agents never guess property names on :CloudflareHostname nodes), publish-site (move an extracted static-site tree under <accountDir>/sites/<slug>/, emit one canonical path slug, and refresh llms.txt at the site root — typed refusal taxonomy replaces the prior skill-prose contract), brand-settings, account-manage, account-update, admin-add, admin-remove, admin-list, admin-update-pin, agent-list, agent-config-read, logs-read, plugin-read, skill-load (one-call resolve+read for SKILL.md by skill name, the canonical primitive for loading a named skill; plugin-read remains the reader for references/* and PLUGIN.md), store-skill (deterministic write counterpart to plugin-read; persists operator-authored skills as plugin files under the active account), session-reset, session-resume, wifi, action-approval tools (action-pending, action-approve, action-reject, action-edit), and session-retrospective-mark-complete (the deterministic sentinel the session-end Stop hook reads via JSONL grep to release the retrospective gate; admin calls it once per session after running the three-pass retrospective) for managing the Maxy platform."
5
5
  tools:
6
6
  - name: system-status
7
7
  publicAllowlist: false
@@ -57,9 +57,6 @@ tools:
57
57
  - name: session-resume
58
58
  publicAllowlist: false
59
59
  adminAllowlist: true
60
- - name: file-attach
61
- publicAllowlist: false
62
- adminAllowlist: false
63
60
  - name: action-pending
64
61
  publicAllowlist: false
65
62
  adminAllowlist: true
@@ -104,6 +101,8 @@ Platform management tools for both the admin and public agents. The `plugin-read
104
101
 
105
102
  Tools are available via the `admin` MCP server.
106
103
 
104
+ **Admin-seat authoring-skill gate (Task 516).** `skill-load` and `plugin-read` refuse to return the body of a content-producer-owned authoring skill — `professional-document`, `a4-print-documents`, `publish-site` — when the caller is the admin seat (`MAXY_SESSION_ROLE=admin` with no `MAXY_SPECIALIST`). The refusal relays one line — "This deliverable is owned by content-producer. Dispatch it with the Agent tool and subagent_type content-producer." — so the admin's next action is the dispatch, not inline authoring. `plugin-read` extracts the skill slug from a `skills/<slug>/…` file path (or a slug buried in `pluginName`), so the raw-SKILL.md read path can't bypass the gate; `PLUGIN.md` and plain `references/*` reads are untouched. content-producer's own spawns carry `MAXY_SPECIALIST=content-producer` and resolve these skills normally (it reaches them via the native `Skill` tool regardless), and the public seat is out of scope. The gate is a pure name+env check before any filesystem read and fails open for any non-admin or unidentified seat — it never bricks a legitimate load. Each block emits `[admin-skill-gate] role=admin skill=<name> decision=block reason=content-producer-owned`. This is the enforcement layer; the IDENTITY.md delegation paragraph documents the intent but is not the gate ([[feedback_deterministic_means_remove_llm]], [[feedback_doctrine_paragraph_is_not_a_gate]]). Skills the admin invokes directly are deliberately excluded: `unzip-attachment` (its SKILL.md says "Invoked by the admin agent directly — admin owns all unzipping", then routes the extracted tree to a specialist) and `deck-pages` (admin-owned, a content-producer refusal target). The set is each skill's own SKILL.md "Invoked by" declaration, not the admin plugin's skill catalogue (which lists these admin-hosted skills for discovery — the catalogue is the inline path this gate closes).
105
+
107
106
  **Three-store admin auth invariant.** `admin-add` writes to all three identity stores (`users.json` PIN auth at the persistent `~/{configDir}/users.json` location , `account.json` `admins[]` role, Neo4j `:AdminUser`/`:Person` graph identity) with per-leg `[admin-auth-store]` log lines plus the `[admins-write]` chokepoint line, and returns `is_error: true` on any leg failure naming what's already written. `admin-update-pin` writes `users.json` only and emits the same `[admin-auth-store]` line. **Single chokepoint:** every `users.json` + `account.json admins[]` mutation routes through `platform/lib/admins-write` (`writeAdminEntry` for admin-add/set-pin, `removeAdminFromAccount` for admin-remove); the static check `grep -rnE 'admins\.push\|config\.admins\s*=' platform/ \| grep -v lib/admins-write` returns 0. Direct `Edit`/`Write` on `account.json` is blocked at the `pre-tool-use` hook — mutations go through `account-update`, `plugin-toggle-enabled`, or the `admin-*` tools. **Install + boot invariants:** the installer and admin-server boot walk every account.json admins[] vs users.json; `[install-invariant]` / `[admin-invariant] direction=… userId=<id8> source=<file>` fires per divergence with a `check complete divergences=<n>` summary. Log-only — does not block. See `.docs/agents.md` § "Three-store admin auth invariant" for the full contract.
108
107
 
109
108
  **AdminUser graph stamp + boot self-heal.** The seed cypher in `platform/scripts/seed-neo4j.sh` stamps `:AdminUser.accountId` + `:AdminUser.role='owner'` ON CREATE so the graph-write gate's account-scoped MATCH succeeds on the first user-domain write. Admin-server boot additionally runs `platform/ui/app/lib/adminuser-self-heal.ts` to repair legacy nodes whose `accountId` or `role` is null — emits `[adminuser-self-heal] healed=<N> userId=<8> accountId=<8>` once per boot, idempotent. The `graph-write-gate` reject log gains a `subReason=` field (`no-admin-user-node` / `admin-user-no-accountid` / `no-business-or-personal-profile`) for operator diagnosis. See `.docs/agents.md` § "AdminUser graph stamp contract" for the full contract.
@@ -127,7 +126,6 @@ Tools are available via the `admin` MCP server.
127
126
  | Manage specialists | User asks to install or remove a specialist subagent, or activate/deactivate premium plugin agents | `skills/specialist-management/SKILL.md` |
128
127
  | Generate print-quality PDF | User asks to create a PDF document, one-pager, brochure, or any HTML intended for print/download | `skills/a4-print-documents/SKILL.md` |
129
128
  | Compose a business document | User asks to write or draft a proposal, report (market / analysis / strategic), brief, memo, white paper, plan (non-fundraise), or case study | `skills/professional-document/SKILL.md` |
130
- | Plain-English explanation | User asks to explain, define, or pre-empts ("explain in plain English", "what does X mean", "define X", "I don't understand", "what is this"), or admin is about to return a reply containing a term not in the operator's prior turn | `skills/plainly/SKILL.md` |
131
129
  | Manage admin users | User asks to add, remove, or list admins on this account, or change an admin PIN | `skills/admin-user-management/SKILL.md` |
132
130
  | Session reset / continue / resume | User asks to clear the session, start fresh, continue the last session, or pick up where they left off | `skills/session-management/SKILL.md` |
133
131
  | Show or download a file | User asks to view, attach, or download a file or document, or the current turn produces a document the owner needs to review | `skills/file-presentation/SKILL.md` |
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=admin-authoring-skill-gate.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-authoring-skill-gate.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/admin-authoring-skill-gate.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,79 @@
1
+ // Admin-seat authoring-skill gate (Task 516).
2
+ //
3
+ // Locks the pure decision helpers that make content-producer-owned
4
+ // authoring skills unreachable from the admin seat via `skill-load` and
5
+ // `plugin-read`. The MCP handlers in index.ts are thin glue over these —
6
+ // they emit the dispatch-hint text and the `[admin-skill-gate]` line — so
7
+ // the decision logic is tested here in isolation, mirroring the
8
+ // loadSkill / findSkillOwners test convention (no stdio transport).
9
+ import { describe, it, expect } from "vitest";
10
+ import { CONTENT_PRODUCER_AUTHORING_SKILLS, isAdminSeat, skillSlugFromReadArgs, adminAuthoringSkillBlock, } from "../skill-resolution.js";
11
+ const ADMIN = { MAXY_SESSION_ROLE: "admin", MAXY_SPECIALIST: "" };
12
+ const CONTENT_PRODUCER = { MAXY_SESSION_ROLE: "admin", MAXY_SPECIALIST: "content-producer" };
13
+ const PUBLIC = { MAXY_SESSION_ROLE: "public", MAXY_SPECIALIST: "" };
14
+ describe("isAdminSeat", () => {
15
+ it("true only when role is admin and no specialist is set", () => {
16
+ expect(isAdminSeat(ADMIN)).toBe(true);
17
+ expect(isAdminSeat({ MAXY_SESSION_ROLE: "admin" })).toBe(true); // specialist undefined
18
+ });
19
+ it("false for a specialist seat even when role is admin", () => {
20
+ expect(isAdminSeat(CONTENT_PRODUCER)).toBe(false);
21
+ });
22
+ it("false for the public seat", () => {
23
+ expect(isAdminSeat(PUBLIC)).toBe(false);
24
+ });
25
+ it("false when role is unknown (fail-open — never block an unidentified seat)", () => {
26
+ expect(isAdminSeat({})).toBe(false);
27
+ });
28
+ });
29
+ describe("CONTENT_PRODUCER_AUTHORING_SKILLS", () => {
30
+ it("is exactly the three content-producer-invoked authoring/render/publish skills", () => {
31
+ expect([...CONTENT_PRODUCER_AUTHORING_SKILLS].sort()).toEqual(["a4-print-documents", "professional-document", "publish-site"].sort());
32
+ });
33
+ it("excludes admin-invoked skills (unzip-attachment, deck-pages)", () => {
34
+ // unzip-attachment SKILL.md: "Invoked by the admin agent directly".
35
+ // deck-pages is admin-owned (a content-producer refusal target).
36
+ expect(CONTENT_PRODUCER_AUTHORING_SKILLS.has("unzip-attachment")).toBe(false);
37
+ expect(CONTENT_PRODUCER_AUTHORING_SKILLS.has("deck-pages")).toBe(false);
38
+ });
39
+ });
40
+ describe("skillSlugFromReadArgs", () => {
41
+ it("extracts the slug from a skills/<slug>/SKILL.md file path", () => {
42
+ expect(skillSlugFromReadArgs("admin", "skills/professional-document/SKILL.md")).toBe("professional-document");
43
+ });
44
+ it("extracts the slug from a reference under the skill dir", () => {
45
+ expect(skillSlugFromReadArgs("admin", "skills/professional-document/references/x.md")).toBe("professional-document");
46
+ });
47
+ it("extracts the slug when buried in pluginName", () => {
48
+ expect(skillSlugFromReadArgs("admin/skills/publish-site", "PLUGIN.md")).toBe("publish-site");
49
+ });
50
+ it("returns undefined for PLUGIN.md and plain reference reads", () => {
51
+ expect(skillSlugFromReadArgs("admin", "PLUGIN.md")).toBeUndefined();
52
+ expect(skillSlugFromReadArgs("sales", "references/pricing.md")).toBeUndefined();
53
+ });
54
+ });
55
+ describe("adminAuthoringSkillBlock", () => {
56
+ it("blocks every content-producer-owned authoring skill from the admin seat", () => {
57
+ for (const slug of CONTENT_PRODUCER_AUTHORING_SKILLS) {
58
+ expect(adminAuthoringSkillBlock(slug, ADMIN)).toBe(true);
59
+ }
60
+ });
61
+ it("does not block the admin's own / admin-invoked skills", () => {
62
+ // unzip-attachment is admin-invoked (admin unzips then routes); deck-pages
63
+ // is admin-owned. plainly/voice-mirror/datetime are admin operational skills.
64
+ for (const slug of ["plainly", "voice-mirror", "datetime", "deck-pages", "unzip-attachment"]) {
65
+ expect(adminAuthoringSkillBlock(slug, ADMIN)).toBe(false);
66
+ }
67
+ });
68
+ it("never blocks the content-producer seat (it owns these skills)", () => {
69
+ expect(adminAuthoringSkillBlock("professional-document", CONTENT_PRODUCER)).toBe(false);
70
+ });
71
+ it("never blocks the public seat (out of scope)", () => {
72
+ expect(adminAuthoringSkillBlock("professional-document", PUBLIC)).toBe(false);
73
+ });
74
+ it("fail-open on an undefined slug or unidentified seat", () => {
75
+ expect(adminAuthoringSkillBlock(undefined, ADMIN)).toBe(false);
76
+ expect(adminAuthoringSkillBlock("professional-document", {})).toBe(false);
77
+ });
78
+ });
79
+ //# sourceMappingURL=admin-authoring-skill-gate.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-authoring-skill-gate.test.js","sourceRoot":"","sources":["../../src/__tests__/admin-authoring-skill-gate.test.ts"],"names":[],"mappings":"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"}