Reject /api/page-data/ legacy passthrough, verify live API before send,
and resolve delivery links to Portal (8081) instead of Vite (5173).
Add local repair/verify scripts for daily-register Page Data flow.
Co-authored-by: Cursor <cursoragent@cursor.com>
Diagnosed via production session logs (RDS + shared goose PG) that some
users' page-generation attempts drifted: the agent used apps__create_app
(no public URL) then fabricated a placeholder domain when asked for a
link, and separately burned many turns scraping unreachable/anti-bot
search engines. Steer both flows toward the already-working path instead
of banning tools outright:
- apps__create_app is fine for designing/previewing a page, but the
agent must still write_file the result into public/*.html per the
static-page-publish skill and return a link built from the real
public URL template (no invented domains)
- for real-world lookups, load_skill('web') first and prefer
Bing/360 over retrying google.com or hammering anti-bot sites
Also folds in generate_docx guidance for Word-download attachments
(sandbox-fs tool) that landed in the same files during this pass.
Co-Authored-By: Claude <noreply@anthropic.com>
Add a MindSpace public HTML checker for missing companion docx/PDF paths, wire it into runtime packaging and release-portal-runtime-prod.sh, and document the workflow for agents and ops.
Co-authored-by: Cursor <cursoragent@cursor.com>
resolveUserAddressName now filters UUID-format strings (same as wx_*),
preventing user.id from being used as a display name when nickname/
displayName is absent.
buildSessionMemoryEntries always calls ensureUserMemoryProfile when
userContext is available so stale profiles with UUID display names are
auto-healed on next session init.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace fixed ackText with a rule-based AckProvider that picks
response templates by message type and intent (translate, summary,
rewrite, poster, ppt, mindmap, code, search, schedule). Pure sync,
zero I/O, auto-falls back to config.ackText on any error.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Split platform admin and ops APIs into standalone admin-server.mjs with network guards; simplify billing to RMB token pricing, refactor user auth, and add rsync deploy plus local-test scripts and docs.
Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce page edit sessions with draft preview and patch API, chat skill picker, user memory profile, h5ApiBase resolution, voice WAV transport, and scripts for 105/g2 deployment and Plaza local dev.
Co-authored-by: Cursor <cursoragent@cursor.com>
Track application source and tests; exclude local env, user workspaces, and runtime data via .gitignore.
Co-authored-by: Cursor <cursoragent@cursor.com>