@rubytech/create-realagent 1.0.831 → 1.0.833

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 (87) hide show
  1. package/dist/index.js +131 -9
  2. package/package.json +1 -1
  3. package/payload/platform/lib/admins-write/dist/index.d.ts +87 -0
  4. package/payload/platform/lib/admins-write/dist/index.d.ts.map +1 -0
  5. package/payload/platform/lib/admins-write/dist/index.js +248 -0
  6. package/payload/platform/lib/admins-write/dist/index.js.map +1 -0
  7. package/payload/platform/lib/admins-write/src/index.ts +311 -0
  8. package/payload/platform/lib/admins-write/tsconfig.json +8 -0
  9. package/payload/platform/neo4j/migrations/004-project-admin-agent.ts +36 -3
  10. package/payload/platform/neo4j/migrations/009-conversation-archive-title.ts +197 -0
  11. package/payload/platform/neo4j/schema.cypher +1 -1
  12. package/payload/platform/package.json +2 -2
  13. package/payload/platform/plugins/admin/PLUGIN.md +1 -1
  14. package/payload/platform/plugins/admin/mcp/dist/index.js +37 -44
  15. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  16. package/payload/platform/plugins/docs/references/internals.md +4 -3
  17. package/payload/platform/plugins/memory/bin/conversation-archive-ingest.mjs +455 -140
  18. package/payload/platform/plugins/memory/bin/conversation-archive-ingest.sh +47 -15
  19. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.js +75 -0
  20. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/llm-classifier.test.js.map +1 -1
  21. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts +16 -10
  22. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.d.ts.map +1 -1
  23. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js +155 -100
  24. package/payload/platform/plugins/memory/mcp/dist/lib/llm-classifier.js.map +1 -1
  25. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.d.ts +13 -5
  26. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.d.ts.map +1 -1
  27. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.js +53 -59
  28. package/payload/platform/plugins/memory/mcp/dist/lib/llm-ranker.js.map +1 -1
  29. package/payload/platform/plugins/memory/mcp/dist/lib/uuid.d.ts +3 -0
  30. package/payload/platform/plugins/memory/mcp/dist/lib/uuid.d.ts.map +1 -0
  31. package/payload/platform/plugins/memory/mcp/dist/lib/uuid.js +12 -0
  32. package/payload/platform/plugins/memory/mcp/dist/lib/uuid.js.map +1 -0
  33. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts +28 -0
  34. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts.map +1 -1
  35. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js +35 -9
  36. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js.map +1 -1
  37. package/payload/platform/plugins/memory/skills/conversation-archive/SKILL.md +64 -12
  38. package/payload/platform/scripts/lib/resolve-account-dir.sh +22 -2
  39. package/payload/platform/scripts/migrate-import.sh +3 -1
  40. package/payload/platform/scripts/seed-neo4j.sh +13 -3
  41. package/payload/server/chunk-25QDCOE5.js +1116 -0
  42. package/payload/server/chunk-35YZS3KL.js +328 -0
  43. package/payload/server/chunk-7CBRZKZS.js +654 -0
  44. package/payload/server/chunk-CRAIGEXY.js +654 -0
  45. package/payload/server/chunk-I2NOLBQA.js +2123 -0
  46. package/payload/server/chunk-IVTESKFR.js +9961 -0
  47. package/payload/server/chunk-IXOPV36P.js +2305 -0
  48. package/payload/server/chunk-KD3XP4IK.js +1116 -0
  49. package/payload/server/chunk-OJZPS4BL.js +367 -0
  50. package/payload/server/chunk-ZKGAYLAK.js +10097 -0
  51. package/payload/server/client-pool-J5BCVVI2.js +32 -0
  52. package/payload/server/client-pool-NBVGONQL.js +32 -0
  53. package/payload/server/cloudflare-task-tracker-R4FIORFL.js +19 -0
  54. package/payload/server/cloudflare-task-tracker-XCUO4N74.js +19 -0
  55. package/payload/server/maxy-edge.js +6 -5
  56. package/payload/server/neo4j-migrations-3A6K2EB5.js +552 -0
  57. package/payload/server/neo4j-migrations-5AN2U3YO.js +664 -0
  58. package/payload/server/public/assets/{admin-BNwPsMhJ.js → admin-CgGQafDG.js} +1 -1
  59. package/payload/server/public/assets/{graph-N_Bw-8oT.js → graph-BlrcvwWP.js} +1 -1
  60. package/payload/server/public/assets/{page-BKLGP-th.js → page-ClTUYMK8.js} +1 -1
  61. package/payload/server/public/graph.html +2 -2
  62. package/payload/server/public/index.html +2 -2
  63. package/payload/server/server.js +385 -167
  64. package/payload/platform/plugins/admin/mcp/dist/lib/review-tools.d.ts +0 -31
  65. package/payload/platform/plugins/admin/mcp/dist/lib/review-tools.d.ts.map +0 -1
  66. package/payload/platform/plugins/admin/mcp/dist/lib/review-tools.js +0 -666
  67. package/payload/platform/plugins/admin/mcp/dist/lib/review-tools.js.map +0 -1
  68. package/payload/platform/plugins/memory/mcp/dist/lib/semantic-chunker.d.ts +0 -61
  69. package/payload/platform/plugins/memory/mcp/dist/lib/semantic-chunker.d.ts.map +0 -1
  70. package/payload/platform/plugins/memory/mcp/dist/lib/semantic-chunker.js +0 -266
  71. package/payload/platform/plugins/memory/mcp/dist/lib/semantic-chunker.js.map +0 -1
  72. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-insight-pass.d.ts +0 -27
  73. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-insight-pass.d.ts.map +0 -1
  74. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-insight-pass.js +0 -477
  75. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-insight-pass.js.map +0 -1
  76. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-insight-write.d.ts +0 -27
  77. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-insight-write.d.ts.map +0 -1
  78. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-insight-write.js +0 -160
  79. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-insight-write.js.map +0 -1
  80. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-parse.d.ts +0 -10
  81. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-parse.d.ts.map +0 -1
  82. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-parse.js +0 -29
  83. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-parse.js.map +0 -1
  84. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-preview.d.ts +0 -28
  85. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-preview.d.ts.map +0 -1
  86. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-preview.js +0 -34
  87. package/payload/platform/plugins/memory/mcp/dist/tools/whatsapp-export-preview.js.map +0 -1
@@ -8,7 +8,9 @@
8
8
  #
9
9
  # Contract (inputs via env vars):
10
10
  # ACCOUNTS_DIR — {installDir}/data/accounts
11
- # USERS_FILE — {installDir}/platform/config/users.json
11
+ # USERS_FILE — $HOME/<brand.configDir>/users.json (Task 904 — was
12
+ # {installDir}/platform/config/users.json pre-Task-904, but
13
+ # that path lived in the installer's wipe zone)
12
14
  #
13
15
  # Contract (outputs via env vars):
14
16
  # ACCOUNT_ID — resolved uuid (existing kept, or freshly minted)
@@ -78,8 +80,26 @@ PY
78
80
 
79
81
  local n=${#candidates[@]}
80
82
 
81
- # Case 0: no candidates — fresh install, mint new UUID
83
+ # Case 0: no candidates — fresh install, mint new UUID.
84
+ # Task 900 sub-scope F — atomic-mint discipline: refuse to mint a new
85
+ # accountId if any stub dir (subdir present, account.json missing) exists
86
+ # under data/accounts/. The Task 900 root cause was install 1 minting
87
+ # accountId X then losing X/account.json (cron stamped X/logs/ first); the
88
+ # next install saw zero candidates and minted Y, orphaning X/logs/. The
89
+ # guard turns that silent regression into an operator-actionable abort.
82
90
  if [ "$n" -eq 0 ]; then
91
+ local stub_dirs=()
92
+ for dir in "$ACCOUNTS_DIR"/*/; do
93
+ [ -d "$dir" ] || continue
94
+ base="$(basename "$dir")"
95
+ case "$base" in .*) continue ;; esac
96
+ [ -f "$dir/account.json" ] && continue
97
+ stub_dirs+=("$base")
98
+ done
99
+ if [ "${#stub_dirs[@]}" -gt 0 ]; then
100
+ echo "==> [seed] FAIL phase=mint reason=\"stub-account-dirs present (no account.json): ${stub_dirs[*]}\" — refusing to mint a fresh accountId; remove or repair the stub before re-running install" >&2
101
+ return 1
102
+ fi
83
103
  ACCOUNT_ID="$(cat /proc/sys/kernel/random/uuid 2>/dev/null || python3 -c 'import uuid; print(uuid.uuid4())')"
84
104
  ACCOUNT_DIR="$ACCOUNTS_DIR/$ACCOUNT_ID"
85
105
  return 0
@@ -376,7 +376,9 @@ if [ -f "$PINS_FILE" ]; then
376
376
  # users.json from .admin-pin, but only at install time — and install runs
377
377
  # before this script writes .admin-pin. Self-contained migration writes
378
378
  # users.json directly, mirroring seed-neo4j.sh's migration branch.
379
- USERS_FILE="$INSTALL_DIR/platform/config/users.json"
379
+ # Task 904 — write to the persistent location (outside the install wipe
380
+ # zone) so subsequent installs do not overwrite this row with a stale backup.
381
+ USERS_FILE="$PIN_DIR/users.json"
380
382
  if [ ! -f "$USERS_FILE" ]; then
381
383
  USER_ID="$(cat /proc/sys/kernel/random/uuid 2>/dev/null || python3 -c 'import uuid; print(uuid.uuid4())')"
382
384
  PIN_HASH="$(cat "$PIN_DIR/.admin-pin")"
@@ -50,7 +50,15 @@ CYPHER_SHELL="cypher-shell"
50
50
  # no identity match aborts loud; .trash/ is operator-emptied, never auto-cleaned.
51
51
  # shellcheck source=lib/resolve-account-dir.sh
52
52
  . "$SCRIPT_DIR/lib/resolve-account-dir.sh"
53
- USERS_FILE="$PROJECT_DIR/config/users.json" resolve_and_sweep_account_dir
53
+ # Resolve brand-aware persistent users.json path before the resolver runs.
54
+ # Mirrors the resolution lower in this file (around the post-Task-904 USERS_FILE
55
+ # block); duplicated here because resolve_and_sweep_account_dir runs first.
56
+ _RESOLVER_CONFIG_DIR_NAME=".maxy"
57
+ if [ -f "$PROJECT_DIR/config/brand.json" ]; then
58
+ _RESOLVER_BRAND_CFG_DIR=$(python3 -c "import json; print(json.load(open('$PROJECT_DIR/config/brand.json')).get('configDir',''))" 2>/dev/null || true)
59
+ [ -n "$_RESOLVER_BRAND_CFG_DIR" ] && _RESOLVER_CONFIG_DIR_NAME="$_RESOLVER_BRAND_CFG_DIR"
60
+ fi
61
+ USERS_FILE="$HOME/$_RESOLVER_CONFIG_DIR_NAME/users.json" resolve_and_sweep_account_dir
54
62
 
55
63
  mkdir -p "$ACCOUNT_DIR/agents/admin" "$ACCOUNT_DIR/.claude" "$ACCOUNT_DIR/specialists/.claude-plugin" "$ACCOUNT_DIR/specialists/agents"
56
64
 
@@ -376,9 +384,8 @@ echo " Account $ACCOUNT_ID at $ACCOUNT_DIR"
376
384
  # ------------------------------------------------------------------
377
385
 
378
386
  CONFIG_DIR="$PROJECT_DIR/config"
379
- USERS_FILE="$CONFIG_DIR/users.json"
380
387
 
381
- # Resolve the brand-specific config directory for .admin-pin location.
388
+ # Resolve the brand-specific config directory.
382
389
  # Mirrors the logic in platform/ui/app/lib/paths.ts.
383
390
  _CONFIG_DIR_NAME=".maxy"
384
391
  if [ -f "$CONFIG_DIR/brand.json" ]; then
@@ -386,6 +393,9 @@ if [ -f "$CONFIG_DIR/brand.json" ]; then
386
393
  [ -n "$_BRAND_CFG_DIR" ] && _CONFIG_DIR_NAME="$_BRAND_CFG_DIR"
387
394
  fi
388
395
  ADMIN_PIN_FILE="$HOME/$_CONFIG_DIR_NAME/.admin-pin"
396
+ # Task 904 — users.json lives under $HOME/$_CONFIG_DIR_NAME, not the wipe zone.
397
+ USERS_FILE="$HOME/$_CONFIG_DIR_NAME/users.json"
398
+ mkdir -p "$HOME/$_CONFIG_DIR_NAME"
389
399
 
390
400
  # Only create users.json if it doesn't exist AND .admin-pin exists (migration case).
391
401
  # Fresh installs: users.json is created by set-pin POST during onboarding.