Add Rain V0 for MeInput full-range chat analysis and delivery tooling.
Memind CI / Test, build, and release guards (push) Has been cancelled

Introduce rain-service orchestration, browser-safe chat skill filtering, MeInput
adapter helpers, and verify/deploy scripts so Rain mode can summarize recent input
without Memory V2 pollution.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
john
2026-09-04 13:49:40 +08:00
parent b2a5caf67d
commit be464a5b8d
18 changed files with 1475 additions and 50 deletions
+22 -5
View File
@@ -117,14 +117,31 @@ test('filterChatSkills shows generate-page when publish is allowed', () => {
assert.ok(visible.some((item) => item.id === 'generate-page'));
});
test('filterChatSkills shows page templates when granted', () => {
test('filterChatSkills hides page templates by default and shows Rain', () => {
const visible = filterChatSkills(CHAT_SKILL_DEFINITIONS, {
canPublish: true,
grantedSkills: ['page-template-travel', 'page-template-campaign'],
grantedSkills: ['page-template-travel', 'page-template-campaign', 'rain'],
});
assert.ok(visible.some((item) => item.id === 'page-template-travel'));
assert.ok(visible.some((item) => item.id === 'page-template-campaign'));
assert.equal(visible.some((item) => item.id === 'page-template-survey'), false);
assert.ok(visible.some((item) => item.id === 'rain'));
assert.equal(visible.some((item) => item.id === 'page-template-travel'), false);
assert.equal(visible.some((item) => item.id === 'page-template-campaign'), false);
});
test('filterChatSkills shows page templates when explicitly enabled', () => {
const prev = process.env.MEMIND_HIDE_PAGE_TEMPLATES;
process.env.MEMIND_HIDE_PAGE_TEMPLATES = '0';
try {
const visible = filterChatSkills(CHAT_SKILL_DEFINITIONS, {
canPublish: true,
grantedSkills: ['page-template-travel', 'page-template-campaign'],
});
assert.ok(visible.some((item) => item.id === 'page-template-travel'));
assert.ok(visible.some((item) => item.id === 'page-template-campaign'));
assert.equal(visible.some((item) => item.id === 'page-template-survey'), false);
} finally {
if (prev == null) delete process.env.MEMIND_HIDE_PAGE_TEMPLATES;
else process.env.MEMIND_HIDE_PAGE_TEMPLATES = prev;
}
});
test('buildChatSkillPrompt includes skill name for platform skills', () => {