multiclone 0.2.0 → 0.3.0

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.
Files changed (54) hide show
  1. package/README.md +9 -8
  2. package/agents/section-builder.md +5 -3
  3. package/commands/multiclone.md +3 -3
  4. package/dist/adapters/cli.js +14 -0
  5. package/dist/adapters/cli.js.map +1 -1
  6. package/dist/contracts/tools/method.js +12 -1
  7. package/dist/contracts/tools/method.js.map +1 -1
  8. package/dist/contracts/tools/session.js +9 -8
  9. package/dist/contracts/tools/session.js.map +1 -1
  10. package/dist/doctor.js +9 -0
  11. package/dist/doctor.js.map +1 -1
  12. package/dist/project/assets.js +15 -13
  13. package/dist/project/assets.js.map +1 -1
  14. package/dist/project/convert/attrs.js +318 -0
  15. package/dist/project/convert/attrs.js.map +1 -0
  16. package/dist/project/convert/convert.js +304 -0
  17. package/dist/project/convert/convert.js.map +1 -0
  18. package/dist/project/convert/css.js +299 -0
  19. package/dist/project/convert/css.js.map +1 -0
  20. package/dist/project/convert/html.js +425 -0
  21. package/dist/project/convert/html.js.map +1 -0
  22. package/dist/project/convert/jsx.js +335 -0
  23. package/dist/project/convert/jsx.js.map +1 -0
  24. package/dist/project/convert/locate.js +180 -0
  25. package/dist/project/convert/locate.js.map +1 -0
  26. package/dist/project/convert/scripts.js +214 -0
  27. package/dist/project/convert/scripts.js.map +1 -0
  28. package/dist/project/convert/styles.js +228 -0
  29. package/dist/project/convert/styles.js.map +1 -0
  30. package/dist/project/convert/write.js +142 -0
  31. package/dist/project/convert/write.js.map +1 -0
  32. package/dist/project/fonts.js +131 -0
  33. package/dist/project/fonts.js.map +1 -0
  34. package/dist/project/libraries.js +28 -0
  35. package/dist/project/libraries.js.map +1 -0
  36. package/dist/project/method.js +72 -6
  37. package/dist/project/method.js.map +1 -1
  38. package/dist/project/scaffold.js +33 -6
  39. package/dist/project/scaffold.js.map +1 -1
  40. package/dist/session/proc.js +29 -1
  41. package/dist/session/proc.js.map +1 -1
  42. package/dist/session/session.js +47 -4
  43. package/dist/session/session.js.map +1 -1
  44. package/dist/version.js +1 -1
  45. package/install.sh +3 -2
  46. package/package.json +4 -2
  47. package/scripts/postinstall.mjs +21 -0
  48. package/skills/multiclone/SKILL.md +17 -5
  49. package/templates/react-vite/index.html +1 -1
  50. package/templates/react-vite/src/main.tsx +2 -2
  51. package/templates/react-vite/src/styles/index.css +0 -1
  52. package/dist/project/draft.js +0 -860
  53. package/dist/project/draft.js.map +0 -1
  54. package/templates/react-vite/src/styles/draft.css +0 -1
package/README.md CHANGED
@@ -8,9 +8,10 @@ It runs on your own machine: your Chrome, your CPU and your Claude Code. Nothing
8
8
 
9
9
  You need Node 22.12 or newer and Google Chrome (Chromium, Edge or Brave also work).
10
10
 
11
- 1. Install the CLI once: `npm i -g multiclone` (or download `install.sh` from this repo, read it, and run `sh install.sh`; it also checks Chrome).
12
- 2. In the folder where you want the clone: `multiclone setup`. It teaches your agent the method (Claude Code skill and `/multiclone` command, a Cursor rule, and a block in `AGENTS.md` for every other agent). Add `--mcp` if you also want the MCP server; the CLI works without it.
13
- 3. Ask your agent: "clone https://example.com". Or run it yourself: `multiclone start https://example.com`.
11
+ 1. Install once: `npm i -g multiclone` (or download `install.sh` from this repo, read it, and run `sh install.sh`; it also checks Chrome). That's all the setup: it also installs the Claude Code skill, the `/multiclone` command and the section-builder agent for every folder, adds a block to Codex's and Gemini CLI's global instructions when they're installed, and puts the guide in `~/.multiclone`.
12
+ 2. Open your agent in any folder and ask: "clone https://example.com" (or `/multiclone https://example.com` in Claude Code). Or run it yourself: `multiclone start https://example.com`.
13
+
14
+ Cursor only reads project rules, so for Cursor run `multiclone setup` once in the project folder. Add `--mcp` there if you also want the MCP server; the CLI works without it.
14
15
 
15
16
  No global install? Put `npx` in front of every command.
16
17
 
@@ -18,11 +19,11 @@ No global install? Put `npx` in front of every command.
18
19
 
19
20
  1. The agent asks one question: the landing page only, specific pages, or the whole site.
20
21
  2. `multiclone start <url> --scope …` returns in seconds with a **progress link** (for example `http://127.0.0.1:4300/`). Open it: it shows each step live, then the clone itself.
21
- 3. In about 2–3 minutes the first draft is live: a quick capture (desktop and mobile at the same time), a React project with the real fonts, colours and media, and one component per section with the real text, links, images and video. The clone runs on localhost next to an offline copy of the original.
22
- 4. While the agent polishes the draft, multiclone captures the other pages and a deep pass (scroll motion, hovers, clicks, the code that animates) in the background. `multiclone status` shows where it is.
22
+ 3. In about 2–3 minutes the first draft is live: a quick capture (desktop and mobile at the same time), then the page converted into a React + Vite + TypeScript project. Each section becomes its own component with the original markup and class names, the site's real CSS is split into a shared file plus one file per section, media and fonts are local (missing fonts fall back to Google Fonts), and the site's own animation scripts run unchanged. It looks and moves like the original from the first render. The clone runs on localhost next to an offline copy of the original.
23
+ 4. While the agent polishes the converted sections (never redrawing them), multiclone captures the other pages and a deep pass (scroll motion, hovers, clicks, the code that animates) in the background. `multiclone status` shows where it is.
23
24
  5. The agent compares the clone with the original per section, motion track and hover, fixes the worst first, and finishes with a localhost link and a score.
24
25
 
25
- Run `start` again after a crash or restart: finished captures are reused and drafted pages are never overwritten. `multiclone stop` ends the servers; the files stay.
26
+ Run `start` again after a crash or restart: finished captures are reused and converted pages are never overwritten. Running it from inside the workspace reuses that workspace. `multiclone stop` ends the servers; the files stay.
26
27
 
27
28
  ## What's inside
28
29
 
@@ -50,10 +51,10 @@ Run `start` again after a crash or restart: finished captures are reused and dra
50
51
  | `multiclone start <url> [--scope landing\|pages\|site] [--pages /a,/b] [--dir folder]` | Capture, draft and serve in the background |
51
52
  | `multiclone status [dir] [--wait draft\|pages\|deep]` | Where the session is, with its links |
52
53
  | `multiclone stop [dir]` | Stop the session's servers |
53
- | `multiclone setup [dir] [--agents claude,cursor,agents] [--mcp]` | Teach your agent the method |
54
+ | `multiclone setup [dir] [--agents claude,cursor,agents] [--mcp] [--global]` | Teach your agent the method |
54
55
  | `multiclone guide [topic]` | Print the method |
55
56
  | `multiclone capture <url> [--depth quick\|full] [--viewports desktop,mobile\|auto] [--headed]` | Record and analyse the page |
56
- | `multiclone draft <capture-dir> <project-dir> [--route /pricing]` | Write section components from a capture |
57
+ | `multiclone draft <capture-dir> <project-dir> [--route /pricing]` | Convert a capture into section components |
57
58
  | `multiclone analyze <capture-dir>` | Rebuild the derived files |
58
59
  | `multiclone inspect <capture-dir> section [03-pricing]` | Page through a capture |
59
60
  | `multiclone serve <capture-dir> [--port 4400] [--mode live\|snapshot]` | Offline mirror and mock API |
@@ -4,7 +4,9 @@ description: Rebuilds one section of a multiclone capture as a React component i
4
4
  tools: Read, Write, Edit, Glob, Grep, Bash
5
5
  ---
6
6
 
7
- You rebuild exactly one section of a captured website inside an existing React + Vite + TypeScript clone project. You get three things: the capture folder, the section id (for example `03-pricing`) and the project folder.
7
+ You improve or rebuild exactly one section of a captured website inside an existing React + Vite + TypeScript clone project. You get three things: the capture folder, the section id (for example `03-pricing`) and the project folder.
8
+
9
+ **If the section is already converted** (a component under `<project>/src/sections/<page>/` whose root has `data-mc-section="<id>"`), polish it in place and never delete or redraw it: it already uses the original markup, class names, CSS (`<Name>.css` plus `src/styles/original/<page>/base.css`) and the site's own scripts (`src/original/<page>.ts`). Fix only what differs from the crops, keep class names unless you also update their CSS and scripts, and port a script to React only when you can match its motion (then remove its entry from `src/original/<page>.ts`).
8
10
 
9
11
  ## Read first
10
12
 
@@ -18,8 +20,8 @@ Use the multiclone `inspect` tool (`facet: "section"`, `selector: "<id>"`) for a
18
20
 
19
21
  ## Build
20
22
 
21
- - One component in `<project>/src/components/sections/<Name>.tsx`, plus typed content in `src/content/` when the section has copy or lists. Copy text from the capture; never retype or invent it.
22
- - Root element: `<section {...mcSection('<id>')}>`.
23
+ - For a section with no converted component: one component in `<project>/src/sections/<page>/<Name>/<Name>.tsx`, plus typed content in `src/content/` when the section has copy or lists. Copy text from the capture; never retype or invent it.
24
+ - Root element: `<section {...mcSection('<id>')}>` (converted sections already carry `data-mc-section`).
23
25
  - Every element in `motion.json` gets `{...mcTrack(id)}`; every element in `interactions.json` gets `{...mcHover(id)}`.
24
26
  - Match the captured values: sizes, spacing, colours, fonts, radii, shadows and the motion curves (start, end, easing). Prefer the existing tokens when a value matches one.
25
27
  - Media paths come from `src/content/asset-map.json`.
@@ -7,9 +7,9 @@ Clone this website with the multiclone method: $ARGUMENTS
7
7
 
8
8
  1. Ask the user one short question first: clone just the landing page, specific pages (which ones), or the whole site?
9
9
  2. Run `multiclone start <url> --scope <answer>` (add `--pages /a,/b` for specific pages, `--dir <folder>` if a project folder was given). Give the user the progress link it prints right away.
10
- 3. Run `multiclone status --wait draft`. When the first draft is live, give the user the clone link.
11
- 4. Follow the `multiclone` skill (or `multiclone guide`) to polish the draft section by section, then compare and fix.
10
+ 3. Run `multiclone status --wait draft`. When the converted page is live, give the user the clone link.
11
+ 4. Follow the `multiclone` skill (or `multiclone guide`): compare first, then polish the converted sections in place, then compare and fix. Never delete a converted section and redraw it; it already uses the site's real markup, CSS and scripts.
12
12
 
13
- If `multiclone` isn't on the PATH, use `npx multiclone` instead.
13
+ If `multiclone` isn't on the PATH, use `npx -y multiclone` instead. The result must be the React + Vite project with one component per section; never hand over a downloaded copy of the original site as the clone. If multiclone can't run, say what failed and stop.
14
14
 
15
15
  Keep progress updates short and in plain words. Finish with the localhost link, the final compare score, and an honest list of what is approximated.
@@ -94,6 +94,18 @@ async function runTool(tool, argv) {
94
94
  if (binding.longRunning)
95
95
  process.stderr.write('Running. Ctrl+C to stop.\n');
96
96
  }
97
+ /** Installs the agent method on first run when the npm install hook was skipped. */
98
+ async function ensureGlobalSetup() {
99
+ if (process.env.MULTICLONE_NO_GLOBAL_SETUP === '1')
100
+ return;
101
+ const { globalSetupCurrent, setupGlobal } = await import('../project/method.js');
102
+ if (globalSetupCurrent())
103
+ return;
104
+ const result = await setupGlobal().catch(() => null);
105
+ if (result?.ok === true) {
106
+ process.stderr.write(`multiclone: installed the cloning method for ${result.value.agents.join(', ')}.\n`);
107
+ }
108
+ }
97
109
  async function main() {
98
110
  const [command, ...rest] = process.argv.slice(2);
99
111
  if (command === '--version' || command === '-v')
@@ -112,6 +124,7 @@ async function main() {
112
124
  }
113
125
  if (command === 'mcp') {
114
126
  setQuiet(true);
127
+ await ensureGlobalSetup();
115
128
  const { runMcpServer } = await import('./mcp.js');
116
129
  await runMcpServer();
117
130
  return;
@@ -119,6 +132,7 @@ async function main() {
119
132
  const tool = CATALOG.find((entry) => entry.cli?.command === command);
120
133
  if (!tool)
121
134
  fail(`unknown command "${command}"\n\n${help()}`);
135
+ await ensureGlobalSetup();
122
136
  await runTool(tool, rest);
123
137
  }
124
138
  main().catch((error) => {
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/adapters/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/adapters/cli.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { ok } from '../../domain/result.js';
3
- import { AGENTS, MCP_ENTRY, readGuide, setupProject, TOPICS } from '../../project/method.js';
3
+ import { AGENTS, MCP_ENTRY, readGuide, setupGlobal, setupProject, TOPICS, } from '../../project/method.js';
4
4
  import { defineTool } from '../types.js';
5
5
  export const guideTool = defineTool({
6
6
  name: 'guide',
@@ -28,11 +28,22 @@ export const setupTool = defineTool({
28
28
  .default([...AGENTS])
29
29
  .describe('Which agents to set up: claude, cursor, agents (default all).'),
30
30
  mcp: z.boolean().default(false).describe('Also register the MCP server (optional).'),
31
+ global: z
32
+ .boolean()
33
+ .default(false)
34
+ .describe('Install for every folder on this machine instead (Claude Code, Codex, Gemini CLI, ~/.multiclone). Installing the package does this already.'),
31
35
  }),
32
36
  cli: { command: 'setup', positionals: ['dir'] },
33
37
  readOnly: false,
34
38
  openWorld: false,
35
39
  run: async (input) => {
40
+ if (input.global) {
41
+ const global = await setupGlobal();
42
+ if (!global.ok)
43
+ return global;
44
+ const text = `Installed multiclone for every folder on this machine: ${global.value.agents.join(', ')} (${String(global.value.written.length)} files). Cursor reads project rules only: run \`multiclone setup\` in a folder to add one.`;
45
+ return ok({ data: global.value, text });
46
+ }
36
47
  const result = await setupProject({ dir: input.dir, agents: input.agents, mcp: input.mcp });
37
48
  if (!result.ok)
38
49
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"method.js","sourceRoot":"","sources":["../../../src/contracts/tools/method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC;IAClC,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,yBAAyB;IAChC,WAAW,EACT,gWAAgW;IAClW,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;KACxC,CAAC;IACF,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE;IACjD,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,KAAK;IAChB,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACnB,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC;IAClC,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,mCAAmC;IAC1C,WAAW,EACT,kaAAka;IACpa,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,+CAA+C,CAAC;QACtF,MAAM,EAAE,CAAC;aACN,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACrB,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;aACpB,QAAQ,CAAC,+DAA+D,CAAC;QAC5E,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;KACrF,CAAC;IACF,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE;IAC/C,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,KAAK;IAChB,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACnB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,MAAM,CAAC;QAC9B,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG;YACZ,wBAAwB,GAAG,QAAQ,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU;YACzF,GAAG,OAAO,CAAC,GAAG,CACZ,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,IAAI,mDAAmD,KAAK,EAAE,CACjF;YACD,EAAE;YACF,OAAO;YACP,8CAA8C;SAC/C,CAAC;QACF,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;QAC9E,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QAC7E,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;QACnF,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,GAAG;YACP,CAAC,CAAC,mEAAmE;YACrE,CAAC,CAAC,iFAAiF,CACtF,CAAC;QACF,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"method.js","sourceRoot":"","sources":["../../../src/contracts/tools/method.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@ import { readdir } from 'node:fs/promises';
3
3
  import { join, resolve } from 'node:path';
4
4
  import { z } from 'zod';
5
5
  import { ok, err, mcError } from '../../domain/result.js';
6
- import { generateDraft } from '../../project/draft.js';
7
- import { sessionStatus, startSession, stopSession } from '../../session/session.js';
6
+ import { convertPage } from '../../project/convert/convert.js';
7
+ import { enclosingWorkspace, sessionStatus, startSession, stopSession, } from '../../session/session.js';
8
8
  import { defineTool } from '../types.js';
9
9
  /** Short, capped summary for agents; everything else is in .multiclone/session.json. */
10
10
  export function summarize(state) {
@@ -143,8 +143,8 @@ export const stopTool = defineTool({
143
143
  });
144
144
  export const draftTool = defineTool({
145
145
  name: 'draft',
146
- title: 'Write a first draft from a capture',
147
- description: 'Turn a capture into React components in a scaffolded project: one component and CSS module per section with the real text, links, media and fonts, a page that composes them, and a route. Layout is approximated from the captured computed styles (flex and grid kept, sizes relative); motion and interactions are left to the agent. `start` runs this for you.',
146
+ title: 'Convert a capture into React sections',
147
+ description: "Convert a captured page into the React project: the original markup becomes one .tsx component per section (original class names kept), the site's real CSS is split into a shared sheet plus one sheet per section, media and fonts point at local copies, and the site's own animation scripts run unchanged from public/original. The result looks and moves like the original from the first render; polish it section by section, never redraw it. `start` runs this for you.",
148
148
  input: z.object({
149
149
  capture: z.string().describe('Capture folder.'),
150
150
  project: z.string().describe('Scaffolded project folder.'),
@@ -158,7 +158,7 @@ export const draftTool = defineTool({
158
158
  readOnly: false,
159
159
  openWorld: false,
160
160
  run: async (input) => {
161
- const result = await generateDraft({
161
+ const result = await convertPage({
162
162
  capture: input.capture,
163
163
  project: input.project,
164
164
  route: input.route,
@@ -170,7 +170,7 @@ export const draftTool = defineTool({
170
170
  return ok({
171
171
  data: result,
172
172
  text: [
173
- `Drafted ${result.route} → ${result.page} (${String(result.sections.length)} sections)`,
173
+ `Converted ${result.route} → ${result.page} (${String(result.sections.length)} sections, ${result.source} HTML, ${String(result.scripts.kept)} original scripts, ${String(result.css.sectionRules)} CSS rules in section files)`,
174
174
  ...list,
175
175
  ...result.warnings.slice(0, 5).map((warning) => ` ! ${warning}`),
176
176
  ].join('\n'),
@@ -184,8 +184,9 @@ function noSession() {
184
184
  async function findWorkspace(dir) {
185
185
  if (dir !== undefined)
186
186
  return resolve(dir);
187
- if (existsSync(join('.multiclone', 'session.json')))
188
- return resolve('.');
187
+ const around = enclosingWorkspace('.');
188
+ if (around)
189
+ return around;
189
190
  const candidates = (await readdir('.').catch(() => []))
190
191
  .filter((name) => name.startsWith('multiclone-') && existsSync(join(name, '.multiclone', 'session.json')))
191
192
  .sort();
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/contracts/tools/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/contracts/tools/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,WAAW,GAEZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,wFAAwF;AACxF,MAAM,UAAU,SAAS,CAAC,KAAmB;IAC3C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;IACxE,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5E,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,MAAM,mBAAmB,CAAC,CAAC;IACzF,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK;SACtB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,GAAG,CACF,CAAC,IAAI,EAAE,EAAE,CACP,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACvK,CAAC;IACJ,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,KAAK,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;IACzF,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjG,IAAI,OAAO,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/D,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjG,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7D,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,KAAK,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACrE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,QAAQ,CAAC,KAAmB;IACnC,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QACvD,OAAO,wEAAwE,CAAC;IAClF,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO;QACzB,OAAO,gFAAgF,CAAC;IAC1F,OAAO,gBAAgB,KAAK,CAAC,OAAO,sJAAsJ,CAAC;AAC7L,CAAC;AAED,MAAM,UAAU,GAAG,CAAC;KACjB,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;KAClC,QAAQ,EAAE;KACV,QAAQ,CACP,kJAAkJ,CACnJ,CAAC;AAEJ,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC;IAClC,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,yBAAyB;IAChC,WAAW,EACT,mjBAAmjB;IACrjB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC1D,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,CAAC;aACL,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CAAC,uDAAuD,CAAC;QACpE,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CAAC,+DAA+D,CAAC;QAC5E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;QACtF,IAAI,EAAE,CAAC;aACJ,OAAO,EAAE;aACT,OAAO,CAAC,IAAI,CAAC;aACb,QAAQ,CAAC,+DAA+D,CAAC;QAC5E,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC;QACxF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;QAC3D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;QAC5D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;QAC9D,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KACvE,CAAC;IACF,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE;IAC/C,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,IAAI;IACf,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACnB,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;YAC/B,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,CAAC,KAAK,CAAC,MAAM;YACvB,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5D,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5D,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrE,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;YACtD,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;YACxE,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;YAC3E,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;SAClF,CAAC,CAAC;QACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,wCAAwC,EAAE,CAAC,CAAC;IAChG,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC;IACnC,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,gBAAgB;IACvB,WAAW,EACT,4QAA4Q;IAC9Q,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,4DAA4D,CAAC;QACzE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;QACnD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;KAC7F,CAAC;IACF,GAAG,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE;IAChD,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,KAAK;IAChB,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACnB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS;YAAE,OAAO,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QACxC,MAAM,IAAI,GAAqB,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QACzE,IAAI,CAAC,KAAK;YAAE,OAAO,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QACpC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAAC;IACjC,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,gBAAgB;IACvB,WAAW,EAAE,+EAA+E;IAC5F,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC/C,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE;IAC9C,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,KAAK;IAChB,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACnB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS;YAAE,OAAO,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK;YAAE,OAAO,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QACpC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,4BAA4B,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACjF,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC;IAClC,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,uCAAuC;IAC9C,WAAW,EACT,odAAod;IACtd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAC/C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAC1D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QAClF,SAAS,EAAE,CAAC;aACT,OAAO,EAAE;aACT,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,2DAA2D,CAAC;KACzE,CAAC;IACF,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE;IAC9D,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,KAAK;IAChB,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACnB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;YAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ;aACzB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;aACZ,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnF,OAAO,EAAE,CAAC;YACR,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE;gBACJ,aAAa,MAAM,CAAC,KAAK,MAAM,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,MAAM,CAAC,MAAM,UAAU,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,8BAA8B;gBAChO,GAAG,IAAI;gBACP,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,OAAO,EAAE,CAAC;aAClE,CAAC,IAAI,CAAC,IAAI,CAAC;SACb,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAEH,SAAS,SAAS;IAChB,OAAO,OAAO,CACZ,WAAW,EACX,6BAA6B,EAC7B,mEAAmE,CACpE,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,KAAK,UAAU,aAAa,CAAC,GAAuB;IAClD,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACvC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,UAAU,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAc,CAAC,CAAC;SAChE,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAC1F;SACA,IAAI,EAAE,CAAC;IACV,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC"}
package/dist/doctor.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { findChrome, launchBrowser } from './core/chrome.js';
2
+ import { globalSetupCurrent } from './project/method.js';
2
3
  import { Page } from './core/page.js';
3
4
  export async function doctor() {
4
5
  const checks = [];
@@ -8,6 +9,14 @@ export async function doctor() {
8
9
  ok: major > 22 || (major === 22 && minor >= 12),
9
10
  detail: process.versions.node,
10
11
  });
12
+ const method = globalSetupCurrent();
13
+ checks.push({
14
+ name: 'Agent method installed',
15
+ ok: method,
16
+ detail: method
17
+ ? 'Claude Code skill, /multiclone command and ~/.multiclone guide'
18
+ : 'missing — run `multiclone setup --global`',
19
+ });
11
20
  const chrome = findChrome();
12
21
  checks.push({
13
22
  name: 'Chrome / Chromium',
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAQtC,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,iBAAiB;QACvB,EAAE,EAAE,KAAK,GAAG,EAAE,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;QAC/C,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;KAC9B,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,mBAAmB;QACzB,EAAE,EAAE,MAAM,KAAK,IAAI;QACnB,MAAM,EAAE,MAAM,IAAI,qDAAqD;KACxE,CAAC,CAAC;IACH,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC/B,yDAAyD,CAC1D,CAAC;YACF,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5E,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,mBAAmB;gBACzB,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,iDAAiD;aAChF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAQtC,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,iBAAiB;QACvB,EAAE,EAAE,KAAK,GAAG,EAAE,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;QAC/C,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI;KAC9B,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACpC,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,wBAAwB;QAC9B,EAAE,EAAE,MAAM;QACV,MAAM,EAAE,MAAM;YACZ,CAAC,CAAC,gEAAgE;YAClE,CAAC,CAAC,2CAA2C;KAChD,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,mBAAmB;QACzB,EAAE,EAAE,MAAM,KAAK,IAAI;QACnB,MAAM,EAAE,MAAM,IAAI,qDAAqD;KACxE,CAAC,CAAC;IACH,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC/B,yDAAyD,CAC1D,CAAC;YACF,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5E,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,mBAAmB;gBACzB,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,iDAAiD;aAChF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -29,19 +29,7 @@ export async function exportAssets(captureDir, projectDir) {
29
29
  continue;
30
30
  if (!MEDIA.test(entry.mimeType) && !MEDIA_EXT.test(url.pathname))
31
31
  continue;
32
- const safePath = url.pathname
33
- .split('/')
34
- .filter(Boolean)
35
- .map((part) => safeDecode(part)
36
- .replace(/[^a-zA-Z0-9._-]+/g, '_')
37
- .slice(0, 80))
38
- .join('/');
39
- const ext = extname(safePath) ? '' : extname(entry.file);
40
- const local = `/media/${url.hostname}/${safePath || 'index'}${ext}`;
41
- const suffix = url.search
42
- ? `-${Buffer.from(url.search).toString('base64url').slice(0, 10)}`
43
- : '';
44
- const finalLocal = suffix ? local.replace(/(\.[a-z0-9]+)?$/i, `${suffix}$1`) : local;
32
+ const finalLocal = mediaPath(url, entry.file);
45
33
  const target = join(project, 'public', finalLocal);
46
34
  await ensureDir(join(target, '..'));
47
35
  // A missing or unreadable capture file costs one asset, never the whole export.
@@ -66,4 +54,18 @@ function safeDecode(part) {
66
54
  return part;
67
55
  }
68
56
  }
57
+ /** Where a captured file lives in the clone: `/media/<host>/<path>` (query kept as a suffix). */
58
+ export function mediaPath(url, file) {
59
+ const safePath = url.pathname
60
+ .split('/')
61
+ .filter(Boolean)
62
+ .map((part) => safeDecode(part)
63
+ .replace(/[^a-zA-Z0-9._-]+/g, '_')
64
+ .slice(0, 80))
65
+ .join('/');
66
+ const ext = extname(safePath) ? '' : extname(file);
67
+ const local = `/media/${url.hostname}/${safePath || 'index'}${ext}`;
68
+ const suffix = url.search ? `-${Buffer.from(url.search).toString('base64url').slice(0, 10)}` : '';
69
+ return suffix ? local.replace(/(\.[a-z0-9]+)?$/i, `${suffix}$1`) : local;
70
+ }
69
71
  //# sourceMappingURL=assets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/project/assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,KAAK,GAAG,6BAA6B,CAAC;AAC5C,MAAM,SAAS,GACb,uFAAuF,CAAC;AAQ1F;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,UAAkB,EAAE,UAAkB;IACvE,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAiB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;IAChF,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,SAAS;QAC1B,IAAI,GAAQ,CAAC;QACb,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;YAAE,SAAS;QACpE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,SAAS;QAC3E,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ;aAC1B,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,UAAU,CAAC,IAAI,CAAC;aACb,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAChB;aACA,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,UAAU,GAAG,CAAC,QAAQ,IAAI,QAAQ,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;QACpE,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM;YACvB,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;YAClE,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACrF,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACnD,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QACpC,gFAAgF;QAChF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CACrE,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,KAAK,CACZ,CAAC;QACF,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;QAC5B,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;IACvB,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAClE,iFAAiF;IACjF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAyB,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnF,MAAM,SAAS,CAAC,OAAO,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;IAClD,GAAG,CACD,UAAU,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,iBAAiB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAChG,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../src/project/assets.ts"],"names":[],"mappings":"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"}