rivet-design 0.9.2 → 0.9.3
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/dist/mcp/agent-variants/SessionStore.d.ts +63 -2
- package/dist/mcp/agent-variants/SessionStore.d.ts.map +1 -1
- package/dist/mcp/agent-variants/SessionStore.js +331 -71
- package/dist/mcp/agent-variants/SessionStore.js.map +1 -1
- package/dist/mcp/agent-variants/WorktreeOrchestrator.d.ts +197 -8
- package/dist/mcp/agent-variants/WorktreeOrchestrator.d.ts.map +1 -1
- package/dist/mcp/agent-variants/WorktreeOrchestrator.js +805 -46
- package/dist/mcp/agent-variants/WorktreeOrchestrator.js.map +1 -1
- package/dist/mcp/agent-variants/contracts.d.ts +1101 -9
- package/dist/mcp/agent-variants/contracts.d.ts.map +1 -1
- package/dist/mcp/agent-variants/contracts.js +131 -5
- package/dist/mcp/agent-variants/contracts.js.map +1 -1
- package/dist/mcp/agent-variants/createZeroToOneTool.d.ts +205 -0
- package/dist/mcp/agent-variants/createZeroToOneTool.d.ts.map +1 -0
- package/dist/mcp/agent-variants/createZeroToOneTool.js +295 -0
- package/dist/mcp/agent-variants/createZeroToOneTool.js.map +1 -0
- package/dist/mcp/agent-variants/designContextStore.d.ts +160 -0
- package/dist/mcp/agent-variants/designContextStore.d.ts.map +1 -0
- package/dist/mcp/agent-variants/designContextStore.js +295 -0
- package/dist/mcp/agent-variants/designContextStore.js.map +1 -0
- package/dist/mcp/agent-variants/elementRefToTarget.d.ts +21 -0
- package/dist/mcp/agent-variants/elementRefToTarget.d.ts.map +1 -0
- package/dist/mcp/agent-variants/elementRefToTarget.js +47 -0
- package/dist/mcp/agent-variants/elementRefToTarget.js.map +1 -0
- package/dist/mcp/agent-variants/errors.d.ts +1 -1
- package/dist/mcp/agent-variants/errors.d.ts.map +1 -1
- package/dist/mcp/agent-variants/errors.js +6 -0
- package/dist/mcp/agent-variants/errors.js.map +1 -1
- package/dist/mcp/agent-variants/index.d.ts +4 -1
- package/dist/mcp/agent-variants/index.d.ts.map +1 -1
- package/dist/mcp/agent-variants/index.js +7 -1
- package/dist/mcp/agent-variants/index.js.map +1 -1
- package/dist/mcp/agent-variants/inspirationDesignContext.d.ts +430 -0
- package/dist/mcp/agent-variants/inspirationDesignContext.d.ts.map +1 -0
- package/dist/mcp/agent-variants/inspirationDesignContext.js +2379 -0
- package/dist/mcp/agent-variants/inspirationDesignContext.js.map +1 -0
- package/dist/mcp/agent-variants/pendingChangesAdapter.d.ts.map +1 -1
- package/dist/mcp/agent-variants/pendingChangesAdapter.js +10 -7
- package/dist/mcp/agent-variants/pendingChangesAdapter.js.map +1 -1
- package/dist/mcp/agent-variants/sourceContext.d.ts +7 -0
- package/dist/mcp/agent-variants/sourceContext.d.ts.map +1 -0
- package/dist/mcp/agent-variants/sourceContext.js +158 -0
- package/dist/mcp/agent-variants/sourceContext.js.map +1 -0
- package/dist/mcp/agent-variants/tools.d.ts +14 -0
- package/dist/mcp/agent-variants/tools.d.ts.map +1 -1
- package/dist/mcp/agent-variants/tools.js +330 -15
- package/dist/mcp/agent-variants/tools.js.map +1 -1
- package/dist/mcp/changeBatchClassification.d.ts +30 -0
- package/dist/mcp/changeBatchClassification.d.ts.map +1 -0
- package/dist/mcp/changeBatchClassification.js +65 -0
- package/dist/mcp/changeBatchClassification.js.map +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +237 -39
- package/dist/mcp/server.js.map +1 -1
- package/dist/proxy-middleware/proxy-config.d.ts.map +1 -1
- package/dist/proxy-middleware/proxy-config.js +1 -15
- package/dist/proxy-middleware/proxy-config.js.map +1 -1
- package/dist/routes/agentVariants.d.ts +3 -1
- package/dist/routes/agentVariants.d.ts.map +1 -1
- package/dist/routes/agentVariants.js +131 -13
- package/dist/routes/agentVariants.js.map +1 -1
- package/dist/routes/mcp.d.ts +7 -1
- package/dist/routes/mcp.d.ts.map +1 -1
- package/dist/routes/mcp.js +139 -16
- package/dist/routes/mcp.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +2 -2
- package/dist/server.js.map +1 -1
- package/dist/services/SessionBridgeService.d.ts +22 -0
- package/dist/services/SessionBridgeService.d.ts.map +1 -1
- package/dist/services/SessionBridgeService.js +61 -0
- package/dist/services/SessionBridgeService.js.map +1 -1
- package/dist/services/TelemetryService.d.ts +121 -0
- package/dist/services/TelemetryService.d.ts.map +1 -1
- package/dist/services/TelemetryService.js +155 -0
- package/dist/services/TelemetryService.js.map +1 -1
- package/dist/services/WorktreeManager.d.ts +57 -5
- package/dist/services/WorktreeManager.d.ts.map +1 -1
- package/dist/services/WorktreeManager.js +205 -13
- package/dist/services/WorktreeManager.js.map +1 -1
- package/dist/services/templates/designCatalog.d.ts +27 -0
- package/dist/services/templates/designCatalog.d.ts.map +1 -0
- package/dist/services/templates/designCatalog.js +141 -0
- package/dist/services/templates/designCatalog.js.map +1 -0
- package/dist/services/templates/designmd/airbnb.md +545 -0
- package/dist/services/templates/designmd/airtable.md +554 -0
- package/dist/services/templates/designmd/apple.md +562 -0
- package/dist/services/templates/designmd/binance.md +634 -0
- package/dist/services/templates/designmd/bmw-m.md +503 -0
- package/dist/services/templates/designmd/bmw.md +544 -0
- package/dist/services/templates/designmd/bugatti.md +454 -0
- package/dist/services/templates/designmd/cal.md +542 -0
- package/dist/services/templates/designmd/claude.md +589 -0
- package/dist/services/templates/designmd/clay.md +541 -0
- package/dist/services/templates/designmd/cohere.md +451 -0
- package/dist/services/templates/designmd/cursor.md +537 -0
- package/dist/services/templates/designmd/expo.md +526 -0
- package/dist/services/templates/designmd/figma.md +578 -0
- package/dist/services/templates/designmd/framer.md +544 -0
- package/dist/services/templates/designmd/hp.md +670 -0
- package/dist/services/templates/designmd/linear.app.md +548 -0
- package/dist/services/templates/designmd/mintlify.md +852 -0
- package/dist/services/templates/designmd/miro.md +825 -0
- package/dist/services/templates/designmd/notion.md +821 -0
- package/dist/services/templates/designmd/raycast.md +669 -0
- package/dist/services/templates/designmd/resend.md +585 -0
- package/dist/services/templates/designmd/sentry.md +262 -0
- package/dist/services/templates/designmd/shopify.md +350 -0
- package/dist/services/templates/designmd/spotify.md +246 -0
- package/dist/services/templates/designmd/stripe.md +322 -0
- package/dist/services/templates/designmd/supabase.md +255 -0
- package/dist/services/templates/designmd/superhuman.md +252 -0
- package/dist/services/templates/designmd/uber.md +295 -0
- package/dist/services/templates/designmd/vercel.md +310 -0
- package/dist/services/templates/viteReactTs.d.ts +42 -0
- package/dist/services/templates/viteReactTs.d.ts.map +1 -0
- package/dist/services/templates/viteReactTs.js +267 -0
- package/dist/services/templates/viteReactTs.js.map +1 -0
- package/dist/types/change-request-types.d.ts +15 -3
- package/dist/types/change-request-types.d.ts.map +1 -1
- package/dist/utils/skills/claude-skill.d.ts +2 -2
- package/dist/utils/skills/claude-skill.d.ts.map +1 -1
- package/dist/utils/skills/claude-skill.js +19 -98
- package/dist/utils/skills/claude-skill.js.map +1 -1
- package/dist/utils/skills/cursor-rules.d.ts +2 -2
- package/dist/utils/skills/cursor-rules.d.ts.map +1 -1
- package/dist/utils/skills/cursor-rules.js +15 -80
- package/dist/utils/skills/cursor-rules.js.map +1 -1
- package/dist/utils/skills/shared-variants-protocol.d.ts +23 -0
- package/dist/utils/skills/shared-variants-protocol.d.ts.map +1 -0
- package/dist/utils/skills/shared-variants-protocol.js +131 -0
- package/dist/utils/skills/shared-variants-protocol.js.map +1 -0
- package/package.json +4 -3
- package/src/ui/dist/assets/main-C9jfEp80.css +1 -0
- package/src/ui/dist/assets/{main-AsPCtLsx.js → main-DejhsBWR.js} +93 -93
- package/src/ui/dist/index.html +2 -2
- package/src/ui/dist/assets/main-BzmseUDd.css +0 -1
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.loadDesignSystemMarkdown = exports.getDesignSystemBySlug = exports.rankDesignSystemsForPrompt = exports.DESIGN_SYSTEMS = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
/**
|
|
10
|
+
* Curated catalog of design-system inspirations bundled as DESIGN.md files
|
|
11
|
+
* under `src/services/templates/designmd/`. The MCP agent-variants fresh-
|
|
12
|
+
* project flow ranks these against the user's prompt and pins one per variant
|
|
13
|
+
* slot; the matching DESIGN.md is copied into each scaffolded worktree so each
|
|
14
|
+
* variant has a concrete visual direction.
|
|
15
|
+
*
|
|
16
|
+
* Source of truth for both the MCP server and the desktop "create app" flow.
|
|
17
|
+
* Desktop re-exports from this module via `desktop/main/CreateAppCatalog.ts`.
|
|
18
|
+
*/
|
|
19
|
+
const WORD_SPLIT_RE = /[^a-z0-9]+/i;
|
|
20
|
+
const MARKDOWN_SHAPE_RE = /^(#|---|\*\*|[A-Za-z0-9][^\n]*\n#{1,3}\s)/;
|
|
21
|
+
// Resolved relative to this file at runtime. The `designmd/` directory must
|
|
22
|
+
// sit next to the compiled module in `dist/` as well — `tsc` does not copy
|
|
23
|
+
// non-`.ts` files, so the project's build script has a dedicated
|
|
24
|
+
// `build:assets` step that mirrors `src/services/templates/designmd/*.md`
|
|
25
|
+
// into `dist/services/templates/designmd/`. Without that mirror the catalog
|
|
26
|
+
// silently loads empty and `createZeroToOneTool` produces empty slugs.
|
|
27
|
+
const designMdDir = path_1.default.resolve(__dirname, 'designmd');
|
|
28
|
+
const DESIGN_MD_BY_SLUG = new Map();
|
|
29
|
+
const toDisplayName = (slug) => slug
|
|
30
|
+
.replace(/[._-]+/g, ' ')
|
|
31
|
+
.split(/\s+/)
|
|
32
|
+
.filter(Boolean)
|
|
33
|
+
.map((part) => part.charAt(0).toUpperCase() + part.slice(1))
|
|
34
|
+
.join(' ');
|
|
35
|
+
const stripFrontmatter = (markdown) => {
|
|
36
|
+
if (!markdown.startsWith('---\n')) {
|
|
37
|
+
return markdown;
|
|
38
|
+
}
|
|
39
|
+
const frontmatterEnd = markdown.indexOf('\n---\n', 4);
|
|
40
|
+
if (frontmatterEnd === -1) {
|
|
41
|
+
return markdown;
|
|
42
|
+
}
|
|
43
|
+
return markdown.slice(frontmatterEnd + 5);
|
|
44
|
+
};
|
|
45
|
+
const parseDescription = (markdown) => {
|
|
46
|
+
const markdownBody = stripFrontmatter(markdown).trim();
|
|
47
|
+
const firstParagraph = markdownBody.split(/\n\s*\n/)[0] ?? '';
|
|
48
|
+
return firstParagraph.replace(/\s+/g, ' ').trim().slice(0, 220);
|
|
49
|
+
};
|
|
50
|
+
const buildKeywords = (slug) => {
|
|
51
|
+
const slugWords = slug
|
|
52
|
+
.toLowerCase()
|
|
53
|
+
.split(/[^a-z0-9]+/)
|
|
54
|
+
.filter(Boolean);
|
|
55
|
+
return Array.from(new Set([slug.toLowerCase(), ...slugWords]));
|
|
56
|
+
};
|
|
57
|
+
const loadDesignSystems = () => {
|
|
58
|
+
let entries;
|
|
59
|
+
try {
|
|
60
|
+
entries = fs_1.default.readdirSync(designMdDir, { withFileTypes: true });
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
return [];
|
|
64
|
+
}
|
|
65
|
+
// Defensive: if the test or runtime mock returns a non-array, skip
|
|
66
|
+
// catalog initialization rather than crashing module load.
|
|
67
|
+
if (!Array.isArray(entries))
|
|
68
|
+
return [];
|
|
69
|
+
return entries
|
|
70
|
+
.filter((entry) => entry.isFile() && entry.name.endsWith('.md'))
|
|
71
|
+
.map((entry) => entry.name)
|
|
72
|
+
.sort((first, second) => first.localeCompare(second))
|
|
73
|
+
.map((filename) => {
|
|
74
|
+
const slug = filename.slice(0, -3);
|
|
75
|
+
const markdownPath = path_1.default.resolve(designMdDir, filename);
|
|
76
|
+
const markdown = fs_1.default.readFileSync(markdownPath, 'utf8').trim();
|
|
77
|
+
if (!markdown) {
|
|
78
|
+
throw new Error(`Empty DESIGN.md for slug "${slug}"`);
|
|
79
|
+
}
|
|
80
|
+
if (!MARKDOWN_SHAPE_RE.test(markdown)) {
|
|
81
|
+
throw new Error(`Invalid markdown shape for slug "${slug}"`);
|
|
82
|
+
}
|
|
83
|
+
DESIGN_MD_BY_SLUG.set(slug, markdown);
|
|
84
|
+
const name = toDisplayName(slug);
|
|
85
|
+
const description = parseDescription(markdown);
|
|
86
|
+
return {
|
|
87
|
+
slug,
|
|
88
|
+
name,
|
|
89
|
+
category: 'Design System',
|
|
90
|
+
description: description || `Design system for ${name}`,
|
|
91
|
+
keywords: buildKeywords(slug),
|
|
92
|
+
externalUrl: `https://getdesign.md/${slug}/design-md`,
|
|
93
|
+
};
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
exports.DESIGN_SYSTEMS = loadDesignSystems();
|
|
97
|
+
const normalizeWords = (text) => text
|
|
98
|
+
.toLowerCase()
|
|
99
|
+
.split(WORD_SPLIT_RE)
|
|
100
|
+
.map((word) => word.trim())
|
|
101
|
+
.filter((word) => word.length > 1);
|
|
102
|
+
const scoreDesignSystem = (promptWords, designSystem) => {
|
|
103
|
+
const textWords = normalizeWords(`${designSystem.name} ${designSystem.category} ${designSystem.description}`);
|
|
104
|
+
return textWords.reduce((score, word) => (promptWords.has(word) ? score + 1 : score), 0);
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* Rank bundled DESIGN.md inspirations against a user prompt. Deterministic for
|
|
108
|
+
* a given prompt: ties broken by catalog index (alphabetical slug order).
|
|
109
|
+
*/
|
|
110
|
+
const rankDesignSystemsForPrompt = (prompt, limit = 3) => {
|
|
111
|
+
const promptWords = new Set(normalizeWords(prompt));
|
|
112
|
+
return exports.DESIGN_SYSTEMS.map((designSystem, index) => ({
|
|
113
|
+
...designSystem,
|
|
114
|
+
score: scoreDesignSystem(promptWords, designSystem),
|
|
115
|
+
index,
|
|
116
|
+
}))
|
|
117
|
+
.sort((a, b) => {
|
|
118
|
+
if (b.score !== a.score)
|
|
119
|
+
return b.score - a.score;
|
|
120
|
+
return a.index - b.index;
|
|
121
|
+
})
|
|
122
|
+
.slice(0, limit)
|
|
123
|
+
.map(({ index: _index, ...designSystem }) => designSystem);
|
|
124
|
+
};
|
|
125
|
+
exports.rankDesignSystemsForPrompt = rankDesignSystemsForPrompt;
|
|
126
|
+
/**
|
|
127
|
+
* Resolve a catalog entry by slug. Returns null if the slug is unknown.
|
|
128
|
+
*/
|
|
129
|
+
const getDesignSystemBySlug = (slug) => {
|
|
130
|
+
return exports.DESIGN_SYSTEMS.find((entry) => entry.slug === slug) ?? null;
|
|
131
|
+
};
|
|
132
|
+
exports.getDesignSystemBySlug = getDesignSystemBySlug;
|
|
133
|
+
/**
|
|
134
|
+
* Read the bundled DESIGN.md markdown for a slug. Returns null when the slug
|
|
135
|
+
* is unknown.
|
|
136
|
+
*/
|
|
137
|
+
const loadDesignSystemMarkdown = (slug) => {
|
|
138
|
+
return DESIGN_MD_BY_SLUG.get(slug) ?? null;
|
|
139
|
+
};
|
|
140
|
+
exports.loadDesignSystemMarkdown = loadDesignSystemMarkdown;
|
|
141
|
+
//# sourceMappingURL=designCatalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"designCatalog.js","sourceRoot":"","sources":["../../../src/services/templates/designCatalog.ts"],"names":[],"mappings":"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"}
|