@extension.dev/mcp 7.0.0 → 10.0.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 (65) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +271 -0
  4. package/README.md +13 -21
  5. package/claude/ARCHITECTURE.md +4 -4
  6. package/claude/CLAUDE.md +2 -2
  7. package/claude/README.md +1 -1
  8. package/claude/commands/extension-add.md +1 -1
  9. package/claude/commands/extension-debug.md +1 -1
  10. package/claude/commands/extension-publish.md +1 -1
  11. package/claude/commands/extension.md +3 -3
  12. package/claude/rules/mcp-tools.md +67 -59
  13. package/dist/module.js +2946 -2043
  14. package/dist/src/lib/act.d.ts +4 -1
  15. package/dist/src/lib/boot-verdict.d.ts +53 -0
  16. package/dist/src/lib/bridge-tabs.d.ts +2 -2
  17. package/dist/src/lib/common-schema.d.ts +28 -0
  18. package/dist/src/lib/envelope.d.ts +35 -0
  19. package/dist/src/lib/launch-flags.d.ts +6 -6
  20. package/dist/src/lib/legacy-stdout.d.ts +7 -0
  21. package/dist/src/lib/session-identity.d.ts +16 -0
  22. package/dist/src/tools/add-feature.d.ts +2 -2
  23. package/dist/src/tools/analyze.d.ts +29 -0
  24. package/dist/src/tools/auth.d.ts +33 -0
  25. package/dist/src/tools/browsers.d.ts +39 -0
  26. package/dist/src/tools/build.d.ts +5 -6
  27. package/dist/src/tools/detect-browsers.d.ts +1 -20
  28. package/dist/src/tools/dev.d.ts +11 -11
  29. package/dist/src/tools/{dom-inspect.d.ts → dom-snapshot.d.ts} +6 -6
  30. package/dist/src/tools/eval.d.ts +6 -6
  31. package/dist/src/tools/get-template-source.d.ts +1 -22
  32. package/dist/src/tools/inspect.d.ts +33 -5
  33. package/dist/src/tools/install-browser.d.ts +1 -18
  34. package/dist/src/tools/list-browsers.d.ts +1 -9
  35. package/dist/src/tools/list-extensions.d.ts +4 -4
  36. package/dist/src/tools/list-templates.d.ts +1 -35
  37. package/dist/src/tools/login.d.ts +1 -23
  38. package/dist/src/tools/logout.d.ts +1 -9
  39. package/dist/src/tools/logs-schema.d.ts +2 -2
  40. package/dist/src/tools/open.d.ts +6 -6
  41. package/dist/src/tools/preview-web.d.ts +4 -4
  42. package/dist/src/tools/publish.d.ts +2 -2
  43. package/dist/src/tools/release-list.d.ts +1 -23
  44. package/dist/src/tools/release-promote.d.ts +2 -2
  45. package/dist/src/tools/release-status.d.ts +37 -0
  46. package/dist/src/tools/reload.d.ts +6 -6
  47. package/dist/src/tools/shares.d.ts +2 -2
  48. package/dist/src/tools/start.d.ts +16 -10
  49. package/dist/src/tools/stop.d.ts +2 -2
  50. package/dist/src/tools/storage.d.ts +6 -6
  51. package/dist/src/tools/store-status.d.ts +1 -23
  52. package/dist/src/tools/{deploy.d.ts → submit.d.ts} +4 -4
  53. package/dist/src/tools/{source-inspect.d.ts → templates.d.ts} +27 -23
  54. package/dist/src/tools/uninstall-browser.d.ts +1 -21
  55. package/dist/src/tools/wait.d.ts +4 -4
  56. package/dist/src/tools/whoami.d.ts +1 -9
  57. package/extensions/live-preview/chromium/action/index.js +1 -9
  58. package/extensions/live-preview/chromium/background/service_worker.js +3 -11
  59. package/extensions/live-preview/chromium/manifest.json +1 -1
  60. package/package.json +5 -5
  61. package/server.json +3 -3
  62. package/dist/src/__tests__/fixtures/ready-contract.d.ts +0 -7
  63. package/dist/src/__tests__/setup-session-dir.d.ts +0 -1
  64. package/dist/src/tools/preview.d.ts +0 -66
  65. /package/dist/src/tools/{source-inspect-gecko.d.ts → inspect-gecko.d.ts} +0 -0
@@ -1,5 +1,8 @@
1
1
  export declare function toMcpSpeak(text: string): string;
2
- export declare function runActVerb(args: string[], projectPath: string, timeoutMs?: number): Promise<string>;
2
+ export declare function runActVerb(args: string[], projectPath: string, timeoutMs?: number, tool?: string): Promise<string>;
3
+ export declare function addWarning(frame: any, text: unknown): void;
4
+ export declare function actFrameJson(frame: unknown): string;
5
+ export declare function patchValue(frame: any, patch: Record<string, unknown>): void;
3
6
  export interface ActArgs {
4
7
  projectPath: string;
5
8
  browser?: string;
@@ -0,0 +1,53 @@
1
+ import type { ChildProcess } from "node:child_process";
2
+ export interface ProfileLockOwner {
3
+ host?: string;
4
+ pid?: number;
5
+ }
6
+ export type BootVerdict = {
7
+ kind: "alive";
8
+ } | {
9
+ kind: "exited";
10
+ exitCode: number | null;
11
+ signal: string | null;
12
+ } | {
13
+ kind: "compile-failed";
14
+ message?: string;
15
+ compileErrors: string[];
16
+ } | {
17
+ kind: "browser-exited";
18
+ stamp: {
19
+ code?: string;
20
+ browserExitCode?: number | null;
21
+ browserExitedAt?: string;
22
+ };
23
+ } | {
24
+ kind: "profile-locked";
25
+ owner: ProfileLockOwner | null;
26
+ message?: string;
27
+ lockedAt?: string;
28
+ };
29
+ export interface BootReading {
30
+ verdict: BootVerdict;
31
+ /** The CLI stamped a schema-1 ready contract, so no prose was read. */
32
+ machineContract: boolean;
33
+ /** Denoised session-log tail, evidence of last resort. Never branched on. */
34
+ output: string;
35
+ warnings: string[];
36
+ }
37
+ export interface PollOptions {
38
+ child: ChildProcess;
39
+ readOutput: () => string;
40
+ budgetMs: number;
41
+ since: number;
42
+ /** A build-only session never launches a browser, so it has no browser legs. */
43
+ noBrowser?: boolean;
44
+ intervalMs?: number;
45
+ }
46
+ export declare function readyContractPath(projectPath: string, browser: string): string;
47
+ export declare function speaksMachineContract(contract: unknown): boolean;
48
+ /**
49
+ * Poll the dev server's own contract for a boot verdict, and only fall back to
50
+ * reading its output when the contract never lands. Replaces a blind sleep plus
51
+ * a regex over first-party copy.
52
+ */
53
+ export declare function pollBootVerdict(projectPath: string, browser: string, options: PollOptions): Promise<BootReading>;
@@ -3,12 +3,12 @@ export interface BridgeTab {
3
3
  url: string;
4
4
  title: string;
5
5
  }
6
- export declare function listBridgeTabs(projectPath: string, browser: string, timeout?: number): Promise<{
6
+ export declare function listBridgeTabs(projectPath: string, browser: string, timeout?: number, tool?: string): Promise<{
7
7
  tabs: BridgeTab[];
8
8
  } | {
9
9
  error: string;
10
10
  }>;
11
11
  export declare function matchTabsByUrl(tabs: BridgeTab[], needle: string): BridgeTab[];
12
12
  export declare function pollForBridgeTab(projectPath: string, browser: string, url: string, budgetMs: number): Promise<BridgeTab | null>;
13
- export declare function navigateToUrlViaBridge(projectPath: string, browser: string, url: string, timeout?: number): Promise<string>;
13
+ export declare function navigateToUrlViaBridge(projectPath: string, browser: string, url: string, timeout?: number, tool?: string): Promise<string>;
14
14
  export declare function resolveBridgeBaseUrl(projectPath: string, browser: string, timeout?: number): Promise<string | null>;
@@ -0,0 +1,28 @@
1
+ export declare const LAUNCHABLE_BROWSERS: readonly ["chrome", "chromium", "edge", "brave", "opera", "vivaldi", "yandex", "firefox", "waterfox", "librewolf", "safari", "chromium-based", "gecko-based", "firefox-based", "webkit-based"];
2
+ export declare const REAL_BROWSERS: readonly ["chrome", "chromium", "edge", "brave", "opera", "vivaldi", "yandex", "firefox", "waterfox", "librewolf", "safari"];
3
+ export declare const MANAGED_BROWSERS: readonly ["chrome", "chromium", "edge", "firefox"];
4
+ export declare const PROJECT_PATH: {
5
+ readonly type: "string";
6
+ readonly description: "Extension project root";
7
+ };
8
+ export declare const SESSION_PROJECT_PATH: {
9
+ readonly type: "string";
10
+ readonly description: "Extension project root (needs a live dev session)";
11
+ };
12
+ export declare const SESSION_BROWSER: {
13
+ readonly type: "string";
14
+ readonly description: "Session browser; defaults to this project's live session";
15
+ };
16
+ export declare const CALL_TIMEOUT: {
17
+ readonly type: "number";
18
+ readonly description: "Command timeout in ms (default 5000)";
19
+ };
20
+ export declare const API_BASE: {
21
+ readonly type: "string";
22
+ readonly description: "Platform base URL (default EXTENSION_DEV_API_URL, else https://www.extension.dev)";
23
+ };
24
+ export declare const LAUNCH_BROWSER: {
25
+ readonly type: "string";
26
+ readonly enum: readonly ["chrome", "chromium", "edge", "brave", "opera", "vivaldi", "yandex", "firefox", "waterfox", "librewolf", "safari", "chromium-based", "gecko-based", "firefox-based", "webkit-based"];
27
+ readonly default: "chrome";
28
+ };
@@ -0,0 +1,35 @@
1
+ export declare const ENVELOPE_SCHEMA: 1;
2
+ export type ErrorCode = "E_AMBIGUOUS_TARGET" | "E_AUTH_DENIED" | "E_AUTH_EXPIRED" | "E_AUTH_FAILED" | "E_AUTH_PENDING" | "E_AUTH_REQUIRED" | "E_BAD_MANIFEST" | "E_BAD_REQUEST" | "E_BRIDGE" | "E_BROWSER_EXITED" | "E_BROWSER_INSTALL" | "E_BROWSER_UNINSTALL" | "E_BUILD_FAILED" | "E_CARRIER_IN_DIST" | "E_CDP" | "E_CLI" | "E_COMPILE" | "E_CONFIG" | "E_CONTRACT_ERROR" | "E_CONTROL_CHANNEL" | "E_ENTRYPOINT_MISSING" | "E_FIRST_COMPILE" | "E_INPUT_VALIDATION" | "E_INTERNAL" | "E_LOGS_MISSING" | "E_MANIFEST_BLOCKING" | "E_MANIFEST_NOT_FOUND" | "E_NAVIGATE_ERROR" | "E_NAVIGATE_FAILED" | "E_NETWORK" | "E_NO_CONTROL_CHANNEL" | "E_NO_DIST" | "E_NO_EXTENSION_ID" | "E_NO_MATCHING_TARGET" | "E_NO_REFERENCE_TEMPLATE" | "E_NO_SESSION" | "E_NO_SURFACE_DOCUMENT" | "E_NO_TARGET" | "E_NOT_ATTACHED" | "E_PARSE" | "E_PLATFORM" | "E_PROFILE_LOCKED" | "E_RDP" | "E_SCAFFOLD_FAILED" | "E_SCAFFOLD_INCOMPLETE" | "E_SESSION_EXISTS" | "E_SESSION_EXITED" | "E_STALE_CONTRACT" | "E_SURFACE_DID_NOT_OPEN" | "E_TEMPLATE_FETCH" | "E_TEMPLATE_NOT_FOUND" | "E_UNKNOWN_COMMAND" | "E_UNKNOWN_TOOL" | "E_UNSUPPORTED_BROWSER" | "E_WAIT_TIMEOUT";
3
+ export declare const ERROR_CODES: ErrorCode[];
4
+ export interface EnvelopeError {
5
+ code: ErrorCode | string;
6
+ message: string;
7
+ name?: string;
8
+ engine?: string | null;
9
+ hint?: string;
10
+ [key: string]: unknown;
11
+ }
12
+ export interface Envelope {
13
+ schema: typeof ENVELOPE_SCHEMA;
14
+ ok: boolean;
15
+ command: string;
16
+ status: string;
17
+ value: unknown;
18
+ error: EnvelopeError | null;
19
+ truncated?: boolean;
20
+ hint?: string;
21
+ warnings: string[];
22
+ }
23
+ export interface EnvelopeInit {
24
+ ok: boolean;
25
+ command: string;
26
+ status: string;
27
+ value?: unknown;
28
+ error?: EnvelopeError | null;
29
+ truncated?: boolean;
30
+ hint?: string;
31
+ warnings?: (string | null | undefined | false)[];
32
+ }
33
+ export declare function envelopeObject(init: EnvelopeInit): Envelope;
34
+ export declare function envelope(init: EnvelopeInit): string;
35
+ export declare function isEnvelope(frame: unknown): frame is Envelope;
@@ -1,7 +1,7 @@
1
1
  export declare const LAUNCH_FLAG_SCHEMA: {
2
2
  readonly profile: {
3
3
  readonly type: "string";
4
- readonly description: "Browser profile path, or \"false\" to reuse the default user profile. Omit for a fresh throwaway profile.";
4
+ readonly description: "Profile path, or \"false\" to reuse the real user profile. Omit for a throwaway one.";
5
5
  };
6
6
  readonly startingUrl: {
7
7
  readonly type: "string";
@@ -9,26 +9,26 @@ export declare const LAUNCH_FLAG_SCHEMA: {
9
9
  };
10
10
  readonly chromiumBinary: {
11
11
  readonly type: "string";
12
- readonly description: "Path to a custom Chromium-based binary (overrides browser)";
12
+ readonly description: "Custom Chromium-based binary (overrides browser)";
13
13
  };
14
14
  readonly geckoBinary: {
15
15
  readonly type: "string";
16
- readonly description: "Path to a custom Gecko/Firefox binary (overrides browser)";
16
+ readonly description: "Custom Gecko/Firefox binary (overrides browser)";
17
17
  };
18
18
  readonly host: {
19
19
  readonly type: "string";
20
- readonly description: "Dev server bind host. Use 0.0.0.0 for Docker or devcontainers. Defaults to 127.0.0.1";
20
+ readonly description: "Bind host, default 127.0.0.1. Use 0.0.0.0 in Docker or devcontainers.";
21
21
  };
22
22
  readonly publicHost: {
23
23
  readonly type: "string";
24
- readonly description: "Connectable host the browser dials for HMR and reload when it differs from the bind host";
24
+ readonly description: "Host the browser dials for HMR and reload when it differs from the bind host";
25
25
  };
26
26
  readonly extensions: {
27
27
  readonly type: "array";
28
28
  readonly items: {
29
29
  readonly type: "string";
30
30
  };
31
- readonly description: "Companion extension paths or store URLs to load alongside the project";
31
+ readonly description: "Extra extension paths or store URLs to load alongside the project";
32
32
  };
33
33
  };
34
34
  export interface LaunchFlagArgs {
@@ -0,0 +1,7 @@
1
+ /** @deprecated see the module note. */
2
+ export declare function denoiseCliLog(raw: string): string;
3
+ /** @deprecated Replaced by `ready.json` `status:"error"`. */
4
+ export declare function legacyCompileScrape(cleanOutput: string): boolean;
5
+ /** @deprecated Replaced by `ready.json` `code:"profile_locked"`. */
6
+ export declare function legacyProfileLockScrape(cleanOutput: string): boolean;
7
+ export declare const LEGACY_FIDELITY_WARNING = "This session ran a CLI that does not stamp the machine contract, so the boot verdict was read from the dev server's output instead of its ready contract. Diagnostics are less precise: compile errors come back as a text tail rather than a list. Upgrade the project's extension dependency to get the precise verdict.";
@@ -0,0 +1,16 @@
1
+ export declare const INSTALL_HEADER = "x-extensiondev-install";
2
+ export declare const SESSION_HEADER = "x-extensiondev-session";
3
+ export declare const TOOL_HEADER = "x-extensiondev-tool";
4
+ export declare const ROTATE_AFTER_MS: number;
5
+ export interface StoredInstallIdentity {
6
+ version: 1;
7
+ installId: string;
8
+ rotatedAt: number;
9
+ }
10
+ export declare function installIdentityDir(): string;
11
+ export declare function installIdentityPath(): string;
12
+ export declare function telemetryDisabled(): boolean;
13
+ export declare function resolveInstallId(now?: number): string;
14
+ export declare function sessionId(): string;
15
+ export declare function resetSessionIdentityForTests(): void;
16
+ export declare function identityHeaders(tool: string): Record<string, string>;
@@ -5,8 +5,8 @@ export declare const schema: {
5
5
  type: "object";
6
6
  properties: {
7
7
  projectPath: {
8
- type: string;
9
- description: string;
8
+ readonly type: "string";
9
+ readonly description: "Extension project root";
10
10
  };
11
11
  feature: {
12
12
  type: string;
@@ -0,0 +1,29 @@
1
+ export declare const schema: {
2
+ name: string;
3
+ description: string;
4
+ inputSchema: {
5
+ type: "object";
6
+ properties: {
7
+ projectPath: {
8
+ readonly type: "string";
9
+ readonly description: "Extension project root";
10
+ };
11
+ browser: {
12
+ type: string;
13
+ default: string;
14
+ description: string;
15
+ };
16
+ format: {
17
+ type: string;
18
+ enum: string[];
19
+ default: string;
20
+ };
21
+ };
22
+ required: string[];
23
+ };
24
+ };
25
+ export declare function handler(args: {
26
+ projectPath: string;
27
+ browser?: string;
28
+ format?: string;
29
+ }): Promise<string>;
@@ -0,0 +1,33 @@
1
+ export declare const schema: {
2
+ name: string;
3
+ description: string;
4
+ inputSchema: {
5
+ type: "object";
6
+ properties: {
7
+ action: {
8
+ type: string;
9
+ enum: string[];
10
+ default: string;
11
+ };
12
+ project: {
13
+ type: string;
14
+ description: string;
15
+ };
16
+ deviceCode: {
17
+ type: string;
18
+ description: string;
19
+ };
20
+ api: {
21
+ readonly type: "string";
22
+ readonly description: "Platform base URL (default EXTENSION_DEV_API_URL, else https://www.extension.dev)";
23
+ };
24
+ };
25
+ required: never[];
26
+ };
27
+ };
28
+ export declare function handler(args: {
29
+ action?: string;
30
+ project?: string;
31
+ deviceCode?: string;
32
+ api?: string;
33
+ }): Promise<string>;
@@ -0,0 +1,39 @@
1
+ export declare const schema: {
2
+ name: string;
3
+ description: string;
4
+ inputSchema: {
5
+ type: "object";
6
+ properties: {
7
+ action: {
8
+ type: string;
9
+ enum: string[];
10
+ default: string;
11
+ };
12
+ browsers: {
13
+ type: string;
14
+ items: {
15
+ type: string;
16
+ enum: readonly ["chrome", "chromium", "edge", "brave", "opera", "vivaldi", "yandex", "firefox", "waterfox", "librewolf", "safari"];
17
+ };
18
+ description: string;
19
+ };
20
+ browser: {
21
+ type: string;
22
+ enum: readonly ["chrome", "chromium", "edge", "firefox"];
23
+ description: string;
24
+ };
25
+ all: {
26
+ type: string;
27
+ default: boolean;
28
+ description: string;
29
+ };
30
+ };
31
+ required: never[];
32
+ };
33
+ };
34
+ export declare function handler(args: {
35
+ action?: string;
36
+ browsers?: string[];
37
+ browser?: string;
38
+ all?: boolean;
39
+ }): Promise<string>;
@@ -5,14 +5,13 @@ export declare const schema: {
5
5
  type: "object";
6
6
  properties: {
7
7
  projectPath: {
8
- type: string;
9
- description: string;
8
+ readonly type: "string";
9
+ readonly description: "Extension project root";
10
10
  };
11
11
  browser: {
12
- type: string;
13
- enum: string[];
14
- default: string;
15
- description: string;
12
+ readonly type: "string";
13
+ readonly enum: readonly ["chrome", "chromium", "edge", "brave", "opera", "vivaldi", "yandex", "firefox", "waterfox", "librewolf", "safari", "chromium-based", "gecko-based", "firefox-based", "webkit-based"];
14
+ readonly default: "chrome";
16
15
  };
17
16
  zip: {
18
17
  type: string;
@@ -1,20 +1 @@
1
- export declare const schema: {
2
- name: string;
3
- description: string;
4
- inputSchema: {
5
- type: "object";
6
- properties: {
7
- browsers: {
8
- type: string;
9
- items: {
10
- type: string;
11
- enum: string[];
12
- };
13
- description: string;
14
- };
15
- };
16
- };
17
- };
18
- export declare function handler(args: {
19
- browsers?: string[];
20
- }): Promise<string>;
1
+ export declare function detectBrowsers(browsers?: string[]): Promise<string>;
@@ -27,7 +27,7 @@ export declare const schema: {
27
27
  };
28
28
  profile: {
29
29
  readonly type: "string";
30
- readonly description: "Browser profile path, or \"false\" to reuse the default user profile. Omit for a fresh throwaway profile.";
30
+ readonly description: "Profile path, or \"false\" to reuse the real user profile. Omit for a throwaway one.";
31
31
  };
32
32
  startingUrl: {
33
33
  readonly type: "string";
@@ -35,35 +35,35 @@ export declare const schema: {
35
35
  };
36
36
  chromiumBinary: {
37
37
  readonly type: "string";
38
- readonly description: "Path to a custom Chromium-based binary (overrides browser)";
38
+ readonly description: "Custom Chromium-based binary (overrides browser)";
39
39
  };
40
40
  geckoBinary: {
41
41
  readonly type: "string";
42
- readonly description: "Path to a custom Gecko/Firefox binary (overrides browser)";
42
+ readonly description: "Custom Gecko/Firefox binary (overrides browser)";
43
43
  };
44
44
  host: {
45
45
  readonly type: "string";
46
- readonly description: "Dev server bind host. Use 0.0.0.0 for Docker or devcontainers. Defaults to 127.0.0.1";
46
+ readonly description: "Bind host, default 127.0.0.1. Use 0.0.0.0 in Docker or devcontainers.";
47
47
  };
48
48
  publicHost: {
49
49
  readonly type: "string";
50
- readonly description: "Connectable host the browser dials for HMR and reload when it differs from the bind host";
50
+ readonly description: "Host the browser dials for HMR and reload when it differs from the bind host";
51
51
  };
52
52
  extensions: {
53
53
  readonly type: "array";
54
54
  readonly items: {
55
55
  readonly type: "string";
56
56
  };
57
- readonly description: "Companion extension paths or store URLs to load alongside the project";
57
+ readonly description: "Extra extension paths or store URLs to load alongside the project";
58
58
  };
59
59
  projectPath: {
60
- type: string;
61
- description: string;
60
+ readonly type: "string";
61
+ readonly description: "Extension project root";
62
62
  };
63
63
  browser: {
64
- type: string;
65
- enum: string[];
66
- default: string;
64
+ readonly type: "string";
65
+ readonly enum: readonly ["chrome", "chromium", "edge", "brave", "opera", "vivaldi", "yandex", "firefox", "waterfox", "librewolf", "safari", "chromium-based", "gecko-based", "firefox-based", "webkit-based"];
66
+ readonly default: "chrome";
67
67
  };
68
68
  port: {
69
69
  type: string;
@@ -6,8 +6,8 @@ export declare const schema: {
6
6
  type: "object";
7
7
  properties: {
8
8
  projectPath: {
9
- type: string;
10
- description: string;
9
+ readonly type: "string";
10
+ readonly description: "Extension project root (needs a live dev session)";
11
11
  };
12
12
  tab: {
13
13
  type: string;
@@ -55,12 +55,12 @@ export declare const schema: {
55
55
  description: string;
56
56
  };
57
57
  browser: {
58
- type: string;
59
- description: string;
58
+ readonly type: "string";
59
+ readonly description: "Session browser; defaults to this project's live session";
60
60
  };
61
61
  timeout: {
62
- type: string;
63
- description: string;
62
+ readonly type: "number";
63
+ readonly description: "Command timeout in ms (default 5000)";
64
64
  };
65
65
  };
66
66
  required: string[];
@@ -6,8 +6,8 @@ export declare const schema: {
6
6
  type: "object";
7
7
  properties: {
8
8
  projectPath: {
9
- type: string;
10
- description: string;
9
+ readonly type: "string";
10
+ readonly description: "Extension project root (needs a live dev session)";
11
11
  };
12
12
  expression: {
13
13
  type: string;
@@ -27,12 +27,12 @@ export declare const schema: {
27
27
  description: string;
28
28
  };
29
29
  browser: {
30
- type: string;
31
- description: string;
30
+ readonly type: "string";
31
+ readonly description: "Session browser; defaults to this project's live session";
32
32
  };
33
33
  timeout: {
34
- type: string;
35
- description: string;
34
+ readonly type: "number";
35
+ readonly description: "Command timeout in ms (default 5000)";
36
36
  };
37
37
  };
38
38
  required: string[];
@@ -1,25 +1,4 @@
1
- export declare const schema: {
2
- name: string;
3
- description: string;
4
- inputSchema: {
5
- type: "object";
6
- properties: {
7
- slug: {
8
- type: string;
9
- description: string;
10
- };
11
- files: {
12
- type: string;
13
- items: {
14
- type: string;
15
- };
16
- description: string;
17
- };
18
- };
19
- required: string[];
20
- };
21
- };
22
- export declare function handler(args: {
1
+ export declare function readTemplateSource(args: {
23
2
  slug: string;
24
3
  files?: string[];
25
4
  }): Promise<string>;
@@ -5,18 +5,42 @@ export declare const schema: {
5
5
  type: "object";
6
6
  properties: {
7
7
  projectPath: {
8
+ readonly type: "string";
9
+ readonly description: "Extension project root (needs a live dev session)";
10
+ };
11
+ url: {
8
12
  type: string;
9
13
  description: string;
10
14
  };
15
+ probe: {
16
+ type: string;
17
+ items: {
18
+ type: string;
19
+ };
20
+ description: string;
21
+ };
22
+ include: {
23
+ type: string;
24
+ items: {
25
+ type: string;
26
+ enum: string[];
27
+ };
28
+ default: string[];
29
+ description: string;
30
+ };
11
31
  browser: {
32
+ readonly type: "string";
33
+ readonly description: "Session browser; defaults to this project's live session";
34
+ };
35
+ maxBytes: {
12
36
  type: string;
13
- default: string;
37
+ default: number;
14
38
  description: string;
15
39
  };
16
- format: {
40
+ deepDom: {
17
41
  type: string;
18
- enum: string[];
19
- default: string;
42
+ default: boolean;
43
+ description: string;
20
44
  };
21
45
  };
22
46
  required: string[];
@@ -24,6 +48,10 @@ export declare const schema: {
24
48
  };
25
49
  export declare function handler(args: {
26
50
  projectPath: string;
51
+ url?: string;
52
+ probe?: string[];
53
+ include?: string[];
27
54
  browser?: string;
28
- format?: string;
55
+ maxBytes?: number;
56
+ deepDom?: boolean;
29
57
  }): Promise<string>;
@@ -1,18 +1 @@
1
- export declare const schema: {
2
- name: string;
3
- description: string;
4
- inputSchema: {
5
- type: "object";
6
- properties: {
7
- browser: {
8
- type: string;
9
- enum: string[];
10
- description: string;
11
- };
12
- };
13
- required: string[];
14
- };
15
- };
16
- export declare function handler(args: {
17
- browser: string;
18
- }): Promise<string>;
1
+ export declare function installManagedBrowser(browser: string): Promise<string>;
@@ -1,9 +1 @@
1
- export declare const schema: {
2
- name: string;
3
- description: string;
4
- inputSchema: {
5
- type: "object";
6
- properties: {};
7
- };
8
- };
9
- export declare function handler(): Promise<string>;
1
+ export declare function listManagedBrowsers(): Promise<string>;
@@ -5,12 +5,12 @@ export declare const schema: {
5
5
  type: "object";
6
6
  properties: {
7
7
  projectPath: {
8
- type: string;
9
- description: string;
8
+ readonly type: "string";
9
+ readonly description: "Extension project root (needs a live dev session)";
10
10
  };
11
11
  browser: {
12
- type: string;
13
- description: string;
12
+ readonly type: "string";
13
+ readonly description: "Session browser; defaults to this project's live session";
14
14
  };
15
15
  };
16
16
  required: string[];