@tangle-network/starter-foundry 0.3.0 → 0.5.2
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/lib/agent-context.d.ts +31 -3
- package/dist/lib/agent-context.js +39 -4
- package/dist/lib/agent-context.js.map +1 -1
- package/dist/lib/compose.js +23 -10
- package/dist/lib/compose.js.map +1 -1
- package/dist/lib/workspace.js +15 -1
- package/dist/lib/workspace.js.map +1 -1
- package/package.json +5 -1
- package/registry/families/fullstack-ts/files/package.json +1 -1
- package/registry/families/fullstack-ts/manifest.json +2 -0
- package/registry/families/react-vite-ts/manifest.json +2 -2
- package/registry/layers/framework/fullstack-node-ts/files/index.html +5 -4
- package/registry/layers/framework/fullstack-node-ts/files/personalize.css +36 -0
- package/registry/layers/framework/fullstack-node-ts/files/personalize.json +22 -0
- package/registry/layers/framework/fullstack-node-ts/files/server.ts +105 -1
- package/registry/layers/framework/fullstack-node-ts/manifest.json +8 -0
- package/registry/layers/framework/react-vite-ts/files/App.tsx +78 -4
- package/registry/layers/framework/tangle-blueprint/files/bin-Cargo.toml +1 -1
- package/registry/layers/framework/tangle-blueprint/files/lib-Cargo.toml +1 -1
|
@@ -18,14 +18,42 @@ export declare const PERSONALIZATION_CSS_INSTRUCTION = "Before adding features,
|
|
|
18
18
|
* Tells an agent how to use the personalize.json mechanism — single source of
|
|
19
19
|
* truth for brand, hero copy, feature names/descriptions, pricing tiers, and
|
|
20
20
|
* footer content. Inject into agent system prompts when the scaffold contains
|
|
21
|
-
* layout layers that ship a personalize.json (
|
|
21
|
+
* layout layers that ship a personalize.json (layout-landing) OR a framework
|
|
22
|
+
* layer that ships one (fullstack-node-ts as of 0.4.6).
|
|
23
|
+
*
|
|
24
|
+
* The instruction is intentionally MANDATORY — "REQUIRED FIRST EDIT", not
|
|
25
|
+
* "if it exists, rewrite it" — because this is the single highest-leverage
|
|
26
|
+
* edit the agent can make. Without it the served preview is the scaffold
|
|
27
|
+
* default and the user sees nothing of their request. Path is intentionally
|
|
28
|
+
* vague ("personalize.json in the workspace") to cover both `personalize.json`
|
|
29
|
+
* at the workspace root (fullstack-ts) and `src/personalize.json` (vite-react).
|
|
22
30
|
*/
|
|
23
|
-
export declare const PERSONALIZATION_JSON_INSTRUCTION = "
|
|
31
|
+
export declare const PERSONALIZATION_JSON_INSTRUCTION = "REQUIRED FIRST EDIT after Step 0: locate and rewrite personalize.json (in the workspace root or under src/, depending on family). It is the SINGLE SOURCE OF TRUTH for brand name, brand tagline, hero eyebrow, hero headline, hero subheadline, and (where present) feature names, pricing tiers, and footer content. The dev server templates the served HTML from this file at request time, so editing it makes the user's preview update on the next browser refresh \u2014 no restart, no build step. Replace the placeholder content (\"Starter Foundry\", \"Acme\", \"Build something people want\", \"Lightning fast\", etc.) with copy specific to the user's actual product. Keep the schema shape unchanged. This is the single highest-leverage edit you can make in turn 1; do it before writing any new files or features.";
|
|
24
32
|
/**
|
|
25
33
|
* Combined personalization instruction. Use this when injecting scaffold
|
|
26
34
|
* context unless you have a reason to use one mechanism but not the other.
|
|
27
35
|
*/
|
|
28
|
-
export declare const PERSONALIZATION_INSTRUCTION = "
|
|
36
|
+
export declare const PERSONALIZATION_INSTRUCTION = "REQUIRED FIRST EDIT after Step 0: locate and rewrite personalize.json (in the workspace root or under src/, depending on family). It is the SINGLE SOURCE OF TRUTH for brand name, brand tagline, hero eyebrow, hero headline, hero subheadline, and (where present) feature names, pricing tiers, and footer content. The dev server templates the served HTML from this file at request time, so editing it makes the user's preview update on the next browser refresh \u2014 no restart, no build step. Replace the placeholder content (\"Starter Foundry\", \"Acme\", \"Build something people want\", \"Lightning fast\", etc.) with copy specific to the user's actual product. Keep the schema shape unchanged. This is the single highest-leverage edit you can make in turn 1; do it before writing any new files or features. Before adding features, open src/personalize.css (or app/personalize.css for Next.js) and rewrite it with a color palette that fits the user's product. Use HSL CSS custom properties on :root and .dark \u2014 see the existing content for format. The cascade overrides Tailwind v4 @theme defaults.";
|
|
37
|
+
/**
|
|
38
|
+
* Tells the agent to start the dev server via the runtime's
|
|
39
|
+
* `ensure_dev_server` route as STEP 0 — before reading anything else, before
|
|
40
|
+
* making any edits, before polishing. The runtime exposes an idempotent
|
|
41
|
+
* route that auto-installs and starts the dev server in one call; the
|
|
42
|
+
* agent's only job is to fire the route immediately.
|
|
43
|
+
*
|
|
44
|
+
* This instruction has to land in the context message itself (not just in
|
|
45
|
+
* AGENTS.md) and has to be FRONT-LOADED (first instruction, not buried)
|
|
46
|
+
* because:
|
|
47
|
+
* 1. The agent's default tool-use prompt tells it to run package-manager
|
|
48
|
+
* commands directly, which races the runtime and skips the typed error
|
|
49
|
+
* path. The framing has to be loud enough to override that default.
|
|
50
|
+
* 2. Reasoning models (e.g. zai/glm-5.1) tend to over-deliberate. If the
|
|
51
|
+
* instruction is buried, they polish files for many turns before
|
|
52
|
+
* starting the server, and the user sees nothing.
|
|
53
|
+
* 3. Without runtime tracking the user's preview pane never wires up,
|
|
54
|
+
* regardless of whether the dev server is technically running.
|
|
55
|
+
*/
|
|
56
|
+
export declare const ENSURE_DEV_SERVER_INSTRUCTION = "STEP 0 (do this BEFORE anything else, BEFORE reading other files, BEFORE editing): start the dev server. Run this exact command in `bash` immediately: `curl -fsS -X POST \"http://localhost:${SIDECAR_PORT:-9000}/process/ensure-dev-server\" -H \"Content-Type: application/json\" -H \"Authorization: Bearer ${SIDECAR_AUTH_TOKEN}\" -d '{}'`. It is idempotent (safe to call multiple times \u2014 returns the same pid), auto-installs dependencies on first call, and surfaces typed error codes (`WORKSPACE_NOT_FOUND`, `NO_RUNNABLE_PROJECT`, `INSTALL_FAILED`, `DEV_COMMAND_NOT_FOUND`, `DEV_PROCESS_EXITED`, `PORT_BIND_FAILED`) you can react to. The `SIDECAR_PORT` and `SIDECAR_AUTH_TOKEN` environment variables are pre-set in your bash environment \u2014 you do NOT need to look them up or set them. CRITICAL: Do NOT run `pnpm install`, `pnpm dev`, `npm install`, `npm run dev`, `next dev`, `vite`, `cargo run`, or any other dev/install command via `bash` directly \u2014 those bypass the runtime tracking and the user's preview pane will not wire up. After Step 0 returns success, then you can read files and start editing. Subsequent edits hot-reload via HMR; do NOT call this again to restart unless the response says you should.";
|
|
29
57
|
/**
|
|
30
58
|
* Returns a canonical agent-context message for a freshly composed scaffold.
|
|
31
59
|
* Consumers (blueprint-agent etc.) inject this into the agent's first system
|
|
@@ -17,14 +17,42 @@ export const PERSONALIZATION_CSS_INSTRUCTION = 'Before adding features, open src
|
|
|
17
17
|
* Tells an agent how to use the personalize.json mechanism — single source of
|
|
18
18
|
* truth for brand, hero copy, feature names/descriptions, pricing tiers, and
|
|
19
19
|
* footer content. Inject into agent system prompts when the scaffold contains
|
|
20
|
-
* layout layers that ship a personalize.json (
|
|
20
|
+
* layout layers that ship a personalize.json (layout-landing) OR a framework
|
|
21
|
+
* layer that ships one (fullstack-node-ts as of 0.4.6).
|
|
22
|
+
*
|
|
23
|
+
* The instruction is intentionally MANDATORY — "REQUIRED FIRST EDIT", not
|
|
24
|
+
* "if it exists, rewrite it" — because this is the single highest-leverage
|
|
25
|
+
* edit the agent can make. Without it the served preview is the scaffold
|
|
26
|
+
* default and the user sees nothing of their request. Path is intentionally
|
|
27
|
+
* vague ("personalize.json in the workspace") to cover both `personalize.json`
|
|
28
|
+
* at the workspace root (fullstack-ts) and `src/personalize.json` (vite-react).
|
|
21
29
|
*/
|
|
22
|
-
export const PERSONALIZATION_JSON_INSTRUCTION = '
|
|
30
|
+
export const PERSONALIZATION_JSON_INSTRUCTION = 'REQUIRED FIRST EDIT after Step 0: locate and rewrite personalize.json (in the workspace root or under src/, depending on family). It is the SINGLE SOURCE OF TRUTH for brand name, brand tagline, hero eyebrow, hero headline, hero subheadline, and (where present) feature names, pricing tiers, and footer content. The dev server templates the served HTML from this file at request time, so editing it makes the user\'s preview update on the next browser refresh — no restart, no build step. Replace the placeholder content ("Starter Foundry", "Acme", "Build something people want", "Lightning fast", etc.) with copy specific to the user\'s actual product. Keep the schema shape unchanged. This is the single highest-leverage edit you can make in turn 1; do it before writing any new files or features.';
|
|
23
31
|
/**
|
|
24
32
|
* Combined personalization instruction. Use this when injecting scaffold
|
|
25
33
|
* context unless you have a reason to use one mechanism but not the other.
|
|
26
34
|
*/
|
|
27
35
|
export const PERSONALIZATION_INSTRUCTION = `${PERSONALIZATION_JSON_INSTRUCTION} ${PERSONALIZATION_CSS_INSTRUCTION}`;
|
|
36
|
+
/**
|
|
37
|
+
* Tells the agent to start the dev server via the runtime's
|
|
38
|
+
* `ensure_dev_server` route as STEP 0 — before reading anything else, before
|
|
39
|
+
* making any edits, before polishing. The runtime exposes an idempotent
|
|
40
|
+
* route that auto-installs and starts the dev server in one call; the
|
|
41
|
+
* agent's only job is to fire the route immediately.
|
|
42
|
+
*
|
|
43
|
+
* This instruction has to land in the context message itself (not just in
|
|
44
|
+
* AGENTS.md) and has to be FRONT-LOADED (first instruction, not buried)
|
|
45
|
+
* because:
|
|
46
|
+
* 1. The agent's default tool-use prompt tells it to run package-manager
|
|
47
|
+
* commands directly, which races the runtime and skips the typed error
|
|
48
|
+
* path. The framing has to be loud enough to override that default.
|
|
49
|
+
* 2. Reasoning models (e.g. zai/glm-5.1) tend to over-deliberate. If the
|
|
50
|
+
* instruction is buried, they polish files for many turns before
|
|
51
|
+
* starting the server, and the user sees nothing.
|
|
52
|
+
* 3. Without runtime tracking the user's preview pane never wires up,
|
|
53
|
+
* regardless of whether the dev server is technically running.
|
|
54
|
+
*/
|
|
55
|
+
export const ENSURE_DEV_SERVER_INSTRUCTION = 'STEP 0 (do this BEFORE anything else, BEFORE reading other files, BEFORE editing): start the dev server. Run this exact command in `bash` immediately: `curl -fsS -X POST "http://localhost:${SIDECAR_PORT:-9000}/process/ensure-dev-server" -H "Content-Type: application/json" -H "Authorization: Bearer ${SIDECAR_AUTH_TOKEN}" -d \'{}\'`. It is idempotent (safe to call multiple times — returns the same pid), auto-installs dependencies on first call, and surfaces typed error codes (`WORKSPACE_NOT_FOUND`, `NO_RUNNABLE_PROJECT`, `INSTALL_FAILED`, `DEV_COMMAND_NOT_FOUND`, `DEV_PROCESS_EXITED`, `PORT_BIND_FAILED`) you can react to. The `SIDECAR_PORT` and `SIDECAR_AUTH_TOKEN` environment variables are pre-set in your bash environment — you do NOT need to look them up or set them. CRITICAL: Do NOT run `pnpm install`, `pnpm dev`, `npm install`, `npm run dev`, `next dev`, `vite`, `cargo run`, or any other dev/install command via `bash` directly — those bypass the runtime tracking and the user\'s preview pane will not wire up. After Step 0 returns success, then you can read files and start editing. Subsequent edits hot-reload via HMR; do NOT call this again to restart unless the response says you should.';
|
|
28
56
|
/**
|
|
29
57
|
* Returns a canonical agent-context message for a freshly composed scaffold.
|
|
30
58
|
* Consumers (blueprint-agent etc.) inject this into the agent's first system
|
|
@@ -36,7 +64,11 @@ export function getComposedScaffoldContext(result) {
|
|
|
36
64
|
const family = result.components.family;
|
|
37
65
|
return [
|
|
38
66
|
`A working project scaffold has been composed in /home/agent by starter-foundry (family: ${family}).`,
|
|
39
|
-
|
|
67
|
+
// Step 0: dev server. Front-loaded BEFORE any other instruction so the
|
|
68
|
+
// agent's first action is "make the user see a preview ASAP", not
|
|
69
|
+
// "polish files for 5 minutes then forget to start the server".
|
|
70
|
+
ENSURE_DEV_SERVER_INSTRUCTION,
|
|
71
|
+
'After Step 0, read /home/agent/AGENTS.md — it contains the architecture notes, suggested pages and components, design rules, and personalization instructions.',
|
|
40
72
|
PERSONALIZATION_INSTRUCTION,
|
|
41
73
|
'If shadcn/ui components are present in src/components/ui/, use them instead of raw HTML.',
|
|
42
74
|
'Make targeted edits to extend the scaffold for the user request — do NOT recreate files that already exist.',
|
|
@@ -52,7 +84,10 @@ export function getComposedScaffoldContext(result) {
|
|
|
52
84
|
export function getCuratedScaffoldContext() {
|
|
53
85
|
return [
|
|
54
86
|
'A working project scaffold is set up in /home/agent.',
|
|
55
|
-
|
|
87
|
+
// Step 0: dev server. Front-loaded BEFORE any other instruction so the
|
|
88
|
+
// agent's first action is "make the user see a preview ASAP".
|
|
89
|
+
ENSURE_DEV_SERVER_INSTRUCTION,
|
|
90
|
+
'After Step 0, read /home/agent/AGENTS.md if present — it contains the build plan and personalization instructions.',
|
|
56
91
|
PERSONALIZATION_INSTRUCTION,
|
|
57
92
|
'Make the minimum set of file edits needed to satisfy the user request.',
|
|
58
93
|
'Do not spend time on broad repo exploration.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-context.js","sourceRoot":"","sources":["../../src/lib/agent-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAC1C,qSAAqS,CAAA;AAEvS
|
|
1
|
+
{"version":3,"file":"agent-context.js","sourceRoot":"","sources":["../../src/lib/agent-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAC1C,qSAAqS,CAAA;AAEvS;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAC3C,gyBAAgyB,CAAA;AAElyB;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GACtC,GAAG,gCAAgC,IAAI,+BAA+B,EAAE,CAAA;AAE1E;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,6BAA6B,GACxC,wrCAAwrC,CAAA;AAE1rC;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAqB;IAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAA;IACvC,OAAO;QACL,2FAA2F,MAAM,IAAI;QACrG,uEAAuE;QACvE,kEAAkE;QAClE,gEAAgE;QAChE,6BAA6B;QAC7B,gKAAgK;QAChK,2BAA2B;QAC3B,0FAA0F;QAC1F,6GAA6G;QAC7G,+EAA+E;KAChF,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB;IACvC,OAAO;QACL,sDAAsD;QACtD,uEAAuE;QACvE,8DAA8D;QAC9D,6BAA6B;QAC7B,oHAAoH;QACpH,2BAA2B;QAC3B,wEAAwE;QACxE,8CAA8C;QAC9C,2FAA2F;QAC3F,4HAA4H;KAC7H,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACb,CAAC"}
|
package/dist/lib/compose.js
CHANGED
|
@@ -4,11 +4,18 @@ import { generateBuildPlan } from './build-plan.js';
|
|
|
4
4
|
import { ensureDir, sanitizePackageName, writeJson } from './fs.js';
|
|
5
5
|
import { buildVariables, resolveComponents, resolveTemplateObject } from './registry.js';
|
|
6
6
|
import { emit, traced } from './telemetry.js';
|
|
7
|
+
const HTML_LIKE_EXTS = new Set(['.tsx', '.jsx', '.html']);
|
|
8
|
+
function escapeHtmlChars(value) {
|
|
9
|
+
return value.replace(/</g, '<').replace(/>/g, '>');
|
|
10
|
+
}
|
|
7
11
|
async function renderFile(sourcePath, targetPath, variables) {
|
|
8
12
|
const raw = await fs.readFile(sourcePath, 'utf8');
|
|
13
|
+
const ext = path.extname(targetPath).toLowerCase();
|
|
14
|
+
const needsEscape = HTML_LIKE_EXTS.has(ext);
|
|
9
15
|
const rendered = raw.replace(/\{\{(\w+)\}\}/g, (_match, key) => {
|
|
10
16
|
if (key in variables) {
|
|
11
|
-
|
|
17
|
+
const val = String(variables[key]);
|
|
18
|
+
return needsEscape ? escapeHtmlChars(val) : val;
|
|
12
19
|
}
|
|
13
20
|
return '';
|
|
14
21
|
});
|
|
@@ -151,15 +158,17 @@ async function composeStarterInner(spec, outDir) {
|
|
|
151
158
|
await writeJson(path.join(outDir, '.starter-foundry', 'compose-report.json'), composeReport);
|
|
152
159
|
// Merge media manifests from all layers into a single root manifest
|
|
153
160
|
const mediaSlots = await mergeMediaManifests(outDir);
|
|
154
|
-
// Generate AGENTS.md — per-project agent instructions
|
|
161
|
+
// Generate AGENTS.md — per-project agent instructions (OpenCode, Codex, etc.)
|
|
155
162
|
const agentsMd = buildAgentsMd(spec, components, composeReport.contextHints, mediaSlots);
|
|
156
163
|
await fs.writeFile(path.join(outDir, 'AGENTS.md'), `${agentsMd}\n`, 'utf8');
|
|
164
|
+
// Generate CLAUDE.md — Claude Code specific instructions (same content, different filename)
|
|
165
|
+
await fs.writeFile(path.join(outDir, 'CLAUDE.md'), `${agentsMd}\n`, 'utf8');
|
|
157
166
|
// Generate llms.txt — machine-readable project description for AI agents
|
|
158
167
|
const llmsTxt = buildLlmsTxt(spec, components, composeReport.contextHints);
|
|
159
168
|
await fs.writeFile(path.join(outDir, 'llms.txt'), `${llmsTxt}\n`, 'utf8');
|
|
160
169
|
return {
|
|
161
170
|
outDir,
|
|
162
|
-
filesWritten: [...new Set([...filesWritten, 'AGENTS.md', 'llms.txt'])].sort(),
|
|
171
|
+
filesWritten: [...new Set([...filesWritten, 'AGENTS.md', 'CLAUDE.md', 'llms.txt'])].sort(),
|
|
163
172
|
composeReportPath: path.join(outDir, '.starter-foundry', 'compose-report.json'),
|
|
164
173
|
components: composeReport.components,
|
|
165
174
|
};
|
|
@@ -195,6 +204,13 @@ function buildAgentsMd(spec, components, contextHints, mediaSlots = []) {
|
|
|
195
204
|
if (buildPlan.goal) {
|
|
196
205
|
lines.push(buildPlan.goal, '');
|
|
197
206
|
}
|
|
207
|
+
// STEP 0 — Start the dev server. This MUST be the first H2 in AGENTS.md
|
|
208
|
+
// because agents that pattern-match on "find the run command" stop reading
|
|
209
|
+
// after the first thing that looks like one. The runtime exposes a single
|
|
210
|
+
// canonical idempotent route for this; do not let the agent improvise with
|
|
211
|
+
// bare `pnpm install`/`pnpm dev` calls (they race the agent's edits, have
|
|
212
|
+
// no error taxonomy, and aren't tracked by the runtime).
|
|
213
|
+
lines.push('## Step 0 — Start the dev server (do this FIRST)', '', 'Before reading anything else in this file, run this command in `bash` to start the dev server. The user is waiting for a preview. This is idempotent — safe to call multiple times (returns the same pid). It auto-installs dependencies on first call, so you do NOT need to run `pnpm install` separately. Subsequent edits hot-reload via HMR; do NOT call this again to restart unless the response says you should.', '', '```bash', 'curl -fsS -X POST "http://localhost:${SIDECAR_PORT:-9000}/process/ensure-dev-server" -H "Content-Type: application/json" -H "Authorization: Bearer ${SIDECAR_AUTH_TOKEN}" -d \'{}\'', '```', '', 'The `SIDECAR_PORT` and `SIDECAR_AUTH_TOKEN` env vars are pre-set in your bash environment — you do NOT need to look them up.', '', 'CRITICAL: Do NOT run `pnpm install`, `pnpm dev`, `npm install`, `npm run dev`, `next dev`, `vite`, `cargo run`, or any other dev/install command via `bash` directly. The command above handles all of that AND tracks the dev process for the runtime so the user\'s preview pane wires up automatically. Running them directly bypasses the runtime tracking and the user will not see a preview.', '', 'The response is JSON: `{ "success": true, "data": { "pid": ..., "family": "node-pnpm", "command": "...", "startedNow": true|false, "installRan": true|false } }`. On error: `{ "success": false, "error": { "code": "...", "message": "..." } }` with codes `WORKSPACE_NOT_FOUND | NO_RUNNABLE_PROJECT | INSTALL_FAILED | DEV_COMMAND_NOT_FOUND | DEV_PROCESS_EXITED | PORT_BIND_FAILED`. React to each: `INSTALL_FAILED` → read the `log` field, fix `package.json`, call again; `DEV_COMMAND_NOT_FOUND` → add a `dev` script to `package.json`, call again; `DEV_PROCESS_EXITED` → read `log`, fix the bug in `src/`, call again.', '');
|
|
198
214
|
lines.push('## What\'s here', '', `This project was scaffolded by starter-foundry. The user\'s prompt drove the choices below — read their prompt first, it takes priority over everything in this file.`, '', `- **Family:** \`${spec.family}\``, `- **Layers:** ${components.layers.map((l) => `\`${l.group}:${l.id}\``).join(', ')}`);
|
|
199
215
|
if (components.partner) {
|
|
200
216
|
lines.push(`- **Partner:** \`${components.partner.id}\``);
|
|
@@ -205,14 +221,11 @@ function buildAgentsMd(spec, components, contextHints, mediaSlots = []) {
|
|
|
205
221
|
buildPlan.architecture.forEach((a) => lines.push(`- ${a}`));
|
|
206
222
|
lines.push('');
|
|
207
223
|
}
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
contextHints.commands.forEach((c) => lines.push(c));
|
|
212
|
-
lines.push('```', '');
|
|
213
|
-
}
|
|
224
|
+
// Key files only — no install/dev commands here, those are handled by
|
|
225
|
+
// Step 0 above. Listing them in a "Getting started" block was creating
|
|
226
|
+
// a competing recipe the agent followed instead of the runtime route.
|
|
214
227
|
if (contextHints.entrypoints.length > 0) {
|
|
215
|
-
lines.push(
|
|
228
|
+
lines.push('## Key files', '', contextHints.entrypoints.map((e) => `- \`${e}\``).join('\n'), '');
|
|
216
229
|
}
|
|
217
230
|
if (buildPlan.pages.length > 0 || buildPlan.apiRoutes.length > 0 || buildPlan.components.length > 0) {
|
|
218
231
|
lines.push('## Suggested build plan', '', 'These are starting points — adapt them to the user\'s actual needs.', '');
|
package/dist/lib/compose.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/lib/compose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACxF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAK7C,KAAK,UAAU,UAAU,CAAC,UAAkB,EAAE,UAAkB,EAAE,SAAkC;IAClG,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IACjD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,GAAW,EAAE,EAAE;QACrE,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;QAC/B,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,CAAA;IACF,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;IACzC,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;AAClD,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACrD,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AACvB,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAsB,EAAE,QAAgB,EAAE,WAAmB;IACzF,MAAM,KAAK,GAAG,SAA0B,CAAA;IACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAgC,CAAA;IACvD,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACtG,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAA;IAChE,MAAM,UAAU,GAAG,YAAY,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAA;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC,CAAA;AACrF,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAsB,EAAE,WAAmB;IACxE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5C,GAAG,IAAI;QACP,MAAM,EAAE,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC;QACjE,KAAK,EACH,SAAS,CAAC,IAAI,KAAK,OAAO;YACxB,CAAC,CAAC,GAAI,SAA2B,CAAC,KAAK,IAAI,SAAS,CAAC,EAAE,EAAE;YACzD,CAAC,CAAC,SAAS,CAAC,EAAE;KACnB,CAAC,CAAC,CAAA;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAgG;IAC3H,MAAM,KAAK,GAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IACtE,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,uBAAuB,CAC9B,UAAgG,EAChG,SAAkC;IAElC,OAAO,mBAAmB,CAAC,UAAU,CAAC,CAAC,OAAO,CAC5C,CAAC,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,gBAAgB,IAAI,EAAE,EAAE,SAAS,CAAsB,CACvG,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,UAAgG,EAChG,SAAkC;IAElC,MAAM,MAAM,GAA2B;QACrC,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,IAAa;QACtB,eAAe,EAAE,EAAE;KACpB,CAAA;IAED,KAAK,MAAM,SAAS,IAAI,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,qBAAqB,CAAC,SAAS,CAAC,YAAY,IAAI,EAAE,EAAE,SAAS,CAAiB,CAAA;QAC5F,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAA;QAC/C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAA;QACrD,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAA;QAC7D,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAgB,CAAA;QACzC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC/C,MAAM,CAAC,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;IACrD,MAAM,CAAC,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAA;IAE7D,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAyC;IAC1F,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QACvE,OAAO,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAA;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,IAAI,CAAA;IACtE,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM;QACN,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;QAC7B,QAAQ;QACR,UAAU;KACX,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,MAAc;IAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;IAC7D,IAAI,QAAQ,GAAyB,IAAI,CAAA;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;QACnD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAA;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;IAED,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM;QAAE,OAAO,EAAE,CAAA;IAEnD,0CAA0C;IAC1C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAqB,CAAA;IACzC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IACzB,CAAC;IACD,MAAM,MAAM,GAAkB,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAA;IAC3D,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAChF,OAAO,MAAM,CAAC,KAAK,CAAA;AACrB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAiB,EAAE,MAAc;IAClE,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChD,MAAM,SAAS,GAAG,cAAc,CAC9B;QACE,GAAG,IAAI;QACP,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC;KACvE,EACD,UAAU,CACX,CAAA;IACD,MAAM,cAAc,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;IACtD,MAAM,aAAa,GAA2B,EAAE,CAAA;IAChD,MAAM,YAAY,GAAa,EAAE,CAAA;IACjC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAE3C,MAAM,SAAS,CAAC,MAAM,CAAC,CAAA;IAEvB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;IACpC,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;QAC3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAW,CAAA;YAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;YAEpD,oCAAoC;YACpC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,cAAc,EAAE,CAAC;gBACnH,MAAM,IAAI,KAAK,CAAC,eAAe,cAAc,gCAAgC,CAAC,CAAA;YAChF,CAAC;YAED,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;YACpD,aAAa,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;YAC1C,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG;QACpB,IAAI;QACJ,UAAU,EAAE;YACV,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE;YAC5B,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;YACtE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,IAAI;YACvC,KAAK,EAAE,UAAU,CAAC,cAAc;SACjC;QACD,SAAS;QACT,aAAa;QACb,gBAAgB,EAAE,uBAAuB,CAAC,UAAU,EAAE,SAAS,CAAC;QAChE,YAAY,EAAE,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC;KACzD,CAAA;IAED,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAA;IACtD,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,qBAAqB,CAAC,EAAE,aAAa,CAAC,CAAA;IAE5F,oEAAoE;IACpE,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAEpD,sDAAsD;IACtD,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IACxF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,GAAG,QAAQ,IAAI,EAAE,MAAM,CAAC,CAAA;IAE3E,yEAAyE;IACzE,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC1E,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,OAAO,IAAI,EAAE,MAAM,CAAC,CAAA;IAEzE,OAAO;QACL,MAAM;QACN,YAAY,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;QAC7E,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,qBAAqB,CAAC;QAC/E,UAAU,EAAE,aAAa,CAAC,UAAU;KACrC,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CACnB,IAAiB,EACjB,UAA8B,EAC9B,YAAoD;IAEpD,MAAM,KAAK,GAAG;QACZ,KAAK,IAAI,CAAC,WAAW,EAAE;QACvB,EAAE;QACF,KAAK,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE;QACpC,EAAE;QACF,UAAU;QACV,aAAa,IAAI,CAAC,MAAM,EAAE;QAC1B,aAAa,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC1E,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;QACjE,EAAE;QACF,iBAAiB;QACjB,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,EAAE;QACF,aAAa;QACb,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,EAAE;QACF,qBAAqB;QACrB,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;KACnD,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,SAAS,aAAa,CACpB,IAAiB,EACjB,UAA8B,EAC9B,YAAoD,EACpD,aAA0B,EAAE;IAE5B,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACrD,MAAM,KAAK,GAAa;QACtB,aAAa;QACb,EAAE;KACH,CAAA;IAED,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,IAAI,CACR,iBAAiB,EACjB,EAAE,EACF,uKAAuK,EACvK,EAAE,EACF,mBAAmB,IAAI,CAAC,MAAM,IAAI,EAClC,iBAAiB,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrF,CAAA;IACD,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;IAC3D,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;QACpC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,IAAI,CACR,oBAAoB,EACpB,EAAE,CACH,CAAA;IACD,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACrB,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACnD,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACvB,CAAC;IACD,IAAI,YAAY,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,cAAc,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC5F,CAAC;IAED,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpG,KAAK,CAAC,IAAI,CACR,yBAAyB,EACzB,EAAE,EACF,qEAAqE,EACrE,EAAE,CACH,CAAA;QACD,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACxF,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrG,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACvG,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACxG,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7G,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,SAAS,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CACR,UAAU,EACV,EAAE,EACF,4EAA4E,EAC5E,mEAAmE,EACnE,EAAE,EACF,kCAAkC,EAClC,kCAAkC,CACnC,CAAA;QACD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;QACvG,CAAC;QACD,KAAK,CAAC,IAAI,CACR,EAAE,EACF,2EAA2E,EAC3E,EAAE,CACH,CAAA;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CACR,6BAA6B,EAC7B,EAAE,EACF,+DAA+D,EAC/D,EAAE,EACF,2HAA2H,EAC3H,gIAAgI,EAChI,qGAAqG,EACrG,sFAAsF,CACvF,CAAA;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/lib/compose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AACxF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAK7C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAEzD,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;AAC1D,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,UAAkB,EAAE,UAAkB,EAAE,SAAkC;IAClG,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAA;IAClD,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,GAAW,EAAE,EAAE;QACrE,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAA;YAClC,OAAO,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QACjD,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,CAAA;IACF,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;IACzC,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;AAClD,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACrD,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AACvB,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAsB,EAAE,QAAgB,EAAE,WAAmB;IACzF,MAAM,KAAK,GAAG,SAA0B,CAAA;IACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAgC,CAAA;IACvD,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IACtG,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAA;IAChE,MAAM,UAAU,GAAG,YAAY,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAA;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC,CAAA;AACrF,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAsB,EAAE,WAAmB;IACxE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5C,GAAG,IAAI;QACP,MAAM,EAAE,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC;QACjE,KAAK,EACH,SAAS,CAAC,IAAI,KAAK,OAAO;YACxB,CAAC,CAAC,GAAI,SAA2B,CAAC,KAAK,IAAI,SAAS,CAAC,EAAE,EAAE;YACzD,CAAC,CAAC,SAAS,CAAC,EAAE;KACnB,CAAC,CAAC,CAAA;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAgG;IAC3H,MAAM,KAAK,GAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IACtE,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,uBAAuB,CAC9B,UAAgG,EAChG,SAAkC;IAElC,OAAO,mBAAmB,CAAC,UAAU,CAAC,CAAC,OAAO,CAC5C,CAAC,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,SAAS,CAAC,gBAAgB,IAAI,EAAE,EAAE,SAAS,CAAsB,CACvG,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,UAAgG,EAChG,SAAkC;IAElC,MAAM,MAAM,GAA2B;QACrC,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,IAAa;QACtB,eAAe,EAAE,EAAE;KACpB,CAAA;IAED,KAAK,MAAM,SAAS,IAAI,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,qBAAqB,CAAC,SAAS,CAAC,YAAY,IAAI,EAAE,EAAE,SAAS,CAAiB,CAAA;QAC5F,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAA;QAC/C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAA;QACrD,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAA;QAC7D,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAgB,CAAA;QACzC,CAAC;IACH,CAAC;IAED,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC/C,MAAM,CAAC,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;IACrD,MAAM,CAAC,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAA;IAE7D,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAyC;IAC1F,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QACvE,OAAO,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAA;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,IAAI,CAAA;IACtE,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM;QACN,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;QAC7B,QAAQ;QACR,UAAU;KACX,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,MAAc;IAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;IAC7D,IAAI,QAAQ,GAAyB,IAAI,CAAA;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;QACnD,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAA;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;IAED,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM;QAAE,OAAO,EAAE,CAAA;IAEnD,0CAA0C;IAC1C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAqB,CAAA;IACzC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;IACzB,CAAC;IACD,MAAM,MAAM,GAAkB,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAA;IAC3D,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAChF,OAAO,MAAM,CAAC,KAAK,CAAA;AACrB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAiB,EAAE,MAAc;IAClE,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChD,MAAM,SAAS,GAAG,cAAc,CAC9B;QACE,GAAG,IAAI;QACP,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC;KACvE,EACD,UAAU,CACX,CAAA;IACD,MAAM,cAAc,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAA;IACtD,MAAM,aAAa,GAA2B,EAAE,CAAA;IAChD,MAAM,YAAY,GAAa,EAAE,CAAA;IACjC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAE3C,MAAM,SAAS,CAAC,MAAM,CAAC,CAAA;IAEvB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;IACpC,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;QAC3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAW,CAAA;YAC9E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;YAEpD,oCAAoC;YACpC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,cAAc,EAAE,CAAC;gBACnH,MAAM,IAAI,KAAK,CAAC,eAAe,cAAc,gCAAgC,CAAC,CAAA;YAChF,CAAC;YAED,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;YACpD,aAAa,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;YAC1C,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG;QACpB,IAAI;QACJ,UAAU,EAAE;YACV,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE;YAC5B,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;YACtE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,IAAI;YACvC,KAAK,EAAE,UAAU,CAAC,cAAc;SACjC;QACD,SAAS;QACT,aAAa;QACb,gBAAgB,EAAE,uBAAuB,CAAC,UAAU,EAAE,SAAS,CAAC;QAChE,YAAY,EAAE,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC;KACzD,CAAA;IAED,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAA;IACtD,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,qBAAqB,CAAC,EAAE,aAAa,CAAC,CAAA;IAE5F,oEAAoE;IACpE,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAA;IAEpD,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IACxF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,GAAG,QAAQ,IAAI,EAAE,MAAM,CAAC,CAAA;IAE3E,4FAA4F;IAC5F,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,GAAG,QAAQ,IAAI,EAAE,MAAM,CAAC,CAAA;IAE3E,yEAAyE;IACzE,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,CAAA;IAC1E,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,OAAO,IAAI,EAAE,MAAM,CAAC,CAAA;IAEzE,OAAO;QACL,MAAM;QACN,YAAY,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;QAC1F,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,qBAAqB,CAAC;QAC/E,UAAU,EAAE,aAAa,CAAC,UAAU;KACrC,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CACnB,IAAiB,EACjB,UAA8B,EAC9B,YAAoD;IAEpD,MAAM,KAAK,GAAG;QACZ,KAAK,IAAI,CAAC,WAAW,EAAE;QACvB,EAAE;QACF,KAAK,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE;QACpC,EAAE;QACF,UAAU;QACV,aAAa,IAAI,CAAC,MAAM,EAAE;QAC1B,aAAa,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC1E,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;QACjE,EAAE;QACF,iBAAiB;QACjB,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9C,EAAE;QACF,aAAa;QACb,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,EAAE;QACF,qBAAqB;QACrB,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;KACnD,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,SAAS,aAAa,CACpB,IAAiB,EACjB,UAA8B,EAC9B,YAAoD,EACpD,aAA0B,EAAE;IAE5B,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACrD,MAAM,KAAK,GAAa;QACtB,aAAa;QACb,EAAE;KACH,CAAA;IAED,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAChC,CAAC;IAED,wEAAwE;IACxE,2EAA2E;IAC3E,0EAA0E;IAC1E,2EAA2E;IAC3E,0EAA0E;IAC1E,yDAAyD;IACzD,KAAK,CAAC,IAAI,CACR,kDAAkD,EAClD,EAAE,EACF,0ZAA0Z,EAC1Z,EAAE,EACF,SAAS,EACT,qLAAqL,EACrL,KAAK,EACL,EAAE,EACF,8HAA8H,EAC9H,EAAE,EACF,qYAAqY,EACrY,EAAE,EACF,qmBAAqmB,EACrmB,EAAE,CACH,CAAA;IAED,KAAK,CAAC,IAAI,CACR,iBAAiB,EACjB,EAAE,EACF,uKAAuK,EACvK,EAAE,EACF,mBAAmB,IAAI,CAAC,MAAM,IAAI,EAClC,iBAAiB,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrF,CAAA;IACD,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;IAC3D,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;QACpC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,sEAAsE;IACtE,uEAAuE;IACvE,sEAAsE;IACtE,IAAI,YAAY,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,IAAI,CACR,cAAc,EACd,EAAE,EACF,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5D,EAAE,CACH,CAAA;IACH,CAAC;IAED,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpG,KAAK,CAAC,IAAI,CACR,yBAAyB,EACzB,EAAE,EACF,qEAAqE,EACrE,EAAE,CACH,CAAA;QACD,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACxF,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrG,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACvG,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACxG,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,uBAAuB,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7G,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,SAAS,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CACR,UAAU,EACV,EAAE,EACF,4EAA4E,EAC5E,mEAAmE,EACnE,EAAE,EACF,kCAAkC,EAClC,kCAAkC,CACnC,CAAA;QACD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,OAAO,IAAI,CAAC,CAAA;QACvG,CAAC;QACD,KAAK,CAAC,IAAI,CACR,EAAE,EACF,2EAA2E,EAC3E,EAAE,CACH,CAAA;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CACR,6BAA6B,EAC7B,EAAE,EACF,+DAA+D,EAC/D,EAAE,EACF,2HAA2H,EAC3H,gIAAgI,EAChI,qGAAqG,EACrG,sFAAsF,CACvF,CAAA;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC"}
|
package/dist/lib/workspace.js
CHANGED
|
@@ -38,7 +38,21 @@ function buildAgentsMd(workspaceReport) {
|
|
|
38
38
|
return [
|
|
39
39
|
`# AGENTS.md`,
|
|
40
40
|
'',
|
|
41
|
-
'
|
|
41
|
+
'## Step 0 — Start the dev server (do this FIRST)',
|
|
42
|
+
'',
|
|
43
|
+
'Before reading anything else in this file, run this command in `bash` to start the primary project\'s dev server. The user is waiting for a preview. This is idempotent — safe to call multiple times (returns the same pid). It auto-installs dependencies on first call, so you do NOT need to run `pnpm install` separately. Subsequent edits hot-reload via HMR; do NOT call this again to restart unless the response says you should.',
|
|
44
|
+
'',
|
|
45
|
+
'```bash',
|
|
46
|
+
'curl -fsS -X POST "http://localhost:${SIDECAR_PORT:-9000}/process/ensure-dev-server" -H "Content-Type: application/json" -H "Authorization: Bearer ${SIDECAR_AUTH_TOKEN}" -d \'{}\'',
|
|
47
|
+
'```',
|
|
48
|
+
'',
|
|
49
|
+
'The `SIDECAR_PORT` and `SIDECAR_AUTH_TOKEN` env vars are pre-set in your bash environment — you do NOT need to look them up.',
|
|
50
|
+
'',
|
|
51
|
+
'CRITICAL: Do NOT run `pnpm install`, `pnpm dev`, `npm install`, `npm run dev`, `next dev`, `vite`, `cargo run`, or any other dev/install command via `bash` directly. The command above handles all of that AND tracks the dev process for the runtime so the user\'s preview pane wires up automatically. Running them directly bypasses the runtime tracking and the user will not see a preview.',
|
|
52
|
+
'',
|
|
53
|
+
'The response is JSON with `{ success, data: { pid, family, command, startedNow, installRan } }` on success or `{ success: false, error: { code, message, log? } }` on failure. Error codes: `WORKSPACE_NOT_FOUND | NO_RUNNABLE_PROJECT | INSTALL_FAILED | DEV_COMMAND_NOT_FOUND | DEV_PROCESS_EXITED | PORT_BIND_FAILED`. Read the `log` field on failure to find what to fix, then call again.',
|
|
54
|
+
'',
|
|
55
|
+
'Read `PROJECT.md` first after Step 0.',
|
|
42
56
|
`Primary project is \`${workspaceReport.launchPlan.primaryProjectId}\`. Start there unless blocked.`,
|
|
43
57
|
'Build on top of the prepared workspace. Do not replace architecture from zero without a concrete blocker.',
|
|
44
58
|
'Prefer validated commands and known entrypoints before broad repo exploration.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/lib/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACtG,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AA4C/C,SAAS,cAAc,CAAC,IAAmB,EAAE,eAAgC;IAC3E,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,CAC/C,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,OAAO,CAAC,IAAI,WAAW,OAAO,CAAC,UAAU,CAAC,MAAM,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,GAAG,CACvH,CAAA;IAED,OAAO;QACL,KAAK,IAAI,CAAC,aAAa,EAAE;QACzB,EAAE;QACF,YAAY;QACZ,IAAI,CAAC,UAAU,IAAI,0CAA0C;QAC7D,EAAE;QACF,gBAAgB;QAChB,wBAAwB,eAAe,CAAC,UAAU,CAAC,gBAAgB,IAAI;QACvE,yBAAyB,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,WAAW,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,IAAI;QACtI,oCAAoC,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ,IAAI;QAC3F,EAAE;QACF,aAAa;QACb,GAAG,YAAY;QACf,EAAE;QACF,eAAe;QACf,eAAe,CAAC,UAAU,CAAC,mBAAmB;QAC9C,EAAE;QACF,UAAU;QACV,6DAA6D;QAC7D,2EAA2E;KAC5E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,SAAS,aAAa,CAAC,eAAgC;IACrD,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QACjE,MAAM,OAAO,CAAC,EAAE,EAAE;QAClB,aAAa,OAAO,CAAC,IAAI,IAAI;QAC7B,eAAe,OAAO,CAAC,UAAU,CAAC,MAAM,IAAI;QAC5C,kBAAkB,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE;QACzF,yBAAyB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE;KAC9F,CAAC,CAAA;IAEF,OAAO;QACL,aAAa;QACb,EAAE;QACF,0BAA0B;QAC1B,wBAAwB,eAAe,CAAC,UAAU,CAAC,gBAAgB,iCAAiC;QACpG,2GAA2G;QAC3G,gFAAgF;QAChF,EAAE;QACF,GAAG,YAAY;KAChB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,CAAC;AAED,SAAS,eAAe,CAAC,IAAmB,EAAE,QAAyB;IACrE,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE,gBAAgB,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,KAAK,CAAA;IACtF,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,gBAAgB,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAA;IACjG,MAAM,OAAO,GAAG,cAAc,EAAE,OAAO,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IAEpE,OAAO;QACL,gBAAgB;QAChB,eAAe,EAAE;YACf,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;YACnF,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,EAAE,IAAI,IAAI,OAAO,EAAE,IAAI,IAAI,GAAG;YACpE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,EAAE,IAAI,IAAK,OAAO,EAAE,IAAsB,IAAI,IAAI;YACxF,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,EAAE,QAAQ,IAAI,IAAI;SAC7D;QACD,mBAAmB,EACjB,IAAI,CAAC,UAAU,EAAE,mBAAmB;YACpC,kEAAkE;KACrE,CAAA;AACH,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,IAAmB,EACnB,MAAc,EACd,eAAgC;IAEhC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACzG,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,GAAG,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACjG,MAAM,YAAY,GAAG,yBAAyB,CAAC,eAAe,CAAC,CAAA;IAC/D,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,wBAAwB,CAAC,EAAE,GAAG,YAAY,IAAI,EAAE,MAAM,CAAC,CAAA;IAC5F,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;IACtG,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,uBAAuB,CAAC,EAAE,eAAe,CAAC,CAAA;AAClG,CAAC;AAED,SAAS,yBAAyB,CAAC,eAAgC;IACjE,MAAM,KAAK,GAAG;QACZ,uBAAuB;QACvB,EAAE;QACF,8EAA8E;QAC9E,EAAE;QACF,aAAa;QACb,EAAE;KACH,CAAA;IAED,KAAK,MAAM,OAAO,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,EAAE,OAAO,OAAO,CAAC,IAAI,KAAK,CAAC,CAAA;QACrD,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAA;QACxD,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrF,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC/E,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,IAAI,CACR,qBAAqB,EACrB,EAAE,EACF,2DAA2D,EAC3D,6EAA6E,EAC7E,qFAAqF,EACrF,wGAAwG,EACxG,EAAE,EACF,kBAAkB,EAClB,EAAE,EACF,wBAAwB,eAAe,CAAC,UAAU,CAAC,gBAAgB,IAAI,EACvE,yBAAyB,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,WAAW,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,IAAI,EACtI,+DAA+D,CAChE,CAAA;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA0C,EAAE,KAAa;IACjF,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,GAAG,CAAC,yBAAyB,CAAC,CAAA;IAC1E,CAAC;IAED,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;QACnD,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAA;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,IAAmB,EACnB,MAAc,EACd,cAA+B;IAE/B,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;IAExD,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;QACnC,UAAU;QACV,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACzC,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;YACrC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC;SACpE,CAAC,CAAC;KACJ,CAAA;AACH,CAAC;AAED,KAAK,UAAU,+BAA+B,CAC5C,IAAmB,EACnB,MAAc,EACd,eAAgC;IAEhC,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QAClD,MAAM,aAAa,GAAG,MAAM,QAAQ,CAClC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,EAAE,qBAAqB,CAAC,CACjE,CAAA;QACD,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,KAAK,EAAE,MAAM,kBAAkB,CAAC,UAAU,CAAC;YAC3C,aAAa,EAAE,aAAa,CAAC,aAAa;YAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;SACjD,CAAA;IACH,CAAC,CAAC,CACH,CAAA;IAED,MAAM,WAAW,GAAG;QAClB,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;QACnC,UAAU,EAAE,eAAe,CAAC,UAAU;QACtC,QAAQ,EAAE,eAAe;QACzB,KAAK,EAAE,MAAM,kBAAkB,CAAC,MAAM,CAAC;QACvC,UAAU,EAAE;YACV,OAAO,EAAE,aAAa,IAAI,CAAC,aAAa,SAAS,eAAe,CAAC,QAAQ,CAAC,MAAM,qBAAqB;YACrG,UAAU,EAAE;gBACV,QAAQ,eAAe,CAAC,UAAU,CAAC,gBAAgB,SAAS;gBAC5D,yDAAyD;gBACzD,mEAAmE;aACpE;SACF;KACF,CAAA;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,wBAAwB,CAAC,CAAA;IACnF,MAAM,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IAEzC,OAAO;QACL,WAAW;QACX,WAAW;KACZ,CAAA;AACH,CAAC;AAYD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EACrC,IAAI,EACJ,MAAM,GAIP;IACC,MAAM,SAAS,CAAC,MAAM,CAAC,CAAA;IACvB,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAA;IAEtD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IACpD,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE,gBAAgB,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IAE7E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QACrD,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;QACtC,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAA;QACzF,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,CAAA;QACrE,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAgB,aAAa,CAAC,iBAAiB,CAAC,CAAA;QACpF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAA;IACpE,CAAC,CAAC,CACH,CAAA;IAED,IAAI,uBAAuB,GAAG,CAAC,CAAA;IAC/B,MAAM,cAAc,GAAoB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAAE,EAAE;QACnH,IAAI,OAAO,CAAC,EAAE,KAAK,gBAAgB;YAAE,uBAAuB,GAAG,gBAAgB,CAAA;QAC/E,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,aAAa,CAAC,UAAU;YACpC,YAAY,EAAE,aAAa,CAAC,YAAY;YACxC,iBAAiB,EAAE,aAAa,CAAC,iBAAiB;YAClD,QAAQ,EAAE,aAAa,CAAC,YAAY,CAAC,QAAQ;YAC7C,WAAW,EAAE,aAAa,CAAC,YAAY,CAAC,WAAW;YACnD,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,OAAO,IAAI,IAAI;YACnD,eAAe,EAAE,aAAa,CAAC,YAAY,CAAC,eAAe;SAC5D,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,eAAe,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,CAAA;IAChF,MAAM,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC,CAAA;IAE9D,OAAO;QACL,MAAM;QACN,mBAAmB,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,uBAAuB,CAAC;QACnF,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,CAAC;QACzE,YAAY,EAAE,cAAc,CAAC,MAAM;QACnC,QAAQ,EAAE,eAAe,CAAC,QAAQ;QAClC,UAAU,EAAE,eAAe,CAAC,UAAU;QACtC,uBAAuB;KACxB,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,EAC/C,IAAI,EACJ,MAAM,GAAG,IAAI,EACb,eAAe,GAAG,IAAI,GAKvB;IACC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,aAAa,CAAC,mCAAmC,CAAC,CAAC,CAAA;IACzF,MAAM,OAAO,GAAG,CAAC,MAAM,CAAA;IAEvB,IAAI,CAAC;QACH,IAAI,aAAa,GAAG,eAAe,CAAA;QACnC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAA;YACtD,aAAa,GAAG,MAAM,QAAQ,CAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,CAAC,CACrE,CAAA;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,+BAA+B,CAAC,IAAI,EAAE,YAAY,EAAE,aAAa,CAAC,CAAA;QAEvF,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAA;IACH,CAAC;YAAS,CAAC;QACT,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,SAAS,CAAC,YAAY,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;AACH,CAAC;AA8BD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EACvC,IAAI,EACJ,IAAI,GAAG,CAAC,EACR,MAAM,GAAG,IAAI,GAKd;IACC,MAAM,OAAO,GAAwC,EAAE,CAAA;IAEvD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM;YACtB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YAChE,CAAC,CAAC,MAAM,aAAa,CAAC,iCAAiC,CAAC,CAAA;QAE1D,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;QACtC,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;QACzE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,CAAA;QAE9D,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAkB,aAAa,CAAC,mBAAmB,CAAC,CAAA;QAE1F,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;QACtC,MAAM,OAAO,GAAG,MAAM,0BAA0B,CAAC;YAC/C,IAAI;YACJ,MAAM,EAAE,SAAS;YACjB,eAAe;SAChB,CAAC,CAAA;QACF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,CAAA;QAE9D,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;QACzC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACxD,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC;gBACvC,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC;aAC3C,CAAC,CAAA;YACF,OAAO;gBACL,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM;gBAClE,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM;aACtC,CAAA;QACH,CAAC,CAAC,CACH,CAAA;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC,CAAA;QAElE,6DAA6D;QAC7D,MAAM,iBAAiB,GAAG,aAAa,CAAC,uBAAuB,IAAI,SAAS,CAAA;QAC5E,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAA;QACpE,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,KAAK,GAAG,CAAC;YAChB,MAAM,EAAE,SAAS;YACjB,SAAS;YACT,SAAS;YACT,UAAU;YACV,iBAAiB;YACjB,uBAAuB,EAAE,QAAQ;YACjC,0BAA0B,EAAE,iBAAiB,IAAI,QAAQ;YACzD,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU;YAC3C,YAAY,EAAE,eAAe,CAAC,QAAQ,CAAC,MAAM;YAC7C,WAAW;YACX,WAAW,EAAE,OAAO,CAAC,WAAqB;SAC3C,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,SAAS,CAAC,SAAS,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAA6B;QACvC,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,IAAI;QACJ,OAAO;QACP,OAAO,EAAE;YACP,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;YACzG,sBAAsB,EACpB,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;YACvF,uBAAuB,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,uBAAuB,IAAI,IAAI;YACpE,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAC/B,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CACxF;YACD,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;SACvG;KACF,CAAA;IAED,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,0BAA0B,CAAC,EAAE,MAAM,CAAC,CAAA;IACxE,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../src/lib/workspace.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tangle-network/starter-foundry",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.2",
|
|
4
4
|
"description": "Deterministic project scaffold engine for AI coding platforms",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
"type": "git",
|
|
9
9
|
"url": "https://github.com/tangle-network/starter-foundry.git"
|
|
10
10
|
},
|
|
11
|
+
"publishConfig": {
|
|
12
|
+
"access": "public",
|
|
13
|
+
"registry": "https://registry.npmjs.org/"
|
|
14
|
+
},
|
|
11
15
|
"exports": {
|
|
12
16
|
".": "./dist/lib/index.js",
|
|
13
17
|
"./planner": "./dist/lib/prompt-planner.js",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
},
|
|
69
69
|
{
|
|
70
70
|
"type": "file-exists",
|
|
71
|
-
"path": "src/main.
|
|
71
|
+
"path": "src/main.tsx"
|
|
72
72
|
},
|
|
73
73
|
{
|
|
74
74
|
"type": "file-exists",
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
],
|
|
101
101
|
"entrypoints": [
|
|
102
102
|
"index.html",
|
|
103
|
-
"src/main.
|
|
103
|
+
"src/main.tsx",
|
|
104
104
|
"src/App.tsx",
|
|
105
105
|
"vite.config.ts"
|
|
106
106
|
],
|
|
@@ -3,15 +3,16 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="utf-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
|
-
<title>{{headline}}</title>
|
|
6
|
+
<title>{{brand.name}} — {{hero.headline}}</title>
|
|
7
|
+
<link rel="stylesheet" href="/personalize.css">
|
|
7
8
|
<link rel="stylesheet" href="/styles.css">
|
|
8
9
|
</head>
|
|
9
10
|
<body>
|
|
10
11
|
<main class="shell">
|
|
11
12
|
<section class="hero">
|
|
12
|
-
<p class="eyebrow">{{
|
|
13
|
-
<h1>{{headline}}</h1>
|
|
14
|
-
<p class="subheadline">{{subheadline}}</p>
|
|
13
|
+
<p class="eyebrow">{{hero.eyebrow}}</p>
|
|
14
|
+
<h1>{{hero.headline}}</h1>
|
|
15
|
+
<p class="subheadline">{{hero.subheadline}}</p>
|
|
15
16
|
</section>
|
|
16
17
|
<section class="api-panel">
|
|
17
18
|
<h2>Live API Probe</h2>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* personalize.css — runtime branding
|
|
3
|
+
* ----------------------------------
|
|
4
|
+
*
|
|
5
|
+
* This file is loaded by web/index.html via a plain <link> tag. The dev
|
|
6
|
+
* server serves it as a static asset; the browser fetches the latest
|
|
7
|
+
* version on every page load, so edits show up on the next refresh
|
|
8
|
+
* without needing the Node process to restart.
|
|
9
|
+
*
|
|
10
|
+
* Edit the HSL color tokens below to rebrand the served page. The values
|
|
11
|
+
* here intentionally mirror the `theme.*` block in personalize.json so
|
|
12
|
+
* tools that prefer JSON can drive both files from one source. Keep both
|
|
13
|
+
* in sync if you edit by hand.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
:root {
|
|
17
|
+
--color-primary: hsl(210 90% 56%);
|
|
18
|
+
--color-primary-foreground: hsl(0 0% 100%);
|
|
19
|
+
--color-background: hsl(0 0% 100%);
|
|
20
|
+
--color-foreground: hsl(222 47% 11%);
|
|
21
|
+
--color-accent: hsl(210 90% 96%);
|
|
22
|
+
--color-border: hsl(220 13% 91%);
|
|
23
|
+
--color-muted: hsl(210 16% 95%);
|
|
24
|
+
--color-muted-foreground: hsl(215 16% 47%);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.dark {
|
|
28
|
+
--color-primary: hsl(210 90% 62%);
|
|
29
|
+
--color-primary-foreground: hsl(222 47% 11%);
|
|
30
|
+
--color-background: hsl(222 47% 11%);
|
|
31
|
+
--color-foreground: hsl(210 40% 98%);
|
|
32
|
+
--color-accent: hsl(217 33% 17%);
|
|
33
|
+
--color-border: hsl(217 33% 17%);
|
|
34
|
+
--color-muted: hsl(217 33% 17%);
|
|
35
|
+
--color-muted-foreground: hsl(215 20% 65%);
|
|
36
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_meta": {
|
|
3
|
+
"doc": "Edit this file to customize all branding and hero copy on the served page. The dev server reads this file fresh on every request to /, substitutes the values into web/index.html, and returns the rendered HTML. No restart needed — your edits are visible on the next browser refresh. Agents personalizing the scaffold should rewrite this file based on the user's actual product.",
|
|
4
|
+
"version": 1
|
|
5
|
+
},
|
|
6
|
+
"brand": {
|
|
7
|
+
"name": "Starter Foundry",
|
|
8
|
+
"tagline": "A fullstack starter you can personalize."
|
|
9
|
+
},
|
|
10
|
+
"hero": {
|
|
11
|
+
"eyebrow": "scaffold",
|
|
12
|
+
"headline": "Starter Foundry Fullstack App",
|
|
13
|
+
"subheadline": "A live web shell plus a typed API seam for the agent to extend."
|
|
14
|
+
},
|
|
15
|
+
"theme": {
|
|
16
|
+
"_doc": "Optional accent color for the page. Read by personalize.css via CSS custom properties. Use HSL space-separated values for compatibility with hsl() consumers.",
|
|
17
|
+
"primary": "210 90% 56%",
|
|
18
|
+
"primaryForeground": "0 0% 100%",
|
|
19
|
+
"background": "0 0% 100%",
|
|
20
|
+
"foreground": "222 47% 11%"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -13,6 +13,32 @@ const mimeTypes: Record<string, string> = {
|
|
|
13
13
|
".json": "application/json; charset=utf-8"
|
|
14
14
|
};
|
|
15
15
|
|
|
16
|
+
/**
|
|
17
|
+
* personalize.json schema. The dev server reads this file fresh on every
|
|
18
|
+
* GET / so agent edits land in the next browser refresh — no restart, no
|
|
19
|
+
* import-graph hot reload, no build step. Each section is optional; the
|
|
20
|
+
* scaffold defaults below take over for any missing key.
|
|
21
|
+
*/
|
|
22
|
+
type Personalize = {
|
|
23
|
+
brand?: { name?: string; tagline?: string };
|
|
24
|
+
hero?: { eyebrow?: string; headline?: string; subheadline?: string };
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const PERSONALIZE_DEFAULTS: Required<{
|
|
28
|
+
brand: Required<NonNullable<Personalize["brand"]>>;
|
|
29
|
+
hero: Required<NonNullable<Personalize["hero"]>>;
|
|
30
|
+
}> = {
|
|
31
|
+
brand: {
|
|
32
|
+
name: "{{headline}}",
|
|
33
|
+
tagline: "{{subheadline}}"
|
|
34
|
+
},
|
|
35
|
+
hero: {
|
|
36
|
+
eyebrow: "{{projectName}}",
|
|
37
|
+
headline: "{{headline}}",
|
|
38
|
+
subheadline: "{{subheadline}}"
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
16
42
|
async function loadOptionalJson(filePath: string, fallback: Record<string, string>) {
|
|
17
43
|
try {
|
|
18
44
|
const source = await fs.readFile(filePath, "utf8");
|
|
@@ -22,6 +48,42 @@ async function loadOptionalJson(filePath: string, fallback: Record<string, strin
|
|
|
22
48
|
}
|
|
23
49
|
}
|
|
24
50
|
|
|
51
|
+
/**
|
|
52
|
+
* Load personalize.json from the workspace root and merge it over the
|
|
53
|
+
* scaffold's compose-time defaults. Returns a flat dot-keyed lookup
|
|
54
|
+
* table the templater can read directly.
|
|
55
|
+
*/
|
|
56
|
+
async function loadPersonalize(): Promise<Record<string, string>> {
|
|
57
|
+
let personalize: Personalize = {};
|
|
58
|
+
try {
|
|
59
|
+
const raw = await fs.readFile(path.join(rootDir, "personalize.json"), "utf8");
|
|
60
|
+
personalize = JSON.parse(raw) as Personalize;
|
|
61
|
+
} catch {
|
|
62
|
+
// No personalize.json — fall through to defaults below.
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const merged = {
|
|
66
|
+
"brand.name": personalize.brand?.name ?? PERSONALIZE_DEFAULTS.brand.name,
|
|
67
|
+
"brand.tagline": personalize.brand?.tagline ?? PERSONALIZE_DEFAULTS.brand.tagline,
|
|
68
|
+
"hero.eyebrow": personalize.hero?.eyebrow ?? PERSONALIZE_DEFAULTS.hero.eyebrow,
|
|
69
|
+
"hero.headline": personalize.hero?.headline ?? PERSONALIZE_DEFAULTS.hero.headline,
|
|
70
|
+
"hero.subheadline": personalize.hero?.subheadline ?? PERSONALIZE_DEFAULTS.hero.subheadline
|
|
71
|
+
};
|
|
72
|
+
return merged;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Substitute `{{key}}` placeholders in `template` from `values`. Keys with
|
|
77
|
+
* dots (e.g. `{{brand.name}}`) are looked up verbatim in the flat table.
|
|
78
|
+
* Unknown keys are left in place so missing data is visible in the
|
|
79
|
+
* rendered page rather than silently dropped.
|
|
80
|
+
*/
|
|
81
|
+
function renderTemplate(template: string, values: Record<string, string>): string {
|
|
82
|
+
return template.replace(/\{\{([\w.]+)\}\}/g, (match, key: string) => {
|
|
83
|
+
return values[key] ?? match;
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
|
|
25
87
|
const server = http.createServer(async (request, response) => {
|
|
26
88
|
const requestUrl = new URL(request.url || "/", `http://127.0.0.1:${port}`);
|
|
27
89
|
|
|
@@ -42,7 +104,49 @@ const server = http.createServer(async (request, response) => {
|
|
|
42
104
|
return;
|
|
43
105
|
}
|
|
44
106
|
|
|
45
|
-
|
|
107
|
+
// GET / and explicit /index.html: render the template with the latest
|
|
108
|
+
// personalize.json. We re-read both files on every request so agent
|
|
109
|
+
// edits show up immediately on the next browser refresh — no HMR,
|
|
110
|
+
// no restart, no build step.
|
|
111
|
+
if (requestUrl.pathname === "/" || requestUrl.pathname === "/index.html") {
|
|
112
|
+
try {
|
|
113
|
+
const [template, values] = await Promise.all([
|
|
114
|
+
fs.readFile(path.join(rootDir, "web", "index.html"), "utf8"),
|
|
115
|
+
loadPersonalize()
|
|
116
|
+
]);
|
|
117
|
+
const rendered = renderTemplate(template, values);
|
|
118
|
+
response.writeHead(200, { "content-type": "text/html; charset=utf-8" });
|
|
119
|
+
response.end(rendered);
|
|
120
|
+
} catch (err) {
|
|
121
|
+
response.writeHead(500, { "content-type": "text/plain; charset=utf-8" });
|
|
122
|
+
response.end(`failed to render index.html: ${(err as Error).message}`);
|
|
123
|
+
}
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// /personalize.css and /personalize.json — agent-editable static assets,
|
|
128
|
+
// served from the workspace root (NOT web/) so a single source-of-truth
|
|
129
|
+
// file works for both the dev server and any post-compose tooling.
|
|
130
|
+
if (
|
|
131
|
+
requestUrl.pathname === "/personalize.css" ||
|
|
132
|
+
requestUrl.pathname === "/personalize.json"
|
|
133
|
+
) {
|
|
134
|
+
try {
|
|
135
|
+
const filePath = path.join(rootDir, requestUrl.pathname.slice(1));
|
|
136
|
+
const content = await fs.readFile(filePath);
|
|
137
|
+
response.writeHead(200, {
|
|
138
|
+
"content-type": mimeTypes[path.extname(filePath)] || "text/plain; charset=utf-8"
|
|
139
|
+
});
|
|
140
|
+
response.end(content);
|
|
141
|
+
} catch {
|
|
142
|
+
response.writeHead(404, { "content-type": "text/plain; charset=utf-8" });
|
|
143
|
+
response.end("not found");
|
|
144
|
+
}
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// Everything else: serve from web/ as a static file.
|
|
149
|
+
const resolvedPath = requestUrl.pathname.slice(1);
|
|
46
150
|
const filePath = path.join(rootDir, "web", resolvedPath);
|
|
47
151
|
|
|
48
152
|
try {
|
|
@@ -1,8 +1,82 @@
|
|
|
1
|
+
import { Button } from '@/components/ui/button'
|
|
2
|
+
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'
|
|
3
|
+
import { Badge } from '@/components/ui/badge'
|
|
4
|
+
|
|
5
|
+
const features = [
|
|
6
|
+
{
|
|
7
|
+
title: 'shadcn/ui Components',
|
|
8
|
+
description: '27 pre-installed components — Button, Card, Dialog, Table, and more. Import from @/components/ui/',
|
|
9
|
+
badge: 'Ready',
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
title: 'Tailwind CSS',
|
|
13
|
+
description: 'Utility-first styling with design tokens, dark mode support, and responsive breakpoints.',
|
|
14
|
+
badge: 'Configured',
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
title: 'TypeScript + Vite',
|
|
18
|
+
description: 'Fast builds with HMR. Path aliases configured — use @/ for src/ imports.',
|
|
19
|
+
badge: 'Fast',
|
|
20
|
+
},
|
|
21
|
+
]
|
|
22
|
+
|
|
1
23
|
export default function App() {
|
|
2
24
|
return (
|
|
3
|
-
<
|
|
4
|
-
<
|
|
5
|
-
|
|
6
|
-
|
|
25
|
+
<div className="min-h-screen bg-background text-foreground">
|
|
26
|
+
<header className="border-b bg-card">
|
|
27
|
+
<div className="container mx-auto flex h-16 items-center justify-between px-4">
|
|
28
|
+
<div className="flex items-center gap-3">
|
|
29
|
+
<div className="flex h-8 w-8 items-center justify-center rounded-lg bg-primary text-primary-foreground text-sm font-bold">
|
|
30
|
+
{'{{projectName}}'.charAt(0).toUpperCase()}
|
|
31
|
+
</div>
|
|
32
|
+
<span className="text-lg font-semibold">{'{{projectName}}'}</span>
|
|
33
|
+
</div>
|
|
34
|
+
<nav className="flex items-center gap-2">
|
|
35
|
+
<Button variant="ghost" size="sm">Documentation</Button>
|
|
36
|
+
<Button size="sm">Get Started</Button>
|
|
37
|
+
</nav>
|
|
38
|
+
</div>
|
|
39
|
+
</header>
|
|
40
|
+
|
|
41
|
+
<main className="container mx-auto px-4">
|
|
42
|
+
<section className="mx-auto max-w-3xl py-20 text-center">
|
|
43
|
+
<Badge variant="secondary" className="mb-4">Scaffold Ready</Badge>
|
|
44
|
+
<h1 className="text-5xl font-bold tracking-tight">{'{{headline}}'}</h1>
|
|
45
|
+
<p className="mx-auto mt-6 max-w-xl text-xl text-muted-foreground">
|
|
46
|
+
{'{{subheadline}}'}
|
|
47
|
+
</p>
|
|
48
|
+
<div className="mt-8 flex justify-center gap-4">
|
|
49
|
+
<Button size="lg">Read AGENTS.md</Button>
|
|
50
|
+
<Button size="lg" variant="outline">Browse Components</Button>
|
|
51
|
+
</div>
|
|
52
|
+
</section>
|
|
53
|
+
|
|
54
|
+
<section className="mx-auto max-w-4xl pb-20">
|
|
55
|
+
<div className="grid gap-6 md:grid-cols-3">
|
|
56
|
+
{features.map((feature) => (
|
|
57
|
+
<Card key={feature.title} className="relative overflow-hidden">
|
|
58
|
+
<CardHeader>
|
|
59
|
+
<div className="flex items-center justify-between">
|
|
60
|
+
<CardTitle className="text-lg">{feature.title}</CardTitle>
|
|
61
|
+
<Badge variant="outline" className="text-xs">{feature.badge}</Badge>
|
|
62
|
+
</div>
|
|
63
|
+
</CardHeader>
|
|
64
|
+
<CardContent>
|
|
65
|
+
<CardDescription className="text-sm leading-relaxed">
|
|
66
|
+
{feature.description}
|
|
67
|
+
</CardDescription>
|
|
68
|
+
</CardContent>
|
|
69
|
+
</Card>
|
|
70
|
+
))}
|
|
71
|
+
</div>
|
|
72
|
+
</section>
|
|
73
|
+
</main>
|
|
74
|
+
|
|
75
|
+
<footer className="border-t py-8">
|
|
76
|
+
<div className="container mx-auto px-4 text-center text-sm text-muted-foreground">
|
|
77
|
+
Built with starter-foundry · Read AGENTS.md to customize
|
|
78
|
+
</div>
|
|
79
|
+
</footer>
|
|
80
|
+
</div>
|
|
7
81
|
)
|
|
8
82
|
}
|
|
@@ -10,6 +10,6 @@ path = "src/main.rs"
|
|
|
10
10
|
|
|
11
11
|
[dependencies]
|
|
12
12
|
{{packageName}}-lib = { path = "../{{packageName}}-lib" }
|
|
13
|
-
blueprint-sdk = { version = "0.2.0-alpha.
|
|
13
|
+
blueprint-sdk = { version = "0.2.0-alpha.2", default-features = false, features = ["std", "tangle"] }
|
|
14
14
|
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
|
|
15
15
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
@@ -5,7 +5,7 @@ edition.workspace = true
|
|
|
5
5
|
license.workspace = true
|
|
6
6
|
|
|
7
7
|
[dependencies]
|
|
8
|
-
blueprint-sdk = { version = "0.2.0-alpha.
|
|
8
|
+
blueprint-sdk = { version = "0.2.0-alpha.2", default-features = false, features = ["std", "tracing", "macros", "tangle"] }
|
|
9
9
|
serde = { version = "1", features = ["derive"] }
|
|
10
10
|
tokio = { version = "1", default-features = false, features = ["sync"] }
|
|
11
11
|
|