ue-mcp 1.0.20 → 1.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/privacy-scrub.d.ts +43 -0
- package/dist/privacy-scrub.js +59 -0
- package/dist/privacy-scrub.js.map +1 -0
- package/dist/tool-counts.json +2 -2
- package/dist/tools/feedback.js +87 -68
- package/dist/tools/feedback.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server-side redaction of personal/project identifiers from feedback bodies
|
|
3
|
+
* before they hit the elicitation prompt or the GitHub POST. Applied
|
|
4
|
+
* unconditionally; the agent has no surface to bypass it and the user never
|
|
5
|
+
* sees the pre-scrubbed bytes outside the in-process call stack.
|
|
6
|
+
*
|
|
7
|
+
* Threat model: feedback issues post to a public tracker. The body the agent
|
|
8
|
+
* assembled may contain absolute paths, the OS username, the project name,
|
|
9
|
+
* etc. None of those carry signal a reader needs to understand the issue,
|
|
10
|
+
* and all of them carry privacy/confidentiality risk (NDA projects, machine
|
|
11
|
+
* fingerprinting, doxxing).
|
|
12
|
+
*
|
|
13
|
+
* What gets redacted:
|
|
14
|
+
*
|
|
15
|
+
* - The absolute project root path → REDACTED_PROJECT_ROOT
|
|
16
|
+
* - The OS home directory path → REDACTED_HOME
|
|
17
|
+
* - The project name as a whole word → REDACTED_PROJECT
|
|
18
|
+
* - The OS username as a whole word → REDACTED_USER
|
|
19
|
+
*
|
|
20
|
+
* Project/username matches use `\b` word boundaries (case-insensitive) so
|
|
21
|
+
* "david" inside paths or sentences matches but "davidson" does not. Class,
|
|
22
|
+
* component, and actor names are NOT redacted — the user can use the
|
|
23
|
+
* "Revise first" path on the approval prompt to request specific further
|
|
24
|
+
* redactions.
|
|
25
|
+
*/
|
|
26
|
+
export interface PrivacyScrubContext {
|
|
27
|
+
/** Absolute path to the .uproject's containing directory. */
|
|
28
|
+
projectRoot?: string;
|
|
29
|
+
/** Project name without the .uproject extension. */
|
|
30
|
+
projectName?: string;
|
|
31
|
+
/** OS username. Defaults to os.userInfo().username; tests pass an explicit value. */
|
|
32
|
+
username?: string;
|
|
33
|
+
/** OS home directory. Defaults to os.homedir(); tests pass an explicit value. */
|
|
34
|
+
homeDir?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface PrivacyScrubResult {
|
|
37
|
+
text: string;
|
|
38
|
+
hits: Array<{
|
|
39
|
+
rule: string;
|
|
40
|
+
count: number;
|
|
41
|
+
}>;
|
|
42
|
+
}
|
|
43
|
+
export declare function privacyScrub(input: string, ctx?: PrivacyScrubContext): PrivacyScrubResult;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import * as os from "node:os";
|
|
2
|
+
// Names shorter than this are not redacted as whole-word matches because the
|
|
3
|
+
// false-positive surface explodes. Project name "AI" would otherwise nuke
|
|
4
|
+
// every occurrence of "ai" in the body.
|
|
5
|
+
const MIN_WORD_LEN = 3;
|
|
6
|
+
function escapeRegex(s) {
|
|
7
|
+
return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
8
|
+
}
|
|
9
|
+
export function privacyScrub(input, ctx = {}) {
|
|
10
|
+
let text = input;
|
|
11
|
+
const hits = [];
|
|
12
|
+
function record(rule, count) {
|
|
13
|
+
if (count > 0)
|
|
14
|
+
hits.push({ rule, count });
|
|
15
|
+
}
|
|
16
|
+
// Replace an absolute path under multiple separator conventions in one
|
|
17
|
+
// call. Source text may use \, /, or mixed paths depending on whether it
|
|
18
|
+
// came from execute_python output, JSON config, or a console log.
|
|
19
|
+
function replacePath(rawPath, replacement, rule) {
|
|
20
|
+
if (!rawPath || rawPath.length < MIN_WORD_LEN)
|
|
21
|
+
return;
|
|
22
|
+
const variants = new Set([
|
|
23
|
+
rawPath,
|
|
24
|
+
rawPath.replace(/\\/g, "/"),
|
|
25
|
+
rawPath.replace(/\//g, "\\"),
|
|
26
|
+
]);
|
|
27
|
+
let total = 0;
|
|
28
|
+
for (const v of variants) {
|
|
29
|
+
const re = new RegExp(escapeRegex(v), "gi");
|
|
30
|
+
text = text.replace(re, () => {
|
|
31
|
+
total++;
|
|
32
|
+
return replacement;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
record(rule, total);
|
|
36
|
+
}
|
|
37
|
+
function replaceWord(word, replacement, rule) {
|
|
38
|
+
if (!word || word.length < MIN_WORD_LEN)
|
|
39
|
+
return;
|
|
40
|
+
const re = new RegExp(`\\b${escapeRegex(word)}\\b`, "gi");
|
|
41
|
+
let count = 0;
|
|
42
|
+
text = text.replace(re, () => {
|
|
43
|
+
count++;
|
|
44
|
+
return replacement;
|
|
45
|
+
});
|
|
46
|
+
record(rule, count);
|
|
47
|
+
}
|
|
48
|
+
// ORDER MATTERS: replace longest/most-specific patterns first so the
|
|
49
|
+
// word-boundary passes don't fragment a string the path pass would
|
|
50
|
+
// otherwise have matched cleanly.
|
|
51
|
+
const home = ctx.homeDir ?? os.homedir();
|
|
52
|
+
const user = ctx.username ?? os.userInfo().username;
|
|
53
|
+
replacePath(ctx.projectRoot, "REDACTED_PROJECT_ROOT", "project-root-path");
|
|
54
|
+
replacePath(home, "REDACTED_HOME", "home-path");
|
|
55
|
+
replaceWord(ctx.projectName, "REDACTED_PROJECT", "project-name");
|
|
56
|
+
replaceWord(user, "REDACTED_USER", "username");
|
|
57
|
+
return { text, hits };
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=privacy-scrub.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privacy-scrub.js","sourceRoot":"","sources":["../src/privacy-scrub.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AA4C9B,6EAA6E;AAC7E,0EAA0E;AAC1E,wCAAwC;AACxC,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB,SAAS,WAAW,CAAC,CAAS;IAC5B,OAAO,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,MAA2B,EAAE;IAE7B,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,MAAM,IAAI,GAA2C,EAAE,CAAC;IAExD,SAAS,MAAM,CAAC,IAAY,EAAE,KAAa;QACzC,IAAI,KAAK,GAAG,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,uEAAuE;IACvE,yEAAyE;IACzE,kEAAkE;IAClE,SAAS,WAAW,CAAC,OAA2B,EAAE,WAAmB,EAAE,IAAY;QACjF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,YAAY;YAAE,OAAO;QACtD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS;YAC/B,OAAO;YACP,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;SAC7B,CAAC,CAAC;QACH,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAC5C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE;gBAC3B,KAAK,EAAE,CAAC;gBACR,OAAO,WAAW,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,SAAS,WAAW,CAAC,IAAwB,EAAE,WAAmB,EAAE,IAAY;QAC9E,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,YAAY;YAAE,OAAO;QAChD,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC1D,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE;YAC3B,KAAK,EAAE,CAAC;YACR,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,qEAAqE;IACrE,mEAAmE;IACnE,kCAAkC;IAClC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;IAEpD,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,uBAAuB,EAAE,mBAAmB,CAAC,CAAC;IAC3E,WAAW,CAAC,IAAI,EAAa,eAAe,EAAU,WAAW,CAAC,CAAC;IACnE,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC;IACjE,WAAW,CAAC,IAAI,EAAa,eAAe,EAAK,UAAU,CAAC,CAAC;IAE7D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC"}
|
package/dist/tool-counts.json
CHANGED
package/dist/tools/feedback.js
CHANGED
|
@@ -4,6 +4,7 @@ import { submitFeedback } from "../github-app.js";
|
|
|
4
4
|
import { readUserAuth } from "../auth.js";
|
|
5
5
|
import { getWorkarounds, clearWorkarounds } from "../workaround-tracker.js";
|
|
6
6
|
import { scrubSecrets } from "../secret-scrub.js";
|
|
7
|
+
import { privacyScrub } from "../privacy-scrub.js";
|
|
7
8
|
import { warn } from "../log.js";
|
|
8
9
|
const PLACEHOLDER_TITLE_RE = /^(noop|nop|test|tests?|testing|x|y|z|todo|tbd|tba|ignore|ignored|stop|dummy|temp|tmp|placeholder|accidental|oops|cleanup|n\/?a|none|null|undefined|na|misc|\.+|-+)$/i;
|
|
9
10
|
const PLACEHOLDER_PHRASE_RE = /\b(ignore (previous|accidental|placeholder)|accidental (feedback|submission|tool call|placeholder)|placeholder feedback|stop accidental|cleanup needed|test submission)\b/i;
|
|
@@ -97,7 +98,7 @@ function inferLabels(title, summary, idealTool) {
|
|
|
97
98
|
labels.add("enhancement");
|
|
98
99
|
return [...labels];
|
|
99
100
|
}
|
|
100
|
-
function assemblePayload(title, summary, pythonWorkaround, idealTool) {
|
|
101
|
+
function assemblePayload(title, summary, pythonWorkaround, idealTool, privacy) {
|
|
101
102
|
const sections = ["## Summary", summary];
|
|
102
103
|
if (idealTool) {
|
|
103
104
|
sections.push("", "## Ideal Tool/Action", idealTool);
|
|
@@ -114,18 +115,42 @@ function assemblePayload(title, summary, pythonWorkaround, idealTool) {
|
|
|
114
115
|
}
|
|
115
116
|
sections.push("", "---", "*Submitted via ue-mcp agent feedback*");
|
|
116
117
|
const rawBody = sections.join("\n");
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
118
|
+
// Two-pass scrub. Order matters:
|
|
119
|
+
// 1. Secret-shaped strings (PEMs, API tokens, JWTs, env-style secrets).
|
|
120
|
+
// 2. Personal/project identifiers (project root path, home dir, project
|
|
121
|
+
// name, OS username). Applied second so a path that contained a
|
|
122
|
+
// secret-shaped substring has the secret redacted before we drop the
|
|
123
|
+
// surrounding path bytes.
|
|
124
|
+
// The agent has no surface to bypass either pass — both are applied here
|
|
125
|
+
// server-side before the body ever appears on the elicitation prompt or
|
|
126
|
+
// crosses the GitHub API boundary.
|
|
127
|
+
const secretsBody = scrubSecrets(rawBody);
|
|
128
|
+
const privacyBody = privacyScrub(secretsBody.text, {
|
|
129
|
+
projectRoot: privacy.projectRoot,
|
|
130
|
+
projectName: privacy.projectName,
|
|
131
|
+
});
|
|
132
|
+
const secretsTitle = scrubSecrets(title);
|
|
133
|
+
const privacyTitle = privacyScrub(secretsTitle.text, {
|
|
134
|
+
projectRoot: privacy.projectRoot,
|
|
135
|
+
projectName: privacy.projectName,
|
|
136
|
+
});
|
|
137
|
+
const allHits = [
|
|
138
|
+
...secretsBody.hits,
|
|
139
|
+
...privacyBody.hits,
|
|
140
|
+
...secretsTitle.hits,
|
|
141
|
+
...privacyTitle.hits,
|
|
142
|
+
];
|
|
143
|
+
const scrubHits = allHits.reduce((n, h) => n + h.count, 0);
|
|
121
144
|
if (scrubHits > 0) {
|
|
122
|
-
|
|
123
|
-
warn("feedback", `redacted ${scrubHits} secret-shaped strings before approval prompt: ${allHits.map((h) => `${h.rule}=${h.count}`).join(", ")}`);
|
|
145
|
+
warn("feedback", `redacted ${scrubHits} string(s) before approval prompt: ${allHits.map((h) => `${h.rule}=${h.count}`).join(", ")}`);
|
|
124
146
|
}
|
|
125
147
|
return {
|
|
126
|
-
title:
|
|
127
|
-
body:
|
|
128
|
-
labels
|
|
148
|
+
title: privacyTitle.text,
|
|
149
|
+
body: privacyBody.text,
|
|
150
|
+
// Inferred labels look at the (already-scrubbed) title + the
|
|
151
|
+
// user-supplied summary. summary feeds keyword detection (blueprint,
|
|
152
|
+
// niagara, etc.) which is structural classification, not user identity.
|
|
153
|
+
labels: inferLabels(privacyTitle.text, summary, idealTool),
|
|
129
154
|
scrubHits,
|
|
130
155
|
};
|
|
131
156
|
}
|
|
@@ -197,7 +222,10 @@ export const feedbackTool = categoryTool("feedback", "Submit feedback to improve
|
|
|
197
222
|
context: { code: "elicitation_unsupported" },
|
|
198
223
|
});
|
|
199
224
|
}
|
|
200
|
-
const payload = assemblePayload(title, summary, pythonWorkaround, idealTool
|
|
225
|
+
const payload = assemblePayload(title, summary, pythonWorkaround, idealTool, {
|
|
226
|
+
projectRoot: ctx.project?.projectDir ?? undefined,
|
|
227
|
+
projectName: ctx.project?.projectName ?? undefined,
|
|
228
|
+
});
|
|
201
229
|
// Two independent checks: (1) capture intent above, (2) validate
|
|
202
230
|
// auth here. Auth validation only matters when intent is "user".
|
|
203
231
|
// If validation fails, return a normal error directive — there is
|
|
@@ -237,28 +265,27 @@ export const feedbackTool = categoryTool("feedback", "Submit feedback to improve
|
|
|
237
265
|
try {
|
|
238
266
|
elicitResult = await ctx.elicit({
|
|
239
267
|
message: buildApprovalMessage(payload, authorPromptLine),
|
|
268
|
+
// Single text field, no enum dropdown. The three outcomes are
|
|
269
|
+
// derived from (form action) x (revisions empty?):
|
|
270
|
+
//
|
|
271
|
+
// Decline button → declined (no post)
|
|
272
|
+
// Accept + empty → submit the body as shown
|
|
273
|
+
// Accept + text → return text to the agent for a body
|
|
274
|
+
// revision; nothing posts until the user
|
|
275
|
+
// re-approves the revised body
|
|
276
|
+
//
|
|
277
|
+
// Using an enum here makes Claude Code render the field as a
|
|
278
|
+
// collapsed dropdown, which buries the choices behind a click.
|
|
279
|
+
// A plain string field renders inline.
|
|
240
280
|
requestedSchema: {
|
|
241
281
|
type: "object",
|
|
242
282
|
properties: {
|
|
243
|
-
decision: {
|
|
244
|
-
type: "string",
|
|
245
|
-
title: "What should happen?",
|
|
246
|
-
description: "Choose how to handle this submission. \"Revise first\" returns your notes to the agent for a body rewrite, and nothing posts until you re-approve the revision.",
|
|
247
|
-
enum: ["submit", "revise", "decline"],
|
|
248
|
-
enumNames: [
|
|
249
|
-
"Submit as shown",
|
|
250
|
-
"Revise first",
|
|
251
|
-
"Decline (do not post)",
|
|
252
|
-
],
|
|
253
|
-
default: "decline",
|
|
254
|
-
},
|
|
255
283
|
revisions: {
|
|
256
284
|
type: "string",
|
|
257
|
-
title: "
|
|
258
|
-
description: "
|
|
285
|
+
title: "Revisions before submit (optional)",
|
|
286
|
+
description: "Leave EMPTY and click Accept to submit the body above as shown. Fill in to ask the agent to change the body first — nothing posts until you re-approve the revised version. Click Decline to discard the submission entirely.",
|
|
259
287
|
},
|
|
260
288
|
},
|
|
261
|
-
required: ["decision"],
|
|
262
289
|
},
|
|
263
290
|
});
|
|
264
291
|
}
|
|
@@ -275,34 +302,47 @@ export const feedbackTool = categoryTool("feedback", "Submit feedback to improve
|
|
|
275
302
|
context: { code: "elicitation_failed" },
|
|
276
303
|
});
|
|
277
304
|
}
|
|
278
|
-
const decision = typeof elicitResult.content?.decision === "string"
|
|
279
|
-
? elicitResult.content.decision
|
|
280
|
-
: "";
|
|
281
305
|
const revisions = typeof elicitResult.content?.revisions === "string"
|
|
282
306
|
? elicitResult.content.revisions.trim()
|
|
283
307
|
: "";
|
|
284
|
-
//
|
|
285
|
-
//
|
|
286
|
-
// accept +
|
|
287
|
-
// accept +
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
308
|
+
// Three outcomes from (action, revisions):
|
|
309
|
+
// action !== "accept" → declined (user hit the form's Decline)
|
|
310
|
+
// accept + revisions → bounce revisions back to the agent
|
|
311
|
+
// accept + no revisions → submit the body as shown
|
|
312
|
+
if (elicitResult.action !== "accept") {
|
|
313
|
+
const reasonCode = elicitResult.action === "decline"
|
|
314
|
+
? "user_declined_form"
|
|
315
|
+
: elicitResult.action === "cancel"
|
|
316
|
+
? "user_cancelled"
|
|
317
|
+
: "user_did_not_approve";
|
|
318
|
+
return directive([
|
|
319
|
+
`[FEEDBACK NOT SUBMITTED - USER DECLINED]`,
|
|
320
|
+
`Reason: ${reasonCode} (action="${elicitResult.action}")`,
|
|
321
|
+
``,
|
|
322
|
+
`The user reviewed the prompt and clicked Decline. Do not retry.`,
|
|
323
|
+
`Resume the user's task.`,
|
|
324
|
+
].join("\n"), { submitted: false, code: reasonCode, action: elicitResult.action }, {
|
|
325
|
+
kind: "feedback.declined",
|
|
326
|
+
requiredActions: ["do_not_retry_feedback_submit", "resume_user_task"],
|
|
327
|
+
context: { code: reasonCode, action: elicitResult.action },
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
if (revisions) {
|
|
331
|
+
// The user accepted the principle but wants the body rewritten
|
|
332
|
+
// before anything posts. Hand the notes back to the agent; agent
|
|
333
|
+
// revises the params and calls feedback(submit) again to surface
|
|
334
|
+
// a fresh approval prompt for the revised body.
|
|
298
335
|
return directive([
|
|
299
336
|
`[FEEDBACK NEEDS REVISION BEFORE SUBMIT]`,
|
|
300
337
|
``,
|
|
301
|
-
`The user
|
|
302
|
-
`been posted.
|
|
338
|
+
`The user approved in principle but filled in the revisions field.`,
|
|
339
|
+
`Nothing has been posted. Revision notes from the user:`,
|
|
340
|
+
``,
|
|
341
|
+
revisions,
|
|
303
342
|
``,
|
|
304
|
-
`
|
|
305
|
-
`
|
|
343
|
+
`Revise the title/summary/pythonWorkaround/idealTool to address`,
|
|
344
|
+
`these notes and call feedback(submit) again. The user will see`,
|
|
345
|
+
`a fresh approval prompt for the revised body.`,
|
|
306
346
|
].join("\n"), {
|
|
307
347
|
submitted: false,
|
|
308
348
|
code: "revisions_requested",
|
|
@@ -316,27 +356,6 @@ export const feedbackTool = categoryTool("feedback", "Submit feedback to improve
|
|
|
316
356
|
context: { revisions },
|
|
317
357
|
});
|
|
318
358
|
}
|
|
319
|
-
const submitted = elicitResult.action === "accept" && decision === "submit";
|
|
320
|
-
if (!submitted) {
|
|
321
|
-
const reasonCode = elicitResult.action === "decline"
|
|
322
|
-
? "user_declined_form"
|
|
323
|
-
: elicitResult.action === "cancel"
|
|
324
|
-
? "user_cancelled"
|
|
325
|
-
: decision === "decline"
|
|
326
|
-
? "user_declined_in_form"
|
|
327
|
-
: "user_did_not_approve";
|
|
328
|
-
return directive([
|
|
329
|
-
`[FEEDBACK NOT SUBMITTED - USER DID NOT APPROVE]`,
|
|
330
|
-
`Reason: ${reasonCode} (action="${elicitResult.action}", decision="${decision}")`,
|
|
331
|
-
``,
|
|
332
|
-
`The user reviewed the prompt and chose not to submit. Do not retry.`,
|
|
333
|
-
`Resume the user's task.`,
|
|
334
|
-
].join("\n"), { submitted: false, code: reasonCode, action: elicitResult.action, decision }, {
|
|
335
|
-
kind: "feedback.declined",
|
|
336
|
-
requiredActions: ["do_not_retry_feedback_submit", "resume_user_task"],
|
|
337
|
-
context: { code: reasonCode, action: elicitResult.action },
|
|
338
|
-
});
|
|
339
|
-
}
|
|
340
359
|
// ── Submit ──────────────────────────────────────────────────
|
|
341
360
|
// The exact bytes the user saw in the elicitation prompt are the
|
|
342
361
|
// exact bytes we POST, and the authorship we promised at the prompt
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/tools/feedback.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/tools/feedback.ts"],"names":[],"mappings":"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"}
|