@rubytech/create-maxy-code 0.1.438 → 0.1.440

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 (67) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +18 -4
  3. package/payload/platform/plugins/docs/references/admin-identity-gate.md +32 -17
  4. package/payload/platform/plugins/docs/references/admin-ui.md +1 -1
  5. package/payload/platform/plugins/docs/references/internals.md +4 -0
  6. package/payload/platform/plugins/docs/references/outlook-guide.md +2 -2
  7. package/payload/platform/plugins/docs/references/plugins-guide.md +2 -0
  8. package/payload/platform/plugins/docs/references/troubleshooting.md +8 -0
  9. package/payload/platform/plugins/graph/.claude-plugin/plugin.json +19 -0
  10. package/payload/platform/plugins/graph/PLUGIN.md +10 -4
  11. package/payload/platform/plugins/graph-viewer/.claude-plugin/plugin.json +13 -0
  12. package/payload/platform/plugins/graph-viewer/PLUGIN.md +1 -1
  13. package/payload/platform/plugins/graph-viewer/lib/mcp-spawn-tee/index.js +193 -0
  14. package/payload/platform/plugins/graph-viewer/lib/mcp-spawn-tee/package.json +3 -0
  15. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-list.test.d.ts +2 -0
  16. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-list.test.d.ts.map +1 -0
  17. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-list.test.js +55 -0
  18. package/payload/platform/plugins/outlook/mcp/dist/__tests__/mail-list.test.js.map +1 -0
  19. package/payload/platform/plugins/outlook/mcp/dist/index.js +1 -1
  20. package/payload/platform/plugins/outlook/mcp/dist/index.js.map +1 -1
  21. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-list.d.ts +17 -0
  22. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-list.d.ts.map +1 -1
  23. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-list.js +84 -21
  24. package/payload/platform/plugins/outlook/mcp/dist/tools/mail-list.js.map +1 -1
  25. package/payload/platform/plugins/outlook/references/graph-surfaces.md +15 -1
  26. package/payload/platform/scripts/__tests__/account-schema-owned-dirs.test.sh +100 -0
  27. package/payload/platform/scripts/lib/account-schema-owned-dirs.py +207 -0
  28. package/payload/platform/scripts/lib/account-schema-owned-dirs.sh +33 -0
  29. package/payload/platform/scripts/lib/provision-account-dir.sh +7 -0
  30. package/payload/platform/scripts/setup-account.sh +10 -0
  31. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  32. package/payload/platform/services/claude-session-manager/dist/http-server.js +6 -4
  33. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  34. package/payload/platform/services/claude-session-manager/dist/index.js +36 -0
  35. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  36. package/payload/platform/services/claude-session-manager/dist/tool-registration-drift.d.ts +58 -0
  37. package/payload/platform/services/claude-session-manager/dist/tool-registration-drift.d.ts.map +1 -0
  38. package/payload/platform/services/claude-session-manager/dist/tool-registration-drift.js +196 -0
  39. package/payload/platform/services/claude-session-manager/dist/tool-registration-drift.js.map +1 -0
  40. package/payload/server/{chunk-UGPQCVIW.js → chunk-WC4WJR6X.js} +0 -6
  41. package/payload/server/maxy-edge.js +1 -1
  42. package/payload/server/public/assets/{AdminLoginScreens-DeR71H29.js → AdminLoginScreens-CukwQufW.js} +1 -1
  43. package/payload/server/public/assets/AdminShell-BwEBH6tT.js +2 -0
  44. package/payload/server/public/assets/{admin-C15h-NL0.js → admin-CdFRCUUZ.js} +1 -1
  45. package/payload/server/public/assets/{browser-B7xQLIRK.js → browser-BWR59IkB.js} +1 -1
  46. package/payload/server/public/assets/{calendar-A-vGm6pL.js → calendar-kuTcxX1t.js} +1 -1
  47. package/payload/server/public/assets/chat-ejnq2rck.js +1 -0
  48. package/payload/server/public/assets/data-dZbOyLdT.js +1 -0
  49. package/payload/server/public/assets/{graph-D0orIRAh.js → graph-NgQDY0Pb.js} +1 -1
  50. package/payload/server/public/assets/{operator-DZzuotDB.js → operator-oSaB1mya.js} +1 -1
  51. package/payload/server/public/assets/{page-Ck_pLhAk.js → page-DEkI-Gl1.js} +1 -1
  52. package/payload/server/public/assets/{page-3g0A19Rv.js → page-DMeJHVfA.js} +5 -5
  53. package/payload/server/public/assets/{public-WFUQw9AD.js → public-C54tl6V4.js} +1 -1
  54. package/payload/server/public/assets/{useCopyFeedback-CSk9KjhY.js → useCopyFeedback-DHoYHiK9.js} +1 -1
  55. package/payload/server/public/assets/{useVoiceRecorder-DCyJQkFK.js → useVoiceRecorder-b7HzTFs0.js} +1 -1
  56. package/payload/server/public/browser.html +2 -2
  57. package/payload/server/public/calendar.html +2 -2
  58. package/payload/server/public/chat.html +5 -5
  59. package/payload/server/public/data.html +3 -3
  60. package/payload/server/public/graph.html +3 -3
  61. package/payload/server/public/index.html +5 -5
  62. package/payload/server/public/operator.html +6 -6
  63. package/payload/server/public/public.html +5 -5
  64. package/payload/server/server.js +186 -112
  65. package/payload/server/public/assets/AdminShell-DlAVQUda.js +0 -2
  66. package/payload/server/public/assets/chat-DAae6Z51.js +0 -1
  67. package/payload/server/public/assets/data-BNWpKx1d.js +0 -1
@@ -0,0 +1,33 @@
1
+ # account-schema-owned-dirs.sh — merge plugin-declared owned top-level dirs into
2
+ # an account's SCHEMA.md, and reconcile every account at install time.
3
+ #
4
+ # Requires PROJECT_DIR exported by the caller. Sourced by provision-account-dir.sh
5
+ # and setup-account.sh.
6
+
7
+ _ACCT_SCHEMA_LIB_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
8
+ _ACCT_SCHEMA_PY="$_ACCT_SCHEMA_LIB_DIR/account-schema-owned-dirs.py"
9
+
10
+ # merge_owned_dirs_into_schema <account_dir>
11
+ # Unions the brand's declared owned dirs into <account_dir>/SCHEMA.md and logs
12
+ # the seam. Idempotent.
13
+ merge_owned_dirs_into_schema() {
14
+ local _acct="$1"
15
+ local _out
16
+ _out="$(PROJECT_DIR="$PROJECT_DIR" python3 "$_ACCT_SCHEMA_PY" merge "$_acct" 2>/dev/null)"
17
+ echo " [acct-schema] op=seed-owned-dirs ${_out}"
18
+ }
19
+
20
+ # reconcile_all_accounts_owned_dirs <accounts_dir>
21
+ # Standing check + backfill: for every account dir with an account.json, log the
22
+ # pre-merge present state of each declared owned dir, then merge (backfill).
23
+ reconcile_all_accounts_owned_dirs() {
24
+ local _accts="$1"
25
+ [ -d "$_accts" ] || return 0
26
+ local _acct
27
+ for _acct in "$_accts"/*/; do
28
+ [ -f "$_acct/account.json" ] || continue
29
+ PROJECT_DIR="$PROJECT_DIR" python3 "$_ACCT_SCHEMA_PY" reconcile "$_acct" 2>/dev/null \
30
+ | while IFS= read -r _line; do echo " [acct-schema] op=reconcile ${_line}"; done
31
+ merge_owned_dirs_into_schema "$_acct"
32
+ done
33
+ }
@@ -15,6 +15,9 @@
15
15
  # SCRIPT_DIR — the platform/scripts dir (for lib bootstraps)
16
16
  # USERS_FILE — $HOME/<brand.configDir>/users.json (owner stamp; optional)
17
17
 
18
+ # Owned-dir schema merge (plugin-declared top-level account dirs).
19
+ . "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/account-schema-owned-dirs.sh"
20
+
18
21
  provision_account_dir() {
19
22
  local ACCOUNT_DIR="$1"
20
23
  local ACCOUNT_ID="$2"
@@ -38,6 +41,10 @@ provision_account_dir() {
38
41
  fi
39
42
  echo " [acct-schema] seeded dirs=$_seeded"
40
43
 
44
+ # Merge brand-shipped plugin-declared owned top-level dirs into the freshly
45
+ # seeded SCHEMA.md so the guard admits them (e.g. quoting/ on SiteDesk).
46
+ merge_owned_dirs_into_schema "$ACCOUNT_DIR"
47
+
41
48
  # Claude Code discovers project-level .claude/ relative to the nearest .git
42
49
  # root. Without a .git in the account dir it traverses up to ~/maxy/.git and
43
50
  # misses accountDir/.claude/. Initialise a repo so the account dir IS the root.
@@ -53,3 +53,13 @@ USERS_FILE="$USERS_FILE" resolve_and_sweep_account_dir
53
53
  # designation (migrating a legacy unlabelled account in the same step).
54
54
  export TEMPLATES_DIR PROJECT_DIR SCRIPT_DIR USERS_FILE
55
55
  provision_account_dir "$ACCOUNT_DIR" "$ACCOUNT_ID" "house"
56
+
57
+ # ------------------------------------------------------------------
58
+ # 3. Reconcile plugin-declared owned top-level dirs across every account
59
+ # ------------------------------------------------------------------
60
+ # Standing check + durable backfill: every account under data/accounts/ gets the
61
+ # brand's plugin-declared owned dirs unioned into its SCHEMA.md. Runs on every
62
+ # install so a re-provision cannot drop a previously-added owned dir.
63
+ # reconcile_all_accounts_owned_dirs is available because provision-account-dir.sh
64
+ # (sourced above) sources the owned-dir lib.
65
+ reconcile_all_accounts_owned_dirs "$ACCOUNTS_DIR"
@@ -1 +1 @@
1
- {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"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"}
@@ -2293,10 +2293,12 @@ export function buildHttpApp(deps) {
2293
2293
  : undefined;
2294
2294
  // Task 682 — per-session userId override. Server-resolved by the UI from the
2295
2295
  // authoritative users.json/account.json (never message content) and shape-
2296
- // validated here the same way as personId. Task 1573 — absent for owner
2297
- // self-phone and any unbound sender; USER_ID is then the authenticated
2298
- // adminUserId when present, else empty. The boot owner is no longer a
2299
- // fallback at this layer (see resolveSpawnUserId).
2296
+ // validated here the same way as personId. Task 1573 — absent for a non-owner
2297
+ // unbound sender; USER_ID is then the authenticated adminUserId when present,
2298
+ // else empty. The boot owner is no longer a fallback at this layer (see
2299
+ // resolveSpawnUserId). Task 1575 the UI resolves an owner self-phone to the
2300
+ // owner userId and sends it here as body.userId, so the owner's own-phone
2301
+ // channel session carries the owner userId via this override (not empty).
2300
2302
  const overrideUserId = typeof body.userId === 'string' && body.userId.length > 0 && body.userId.length <= 128
2301
2303
  ? body.userId
2302
2304
  : undefined;