humanish 0.75.0 → 0.76.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.
@@ -38,14 +38,29 @@ export interface FeedbackResult {
38
38
  issueMarkdown?: string;
39
39
  issueUrl?: string;
40
40
  draft?: FeedbackDraft;
41
+ /** Every usable candidate on the bundle, so a multi-lane study's second and third findings can be
42
+ * chosen with `--candidate` instead of being invisible behind the first (#609). */
43
+ candidates?: FeedbackCandidateSummary[];
41
44
  shareSafety?: VerifyResult["shareSafety"];
42
45
  error?: {
43
- code: "HUMANISH_RUN_NOT_FOUND" | "HUMANISH_INVALID_RUN_BUNDLE" | "HUMANISH_INVALID_FEEDBACK_DRAFT" | "HUMANISH_FEEDBACK_SHARE_SAFETY_BLOCKED";
46
+ code: "HUMANISH_RUN_NOT_FOUND" | "HUMANISH_INVALID_RUN_BUNDLE" | "HUMANISH_INVALID_FEEDBACK_DRAFT" | "HUMANISH_FEEDBACK_SHARE_SAFETY_BLOCKED" | "HUMANISH_FEEDBACK_CANDIDATE_NOT_FOUND";
44
47
  message: string;
45
48
  };
46
49
  }
47
- export declare function draftFeedback(cwdInput: string, runInput: string): Promise<FeedbackResult>;
48
- export declare function verifyFeedback(cwdInput: string, runInput: string): Promise<FeedbackResult>;
49
- export declare function renderIssueMarkdown(cwdInput: string, runInput: string, repo: string): Promise<FeedbackResult>;
50
- export declare function renderIssueUrl(cwdInput: string, runInput: string, repo: string): Promise<FeedbackResult>;
50
+ /** One row of `feedback list`: enough to choose a candidate, never the evidence itself. */
51
+ export interface FeedbackCandidateSummary {
52
+ id: string;
53
+ stream_id?: string;
54
+ persona_id: string;
55
+ failure_owner: RunFeedbackCandidate["failure_owner"];
56
+ summary: string;
57
+ }
58
+ export interface FeedbackDraftOptions {
59
+ /** A candidate id from `feedback list`. Absent: the first usable candidate, as before. */
60
+ candidate?: string;
61
+ }
62
+ export declare function draftFeedback(cwdInput: string, runInput: string, options?: FeedbackDraftOptions): Promise<FeedbackResult>;
63
+ export declare function verifyFeedback(cwdInput: string, runInput: string, options?: FeedbackDraftOptions): Promise<FeedbackResult>;
64
+ export declare function renderIssueMarkdown(cwdInput: string, runInput: string, repo: string, options?: FeedbackDraftOptions): Promise<FeedbackResult>;
65
+ export declare function renderIssueUrl(cwdInput: string, runInput: string, repo: string, options?: FeedbackDraftOptions): Promise<FeedbackResult>;
51
66
  export declare function listFeedback(cwdInput: string, runInput: string): Promise<FeedbackResult>;
package/dist/feedback.js CHANGED
@@ -5,10 +5,21 @@ import { bindExistingRunArtifactPaths, isSafeRunIdSegment, resolveLatestRunDirec
5
5
  import { bindExistingManagedHumanishOutputDirectory, readContainedRegularFile, writeContainedOutputFile } from "./selected-output-paths.js";
6
6
  export const FEEDBACK_SCHEMA = "humanish.feedback.v1";
7
7
  export const FEEDBACK_RESULT_SCHEMA = "humanish.feedback-result.v1";
8
- export async function draftFeedback(cwdInput, runInput) {
9
- return (await draftFeedbackBound(cwdInput, runInput)).result;
8
+ function summarizeCandidates(bundle) {
9
+ return bundle.feedbackCandidates
10
+ .filter((item) => isUsableFeedbackCandidate(item))
11
+ .map((item) => ({
12
+ id: item.id,
13
+ ...(item.stream_id === undefined ? {} : { stream_id: item.stream_id }),
14
+ persona_id: item.persona_id,
15
+ failure_owner: item.failure_owner,
16
+ summary: item.summary
17
+ }));
10
18
  }
11
- async function draftFeedbackBound(cwdInput, runInput) {
19
+ export async function draftFeedback(cwdInput, runInput, options = {}) {
20
+ return (await draftFeedbackBound(cwdInput, runInput, options)).result;
21
+ }
22
+ async function draftFeedbackBound(cwdInput, runInput, options = {}) {
12
23
  const cwd = path.resolve(cwdInput);
13
24
  const context = await resolveFeedbackRunContext(cwd, runInput);
14
25
  if (!context) {
@@ -50,7 +61,23 @@ async function draftFeedbackBound(cwdInput, runInput) {
50
61
  }
51
62
  } };
52
63
  }
53
- const draft = buildDraft(context.loaded.bundle, context.loaded.bundlePath);
64
+ const candidates = summarizeCandidates(context.loaded.bundle);
65
+ if (options.candidate !== undefined && !candidates.some((item) => item.id === options.candidate)) {
66
+ return { context, result: {
67
+ schema: FEEDBACK_RESULT_SCHEMA,
68
+ ok: false,
69
+ cwd,
70
+ run: runInput,
71
+ candidates,
72
+ error: {
73
+ code: "HUMANISH_FEEDBACK_CANDIDATE_NOT_FOUND",
74
+ message: candidates.length === 0
75
+ ? `No feedback candidate on run ${context.storedRunId}; \`--candidate ${options.candidate}\` cannot be drafted.`
76
+ : `No feedback candidate \`${options.candidate}\` on run ${context.storedRunId}. Available: ${candidates.map((item) => item.id).join(", ")}.`
77
+ }
78
+ } };
79
+ }
80
+ const draft = buildDraft(context.loaded.bundle, context.loaded.bundlePath, options.candidate);
54
81
  const draftPath = path.join(context.preparedRunPaths.relativeRunRoot, "feedback", "draft.json");
55
82
  await writeJson(context.preparedRunPaths, path.join("feedback", "draft.json"), draft);
56
83
  return { context, result: {
@@ -59,14 +86,15 @@ async function draftFeedbackBound(cwdInput, runInput) {
59
86
  cwd,
60
87
  run: runInput,
61
88
  draftPath,
62
- draft
89
+ draft,
90
+ candidates
63
91
  } };
64
92
  }
65
- export async function verifyFeedback(cwdInput, runInput) {
66
- return (await verifyFeedbackBound(cwdInput, runInput)).result;
93
+ export async function verifyFeedback(cwdInput, runInput, options = {}) {
94
+ return (await verifyFeedbackBound(cwdInput, runInput, options)).result;
67
95
  }
68
- async function verifyFeedbackBound(cwdInput, runInput) {
69
- const drafted = await draftFeedbackBound(cwdInput, runInput);
96
+ async function verifyFeedbackBound(cwdInput, runInput, options = {}) {
97
+ const drafted = await draftFeedbackBound(cwdInput, runInput, options);
70
98
  if (!drafted.result.ok || !drafted.result.draft || !drafted.context) {
71
99
  return drafted;
72
100
  }
@@ -96,8 +124,8 @@ async function isSafeFeedbackEvidenceFile(context, evidencePath) {
96
124
  }
97
125
  return await readContainedRegularFile(context.preparedRunPaths, relative) !== null;
98
126
  }
99
- export async function renderIssueMarkdown(cwdInput, runInput, repo) {
100
- const verified = await verifyFeedbackBound(cwdInput, runInput);
127
+ export async function renderIssueMarkdown(cwdInput, runInput, repo, options = {}) {
128
+ const verified = await verifyFeedbackBound(cwdInput, runInput, options);
101
129
  if (!verified.result.ok || !verified.result.draft || !verified.result.draftPath || !verified.context) {
102
130
  return verified.result;
103
131
  }
@@ -110,8 +138,8 @@ export async function renderIssueMarkdown(cwdInput, runInput, repo) {
110
138
  issueMarkdown
111
139
  };
112
140
  }
113
- export async function renderIssueUrl(cwdInput, runInput, repo) {
114
- const rendered = await renderIssueMarkdown(cwdInput, runInput, repo);
141
+ export async function renderIssueUrl(cwdInput, runInput, repo, options = {}) {
142
+ const rendered = await renderIssueMarkdown(cwdInput, runInput, repo, options);
115
143
  if (!rendered.ok || !rendered.issueMarkdown || !rendered.draft) {
116
144
  return rendered;
117
145
  }
@@ -144,7 +172,10 @@ export async function listFeedback(cwdInput, runInput) {
144
172
  ok: true,
145
173
  cwd,
146
174
  run: runInput,
147
- ...(draft ? { draftPath, draft } : {})
175
+ ...(draft ? { draftPath, draft } : {}),
176
+ // The choice set for `draft --candidate`: a three-participant study has up to three findings,
177
+ // and until #609 only the first ever reached a draft.
178
+ candidates: summarizeCandidates(context.loaded.bundle)
148
179
  };
149
180
  }
150
181
  async function resolveFeedbackRunContext(cwd, runInput) {
@@ -196,8 +227,8 @@ async function resolveFeedbackRunContext(cwd, runInput) {
196
227
  await validatePreparedRunArtifactPaths(preparedRunPaths);
197
228
  return { cwd, loaded, physicalCwd, preparedRunPaths, storedRunId };
198
229
  }
199
- function buildDraft(bundle, bundlePath) {
200
- const candidate = bundle.feedbackCandidates.find((item) => isUsableFeedbackCandidate(item));
230
+ function buildDraft(bundle, bundlePath, candidateId) {
231
+ const candidate = bundle.feedbackCandidates.find((item) => isUsableFeedbackCandidate(item) && (candidateId === undefined || item.id === candidateId));
201
232
  if (candidate) {
202
233
  return {
203
234
  schema: FEEDBACK_SCHEMA,
@@ -1 +1 @@
1
- {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../src/feedback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feedback.js","sourceRoot":"","sources":["../src/feedback.ts"],"names":[],"mappings":"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"}
@@ -464,6 +464,27 @@ export interface LabExecutionDesktop {
464
464
  template?: string;
465
465
  /** Use the Codex app-server client mode for headed desktop actor surfaces. Consumed (meta). */
466
466
  codexAppServer?: boolean;
467
+ /**
468
+ * Mobile fidelity beyond viewport size (#221). With `mobileEmulation: true`, every hosted
469
+ * Chromium computer-use lane ON A MOBILE PRESET (mobile / small-mobile / narrow-mobile) gets
470
+ * CDP device emulation applied to its launch page before the participant arrives; desktop,
471
+ * tablet and wide lanes in the same run are untouched and carry no fidelity block. Applied: the lane's device preset width/height as the CSS viewport, the preset's
472
+ * device pixel ratio (or `deviceScaleFactor`), touch events (`touch`, default true) and a mobile
473
+ * user agent (`userAgent`, default an iPhone Safari string). The bundle records what the page
474
+ * then reported about itself under `desktopGeometry.fidelity`; a browser that cannot be
475
+ * emulated (Firefox) fails the lane closed instead of shipping a desktop run labelled mobile.
476
+ * Applies to the launch tab; a tab the participant opens later is not emulated.
477
+ */
478
+ fidelity?: LabDesktopFidelity;
479
+ }
480
+ export interface LabDesktopFidelity {
481
+ mobileEmulation: boolean;
482
+ /** Emulated devicePixelRatio; default: the device preset's. */
483
+ deviceScaleFactor?: number;
484
+ /** Emulate touch (coarse pointer, touch events); default true. */
485
+ touch?: boolean;
486
+ /** Full user-agent string to present; default: a mobile Safari string. */
487
+ userAgent?: string;
467
488
  }
468
489
  export interface LabExecution {
469
490
  target?: LabExecutionTarget;
@@ -976,6 +976,9 @@ function forwardDeclaredWarnings(config) {
976
976
  inert.push("execution.desktop.device");
977
977
  if (!routesToHostedCuaBrowser && config.execution?.desktop?.browser !== undefined)
978
978
  inert.push("execution.desktop.browser");
979
+ if (!routesToHostedCuaBrowser && config.execution?.desktop?.fidelity !== undefined) {
980
+ inert.push("execution.desktop.fidelity (mobile emulation is applied only to hosted Chromium computer-use lanes on execution.target: e2b-desktop)");
981
+ }
979
982
  if (!routesToCua && config.execution?.desktop?.sandboxTimeoutMs !== undefined)
980
983
  inert.push("execution.desktop.sandboxTimeoutMs");
981
984
  // execution.desktop.template (the custom E2B desktop image) is consumed ONLY where a desktop is
@@ -2091,6 +2094,33 @@ function parseDesktop(raw) {
2091
2094
  }
2092
2095
  if (typeof raw.codexAppServer === "boolean")
2093
2096
  desktop.codexAppServer = raw.codexAppServer;
2097
+ if (raw.fidelity !== undefined) {
2098
+ if (!isRecord(raw.fidelity) || typeof raw.fidelity.mobileEmulation !== "boolean") {
2099
+ return invalid("`execution.desktop.fidelity` must be an object with `mobileEmulation: true|false` (optional deviceScaleFactor, touch, userAgent).");
2100
+ }
2101
+ const fidelity = { mobileEmulation: raw.fidelity.mobileEmulation };
2102
+ if (raw.fidelity.deviceScaleFactor !== undefined) {
2103
+ const scale = raw.fidelity.deviceScaleFactor;
2104
+ if (typeof scale !== "number" || !Number.isFinite(scale) || scale <= 0 || scale > 4) {
2105
+ return invalid("`execution.desktop.fidelity.deviceScaleFactor` must be a number greater than 0 and at most 4.");
2106
+ }
2107
+ fidelity.deviceScaleFactor = scale;
2108
+ }
2109
+ if (raw.fidelity.touch !== undefined) {
2110
+ if (typeof raw.fidelity.touch !== "boolean") {
2111
+ return invalid("`execution.desktop.fidelity.touch` must be true or false.");
2112
+ }
2113
+ fidelity.touch = raw.fidelity.touch;
2114
+ }
2115
+ if (raw.fidelity.userAgent !== undefined) {
2116
+ const userAgent = str(raw.fidelity.userAgent);
2117
+ if (userAgent === undefined) {
2118
+ return invalid("`execution.desktop.fidelity.userAgent` must be a non-empty string when set.");
2119
+ }
2120
+ fidelity.userAgent = userAgent;
2121
+ }
2122
+ desktop.fidelity = fidelity;
2123
+ }
2094
2124
  return { ok: true, value: Object.keys(desktop).length > 0 ? desktop : undefined };
2095
2125
  }
2096
2126
  function parsePersonas(raw) {