🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@developerz.ai/ui-debugger-mcp

Package Overview
Dependencies
Maintainers
2
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@developerz.ai/ui-debugger-mcp - npm Package Compare versions

Comparing version
1.6.0
to
1.7.0
+14
-2
dist/agent/prompts/compose.d.ts

@@ -14,4 +14,5 @@ /**

* 4. Signed in (optional) (which auth persona the run opened as)
* 5. Session story (what the smart agent wants done)
* 6. Criteria (optional) (pass/fail rules for this run)
* 5. Known about this app (optional) (the target's standing `notes` — what is expected)
* 6. Session story (what the smart agent wants done)
* 7. Criteria (optional) (pass/fail rules for this run)
*/

@@ -55,2 +56,13 @@ /** Supported target names — one per shipped adapter (web · desktop · android). */

};
/**
* The target's standing `notes`, one fact per line — what is EXPECTED of this
* app, so the driver stops filing it as a defect.
*
* Observed: a freshly-migrated app with no seed data renders empty states
* everywhere, and the driver correctly-but-uselessly reports "the table is
* empty" as the run's headline bug. Config-level, so it is stated once instead
* of pasted into every `goal`; capped at the config boundary
* (`TARGET_NOTES_MAX_CHARS`) because this section is resent every step.
*/
notes?: string[];
}

@@ -57,0 +69,0 @@ /**

@@ -14,4 +14,5 @@ /**

* 4. Signed in (optional) (which auth persona the run opened as)
* 5. Session story (what the smart agent wants done)
* 6. Criteria (optional) (pass/fail rules for this run)
* 5. Known about this app (optional) (the target's standing `notes` — what is expected)
* 6. Session story (what the smart agent wants done)
* 7. Criteria (optional) (pass/fail rules for this run)
*/

@@ -35,3 +36,3 @@ import { ANDROID_ADDENDUM_PROMPT } from './android-addendum.js';

export function composeSystemPrompt(options) {
const { target, story, criteria, selfLook, address, auth } = options;
const { target, story, criteria, selfLook, address, auth, notes } = options;
const addendum = TARGET_ADDENDA[target];

@@ -62,2 +63,13 @@ const addressSection = address

: '';
const notesSection = notes && notes.length > 0
? `\
## Known about this app
Stated by the project, not observed by you. Treat each as TRUE and EXPECTED — NEVER
\`report\` one as a bug (an empty table you were told to expect is not a defect). A
screen that CONTRADICTS one IS worth reporting.
${notes.map((note) => `- ${note}`).join('\n')}
`
: '';
const storySection = `\

@@ -82,2 +94,3 @@ ## Your goal for this session

authSection,
notesSection,
storySection,

@@ -84,0 +97,0 @@ criteriaSection,

+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../src/agent/prompts/compose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAKxD,2CAA2C;AAC3C,MAAM,cAAc,GAA+B;IACjD,GAAG,EAAE,mBAAmB;IACxB,OAAO,EAAE,uBAAuB;IAChC,OAAO,EAAE,uBAAuB;CACjC,CAAC;AAoCF;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAuB;IACzD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAErE,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAExC,MAAM,cAAc,GAAG,OAAO;QAC5B,CAAC,CAAC;;;EAGJ,OAAO;;;;;;;CAOR;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,WAAW,GAAG,IAAI;QACtB,CAAC,CAAC;;;yBAGmB,IAAI,CAAC,OAAO,4BAA4B,IAAI,CAAC,SAAS;;;qEAGV,IAAI,CAAC,SAAS;;CAElF;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,YAAY,GAAG;;;EAGrB,KAAK,CAAC,IAAI,EAAE;CACb,CAAC;IAEA,MAAM,eAAe,GACnB,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC7B,CAAC,CAAC;;;;;EAKN,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CACpD;QACK,CAAC,CAAC,EAAE,CAAC;IAET,OAAO;QACL,gBAAgB,CAAC,QAAQ,CAAC;QAC1B,QAAQ;QACR,cAAc;QACd,WAAW;QACX,YAAY;QACZ,eAAe;KAChB;SACE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;SACvC,IAAI,CAAC,WAAW,CAAC,CAAC;AACvB,CAAC"}
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../src/agent/prompts/compose.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAKxD,2CAA2C;AAC3C,MAAM,cAAc,GAA+B;IACjD,GAAG,EAAE,mBAAmB;IACxB,OAAO,EAAE,uBAAuB;IAChC,OAAO,EAAE,uBAAuB;CACjC,CAAC;AA+CF;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAuB;IACzD,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAE5E,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAExC,MAAM,cAAc,GAAG,OAAO;QAC5B,CAAC,CAAC;;;EAGJ,OAAO;;;;;;;CAOR;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,WAAW,GAAG,IAAI;QACtB,CAAC,CAAC;;;yBAGmB,IAAI,CAAC,OAAO,4BAA4B,IAAI,CAAC,SAAS;;;qEAGV,IAAI,CAAC,SAAS;;CAElF;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,YAAY,GAChB,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QACvB,CAAC,CAAC;;;;;;;EAON,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CAC5C;QACK,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,YAAY,GAAG;;;EAGrB,KAAK,CAAC,IAAI,EAAE;CACb,CAAC;IAEA,MAAM,eAAe,GACnB,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC7B,CAAC,CAAC;;;;;EAKN,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;CACpD;QACK,CAAC,CAAC,EAAE,CAAC;IAET,OAAO;QACL,gBAAgB,CAAC,QAAQ,CAAC;QAC1B,QAAQ;QACR,cAAc;QACd,WAAW;QACX,YAAY;QACZ,YAAY;QACZ,eAAe;KAChB;SACE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;SACvC,IAAI,CAAC,WAAW,CAAC,CAAC;AACvB,CAAC"}

@@ -29,2 +29,11 @@ /**

}, z.core.$strict>;
/**
* Hard cap on a target's `notes`, in characters.
*
* The composed system prompt is resent to the provider on EVERY step, so notes are
* paid for per step, for the whole run. ~1000 characters is a dozen preconditions —
* enough for what a driver must not mistake for a bug, short of an essay. Over the
* cap fails at config validation, loud, instead of quietly inflating every step.
*/
export declare const TARGET_NOTES_MAX_CHARS = 1000;
/** Web target — CDP-driven browser. Managed (default) unless `cdpUrl` attaches. */

@@ -35,2 +44,3 @@ export declare const WebTargetSchema: z.ZodObject<{

headless: z.ZodDefault<z.ZodBoolean>;
notes: z.ZodOptional<z.ZodString>;
debugLogin: z.ZodOptional<z.ZodObject<{

@@ -60,2 +70,3 @@ param: z.ZodString;

launch: z.ZodString;
notes: z.ZodOptional<z.ZodString>;
window: z.ZodOptional<z.ZodObject<{

@@ -76,2 +87,3 @@ title: z.ZodOptional<z.ZodString>;

adapter: z.ZodLiteral<"android">;
notes: z.ZodOptional<z.ZodString>;
avd: z.ZodOptional<z.ZodString>;

@@ -86,2 +98,3 @@ emulatorPath: z.ZodOptional<z.ZodNullable<z.ZodString>>;

headless: z.ZodDefault<z.ZodBoolean>;
notes: z.ZodOptional<z.ZodString>;
debugLogin: z.ZodOptional<z.ZodObject<{

@@ -102,2 +115,3 @@ param: z.ZodString;

launch: z.ZodString;
notes: z.ZodOptional<z.ZodString>;
window: z.ZodOptional<z.ZodObject<{

@@ -110,2 +124,3 @@ title: z.ZodOptional<z.ZodString>;

adapter: z.ZodLiteral<"android">;
notes: z.ZodOptional<z.ZodString>;
avd: z.ZodOptional<z.ZodString>;

@@ -127,2 +142,3 @@ emulatorPath: z.ZodOptional<z.ZodNullable<z.ZodString>>;

headless: z.ZodDefault<z.ZodBoolean>;
notes: z.ZodOptional<z.ZodString>;
debugLogin: z.ZodOptional<z.ZodObject<{

@@ -143,2 +159,3 @@ param: z.ZodString;

launch: z.ZodString;
notes: z.ZodOptional<z.ZodString>;
window: z.ZodOptional<z.ZodObject<{

@@ -151,2 +168,3 @@ title: z.ZodOptional<z.ZodString>;

adapter: z.ZodLiteral<"android">;
notes: z.ZodOptional<z.ZodString>;
avd: z.ZodOptional<z.ZodString>;

@@ -153,0 +171,0 @@ emulatorPath: z.ZodOptional<z.ZodNullable<z.ZodString>>;

@@ -48,2 +48,29 @@ /**

});
/**
* Hard cap on a target's `notes`, in characters.
*
* The composed system prompt is resent to the provider on EVERY step, so notes are
* paid for per step, for the whole run. ~1000 characters is a dozen preconditions —
* enough for what a driver must not mistake for a bug, short of an essay. Over the
* cap fails at config validation, loud, instead of quietly inflating every step.
*/
export const TARGET_NOTES_MAX_CHARS = 1000;
/**
* Standing facts about a target — what is EXPECTED, so the driver stops reporting
* it as a defect.
*
* Per-target, not per-run: `start_debug`'s `goal` says what to do this time,
* `notes` says what is always true of this app ("needs seeded data — empty tables
* are expected on /new", "dark mode by default", "first load shows an onboarding
* modal — dismiss it"). One fact per line; composed into the prompt once, as its
* own section (see `agent/prompts/compose.ts`).
*/
const TargetNotesSchema = z
.string()
.min(1)
.max(TARGET_NOTES_MAX_CHARS, {
message: `must be at most ${TARGET_NOTES_MAX_CHARS} characters — the system prompt carrying it is ` +
'resent to the model on every step. Keep it to the preconditions a driver would ' +
'otherwise mis-report as bugs; the per-run `goal` carries the rest.',
});
/** Web target — CDP-driven browser. Managed (default) unless `cdpUrl` attaches. */

@@ -54,2 +81,3 @@ export const WebTargetSchema = z.strictObject({

headless: z.boolean().default(true), // docs/idea/config.md promises headless by default
notes: TargetNotesSchema.optional(), // standing preconditions — see the schema above
debugLogin: DebugLoginSchema.optional(),

@@ -84,2 +112,3 @@ auth: z.record(z.string().min(1), AuthPersonaSchema).optional(), // personas, keyed by `as`

launch: z.string(), // command that starts the app (managed, must stay foreground)
notes: TargetNotesSchema.optional(), // standing preconditions — see the schema above
window: WindowMatchSchema.optional(), // which window to drive; omit → `open` must supply a title

@@ -98,2 +127,3 @@ display: z.string().nullish(), // X11 DISPLAY, e.g. ":99" for Xvfb; null = inherit env

adapter: z.literal('android'),
notes: TargetNotesSchema.optional(), // standing preconditions — see the schema above
avd: z.string().optional(), // required in managed mode (see the refinement below)

@@ -100,0 +130,0 @@ emulatorPath: z.string().nullish(), // null = auto-detect from SDK (managed)

@@ -1,1 +0,1 @@

{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
export declare const NAME = "ui-debugger-mcp";
export declare const VERSION = "1.6.0";
export declare const VERSION = "1.7.0";
// Public package surface. Implementation lands incrementally — see idea/ for design.
export const NAME = 'ui-debugger-mcp';
export const VERSION = '1.6.0';
export const VERSION = '1.7.0';
//# sourceMappingURL=index.js.map

@@ -20,5 +20,7 @@ /**

description: 'List the configured targets for this project (name, adapter, managed|attach, whether wired, ' +
'web url/headless, and any named auth personas) plus the resolved per-role models and ' +
'workspace. Call this first to pick a valid target — and a valid `as` persona — for ' +
'start_debug. Pass target to narrow to one.',
"web url/headless, any named auth personas, and the target's standing notes — what is " +
'expected of the app) plus the resolved per-role models and workspace. Call this first to ' +
'pick a valid target — and a valid `as` persona — for start_debug. Pass target to narrow ' +
'to one. Also reports `session`: the run this project currently holds, so a lost ' +
'session_id can be adopted or ended instead of blocking the next start_debug.',
annotations: {

@@ -25,0 +27,0 @@ readOnlyHint: true,

@@ -1,1 +0,1 @@

{"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../src/mcp/tools/describe.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,kEAAkE;AAClE,MAAM,UAAU,YAAY,CAAC,OAAiB;IAC5C,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ,CAAC,MAAM;YACb,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;gBACE,KAAK,EAAE,wBAAwB;gBAC/B,WAAW,EACT,8FAA8F;oBAC9F,uFAAuF;oBACvF,qFAAqF;oBACrF,4CAA4C;gBAC9C,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI;iBACnB;gBACD,WAAW,EAAE;oBACX,MAAM,EAAE,CAAC;yBACN,MAAM,EAAE;yBACR,GAAG,CAAC,CAAC,CAAC;yBACN,QAAQ,EAAE;yBACV,QAAQ,CAAC,+DAA+D,CAAC;iBAC7E;gBACD,YAAY,EAAE,oBAAoB;aACnC,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAC/C,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
{"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../src/mcp/tools/describe.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,kEAAkE;AAClE,MAAM,UAAU,YAAY,CAAC,OAAiB;IAC5C,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ,CAAC,MAAM;YACb,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;gBACE,KAAK,EAAE,wBAAwB;gBAC/B,WAAW,EACT,8FAA8F;oBAC9F,uFAAuF;oBACvF,2FAA2F;oBAC3F,0FAA0F;oBAC1F,kFAAkF;oBAClF,8EAA8E;gBAChF,WAAW,EAAE;oBACX,YAAY,EAAE,IAAI;iBACnB;gBACD,WAAW,EAAE;oBACX,MAAM,EAAE,CAAC;yBACN,MAAM,EAAE;yBACR,GAAG,CAAC,CAAC,CAAC;yBACN,QAAQ,EAAE;yBACV,QAAQ,CAAC,+DAA+D,CAAC;iBAC7E;gBACD,YAAY,EAAE,oBAAoB;aACnC,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAC/C,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}

@@ -44,2 +44,3 @@ /**

personas: z.ZodOptional<z.ZodArray<z.ZodString>>;
notes: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;

@@ -52,2 +53,11 @@ models: z.ZodObject<{

workspace: z.ZodString;
session: z.ZodOptional<z.ZodObject<{
id: z.ZodString;
status: z.ZodEnum<{
running: "running";
passed: "passed";
failed: "failed";
}>;
goal: z.ZodString;
}, z.core.$strip>>;
}, z.core.$strip>;

@@ -47,3 +47,20 @@ /**

'the credentials stay in .ui-debugger-mcp.json and never reach the driver.'),
notes: z
.string()
.optional()
.describe('Standing preconditions the project declares for this app (e.g. "needs seeded data — ' +
'empty tables are expected"). Composed into the driver\'s prompt, so it treats these ' +
'as expected rather than reporting them as defects.'),
});
/** The run this server holds for the project — how a caller that lost its session id gets back in. */
const RunInfoSchema = z.object({
id: z
.string()
.min(1)
.describe('Session id — pass to get_findings, send_message and end_session.'),
status: z
.enum(['running', 'passed', 'failed'])
.describe('running, or the verdict it settled on (still readable, still holding the project).'),
goal: z.string().describe('The goal this run was started with.'),
});
/** `describe` output — the target catalog plus the resolved models + workspace. */

@@ -60,3 +77,6 @@ export const DescribeResultSchema = z.object({

workspace: z.string().describe('Per-project workspace path; evidence lands under it.'),
session: RunInfoSchema.optional().describe('The run this project currently holds (or the last one, kept readable until it is ended or ' +
'superseded). Absent when there is none. Use it to adopt a run whose session_id you lost — ' +
'or to end it — instead of being blocked by start_debug.'),
});
//# sourceMappingURL=output.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/mcp/tools/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,kEAAkE;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,0DAA0D,CAAC;CACxE,CAAkC,CAAC;AAEpC,uEAAuE;AACvE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,EAAE,EAAE,CAAC;SACF,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,sEAAsE,CAAC;IACnF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;CACnE,CAA0B,CAAC;AAE5B,oFAAoF;AACpF,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAChE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAChG,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC3B,QAAQ,CAAC,mFAAmF,CAAC;IAChG,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IAC9E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACpE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC9E,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CACP,wFAAwF;QACtF,2EAA2E,CAC9E;CACJ,CAAC,CAAC;AAEH,mFAAmF;AACnF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACnF,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QACxE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAC/D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KACpE,CAAC;SACD,QAAQ,CAAC,8BAA8B,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;CACvF,CAAqC,CAAC"}
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/mcp/tools/output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,kEAAkE;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,0DAA0D,CAAC;CACxE,CAAkC,CAAC;AAEpC,uEAAuE;AACvE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,EAAE,EAAE,CAAC;SACF,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,sEAAsE,CAAC;IACnF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;CACnE,CAA0B,CAAC;AAE5B,oFAAoF;AACpF,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAChE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAChG,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;SAC3B,QAAQ,CAAC,mFAAmF,CAAC;IAChG,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IAC9E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACpE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IAC9E,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CACP,wFAAwF;QACtF,2EAA2E,CAC9E;IACH,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,sFAAsF;QACpF,sFAAsF;QACtF,oDAAoD,CACvD;CACJ,CAAC,CAAC;AAEH,sGAAsG;AACtG,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,EAAE,EAAE,CAAC;SACF,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,kEAAkE,CAAC;IAC/E,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;SACrC,QAAQ,CAAC,oFAAoF,CAAC;IACjG,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;CACjE,CAAC,CAAC;AAEH,mFAAmF;AACnF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IACnF,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;QACxE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAC/D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KACpE,CAAC;SACD,QAAQ,CAAC,8BAA8B,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IACtF,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACxC,4FAA4F;QAC1F,4FAA4F;QAC5F,yDAAyD,CAC5D;CACF,CAAqC,CAAC"}

@@ -22,4 +22,8 @@ /**

'visual feedback). One run per project at a time. Returns { session_id }; then poll ' +
'get_findings, steer with send_message, and close with end_session.',
'get_findings, steer with send_message, and close with end_session. A run is already ' +
'active? The error names its session_id and how to read, close or replace it — and ' +
'describe reports that id too.',
annotations: {
// Stays `false`: the one destructive path (`replace: true`, which ends
// the active run) is never taken unless the caller asks for it by name.
destructiveHint: false,

@@ -49,2 +53,10 @@ openWorldHint: true,

'its context. Omit to run signed out; an unknown name fails loud.'),
replace: z
.boolean()
.optional()
.describe('Take the project over when a run is already active: end that run (closing its ' +
'browser and freeing the profile) and start yours. Default false — the start is ' +
'refused instead, naming the active session_id. Use this when the active run is ' +
'yours and you lost its id, or it is stuck; it kills a run that may still be ' +
'working. A run held by another ui-debugger-mcp server is never replaced.'),
criteria: z

@@ -51,0 +63,0 @@ .string()

@@ -1,1 +0,1 @@

{"version":3,"file":"start-debug.js","sourceRoot":"","sources":["../../../src/mcp/tools/start-debug.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,qEAAqE;AACrE,MAAM,UAAU,cAAc,CAAC,OAAiB;IAC9C,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,QAAQ,CAAC,MAAM;YACb,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;gBACE,KAAK,EAAE,mBAAmB;gBAC1B,WAAW,EACT,mFAAmF;oBACnF,sFAAsF;oBACtF,qFAAqF;oBACrF,oEAAoE;gBACtE,WAAW,EAAE;oBACX,eAAe,EAAE,KAAK;oBACtB,aAAa,EAAE,IAAI;iBACpB;gBACD,WAAW,EAAE;oBACX,MAAM,EAAE,CAAC;yBACN,MAAM,EAAE;yBACR,GAAG,CAAC,CAAC,CAAC;yBACN,QAAQ,CACP,4FAA4F,CAC7F;oBACH,IAAI,EAAE,CAAC;yBACJ,MAAM,EAAE;yBACR,GAAG,CAAC,CAAC,CAAC;yBACN,QAAQ,CACP,8FAA8F,CAC/F;oBACH,GAAG,EAAE,CAAC;yBACH,GAAG,EAAE;yBACL,QAAQ,EAAE;yBACV,QAAQ,CACP,qOAAqO,CACtO;oBACH,EAAE,EAAE,CAAC;yBACF,MAAM,EAAE;yBACR,GAAG,CAAC,CAAC,CAAC;yBACN,QAAQ,EAAE;yBACV,QAAQ,CACP,8EAA8E;wBAC5E,uEAAuE;wBACvE,+EAA+E;wBAC/E,kEAAkE,CACrE;oBACH,QAAQ,EAAE,CAAC;yBACR,MAAM,EAAE;yBACR,QAAQ,EAAE;yBACV,QAAQ,CACP,+EAA+E,CAChF;oBACH,OAAO,EAAE,CAAC;yBACP,MAAM,EAAE;yBACR,GAAG,EAAE;yBACL,QAAQ,EAAE;yBACV,GAAG,CAAC,SAAS,CAAC;yBACd,QAAQ,EAAE;yBACV,QAAQ,CACP,oPAAoP,CACrP;iBACJ;gBACD,YAAY,EAAE,iBAAiB;aAChC,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAC7B,YAAY,CACV,MAAM,OAAO,CAAC,KAAK,CAAC;gBAClB,GAAG,IAAI;gBACP,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,EAAE,CAAC;aAC5D,CAAC,CACH,CACJ,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
{"version":3,"file":"start-debug.js","sourceRoot":"","sources":["../../../src/mcp/tools/start-debug.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,qEAAqE;AACrE,MAAM,UAAU,cAAc,CAAC,OAAiB;IAC9C,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,QAAQ,CAAC,MAAM;YACb,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;gBACE,KAAK,EAAE,mBAAmB;gBAC1B,WAAW,EACT,mFAAmF;oBACnF,sFAAsF;oBACtF,qFAAqF;oBACrF,sFAAsF;oBACtF,oFAAoF;oBACpF,+BAA+B;gBACjC,WAAW,EAAE;oBACX,uEAAuE;oBACvE,wEAAwE;oBACxE,eAAe,EAAE,KAAK;oBACtB,aAAa,EAAE,IAAI;iBACpB;gBACD,WAAW,EAAE;oBACX,MAAM,EAAE,CAAC;yBACN,MAAM,EAAE;yBACR,GAAG,CAAC,CAAC,CAAC;yBACN,QAAQ,CACP,4FAA4F,CAC7F;oBACH,IAAI,EAAE,CAAC;yBACJ,MAAM,EAAE;yBACR,GAAG,CAAC,CAAC,CAAC;yBACN,QAAQ,CACP,8FAA8F,CAC/F;oBACH,GAAG,EAAE,CAAC;yBACH,GAAG,EAAE;yBACL,QAAQ,EAAE;yBACV,QAAQ,CACP,qOAAqO,CACtO;oBACH,EAAE,EAAE,CAAC;yBACF,MAAM,EAAE;yBACR,GAAG,CAAC,CAAC,CAAC;yBACN,QAAQ,EAAE;yBACV,QAAQ,CACP,8EAA8E;wBAC5E,uEAAuE;wBACvE,+EAA+E;wBAC/E,kEAAkE,CACrE;oBACH,OAAO,EAAE,CAAC;yBACP,OAAO,EAAE;yBACT,QAAQ,EAAE;yBACV,QAAQ,CACP,gFAAgF;wBAC9E,iFAAiF;wBACjF,iFAAiF;wBACjF,8EAA8E;wBAC9E,0EAA0E,CAC7E;oBACH,QAAQ,EAAE,CAAC;yBACR,MAAM,EAAE;yBACR,QAAQ,EAAE;yBACV,QAAQ,CACP,+EAA+E,CAChF;oBACH,OAAO,EAAE,CAAC;yBACP,MAAM,EAAE;yBACR,GAAG,EAAE;yBACL,QAAQ,EAAE;yBACV,GAAG,CAAC,SAAS,CAAC;yBACd,QAAQ,EAAE;yBACV,QAAQ,CACP,oPAAoP,CACrP;iBACJ;gBACD,YAAY,EAAE,iBAAiB;aAChC,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAC7B,YAAY,CACV,MAAM,OAAO,CAAC,KAAK,CAAC;gBAClB,GAAG,IAAI;gBACP,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,EAAE,CAAC;aAC5D,CAAC,CACH,CACJ,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}

@@ -32,3 +32,3 @@ /**

import type { SessionManager } from '../session/manager.js';
import type { Session, SnapshotField } from '../session/session.js';
import type { Session, SessionStatus, SnapshotField } from '../session/session.js';
import { type StatePort } from '../session/state-file.js';

@@ -52,2 +52,14 @@ import type { SessionBuilder } from './session-builder.js';

/**
* Take the project over instead of being refused when a run is already active
* here: end that run first (through the `end_session` path), then start.
*
* OFF by default, and it must stay off by default — a silent takeover kills a
* healthy run its own caller is still watching. Opt in when the active run is
* yours and you lost its id (a compacted context, a crashed client) or it is
* stuck. Only ever replaces a run THIS server owns; one held by another live
* server is still refused ({@link SessionBusyError}), since its browser is not
* ours to close.
*/
replace?: boolean;
/**
* Wall-clock cap (ms) before the run auto-ends, counted from THIS call — assembly,

@@ -101,3 +113,22 @@ * launch and the first navigation spend it too. Defaults to

personas?: string[];
/**
* The target's standing `notes` — what is EXPECTED of this app (seeded data,
* onboarding modals, dark mode), verbatim from config. Also composed into the
* driver's prompt; surfaced here so a caller can see what the run was told.
*/
notes?: string;
}
/**
* The run this server holds for the project, as `describe` reports it — the way
* back in-band for a caller that lost its `session_id` (a compacted context, a
* client restart). Without it the only recovery was the out-of-band CLI.
*/
export interface RunInfo {
/** Pass to `get_findings` / `send_message` / `end_session`. */
id: string;
/** `running`, or the verdict it settled on (still readable, still holding the slot). */
status: SessionStatus;
/** The goal this run was started with — enough to tell whose run it is. */
goal: string;
}
/** `describe` output — configured targets plus the resolved models + workspace. */

@@ -113,2 +144,8 @@ export interface DescribeResult {

workspace: string;
/**
* The active run for this project (or the retained snapshot of the last one that
* auto-ended). Absent when this server holds no run. A run another live server
* owns is NOT reported here — `start_debug` names that one in its refusal.
*/
session?: RunInfo;
}

@@ -165,2 +202,8 @@ /** The surface the outer MCP tools call. Implemented by {@link DebugService}. */

* Chrome launch spends the caller's cap instead of sitting outside it.
*
* The refusal is the default and stays the default; `replace: true` is the
* caller's explicit takeover. Either way the caller ends up with a way forward:
* the refusal names the active id and the exact calls that read, close or
* replace it, and `describe` reports that id at any time — so a lost session id
* is a detour, not the dead end that used to need the out-of-band CLI.
*/

@@ -167,0 +210,0 @@ start(input: StartInput): Promise<StartResult>;

@@ -99,15 +99,29 @@ /**

* Chrome launch spends the caller's cap instead of sitting outside it.
*
* The refusal is the default and stays the default; `replace: true` is the
* caller's explicit takeover. Either way the caller ends up with a way forward:
* the refusal names the active id and the exact calls that read, close or
* replace it, and `describe` reports that id at any time — so a lost session id
* is a detour, not the dead end that used to need the out-of-band CLI.
*/
async start(input) {
const cwd = this.#cwd;
if (this.#manager.has(cwd)) {
throw new SessionBusyError(`A debug session ('${this.#manager.get(cwd).id}') is already active for '${cwd}'. ` +
'End it before starting another — one run per project at a time.');
}
// Taken synchronously (no await since the has() check) — a concurrent start
// must fail here, not launch a second browser on the same profile.
// Checked first, and synchronously (no await before `#starting` is set) — a
// concurrent start must fail here, not launch a second browser on the same
// profile. Ahead of `replace` on purpose: a run that is still opening owns no
// manager slot to hand over, and racing its teardown is how a half-launched
// Chrome gets orphaned on the profile lock.
if (this.#starting !== undefined) {
throw new SessionBusyError(`A debug session is already starting for '${cwd}'. ` +
'Wait for it to open (or end it) before starting another — one run per project at a time.');
throw new SessionBusyError(`A debug session is already starting for '${cwd}' — one run per project at a time. ` +
'Wait a moment for it to open, then describe() names it, ' +
'get_findings({session_id}) reads it, and end_session({session_id}) closes it.');
}
if (this.#manager.has(cwd) && input.replace !== true) {
const active = this.#manager.get(cwd).id;
throw new SessionBusyError(`A debug session ('${active}') is already active for '${cwd}' — one run per project at a ` +
`time. Read what it is doing with get_findings({session_id:'${active}'}), close it with ` +
`end_session({session_id:'${active}'}), or take the project over with ` +
'start_debug({…, replace:true}), which ends that run first. describe() reports this id ' +
'at any time, so a lost session id never wedges the project.');
}
// Before anything is launched: a run built from config the caller has already

@@ -139,3 +153,3 @@ // replaced is worse than no run — it reproduces the very failure they just fixed.

*/
async #launch({ target, goal, criteria, url, as }, deadline, signal) {
async #launch({ target, goal, criteria, url, as, replace }, deadline, signal) {
const cwd = this.#cwd;

@@ -145,2 +159,6 @@ /** Budget left on the caller's cap; never negative — a blown budget is simply spent. */

await this.#assertNoForeignRun(cwd);
// The caller asked to take the project over. Before the breadcrumb, so the
// takeover's `clear()` cannot wipe the record of the run replacing it.
if (replace === true)
await this.#takeOverActive();
const id = generateSessionId(this.#now());

@@ -210,2 +228,19 @@ // The breadcrumb goes down BEFORE the launch, not after it: a cold Chrome start

/**
* `replace: true` — end the run this server holds for the project so the new one
* can have it. No-op when nothing is active: replacing nothing is just a start.
*
* Deliberately routed through {@link end}, the very method `end_session` calls,
* rather than a private teardown: releasing a target correctly means the managed
* browser is STOPPED while an attached one is only DISCONNECTED, the wall-clock
* timer is cleared and the breadcrumb dropped — a second implementation of that
* would drift, and the drift would show up as a leaked Chrome sitting on the
* profile lock. A teardown that throws fails the start, loudly; the manager frees
* the slot before closing, so the project is not wedged either way.
*/
async #takeOverActive() {
if (!this.#manager.has(this.#cwd))
return;
await this.end({ session_id: this.#manager.get(this.#cwd).id });
}
/**
* Refuse to start on config this server can no longer honour.

@@ -318,2 +353,3 @@ *

}
const session = this.#currentRun();
return {

@@ -326,5 +362,23 @@ targets: selected.map(([name, config]) => describeTarget(name, config)),

workspace: workspacePaths(this.#cwd, this.#config.workspace).root,
...(session && { session }),
};
}
/**
* The run this server holds for the project — the active one, or the retained
* snapshot of the last run that auto-ended (both are readable and both are
* `end_session`-able by their id). `undefined` when there is none.
*
* This is the in-band answer to a lost `session_id`: without it, a caller whose
* context was compacted mid-conversation could neither read the run nor close
* it, and the only recovery left was `ui-debugger-mcp stop` in a shell the
* caller may not have. A start still in flight is deliberately not reported —
* it has no id to hand out yet, and the busy error says to wait for it.
*/
#currentRun() {
const session = this.#manager.has(this.#cwd) ? this.#manager.get(this.#cwd) : this.#retained;
if (session === undefined)
return undefined;
return { id: session.id, status: session.status, goal: session.story };
}
/**
* End the active run: abort the loop, close the adapter, free the profile lock.

@@ -435,2 +489,6 @@ * Ending a run that already auto-ended (timeout / client death) is not an error

operational: true,
// What the project declares is EXPECTED of this app — the driver already gets
// it in its prompt; the caller sees it here so "the table is empty" coming back
// as a non-finding is explainable without opening the config file.
...(target.notes !== undefined && { notes: target.notes }),
};

@@ -437,0 +495,0 @@ if (target.adapter === 'browser') {

@@ -1,1 +0,1 @@

{"version":3,"file":"debug-service.js","sourceRoot":"","sources":["../../src/services/debug-service.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"debug-service.js","sourceRoot":"","sources":["../../src/services/debug-service.ts"],"names":[],"mappings":"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"}

@@ -114,7 +114,11 @@ /**

}
/** Split a free-text criteria blob into per-line rules; `undefined` when empty/absent. */
function splitCriteria(criteria) {
if (criteria === undefined)
/**
* Split a free-text blob into per-line entries; `undefined` when empty/absent.
* Backs both the run's `criteria` and the target's standing `notes` — each is one
* rule/fact per line, rendered as a list in the composed prompt.
*/
function splitLines(blob) {
if (blob === undefined)
return undefined;
const lines = criteria
const lines = blob
.split('\n')

@@ -190,3 +194,3 @@ .map((line) => line.trim())

await pruneSessions(workspace, { keep: SESSION_RETENTION, protect: id });
const criteriaLines = splitCriteria(criteria);
const criteriaLines = splitLines(criteria);
const address = openAddress(targetConfig);

@@ -224,2 +228,6 @@ const origin = runOrigin(targetConfig);

...(auth && { auth: { persona: auth.name, loginPath: auth.persona.path } }),
// The target's standing preconditions: config-level, so they are stated once
// here instead of re-pasted into every `goal`. Length is capped at the config
// boundary — this section rides along on every step.
notes: splitLines(targetConfig.notes),
});

@@ -226,0 +234,0 @@ const appendAgentLog = (line) => store.appendLog('agent', redact(`${new Date().toISOString()} ${line}`));

@@ -1,1 +0,1 @@

{"version":3,"file":"session-builder.js","sourceRoot":"","sources":["../../src/services/session-builder.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"session-builder.js","sourceRoot":"","sources":["../../src/services/session-builder.ts"],"names":[],"mappings":"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"}
{
"name": "@developerz.ai/ui-debugger-mcp",
"version": "1.6.0",
"version": "1.7.0",
"description": "Autonomous UI debugging MCP server. Give a goal; a fast agent drives the browser/desktop, finds bugs + visual issues, and reports back.",

@@ -5,0 +5,0 @@ "mcpName": "io.github.developerz-ai/ui-debugger-mcp",

@@ -202,6 +202,6 @@ # UI Debugger MCP

|------|--------------|
| `start_debug` | Open a run: `{ target, goal, url?, as?, criteria?, timeout? }`. `url` is required when the target has no configured url; `as` names a login persona. The small agent drives autonomously. Returns `{ session_id }`. |
| `start_debug` | Open a run: `{ target, goal, url?, as?, replace?, criteria?, timeout? }`. `url` is required when the target has no configured url; `as` names a login persona; `replace: true` takes over a project that already has a run. The small agent drives autonomously. Returns `{ session_id }`. |
| `get_findings` | Poll status + structured findings (functional bugs + visual issues) + evidence. Long-poll with `wait`. A whole-object read caps each list at 20 and says so in `truncated` (`{returned, total}` per field) — pass `fields` for the full lists. |
| `send_message` | Talk to the running agent mid-flight — add work, redirect, or answer a question. |
| `describe` | List the configured targets + models for this project — including each target's auth `personas[]`. |
| `describe` | List the configured targets + models for this project — including each target's auth `personas[]` and `notes` — plus `session`: the run this project currently holds. |
| `end_session` | Close the run, free the browser/profile. |

@@ -245,2 +245,35 @@

### Telling it what's expected — `notes`
A freshly-migrated app with no seed data renders empty states everywhere, and the
driver reports *"the table is empty"* as the run's headline bug. It is right, and
it is useless. Say what's expected once, in the target:
```jsonc
"targets": {
"dashboard": {
"adapter": "browser",
"url": "http://localhost:5173",
"notes": "needs seeded data — empty tables are expected on /new\nfirst load shows an onboarding modal; dismiss it\ndark mode is the default theme"
}
}
```
One fact per line, on any target (web, desktop, android). Unlike the per-run
`goal`, `notes` is config: it is composed into the driver's prompt once, as its
own *"Known about this app"* section — treat these as expected, never report one
as a defect, and a screen that **contradicts** one is still worth reporting.
Capped at 1000 characters, enforced when the config loads (the prompt carrying it
is resent to the model on every step, so an essay here is paid for per step).
### If a run is already open
One run per project (cwd), so a forgotten `end_session` used to wedge it. It
doesn't any more: `describe` reports the run this project holds
(`session: { id, status, goal }`), so a caller that lost its `session_id` — a
compacted context, a restarted client — can read it, close it, or take it over
with `start_debug({ …, replace: true })`. Being refused is still the default, and
the refusal spells out all three calls; a silent takeover would kill a healthy run
somebody else is watching.
Every tool result carries **both** a pretty-printed text block and a typed

@@ -247,0 +280,0 @@ `structuredContent` payload validated against a declared `outputSchema` — parse