@rubytech/create-maxy-code 0.1.419 → 0.1.423
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/package-lock.json +5158 -2922
- package/payload/platform/plugins/admin/hooks/__tests__/prompt-optimiser-compliance.test.sh +22 -0
- package/payload/platform/plugins/admin/hooks/prompt-optimiser-compliance.sh +14 -1
- package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +3 -1
- package/payload/platform/plugins/docs/references/memory-guide.md +2 -0
- package/payload/platform/plugins/memory/PLUGIN.md +3 -0
- package/payload/platform/plugins/memory/skills/conversational-memory/SKILL.md +30 -1
- package/payload/platform/plugins/memory/skills/preference-audit/SKILL.md +50 -0
- package/payload/platform/plugins/whatsapp/PLUGIN.md +3 -1
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/resolve-read-account.test.d.ts +2 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/resolve-read-account.test.d.ts.map +1 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/resolve-read-account.test.js +15 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/resolve-read-account.test.js.map +1 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/index.js +4 -3
- package/payload/platform/plugins/whatsapp/mcp/dist/index.js.map +1 -1
- package/payload/platform/plugins/whatsapp/mcp/dist/resolve-read-account.d.ts +7 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/resolve-read-account.d.ts.map +1 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/resolve-read-account.js +13 -0
- package/payload/platform/plugins/whatsapp/mcp/dist/resolve-read-account.js.map +1 -0
- package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-raised-by-env.test.d.ts +2 -0
- package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-raised-by-env.test.d.ts.map +1 -0
- package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-raised-by-env.test.js +66 -0
- package/payload/platform/plugins/work/mcp/dist/__tests__/work-create-raised-by-env.test.js.map +1 -0
- package/payload/platform/plugins/work/mcp/dist/tools/work-create.d.ts.map +1 -1
- package/payload/platform/plugins/work/mcp/dist/tools/work-create.js +8 -1
- package/payload/platform/plugins/work/mcp/dist/tools/work-create.js.map +1 -1
- 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 +36 -2
- package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/index.js +39 -0
- package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/passive-dispatch-prune.d.ts +37 -0
- package/payload/platform/services/claude-session-manager/dist/passive-dispatch-prune.d.ts.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/passive-dispatch-prune.js +80 -0
- package/payload/platform/services/claude-session-manager/dist/passive-dispatch-prune.js.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/passive-intake-audit.d.ts +70 -0
- package/payload/platform/services/claude-session-manager/dist/passive-intake-audit.d.ts.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/passive-intake-audit.js +129 -0
- package/payload/platform/services/claude-session-manager/dist/passive-intake-audit.js.map +1 -0
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +6 -0
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +12 -0
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
- package/payload/platform/services/telegram-channel/dist/instructions.d.ts.map +1 -1
- package/payload/platform/services/telegram-channel/dist/instructions.js +30 -50
- package/payload/platform/services/telegram-channel/dist/instructions.js.map +1 -1
- package/payload/platform/services/webchat-channel/dist/instructions.d.ts.map +1 -1
- package/payload/platform/services/webchat-channel/dist/instructions.js +37 -78
- package/payload/platform/services/webchat-channel/dist/instructions.js.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/notification.d.ts +14 -36
- package/payload/platform/services/whatsapp-channel/dist/notification.d.ts.map +1 -1
- package/payload/platform/services/whatsapp-channel/dist/notification.js +35 -80
- package/payload/platform/services/whatsapp-channel/dist/notification.js.map +1 -1
- package/payload/platform/templates/agents/admin/IDENTITY.md +2 -1
- package/payload/platform/templates/specialists/agents/content-producer.md +4 -0
- package/payload/server/public/assets/{AdminLoginScreens-B1PkOF66.js → AdminLoginScreens-B1P6PrZ3.js} +1 -1
- package/payload/server/public/assets/{AdminShell-D8wNArGQ.js → AdminShell-Y1fHQApK.js} +1 -1
- package/payload/server/public/assets/{Checkbox-Bm9Er726.js → Checkbox-CgCqOslz.js} +1 -1
- package/payload/server/public/assets/{Transcript-CBIyQ8T5.js → Transcript-DZzFjhoq.js} +1 -1
- package/payload/server/public/assets/{admin-CWM9G_yA.js → admin-BRBjJEci.js} +1 -1
- package/payload/server/public/assets/{browser-D8QhNffV.js → browser-ID7iqIi4.js} +1 -1
- package/payload/server/public/assets/{calendar-qob5K4t_.js → calendar-BEQPMTtd.js} +1 -1
- package/payload/server/public/assets/chat-D0GDSWM-.js +1 -0
- package/payload/server/public/assets/chevron-left-A0HYKwGY.js +1 -0
- package/payload/server/public/assets/data-CV38dClT.js +1 -0
- package/payload/server/public/assets/{graph-DZ2HMpIB.js → graph-BK0MjKRy.js} +1 -1
- package/payload/server/public/assets/{graph-labels-BFG4bjXQ.js → graph-labels-BfG6FO25.js} +1 -1
- package/payload/server/public/assets/{maximize-2-DkZ40lSl.js → maximize-2-DrBaKD3z.js} +1 -1
- package/payload/server/public/assets/{operator-FrXrSsBj.js → operator-CnpNyIJ8.js} +1 -1
- package/payload/server/public/assets/{page-CHWMI9Tm.js → page-DC_L-IS1.js} +1 -1
- package/payload/server/public/assets/{page-CXKV01gT.js → page-DKHLflh7.js} +1 -1
- package/payload/server/public/assets/{public-2p1pJ4WF.js → public-ByUJr48E.js} +1 -1
- package/payload/server/public/assets/{rotate-ccw-D3o_bMBA.js → rotate-ccw-D45TbeAI.js} +1 -1
- package/payload/server/public/assets/useSubAccountSwitcher-CCn22f98.css +1 -0
- package/payload/server/public/browser.html +4 -4
- package/payload/server/public/calendar.html +5 -5
- package/payload/server/public/chat.html +9 -9
- package/payload/server/public/data.html +8 -8
- package/payload/server/public/graph.html +9 -9
- package/payload/server/public/index.html +11 -11
- package/payload/server/public/operator.html +11 -11
- package/payload/server/public/public.html +9 -9
- package/payload/server/server.js +171 -63
- package/payload/server/public/assets/chat-BNrxVUF6.js +0 -1
- package/payload/server/public/assets/chevron-left-BQThFVrd.js +0 -1
- package/payload/server/public/assets/data-C-EqNbRi.js +0 -1
- package/payload/server/public/assets/useSubAccountSwitcher-BUvlETHN.css +0 -1
- /package/payload/server/public/assets/{useSubAccountSwitcher-8dLvF3Ux.js → useSubAccountSwitcher-CprHkBnZ.js} +0 -0
|
@@ -1036,7 +1036,12 @@ export function buildHttpApp(deps) {
|
|
|
1036
1036
|
timed(deps.logger, 'POST', '/public-spawn', 400, Date.now() - start);
|
|
1037
1037
|
return c.json({ error: 'invalid-arguments', detail: { senderId: !!senderId, role, channel } }, 400);
|
|
1038
1038
|
}
|
|
1039
|
-
|
|
1039
|
+
// Task 1489 — a passive intake spawn rides role:'public' on this path but is
|
|
1040
|
+
// a trusted, sub-account-bound account manager, not an anonymous visitor. It
|
|
1041
|
+
// is exempt from the anonymous-visitor limiter: `!passive` keeps a manager's
|
|
1042
|
+
// requirement burst from being throttled, and keeps that burst from consuming
|
|
1043
|
+
// (or being throttled by) the shared per-sender/global anonymous budget.
|
|
1044
|
+
if (role === 'public' && !passive) {
|
|
1040
1045
|
const decision = deps.publicSpawnLimiter.admit(senderId, channel);
|
|
1041
1046
|
if (!decision.admitted) {
|
|
1042
1047
|
deps.logger(`spawn-rate-limited senderId=${senderId} channel=${channel} scope=${decision.scope} window=${decision.windowMs} cap=${decision.cap}`);
|
|
@@ -1065,8 +1070,33 @@ export function buildHttpApp(deps) {
|
|
|
1065
1070
|
: body.tunnelUrl === null
|
|
1066
1071
|
? null
|
|
1067
1072
|
: undefined;
|
|
1073
|
+
// Task 1490 — scope a passive intake session's whole surface (JSONL
|
|
1074
|
+
// transcript, sidecar, permission-mode log, PTY cwd) to the sub-account it
|
|
1075
|
+
// manages, mirroring /rc-spawn's effectiveAccountDir. Without this only the
|
|
1076
|
+
// work MCP env was sub-scoped (Task 1483); the session artifacts landed
|
|
1077
|
+
// under the house, splitting intake activity from the :Task it produces.
|
|
1078
|
+
// accountId/accountDir stay house: the passive identity is an
|
|
1079
|
+
// account-agnostic template read from the house, and the graph is already
|
|
1080
|
+
// sub-scoped via the work server's ACCOUNT_ID. A present-but-unregistered
|
|
1081
|
+
// target is rejected (fail-closed, never silently house-scoped) — the same
|
|
1082
|
+
// rule /rc-spawn enforces (Task 983). The gate matches pty-spawner's
|
|
1083
|
+
// `isPassiveSpawn` invariant exactly (passive ALWAYS rides role:'public',
|
|
1084
|
+
// never a specialist); a passive flag on any other role/specialist is
|
|
1085
|
+
// ignored here too, so the transcript scope can never diverge from the
|
|
1086
|
+
// work-MCP graph scope (which only sub-scopes under the same invariant).
|
|
1087
|
+
let spawnCwd = deps.spawnCwd;
|
|
1088
|
+
if (passive && role === 'public' && !specialist && targetAccountId) {
|
|
1089
|
+
const accountsRoot = join(dirname(deps.platformRoot), 'data', 'accounts');
|
|
1090
|
+
if (!existsSync(join(accountsRoot, targetAccountId, 'account.json'))) {
|
|
1091
|
+
deps.logger(`[spawn] op=passive-account-reject target=${targetAccountId} reason=not-in-registry`);
|
|
1092
|
+
timed(deps.logger, 'POST', '/public-spawn', 400, Date.now() - start);
|
|
1093
|
+
return c.json({ error: 'targetAccountId not in this install registry' }, 400);
|
|
1094
|
+
}
|
|
1095
|
+
spawnCwd = join(accountsRoot, targetAccountId);
|
|
1096
|
+
}
|
|
1068
1097
|
const result = await spawnClaudeSession({
|
|
1069
1098
|
...deps,
|
|
1099
|
+
spawnCwd,
|
|
1070
1100
|
watcher: deps.watcher,
|
|
1071
1101
|
onSessionReady: (tracker) => {
|
|
1072
1102
|
// Task 1483 — a passive intake rides role:'public' but is NOT a public
|
|
@@ -1140,7 +1170,11 @@ export function buildHttpApp(deps) {
|
|
|
1140
1170
|
// field so a dropped name is visible without reproducing.
|
|
1141
1171
|
if (role === 'public') {
|
|
1142
1172
|
if (publicTitle) {
|
|
1143
|
-
|
|
1173
|
+
// Task 1490 — the title store is per-cwd; a passive session's cwd is the
|
|
1174
|
+
// sub-account (spawnCwd override above), so persist under the same cwd
|
|
1175
|
+
// the row is read from, not the house deps.spawnCwd. Identical to house
|
|
1176
|
+
// for every non-passive public spawn.
|
|
1177
|
+
deps.titleStores.forSessionCwd(spawnCwd).set(result.session.sessionId, publicTitle);
|
|
1144
1178
|
deps.logger(`[spawn] role=public senderId=${senderId} sessionId=${result.session.sessionId.slice(0, 8)} title="${publicTitle}"`);
|
|
1145
1179
|
}
|
|
1146
1180
|
else {
|