@rubytech/create-maxy-code 0.1.437 → 0.1.439
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/payload/platform/lib/admin-access-password/__tests__/index.test.ts +31 -0
- package/payload/platform/lib/admin-access-password/dist/index.d.ts +8 -0
- package/payload/platform/lib/admin-access-password/dist/index.d.ts.map +1 -1
- package/payload/platform/lib/admin-access-password/dist/index.js +5 -1
- package/payload/platform/lib/admin-access-password/dist/index.js.map +1 -1
- package/payload/platform/lib/admin-access-password/src/index.ts +14 -1
- package/payload/platform/lib/admins-write/__tests__/index.test.ts +27 -0
- package/payload/platform/lib/admins-write/dist/index.d.ts +8 -0
- package/payload/platform/lib/admins-write/dist/index.d.ts.map +1 -1
- package/payload/platform/lib/admins-write/dist/index.js +5 -1
- package/payload/platform/lib/admins-write/dist/index.js.map +1 -1
- package/payload/platform/lib/admins-write/src/index.ts +14 -1
- package/payload/platform/plugins/admin/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/admin/PLUGIN.md +4 -2
- package/payload/platform/plugins/admin/mcp/dist/credential-identity.d.ts +23 -0
- package/payload/platform/plugins/admin/mcp/dist/credential-identity.d.ts.map +1 -0
- package/payload/platform/plugins/admin/mcp/dist/credential-identity.js +35 -0
- package/payload/platform/plugins/admin/mcp/dist/credential-identity.js.map +1 -0
- package/payload/platform/plugins/admin/mcp/dist/index.js +110 -57
- package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/admin/mcp/dist/tools/account-lifecycle.d.ts +22 -0
- package/payload/platform/plugins/admin/mcp/dist/tools/account-lifecycle.d.ts.map +1 -1
- package/payload/platform/plugins/admin/mcp/dist/tools/account-lifecycle.js +62 -2
- package/payload/platform/plugins/admin/mcp/dist/tools/account-lifecycle.js.map +1 -1
- package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +7 -1
- package/payload/platform/plugins/docs/references/admin-identity-gate.md +40 -0
- package/payload/platform/plugins/docs/references/internals.md +4 -0
- package/payload/platform/plugins/docs/references/plugins-guide.md +2 -0
- package/payload/platform/plugins/graph-viewer/.claude-plugin/plugin.json +13 -0
- package/payload/platform/plugins/graph-viewer/PLUGIN.md +1 -1
- package/payload/platform/plugins/graph-viewer/lib/mcp-spawn-tee/index.js +193 -0
- package/payload/platform/plugins/graph-viewer/lib/mcp-spawn-tee/package.json +3 -0
- package/payload/platform/plugins/linkedin-import/skills/linkedin-import/references/profile.md +1 -1
- package/payload/platform/scripts/remediate-glsmith-identity.sh +500 -0
- package/payload/platform/scripts/seed-neo4j.sh +77 -12
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.js +20 -4
- package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/identity-audit.d.ts +51 -0
- package/payload/platform/services/claude-session-manager/dist/identity-audit.d.ts.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/identity-audit.js +103 -0
- package/payload/platform/services/claude-session-manager/dist/identity-audit.js.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/index.js +69 -0
- package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/mcp-user-binding.d.ts +25 -0
- package/payload/platform/services/claude-session-manager/dist/mcp-user-binding.d.ts.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/mcp-user-binding.js +42 -0
- package/payload/platform/services/claude-session-manager/dist/mcp-user-binding.js.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/redundant-operator-seat-audit.d.ts +44 -0
- package/payload/platform/services/claude-session-manager/dist/redundant-operator-seat-audit.d.ts.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/redundant-operator-seat-audit.js +127 -0
- package/payload/platform/services/claude-session-manager/dist/redundant-operator-seat-audit.js.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/tool-registration-drift.d.ts +57 -0
- package/payload/platform/services/claude-session-manager/dist/tool-registration-drift.d.ts.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/tool-registration-drift.js +147 -0
- package/payload/platform/services/claude-session-manager/dist/tool-registration-drift.js.map +1 -0
- package/payload/server/{chunk-LMLVOZ6G.js → chunk-UGPQCVIW.js} +11 -38
- package/payload/server/maxy-edge.js +1 -1
- package/payload/server/server.js +15 -16
|
@@ -30,6 +30,7 @@ import { mergeTarget, isMultiTarget, targetKinds } from './channel-targets.js';
|
|
|
30
30
|
import { randomUUID, createHash } from 'node:crypto';
|
|
31
31
|
import { execFile, execFileSync } from 'node:child_process';
|
|
32
32
|
import { buildRcChildEnv, reapplyAdminLevers } from './rc-daemon.js';
|
|
33
|
+
import { resolveSpawnUserId, formatMcpUserBindingLine } from './mcp-user-binding.js';
|
|
33
34
|
import { runConnectorAuthLogin } from './connector-auth.js';
|
|
34
35
|
import { isEffortLevel, isNewSessionEffortLevel, isPermissionMode, SONNET_MODEL } from '../../../lib/models/dist/index.js';
|
|
35
36
|
import { spawnClaudeSession, stopSession, writeInterruptToPty, isLive, onPtyExit, livePtyCount, liveSessionIds, getPtyTrackerForTests, livePidForSession, classifyLiveness, priorExitedCountForSession, PERMISSION_MODES, openFdCount, registerRcSpawnPty, } from './pty-spawner.js';
|
|
@@ -2292,8 +2293,10 @@ export function buildHttpApp(deps) {
|
|
|
2292
2293
|
: undefined;
|
|
2293
2294
|
// Task 682 — per-session userId override. Server-resolved by the UI from the
|
|
2294
2295
|
// authoritative users.json/account.json (never message content) and shape-
|
|
2295
|
-
// validated here the same way as personId.
|
|
2296
|
-
// any unbound sender
|
|
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).
|
|
2297
2300
|
const overrideUserId = typeof body.userId === 'string' && body.userId.length > 0 && body.userId.length <= 128
|
|
2298
2301
|
? body.userId
|
|
2299
2302
|
: undefined;
|
|
@@ -2840,9 +2843,12 @@ export function buildHttpApp(deps) {
|
|
|
2840
2843
|
}
|
|
2841
2844
|
deps.logger(`[rc-spawn] op=voice-injected bytes=${voiceBytes}`);
|
|
2842
2845
|
}
|
|
2846
|
+
// Task 1573 — the authenticated admin identity, resolved from the body
|
|
2847
|
+
// (validated PIN session) or the persisted sidecar. This, not the
|
|
2848
|
+
// owner-defaulting overrideUserId, is the source of the child USER_ID.
|
|
2849
|
+
const resolvedAdminUserId = adminUserId ?? priorSidecar?.adminUserId ?? null;
|
|
2843
2850
|
if (effectiveWebchatChannel && adminBinding) {
|
|
2844
2851
|
const resolvedName = authenticatedName ?? priorSidecar?.authenticatedName ?? null;
|
|
2845
|
-
const resolvedAdminUserId = adminUserId ?? priorSidecar?.adminUserId ?? null;
|
|
2846
2852
|
// `source` follows where the resolved name actually came from. When no
|
|
2847
2853
|
// name resolves (resolved=0) it reports which signal marked the session
|
|
2848
2854
|
// admin: the caller's body role, else the persisted sidecar.
|
|
@@ -2888,12 +2894,22 @@ export function buildHttpApp(deps) {
|
|
|
2888
2894
|
acctIsHouse,
|
|
2889
2895
|
inject: rcHouseAdminScope !== null,
|
|
2890
2896
|
}));
|
|
2897
|
+
// Task 1573 — stamp USER_ID from the authenticated admin identity, never
|
|
2898
|
+
// the owner via `deps.userId`. An authenticated non-owner session whose body
|
|
2899
|
+
// omitted `userId` used to fall back to the owner, so its admin MCP inherited
|
|
2900
|
+
// the owner's USER_ID and rewrote the owner's credential row. Empty (no admin
|
|
2901
|
+
// identity, unbound sender) is a documented-legal USER_ID. The reconciliation
|
|
2902
|
+
// line compares the two independent identity signals (authenticated adminUserId
|
|
2903
|
+
// vs server-resolved overrideUserId) and records the stamped USER_ID, so a
|
|
2904
|
+
// future disagreement is greppable at spawn time.
|
|
2905
|
+
const childUserId = resolveSpawnUserId({ resolvedAdminUserId, overrideUserId });
|
|
2906
|
+
deps.logger(formatMcpUserBindingLine({ authenticatedAdmin: resolvedAdminUserId, resolvedOverride: overrideUserId, stampedUserId: childUserId }));
|
|
2891
2907
|
// Task 606 — thread the validated per-session sessionId (fresh and resume
|
|
2892
2908
|
// share the one var) so session-linked writes resolve SESSION_ID; logDir
|
|
2893
2909
|
// so the child's MCP stderr-tee writes its readable per-server log.
|
|
2894
2910
|
const env = buildRcChildEnv({
|
|
2895
2911
|
accountId: effectiveAccountId,
|
|
2896
|
-
userId:
|
|
2912
|
+
userId: childUserId,
|
|
2897
2913
|
sessionId: sessionId ?? undefined,
|
|
2898
2914
|
uiPort: process.env.MAXY_UI_INTERNAL_PORT ?? '',
|
|
2899
2915
|
platformRoot: deps.platformRoot,
|