@clien-ai/mcp 0.13.7 → 0.14.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.
- package/CHANGELOG.md +21 -0
- package/README.md +112 -37
- package/dist/tools/operation-id.js +35 -0
- package/dist/tools/operation-id.js.map +1 -0
- package/dist/tools/output-schemas.js +10 -0
- package/dist/tools/output-schemas.js.map +1 -1
- package/dist/tools/personas.js +1 -1
- package/dist/tools/personas.js.map +1 -1
- package/dist/tools/receipt-children.js +2 -6
- package/dist/tools/receipt-children.js.map +1 -1
- package/dist/tools/registry.js +2 -1
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/render-safety.js +13 -22
- package/dist/tools/render-safety.js.map +1 -1
- package/dist/tools/report-digest.js +3 -3
- package/dist/tools/report-digest.js.map +1 -1
- package/dist/tools/reports.js +14 -1
- package/dist/tools/reports.js.map +1 -1
- package/dist/tools/research.js +31 -7
- package/dist/tools/research.js.map +1 -1
- package/dist/tools/run-manifest.js +181 -0
- package/dist/tools/run-manifest.js.map +1 -0
- package/dist/tools/scoped-research.js +19 -6
- package/dist/tools/scoped-research.js.map +1 -1
- package/dist/tools/status.js +32 -3
- package/dist/tools/status.js.map +1 -1
- package/dist/types/report.js +1 -0
- package/dist/types/report.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reports.js","sourceRoot":"","sources":["../../src/tools/reports.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EACL,OAAO,EACP,oBAAoB,EACpB,SAAS,GAGV,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"reports.js","sourceRoot":"","sources":["../../src/tools/reports.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/research.js
CHANGED
|
@@ -32,10 +32,12 @@ import { OAuthError } from '../auth/errors.js';
|
|
|
32
32
|
import { prepareReportDataForMcp, } from '../types/report.js';
|
|
33
33
|
import { ToolError } from './errors.js';
|
|
34
34
|
import { composeReportText } from './report-digest.js';
|
|
35
|
+
import { appendRunManifest, normalizeRunManifest, runManifestMeta, } from './run-manifest.js';
|
|
35
36
|
import { safeId, safeInline, truncate } from './render-safety.js';
|
|
36
37
|
import { permanentFailureMessage } from './permanent-failure.js';
|
|
37
38
|
import { classifyResearchTask, buildTaskGuardMessage } from './task-guard.js';
|
|
38
39
|
import { buildFailureGuidance } from './failure-guidance.js';
|
|
40
|
+
import { OperationIdSchema, operationRetryHint, resolveOperationId } from './operation-id.js';
|
|
39
41
|
// Per-endpoint timeouts (#173). Node fetch has no implicit timeout, so a hung
|
|
40
42
|
// Supabase or Clien.ai endpoint would otherwise wedge the MCP server forever.
|
|
41
43
|
const START_TIMEOUT_MS = 30_000;
|
|
@@ -94,6 +96,7 @@ export const ResearchInputSchema = z.object({
|
|
|
94
96
|
'hard limit — setting true proceeds and debits credits normally. Do NOT ' +
|
|
95
97
|
'set it pre-emptively; when the guard trips, relay the message to the ' +
|
|
96
98
|
'user and only re-run with confirm_spend: true if they agree to proceed.'),
|
|
99
|
+
operation_id: OperationIdSchema,
|
|
97
100
|
run_anyway: z
|
|
98
101
|
.boolean()
|
|
99
102
|
.optional()
|
|
@@ -238,6 +241,9 @@ export async function runResearch(input, deps) {
|
|
|
238
241
|
throw new ResearchToolError(`Invalid input — ${details}`);
|
|
239
242
|
}
|
|
240
243
|
const { idea, depth, project_id, project_name, confirm_spend, run_anyway } = parsed.data;
|
|
244
|
+
// FUL-810: one paid start, one id — the caller's, or one minted for this
|
|
245
|
+
// invocation so a retryable failure can still hand back a reuse handle.
|
|
246
|
+
const operationId = resolveOperationId(parsed.data.operation_id);
|
|
241
247
|
// FUL-32 / #214: refuse off-script prompts (e.g. an A/B headline test) BEFORE
|
|
242
248
|
// any network call — so the pipeline never spawns and no credits debit.
|
|
243
249
|
// Overridable via run_anyway for the rare false positive. Runs before the
|
|
@@ -277,6 +283,7 @@ export async function runResearch(input, deps) {
|
|
|
277
283
|
const startBody = {
|
|
278
284
|
message: idea,
|
|
279
285
|
depth,
|
|
286
|
+
operationId,
|
|
280
287
|
};
|
|
281
288
|
if (project_id)
|
|
282
289
|
startBody.projectId = project_id;
|
|
@@ -297,7 +304,13 @@ export async function runResearch(input, deps) {
|
|
|
297
304
|
catch (err) {
|
|
298
305
|
const e = err;
|
|
299
306
|
if (e.name === 'AbortError' || e.name === 'TimeoutError') {
|
|
300
|
-
throw new ResearchToolError(`Clien.ai start endpoint timed out after ${START_TIMEOUT_MS / 1000}s. Try again in a moment.`
|
|
307
|
+
throw new ResearchToolError(`Clien.ai start endpoint timed out after ${START_TIMEOUT_MS / 1000}s. Try again in a moment.` +
|
|
308
|
+
operationRetryHint(operationId));
|
|
309
|
+
}
|
|
310
|
+
if (err instanceof TypeError) {
|
|
311
|
+
// fetch's own transport failure: the request may or may not have reached
|
|
312
|
+
// the server, which is exactly the case the operation id exists for.
|
|
313
|
+
throw new ResearchToolError('Could not reach Clien.ai to start research (network error).' + operationRetryHint(operationId));
|
|
301
314
|
}
|
|
302
315
|
throw err;
|
|
303
316
|
}
|
|
@@ -307,11 +320,12 @@ export async function runResearch(input, deps) {
|
|
|
307
320
|
if (startResponse.status === 401) {
|
|
308
321
|
deps.invalidateSession?.();
|
|
309
322
|
}
|
|
310
|
-
await handleStartError(startResponse);
|
|
323
|
+
await handleStartError(startResponse, operationId);
|
|
311
324
|
}
|
|
312
325
|
const startJson = (await startResponse.json().catch(() => null));
|
|
313
326
|
if (!startJson?.jobId) {
|
|
314
|
-
throw new ResearchToolError('Clien.ai accepted the request but did not return a job id. Please try again.'
|
|
327
|
+
throw new ResearchToolError('Clien.ai accepted the request but did not return a job id. Please try again.' +
|
|
328
|
+
operationRetryHint(operationId));
|
|
315
329
|
}
|
|
316
330
|
const jobId = startJson.jobId;
|
|
317
331
|
// projectId may be absent on older deployments; treat missing as null so
|
|
@@ -324,7 +338,7 @@ export async function runResearch(input, deps) {
|
|
|
324
338
|
// `clien_research_status` tool — no second 50-credit debit. This is the
|
|
325
339
|
// belt to the status-tool's suspenders; the tool needs an LLM call but
|
|
326
340
|
// the log line is always present.
|
|
327
|
-
console.error(`[clien-mcp] research started job_id=${jobId}`);
|
|
341
|
+
console.error(`[clien-mcp] research started job_id=${jobId} operation_id=${operationId}`);
|
|
328
342
|
try {
|
|
329
343
|
await deps.onProgress?.({
|
|
330
344
|
progress: 0,
|
|
@@ -541,11 +555,19 @@ export async function runResearch(input, deps) {
|
|
|
541
555
|
// its trust spine through the TEXT rather than through `_meta`, which hosts are
|
|
542
556
|
// free to drop (and Claude Code does). This is the hero tool's own report, so
|
|
543
557
|
// an agent reading it here is the primary case the digest exists for.
|
|
558
|
+
// FUL-816: the run's provenance status, by the same argument as the digest
|
|
559
|
+
// above — `/report` always answers it, and the three report-returning tools
|
|
560
|
+
// must not disagree about one run. `clien_research` is the common path, so a
|
|
561
|
+
// manifest this tool stayed silent about is one almost no caller ever sees.
|
|
562
|
+
const manifest = normalizeRunManifest(reportJson.runManifest);
|
|
544
563
|
return {
|
|
545
564
|
content: [
|
|
546
565
|
{
|
|
547
566
|
type: 'text',
|
|
548
|
-
text: `${composeReportText(reportJson.reportMarkdown, reportData, '_meta')}\n\n${persistenceNotice}`,
|
|
567
|
+
text: appendRunManifest(`${composeReportText(reportJson.reportMarkdown, reportData, '_meta')}\n\n${persistenceNotice}`, manifest,
|
|
568
|
+
// This branch returns the run's own report; reaching it requires
|
|
569
|
+
// `reportJson.reportMarkdown`.
|
|
570
|
+
{ reportDelivered: true }),
|
|
549
571
|
},
|
|
550
572
|
],
|
|
551
573
|
_meta: {
|
|
@@ -557,6 +579,7 @@ export async function runResearch(input, deps) {
|
|
|
557
579
|
promotion_error_code: promotion.errorCode,
|
|
558
580
|
promotion_retryable: promotion.retryable,
|
|
559
581
|
...(totalCostCents !== undefined ? { total_cost_cents: totalCostCents } : {}),
|
|
582
|
+
...runManifestMeta(manifest),
|
|
560
583
|
},
|
|
561
584
|
};
|
|
562
585
|
}
|
|
@@ -582,7 +605,7 @@ function projectReuseHint(parsed) {
|
|
|
582
605
|
? ` This attempt resolved project_id ${projectId} — pass project_id: "${projectId}" when you retry instead of project_name so a duplicate is not created.`
|
|
583
606
|
: '';
|
|
584
607
|
}
|
|
585
|
-
async function handleStartError(response) {
|
|
608
|
+
async function handleStartError(response, operationId) {
|
|
586
609
|
const text = await response.text().catch(() => '');
|
|
587
610
|
let parsed = null;
|
|
588
611
|
try {
|
|
@@ -730,7 +753,8 @@ async function handleStartError(response) {
|
|
|
730
753
|
throw new ResearchToolError(permanent);
|
|
731
754
|
if (status >= 500) {
|
|
732
755
|
throw new ResearchToolError(`Clien.ai server error (${status}). Please try again in a few minutes.` +
|
|
733
|
-
projectReuseHint(parsed)
|
|
756
|
+
projectReuseHint(parsed) +
|
|
757
|
+
operationRetryHint(operationId));
|
|
734
758
|
}
|
|
735
759
|
throw new ResearchToolError(`Failed to start research (HTTP ${status}): ${truncate(text, 200)}`);
|
|
736
760
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"research.js","sourceRoot":"","sources":["../../src/tools/research.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"research.js","sourceRoot":"","sources":["../../src/tools/research.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,EACL,uBAAuB,GAExB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,GAEhB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AACjE,OAAO,EAAE,uBAAuB,EAA+B,MAAM,wBAAwB,CAAA;AAC7F,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAE7F,8EAA8E;AAC9E,8EAA8E;AAC9E,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAC/B,MAAM,sBAAsB,GAAG,MAAM,CAAA;AACrC,MAAM,uBAAuB,GAAG,MAAM,CAAA;AACtC,2EAA2E;AAC3E,kFAAkF;AAClF,8EAA8E;AAC9E,mEAAmE;AACnE,MAAM,mBAAmB,GAAG,CAAC,CAAA;AAC7B,MAAM,qBAAqB,GAAG,IAAI,CAAA;AAElC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAA;AAEzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;SAChC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC;SAC5B,QAAQ,CACP,0EAA0E;QACxE,iFAAiF,CACpF;IACH,KAAK,EAAE,CAAC;SACL,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SACvB,QAAQ,EAAE;SACV,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CACP,2DAA2D;QACzD,4CAA4C,CAC/C;IACH,UAAU,EAAE,eAAe;SACxB,QAAQ,EAAE;SACV,QAAQ,CACP,mEAAmE;QACjE,qEAAqE;QACrE,oEAAoE;QACpE,yDAAyD,CAC5D;IACH,wEAAwE;IACxE,uEAAuE;IACvE,0EAA0E;IAC1E,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC;SACxC,GAAG,CAAC,GAAG,EAAE,uCAAuC,CAAC;SACjD,QAAQ,EAAE;SACV,QAAQ,CACP,kEAAkE;QAChE,uEAAuE;QACvE,qEAAqE;QACrE,sEAAsE;QACtE,sEAAsE;QACtE,wEAAwE;QACxE,mEAAmE;QACnE,6DAA6D;QAC7D,kEAAkE;QAClE,wDAAwD,CAC3D;IACH,aAAa,EAAE,CAAC;SACb,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,yEAAyE;QACvE,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,uEAAuE;QACvE,yEAAyE,CAC5E;IACH,YAAY,EAAE,iBAAiB;IAC/B,UAAU,EAAE,CAAC;SACV,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,0EAA0E;QACxE,4EAA4E;QAC5E,0EAA0E;QAC1E,2EAA2E;QAC3E,2EAA2E;QAC3E,mDAAmD,CACtD;CACJ,CAAC,CAAA;AAgHF,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AAEhF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAA;AAEtE,yEAAyE;AACzE,2EAA2E;AAC3E,MAAM,cAAc,GAA2B;IAC7C,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,IAAI;IAClB,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,SAAS,EAAE,CAAC;CACb,CAAA;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,MAAM,CAAA;IACjC,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,SAAS,CAAA;IACpC,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG;QAAE,OAAO,QAAQ,CAAA;IAClD,IAAI,MAAM,IAAI,GAAG;QAAE,OAAO,QAAQ,CAAA;IAClC,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,OAAO,iBAAkB,SAAQ,SAAS;CAAG;AAyBnD;;;;;GAKG;AACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,qBAAqB;IACrB,eAAe;IACf,kBAAkB;CACnB,CAAC,CAAA;AAEF,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,GAAmB,EACnB,MAAgC,EAChC,IAAY,EACZ,OAMI,EAAE;IAEN,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,EAAE,CAAA;IAC5C,MAAM,OAAO,GAAG,KAAK,EAAE,KAAa,EAAqB,EAAE;QACzD,MAAM,OAAO,GAA2B;YACtC,aAAa,EAAE,UAAU,KAAK,EAAE;YAChC,MAAM,EAAE,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB;YAC9D,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;SACxB,CAAA;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5E,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YACnD,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAA;QAC9C,CAAC;QACD,MAAM,IAAI,GAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QACnD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACnD,CAAC;QACD,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IAC7B,CAAC,CAAA;IAED,IAAI,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAgB,CAAA;IAEtE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;YACzC,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,CAAgB,CAAA;QAClD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mEAAmE;YACnE,mEAAmE;YACnE,8DAA8D;YAC9D,sBAAsB;YACtB,MAAM,WAAW,GACf,GAAG,YAAY,UAAU,IAAI,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAClE,QAAQ,CAAC,YAAY,GAAG;gBACtB,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;gBACxC,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aAC1D,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAiBD,uEAAuE;AACvE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAmB,EACnB,KAAa;IAEb,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,KAAK,UAAU,EAAE;YAC5E,SAAS,EAAE,MAAM;SAClB,CAAC,CAAA;QACF,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAU7C,CAAA;QAER,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,0FAA0F;YAC1F,0FAA0F;YAC1F,yFAAyF;YACzF,0FAA0F;YAC1F,4FAA4F;YAC5F,wFAAwF;YACxF,OAAO;gBACL,QAAQ,EAAE,KAAK;gBACf,SAAS,EAAE,IAAI,EAAE,IAAI,IAAI,kBAAkB,QAAQ,CAAC,MAAM,EAAE;gBAC5D,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,IAAI;aACpB,CAAA;QACH,CAAC;QACD,IAAI,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YAC7B,OAAO;gBACL,QAAQ,EAAE,KAAK;gBACf,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK;gBAC/D,oFAAoF;gBACpF,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI;gBAC7C,aAAa,EAAE,IAAI;aACpB,CAAA;QACH,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;YACf,2EAA2E;YAC3E,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,IAAI,IAAI;SACxD,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,+CAA+C,KAAK,GAAG,EACvD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAA;QACD,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,0BAA0B;YACrC,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,IAAI;SACpB,CAAA;IACH,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,oBAAoB;AACpB,qEAAqE;AAErE,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAc,EACd,IAAsB;IAEtB,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IACnD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;aAC1D,IAAI,CAAC,IAAI,CAAC,CAAA;QACb,MAAM,IAAI,iBAAiB,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAA;IAC3D,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,IAAI,CAAA;IACxF,yEAAyE;IACzE,wEAAwE;IACxE,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAEhE,8EAA8E;IAC9E,wEAAwE;IACxE,0EAA0E;IAC1E,yEAAyE;IACzE,sEAAsE;IACtE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC1C,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,iBAAiB,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;QACpE,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,4EAA4E;IAC5E,6EAA6E;IAC7E,0EAA0E;IAC1E,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,sEAAsE;IACtE,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,MAAM,IAAI,iBAAiB,CACzB,mFAAmF;YACjF,qFAAqF;YACrF,sFAAsF;YACtF,sDAAsD,CACzD,CAAA;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAA;IACrC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,YAAY,CAAA;IAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAA;IACxE,MAAM,GAAG,GAAmB;QAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,SAAS;KACjB,CAAA;IAED,kEAAkE;IAClE,qEAAqE;IACrE,uCAAuC;IACvC,MAAM,SAAS,GAOX;QACF,OAAO,EAAE,IAAI;QACb,KAAK;QACL,WAAW;KACZ,CAAA;IACD,IAAI,UAAU;QAAE,SAAS,CAAC,SAAS,GAAG,UAAU,CAAA;IAChD,IAAI,YAAY;QAAE,SAAS,CAAC,WAAW,GAAG,YAAY,CAAA;IACtD,4EAA4E;IAC5E,2EAA2E;IAC3E,mDAAmD;IACnD,IAAI,aAAa;QAAE,SAAS,CAAC,YAAY,GAAG,IAAI,CAAA;IAEhD,IAAI,aAA0B,CAAA;IAC9B,IAAI,CAAC;QACH,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,qBAAqB,EAAE;YAChE,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,gBAAgB;SAC5B,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,GAA0C,CAAA;QACpD,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACzD,MAAM,IAAI,iBAAiB,CACzB,2CAA2C,gBAAgB,GAAG,IAAI,2BAA2B;gBAC3F,kBAAkB,CAAC,WAAW,CAAC,CAClC,CAAA;QACH,CAAC;QACD,IAAI,GAAG,YAAY,SAAS,EAAE,CAAC;YAC7B,yEAAyE;YACzE,qEAAqE;YACrE,MAAM,IAAI,iBAAiB,CACzB,6DAA6D,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAChG,CAAA;QACH,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;QACtB,0EAA0E;QAC1E,gEAAgE;QAChE,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAA;QAC5B,CAAC;QACD,MAAM,gBAAgB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAEvD,CAAA;IACR,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;QACtB,MAAM,IAAI,iBAAiB,CACzB,8EAA8E;YAC5E,kBAAkB,CAAC,WAAW,CAAC,CAClC,CAAA;IACH,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAA;IAC7B,yEAAyE;IACzE,0DAA0D;IAC1D,MAAM,cAAc,GAAkB,SAAS,CAAC,SAAS,IAAI,IAAI,CAAA;IAEjE,sEAAsE;IACtE,uEAAuE;IACvE,qEAAqE;IACrE,0DAA0D;IAC1D,wEAAwE;IACxE,uEAAuE;IACvE,kCAAkC;IAClC,OAAO,CAAC,KAAK,CAAC,uCAAuC,KAAK,iBAAiB,WAAW,EAAE,CAAC,CAAA;IAEzF,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACtB,QAAQ,EAAE,CAAC;YACX,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,yBAAyB,KAAK,GAAG;SAC3C,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;IACpD,CAAC;IAED,iBAAiB;IACjB,IAAI,YAAY,GAAG,CAAC,CAAA;IACpB,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,cAAc,CAAA;IAC/C,IAAI,uBAAuB,GAAG,CAAC,CAAA;IAC/B,IAAI,cAAkC,CAAA;IACtC,IAAI,aAAiC,CAAA;IACrC,IAAI,eAAmC,CAAA;IACvC,IAAI,aAAa,GAAG,KAAK,CAAA;IACzB,IAAI,cAAmC,CAAA;IACvC,IAAI,OAAO,GAAG,KAAK,CAAA;IAEnB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAA;IAEhG,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACjD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC5D,MAAM,IAAI,iBAAiB,CACzB,6EAA6E,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,EAC5H,EAAE,KAAK,EAAE,CACV,CAAA;QACH,CAAC;QAED,MAAM,SAAS,CAAC,cAAc,CAAC,CAAA;QAE/B,IAAI,cAA2B,CAAA;QAC/B,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,OAAO,CAC5B,GAAG,EACH,KAAK,EACL,iBAAiB,KAAK,iBAAiB,YAAY,UAAU,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,EACnF,EAAE,SAAS,EAAE,sBAAsB,EAAE,CACtC,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,GAA0C,CAAA;YACpD,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBACzD,qEAAqE;gBACrE,uBAAuB,IAAI,CAAC,CAAA;gBAC5B,IAAI,uBAAuB,IAAI,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,iBAAiB,CACzB,gGAAgG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,EAC/I,EAAE,KAAK,EAAE,CACV,CAAA;gBACH,CAAC;gBACD,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,uBAAuB,GAAG,CAAC,CAAC,IAAI,MAAM,CAAA;gBAC7E,MAAM,SAAS,CAAC,SAAS,CAAC,CAAA;gBAC1B,SAAQ;YACV,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;QAED,IAAI,cAAc,CAAC,EAAE,EAAE,CAAC;YACtB,uBAAuB,GAAG,CAAC,CAAA;YAC3B,MAAM,IAAI,GAAG,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAA0B,CAAA;YACrF,MAAM,gBAAgB,GAAG,YAAY,CAAA;YACrC,MAAM,WAAW,GAAG,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;YAC1C,IACE,WAAW;gBACX,CAAC,OAAO,IAAI,EAAE,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,IAAI,gBAAgB,CAAC,EACjF,CAAC;gBACD,MAAM,IAAI,iBAAiB,CACzB,qDAAqD,KAAK,2BAA2B,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,EACpI,EAAE,KAAK,EAAE,CACV,CAAA;YACH,CAAC;YACD,IAAI,IAAI,EAAE,GAAG,EAAE,MAAM;gBAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAA;YAC/C,OAAO,GAAG,WAAW,CAAA;YACrB,IAAI,OAAO,IAAI,EAAE,GAAG,EAAE,cAAc,KAAK,QAAQ,EAAE,CAAC;gBAClD,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAA;YAC1C,CAAC;YACD,IAAI,OAAO,IAAI,EAAE,GAAG,EAAE,aAAa,KAAK,QAAQ;gBAAE,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAA;YACxF,IAAI,OAAO,IAAI,EAAE,GAAG,EAAE,eAAe,KAAK,QAAQ;gBAAE,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAA;YAC9F,aAAa,GAAG,IAAI,EAAE,GAAG,EAAE,aAAa,KAAK,IAAI,CAAA;YACjD,IAAI,OAAO,IAAI,EAAE,GAAG,EAAE,cAAc,KAAK,SAAS;gBAAE,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAA;YAC5F,IAAI,OAAO,IAAI,EAAE,YAAY,KAAK,QAAQ,EAAE,CAAC;gBAC3C,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;YAClC,CAAC;YACD,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YACnD,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,GAAG,CAAA;YAEnD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;oBACtB,QAAQ,EAAE,aAAa;oBACvB,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE,aAAa,IAAI,UAAU,MAAM,EAAE;iBAC7C,CAAC,CAAA;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,SAAQ;QACV,CAAC;QAED,MAAM,QAAQ,GAAG,oBAAoB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;QAC5D,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,oEAAoE;YACpE,qEAAqE;YACrE,sEAAsE;YACtE,IAAI,cAAc,CAAC,YAAY,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;gBACtD,uBAAuB,IAAI,CAAC,CAAA;gBAC5B,IAAI,uBAAuB,IAAI,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,iBAAiB,CACzB,iGAAiG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,EAChJ,EAAE,KAAK,EAAE,CACV,CAAA;gBACH,CAAC;gBACD,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,uBAAuB,GAAG,CAAC,CAAC,IAAI,MAAM,CAAA;gBAC7E,MAAM,SAAS,CAAC,SAAS,CAAC,CAAA;gBAC1B,SAAQ;YACV,CAAC;YACD,uEAAuE;YACvE,oEAAoE;YACpE,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAA;YAC1B,MAAM,IAAI,iBAAiB,CACzB,uFAAuF,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,+CAA+C,EACnL,EAAE,KAAK,EAAE,CACV,CAAA;QACH,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,oEAAoE;YACpE,MAAM,IAAI,iBAAiB,CACzB,iEAAiE,EACjE,EAAE,KAAK,EAAE,CACV,CAAA;QACH,CAAC;QACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,uBAAuB,IAAI,CAAC,CAAA;YAC5B,IAAI,uBAAuB,IAAI,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,iBAAiB,CACzB,0FAA0F,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,EACzI,EAAE,KAAK,EAAE,CACV,CAAA;YACH,CAAC;YACD,oCAAoC;YACpC,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,uBAAuB,GAAG,CAAC,CAAC,IAAI,MAAM,CAAA;YAC7E,MAAM,SAAS,CAAC,SAAS,CAAC,CAAA;YAC1B,SAAQ;QACV,CAAC;QACD,4EAA4E;QAC5E,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;QACxD,MAAM,IAAI,iBAAiB,CACzB,yCAAyC,cAAc,CAAC,MAAM,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EACzF,EAAE,KAAK,EAAE,CACV,CAAA;IACH,CAAC;IAED,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAClD,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,oBAAoB,CAAC;YACrD,aAAa;YACb,eAAe;YACf,aAAa;YACb,cAAc;SACf,CAAC,CAAA;QACF,MAAM,IAAI,iBAAiB,CACzB,YAAY,MAAM,IAAI,UAAU,GAAG,SAAS,QAAQ,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,eAAe,EAChH,EAAE,KAAK,EAAE,CACV,CAAA;IACH,CAAC;IAED,6EAA6E;IAC7E,6EAA6E;IAC7E,2EAA2E;IAC3E,kDAAkD;IAClD,IAAI,UAAU,GAA0B,IAAI,CAAA;IAC5C,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,mBAAmB,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QACnE,IAAI,cAA2B,CAAA;QAC/B,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,OAAO,CAC5B,GAAG,EACH,KAAK,EACL,iBAAiB,KAAK,SAAS,EAC/B,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,uBAAuB,EAAE,CACzD,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,GAA0C,CAAA;YACpD,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBACzD,MAAM,IAAI,iBAAiB,CACzB,yCAAyC,uBAAuB,GAAG,IAAI,UAAU,KAAK,uBAAuB,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,GAAG,EAC7J,EAAE,KAAK,EAAE,CACV,CAAA;YACH,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;YACvB,kEAAkE;YAClE,gCAAgC;YAChC,IAAI,cAAc,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAClC,MAAM,IAAI,iBAAiB,CACzB,oBAAoB,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,0BAA0B,SAAS,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,eAAe,EACpJ,EAAE,KAAK,EAAE,CACV,CAAA;YACH,CAAC;YACD,MAAM,IAAI,iBAAiB,CACzB,gCAAgC,cAAc,CAAC,MAAM,UAAU,KAAK,2BAA2B,MAAM,UAAU,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,GAAG,EAC/J,EAAE,KAAK,EAAE,CACV,CAAA;QACH,CAAC;QAED,UAAU,GAAG,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAA0B,CAAA;QACrF,IAAI,UAAU,EAAE,cAAc;YAAE,MAAK;QAErC,yEAAyE;QACzE,IAAI,OAAO,GAAG,mBAAmB,EAAE,CAAC;YAClC,MAAM,SAAS,CAAC,qBAAqB,CAAC,CAAA;YACtC,SAAQ;QACV,CAAC;QACD,MAAM,IAAI,iBAAiB,CACzB,2BAA2B,KAAK,aAAa,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,GAAG,EAC7F,EAAE,KAAK,EAAE,CACV,CAAA;IACH,CAAC;IAED,4EAA4E;IAC5E,4EAA4E;IAC5E,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,CAAC;QAChC,MAAM,IAAI,iBAAiB,CACzB,2BAA2B,KAAK,aAAa,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,GAAG,EAC7F,EAAE,KAAK,EAAE,CACV,CAAA;IACH,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,6EAA6E;IAC7E,0EAA0E;IAC1E,+EAA+E;IAC/E,MAAM,UAAU,GAAG,uBAAuB,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;QAC1E,oEAAoE;QACpE,kDAAkD;QAClD,OAAO,CAAC,KAAK,CACX,gFAAgF,EAChF,KAAK,CACN,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,+FAA+F;IAC/F,iGAAiG;IACjG,EAAE;IACF,+FAA+F;IAC/F,0FAA0F;IAC1F,0FAA0F;IAC1F,wFAAwF;IACxF,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAEvD,2FAA2F;IAC3F,+FAA+F;IAC/F,yFAAyF;IACzF,qFAAqF;IACrF,MAAM,mBAAmB,GAAG,UAAU,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,SAAS,CAAA;IAE5E,6FAA6F;IAC7F,6FAA6F;IAC7F,uFAAuF;IACvF,uFAAuF;IACvF,6FAA6F;IAC7F,6FAA6F;IAC7F,qFAAqF;IACrF,oFAAoF;IACpF,MAAM,iBAAiB,GAAG,SAAS,CAAC,SAAS,KAAK,YAAY;QAC5D,CAAC,CAAC,qFAAqF;QACvF,CAAC,CAAC,SAAS,CAAC,QAAQ;YAClB,CAAC,CAAC,SAAS,CAAC,aAAa,KAAK,IAAI;gBAChC,CAAC,CAAC,4EAA4E;gBAC9E,CAAC,CAAC,SAAS,CAAC,aAAa,KAAK,KAAK;oBACjC,CAAC,CAAC,2GAA2G;oBAC7G,CAAC,CAAC,oCAAoC;YAC1C,CAAC,CAAC,SAAS,CAAC,SAAS,KAAK,KAAK;gBAC7B,CAAC,CAAC,wBAAwB,mBAAmB,4EAA4E;gBACzH,CAAC,CAAC,qFAAqF,mBAAmB,IAAI,CAAA;IAEpH,gFAAgF;IAChF,8EAA8E;IAC9E,gFAAgF;IAChF,8EAA8E;IAC9E,sEAAsE;IACtE,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;IAC7D,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,iBAAiB,CACrB,GAAG,iBAAiB,CAAC,UAAU,CAAC,cAAc,EAAE,UAAU,EAAE,OAAO,CAAC,OAAO,iBAAiB,EAAE,EAC9F,QAAQ;gBACR,iEAAiE;gBACjE,+BAA+B;gBAC/B,EAAE,eAAe,EAAE,IAAI,EAAE,CAC1B;aACF;SACF;QACD,KAAK,EAAE;YACL,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,MAAM;YACnC,UAAU,EAAE,cAAc;YAC1B,WAAW,EAAE,UAAU;YACvB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,oBAAoB,EAAE,SAAS,CAAC,SAAS;YACzC,mBAAmB,EAAE,SAAS,CAAC,SAAS;YACxC,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,GAAG,eAAe,CAAC,QAAQ,CAAC;SAC7B;KACF,CAAA;AACH,CAAC;AAoCD;;;;;;;;;;GAUG;AACH,SAAS,iBAAiB,CAAC,MAA2B;IACpD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAC5C,OAAO,SAAS,IAAI,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;AACrF,CAAC;AAED,sFAAsF;AACtF,SAAS,gBAAgB,CAAC,MAA2B;IACnD,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;IAC3C,OAAO,SAAS;QACd,CAAC,CAAC,qCAAqC,SAAS,wBAAwB,SAAS,yEAAyE;QAC1J,CAAC,CAAC,EAAE,CAAA;AACR,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,QAAkB,EAAE,WAAmB;IACrE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IAClD,IAAI,MAAM,GAAwB,IAAI,CAAA;IACtC,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAiB,CAAA;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,gBAAgB;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;IAC9B,IAAI,MAAM,EAAE,IAAI,KAAK,2BAA2B,EAAE,CAAC;QACjD,yEAAyE;QACzE,2EAA2E;QAC3E,0EAA0E;QAC1E,MAAM,IAAI,iBAAiB,CACzB,CAAC,MAAM,CAAC,KAAK;YACX,MAAM,CAAC,OAAO;YACd,0HAA0H,CAAC;YAC3H,gBAAgB,CAAC,MAAM,CAAC,CAC3B,CAAA;IACH,CAAC;IACD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,EAAE,IAAI,KAAK,sBAAsB,EAAE,CAAC;QAC9D,sEAAsE;QACtE,yEAAyE;QACzE,oEAAoE;QACpE,oEAAoE;QACpE,qBAAqB;QACrB,MAAM,OAAO,GAAG,OAAO,MAAM,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;QAC3E,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAA;QAC9E,MAAM,MAAM,GACV,OAAO,MAAM,EAAE,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAC9D,CAAC,CAAC,MAAM,CAAC,OAAO;YAChB,CAAC,CAAC,8BAA8B,CAAA;QAEpC,IAAI,OAAe,CAAA;QACnB,IAAI,OAAO,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,OAAO,EAAE,CAAC,CAAC,CAAA;YAC9C,OAAO;gBACL,2DAA2D,OAAO,IAAI;oBACtE,kBAAkB,QAAQ,KAAK,MAAM,0BAA0B,MAAM,GAAG,CAAA;QAC5E,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,6DAA6D,MAAM,GAAG,CAAA;QAClF,CAAC;QACD,MAAM,IAAI,iBAAiB,CAAC,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAA;IACjE,CAAC;IACD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,EAAE,IAAI,KAAK,sBAAsB,EAAE,CAAC;QAC9D,yEAAyE;QACzE,4EAA4E;QAC5E,wEAAwE;QACxE,mEAAmE;QACnE,gDAAgD;QAChD,MAAM,KAAK,GAAG,OAAO,MAAM,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QACrE,MAAM,KAAK,GAAG,OAAO,MAAM,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QACrE,MAAM,IAAI,GAAG,OAAO,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;QAClE,MAAM,WAAW,GAAG,OAAO,MAAM,EAAE,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;QACvF,MAAM,UAAU,GACd,OAAO,MAAM,EAAE,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACtE,CAAC,CAAC,MAAM,CAAC,WAAW;YACpB,CAAC,CAAC,8BAA8B,CAAA;QAEpC,IAAI,OAAe,CAAA;QACnB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACtD,OAAO;gBACL,+BAA+B,IAAI,6BAA6B,KAAK,eAAe;oBACpF,GAAG,WAAW,6BAA6B,KAAK,uCAAuC;oBACvF,4FAA4F;oBAC5F,oCAAoC,UAAU,GAAG,CAAA;QACrD,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,uFAAuF;oBACvF,0DAA0D,UAAU,GAAG,CAAA;QAC3E,CAAC;QACD,MAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACtC,CAAC;IACD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,EAAE,IAAI,KAAK,2BAA2B,EAAE,CAAC;QACnE,0EAA0E;QAC1E,4EAA4E;QAC5E,qEAAqE;QACrE,uEAAuE;QACvE,6EAA6E;QAC7E,yEAAyE;QACzE,2EAA2E;QAC3E,MAAM,IAAI,iBAAiB,CACzB,CAAC,MAAM,EAAE,KAAK;YACZ,MAAM,EAAE,OAAO;YACf,wFAAwF;gBACtF,wFAAwF;gBACxF,2FAA2F,CAAC;YAC9F,gBAAgB,CAAC,MAAM,CAAC,CAC3B,CAAA;IACH,CAAC;IACD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,EAAE,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACxD,8EAA8E;QAC9E,6EAA6E;QAC7E,8EAA8E;QAC9E,8EAA8E;QAC9E,mDAAmD;QACnD,MAAM,IAAI,iBAAiB,CACzB,CAAC,MAAM,EAAE,KAAK;YACZ,MAAM,EAAE,OAAO;YACf,uEAAuE;gBACrE,uDAAuD,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CACxF,CAAA;IACH,CAAC;IACD,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,EAAE,IAAI,KAAK,wBAAwB,EAAE,CAAC;QAChE,MAAM,IAAI,iBAAiB,CACzB,MAAM,EAAE,OAAO;YACb,4EAA4E,CAC/E,CAAA;IACH,CAAC;IACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,MAAM,IAAI,iBAAiB,CACzB,qEAAqE,CACtE,CAAA;IACH,CAAC;IACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,MAAM,IAAI,GACR,MAAM,EAAE,OAAO,IAAI,MAAM,EAAE,KAAK,IAAI,yDAAyD,CAAA;QAC/F,yEAAyE;QACzE,uEAAuE;QACvE,MAAM,IAAI,iBAAiB,CACzB,OAAO,MAAM,EAAE,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAC5D,CAAC,CAAC,GAAG,IAAI,qBAAqB,MAAM,CAAC,MAAM,0EAA0E;YACrH,CAAC,CAAC,IAAI,CACT,CAAA;IACH,CAAC;IACD,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;QACnB,MAAM,IAAI,iBAAiB,CACzB,MAAM,EAAE,OAAO,IAAI,kCAAkC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAC3E,CAAA;IACH,CAAC;IACD,6EAA6E;IAC7E,0EAA0E;IAC1E,4EAA4E;IAC5E,qEAAqE;IACrE,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,EAAE,IAAI,KAAK,sBAAsB,EAAE,CAAC;QAC9D,MAAM,IAAI,iBAAiB,CACzB,MAAM,EAAE,KAAK;YACX,MAAM,EAAE,OAAO;YACf,qFAAqF,CACxF,CAAA;IACH,CAAC;IACD,iFAAiF;IACjF,8EAA8E;IAC9E,4EAA4E;IAC5E,2EAA2E;IAC3E,EAAE;IACF,4EAA4E;IAC5E,+EAA+E;IAC/E,0CAA0C;IAC1C,EAAE;IACF,gFAAgF;IAChF,2EAA2E;IAC3E,gFAAgF;IAChF,yEAAyE;IACzE,8EAA8E;IAC9E,gFAAgF;IAChF,gFAAgF;IAChF,iFAAiF;IACjF,sDAAsD;IACtD,gFAAgF;IAChF,wCAAwC;IACxC,MAAM,SAAS,GAAG,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAA;IACpF,IAAI,SAAS;QAAE,MAAM,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAA;IACrD,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;QAClB,MAAM,IAAI,iBAAiB,CACzB,0BAA0B,MAAM,uCAAuC;YACrE,gBAAgB,CAAC,MAAM,CAAC;YACxB,kBAAkB,CAAC,WAAW,CAAC,CAClC,CAAA;IACH,CAAC;IACD,MAAM,IAAI,iBAAiB,CACzB,kCAAkC,MAAM,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CACpE,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,KAAa,EAAE,SAAyB;IAChF,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;IACpC,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,GAAG,MAAM,CAAC,SAAS,YAAY,UAAU,kBAAkB,KAAK,EAAE,CAAA;IAC3E,CAAC;IACD,OAAO,GAAG,MAAM,CAAC,SAAS,eAAe,CAAA;AAC3C,CAAC;AAED,SAAS,eAAe,CAAC,MAAgC;IACvD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACtC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAA;IACtB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAA;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAA;IACjC,8CAA8C;IAC9C,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChE,OAAO,QAAQ,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAA;IAClD,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAAA;IAChD,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FUL-816 (Agent Operator Control U13) — the run-manifest provenance status, on
|
|
3
|
+
* the client side.
|
|
4
|
+
*
|
|
5
|
+
* The app answers `runManifest` on `/api/validate/{id}/events` (final drained
|
|
6
|
+
* terminal page only), `/api/validate/{id}` (terminal only) and
|
|
7
|
+
* `/api/validate/{id}/report` (always). This module turns that answer into one
|
|
8
|
+
* AGENT-VISIBLE paragraph and one normalized `_meta` payload.
|
|
9
|
+
*
|
|
10
|
+
* ⚠️ THE SERVER PAYLOAD IS NEVER REPUBLISHED VERBATIM. `@clien-ai/mcp` ships to
|
|
11
|
+
* npm on its own cycle and the app ships to Vercel on another, so a published
|
|
12
|
+
* client routinely meets an app deploy older OR newer than itself:
|
|
13
|
+
*
|
|
14
|
+
* key ABSENT → that deploy predates this field. UNKNOWN. Say nothing: a run
|
|
15
|
+
* whose provenance we could not ask about is not a run without
|
|
16
|
+
* provenance, and printing "unavailable" would assert exactly
|
|
17
|
+
* the thing `unavailable_legacy` means.
|
|
18
|
+
* key null → the deploy has the field and did not determine it here (a
|
|
19
|
+
* mid-run poll, or a failed read). Also UNKNOWN. Say nothing.
|
|
20
|
+
* a status → an answer. Render it.
|
|
21
|
+
*
|
|
22
|
+
* An UNRECOGNISED status string is treated as unknown for the same reason: a
|
|
23
|
+
* newer app that adds a fifth status must not have it rendered as prose this
|
|
24
|
+
* build invented a meaning for.
|
|
25
|
+
*
|
|
26
|
+
* ⚠️ `_meta` IS NOT A DELIVERY CHANNEL (see the package's other renderers).
|
|
27
|
+
* Claude Code drops it, so everything an agent must act on is in the text below;
|
|
28
|
+
* `_meta.manifest_status` / `_meta.run_manifest` mirror it for structured hosts.
|
|
29
|
+
*/
|
|
30
|
+
import { safeInline, truncate } from './render-safety.js';
|
|
31
|
+
/**
|
|
32
|
+
* The closed status vocabulary, mirroring the app's `MANIFEST_STATUSES`. A hand
|
|
33
|
+
* copy because this package cannot import the app; held to the app's list by
|
|
34
|
+
* `__tests__/integration/mcp/run-manifest-status-vocabulary-coupling.test.ts`.
|
|
35
|
+
*/
|
|
36
|
+
export const MANIFEST_STATUSES = [
|
|
37
|
+
'available',
|
|
38
|
+
'unavailable_legacy',
|
|
39
|
+
'invalid',
|
|
40
|
+
'incomplete',
|
|
41
|
+
];
|
|
42
|
+
/** Longest phase/kind/problem token this renderer will print before clipping. */
|
|
43
|
+
const TOKEN_MAX = 60;
|
|
44
|
+
/** Most phases printed in one list. The app's vocabulary has six; this bounds a reshaped backend. */
|
|
45
|
+
const PHASE_LIST_MAX = 12;
|
|
46
|
+
function tokens(value) {
|
|
47
|
+
if (!Array.isArray(value))
|
|
48
|
+
return [];
|
|
49
|
+
const out = [];
|
|
50
|
+
for (const entry of value.slice(0, PHASE_LIST_MAX)) {
|
|
51
|
+
const safe = safeInline(entry, TOKEN_MAX);
|
|
52
|
+
if (safe)
|
|
53
|
+
out.push(safe);
|
|
54
|
+
}
|
|
55
|
+
return out;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Normalize one `runManifest` payload, or answer `null` for "we did not find
|
|
59
|
+
* out". Pure and total: it never throws, whatever the backend sent.
|
|
60
|
+
*/
|
|
61
|
+
export function normalizeRunManifest(raw) {
|
|
62
|
+
if (raw === null || typeof raw !== 'object' || Array.isArray(raw))
|
|
63
|
+
return null;
|
|
64
|
+
const value = raw;
|
|
65
|
+
const status = typeof value.status === 'string' ? value.status : null;
|
|
66
|
+
if (status === null)
|
|
67
|
+
return null;
|
|
68
|
+
if (!MANIFEST_STATUSES.includes(status))
|
|
69
|
+
return null;
|
|
70
|
+
const rawSummary = value.summary && typeof value.summary === 'object' && !Array.isArray(value.summary)
|
|
71
|
+
? value.summary
|
|
72
|
+
: null;
|
|
73
|
+
return {
|
|
74
|
+
status: status,
|
|
75
|
+
// The app sends no summary for `unavailable_legacy` or `invalid`, and this
|
|
76
|
+
// client refuses one even if a future deploy starts sending it: a record
|
|
77
|
+
// that cannot be trusted must not hand an agent fields to reason from.
|
|
78
|
+
summary: rawSummary && (status === 'available' || status === 'incomplete')
|
|
79
|
+
? {
|
|
80
|
+
runKind: safeInline(rawSummary.runKind, TOKEN_MAX),
|
|
81
|
+
manifestVersion: safeInline(rawSummary.manifestVersion, TOKEN_MAX),
|
|
82
|
+
sealedPhases: tokens(rawSummary.sealedPhases),
|
|
83
|
+
// Newer than the rest of the summary: an older deploy never sends
|
|
84
|
+
// it, and `[]` would tell a structured host "none were not
|
|
85
|
+
// applicable", which that deploy never said.
|
|
86
|
+
...(Array.isArray(rawSummary.notApplicablePhases)
|
|
87
|
+
? { notApplicablePhases: tokens(rawSummary.notApplicablePhases) }
|
|
88
|
+
: {}),
|
|
89
|
+
missingPhases: tokens(rawSummary.missingPhases),
|
|
90
|
+
incompletePhase: safeInline(rawSummary.incompletePhase, TOKEN_MAX),
|
|
91
|
+
incompleteReason: safeInline(rawSummary.incompleteReason, TOKEN_MAX),
|
|
92
|
+
}
|
|
93
|
+
: null,
|
|
94
|
+
problem: status === 'invalid' ? safeInline(value.problem, TOKEN_MAX) : null,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
/** The heading every branch shares, so an agent can find the block by one string. */
|
|
98
|
+
export const MANIFEST_BLOCK_HEADING = 'RUN PROVENANCE';
|
|
99
|
+
function listOrNone(values) {
|
|
100
|
+
return values.length > 0 ? values.join(', ') : 'none';
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Render one manifest answer as agent-visible text. `''` for `null` — an unknown
|
|
104
|
+
* answer prints NOTHING rather than a hedge an agent could mistake for a fact.
|
|
105
|
+
*
|
|
106
|
+
* Single-line values are all `safeInline`d at normalize time (FUL-247: a newline
|
|
107
|
+
* in any interpolated value ends its line early and lets the remainder pose as
|
|
108
|
+
* this renderer's own output).
|
|
109
|
+
*/
|
|
110
|
+
export function renderRunManifest(view, context) {
|
|
111
|
+
if (!view)
|
|
112
|
+
return '';
|
|
113
|
+
const head = `${MANIFEST_BLOCK_HEADING} — `;
|
|
114
|
+
switch (view.status) {
|
|
115
|
+
case 'unavailable_legacy':
|
|
116
|
+
return (`${head}none recorded. This run started before the service kept run ` +
|
|
117
|
+
'manifests, so there is no record of the configuration it actually ran ' +
|
|
118
|
+
'under. That is a gap in the RECORD, not a fault in the run, and nothing ' +
|
|
119
|
+
'about how it was configured can be inferred from its absence.');
|
|
120
|
+
case 'invalid': {
|
|
121
|
+
const because = view.problem ? ` (${view.problem})` : '';
|
|
122
|
+
return (`${head}the stored manifest DISAGREES with this run's start record${because}. ` +
|
|
123
|
+
'Nothing may be relied on from it: do not quote it as provenance and do ' +
|
|
124
|
+
'not treat the run as reproducible. This is a statement about the ' +
|
|
125
|
+
'provenance RECORD only, and about nothing else the result carries.');
|
|
126
|
+
}
|
|
127
|
+
case 'incomplete': {
|
|
128
|
+
const summary = view.summary;
|
|
129
|
+
const kind = summary?.runKind ? `${summary.runKind} run; ` : '';
|
|
130
|
+
const failed = summary?.incompletePhase
|
|
131
|
+
? `the "${summary.incompletePhase}" phase was never sealed` +
|
|
132
|
+
(summary.incompleteReason ? ` (${summary.incompleteReason})` : '')
|
|
133
|
+
: `phases still unsealed: ${listOrNone(summary?.missingPhases ?? [])}`;
|
|
134
|
+
// The report clause is the CALLER's to make, never this renderer's: a
|
|
135
|
+
// cancelled run reaches here with no report at all.
|
|
136
|
+
const stillReadable = context.reportDelivered
|
|
137
|
+
? 'The report above is readable and its findings are unaffected, but this '
|
|
138
|
+
: 'This ';
|
|
139
|
+
return (`${head}INCOMPLETE. ${kind}${failed}. ${stillReadable}run's provenance ` +
|
|
140
|
+
'has a gap: what it ran cannot be fully reconstructed from the record, ' +
|
|
141
|
+
'and it is not resumable.');
|
|
142
|
+
}
|
|
143
|
+
case 'available': {
|
|
144
|
+
const summary = view.summary;
|
|
145
|
+
const kind = summary?.runKind ? `${summary.runKind} run; ` : '';
|
|
146
|
+
const sealed = `sealed phases: ${listOrNone(summary?.sealedPhases ?? [])}`;
|
|
147
|
+
const notApplicable = summary && summary.notApplicablePhases && summary.notApplicablePhases.length > 0
|
|
148
|
+
? `; not applicable to this run: ${summary.notApplicablePhases.join(', ')}`
|
|
149
|
+
: '';
|
|
150
|
+
const pending = summary && summary.missingPhases && summary.missingPhases.length > 0
|
|
151
|
+
? `; not sealed yet: ${summary.missingPhases.join(', ')}`
|
|
152
|
+
: '';
|
|
153
|
+
return (`${head}recorded and coherent. ${kind}${sealed}${notApplicable}${pending}. This says the ` +
|
|
154
|
+
'provenance CHAIN holds — the manifest matches the run\'s start record and ' +
|
|
155
|
+
'carries no unrepaired failure. It is not a claim about the research findings.');
|
|
156
|
+
}
|
|
157
|
+
default: {
|
|
158
|
+
// Unreachable: `normalizeRunManifest` refuses any status outside the union.
|
|
159
|
+
return '';
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* The `_meta` fields to merge into a tool result: `manifest_status` and
|
|
165
|
+
* `run_manifest`, the two names the design doc gives this surface.
|
|
166
|
+
*
|
|
167
|
+
* Both keys are OMITTED when the answer is unknown. Absence here means "we did
|
|
168
|
+
* not find out" for a structured consumer, exactly as it does on the wire — and
|
|
169
|
+
* emitting `manifest_status: null` instead would read as an answer.
|
|
170
|
+
*/
|
|
171
|
+
export function runManifestMeta(view) {
|
|
172
|
+
if (!view)
|
|
173
|
+
return {};
|
|
174
|
+
return { manifest_status: view.status, run_manifest: view.summary };
|
|
175
|
+
}
|
|
176
|
+
/** Append a rendered manifest block under the standard separator, if there is one. */
|
|
177
|
+
export function appendRunManifest(text, view, context) {
|
|
178
|
+
const block = renderRunManifest(view, context);
|
|
179
|
+
return block ? `${text}\n\n---\n\n${truncate(block, 1200)}` : text;
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=run-manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-manifest.js","sourceRoot":"","sources":["../../src/tools/run-manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,7 @@ import { readSemanticTheme } from '../types/semantic-theme.js';
|
|
|
42
42
|
import { apiCall, categorizeFetchError, promoteCompletedJob, webJobUrl, } from './research.js';
|
|
43
43
|
import { safeInline, safeId, truncate, firstQuoteWithCount } from './render-safety.js';
|
|
44
44
|
import { permanentFailureMessage } from './permanent-failure.js';
|
|
45
|
+
import { OperationIdSchema, operationRetryHint, resolveOperationId } from './operation-id.js';
|
|
45
46
|
import { resolveMarketSignals, } from './market-signals.js';
|
|
46
47
|
// Per-endpoint timeouts. Node fetch has no implicit timeout, so a hung endpoint would otherwise
|
|
47
48
|
// wedge the MCP server forever (mirrors research.ts:START/EVENTS/REPORT_TIMEOUT_MS).
|
|
@@ -109,6 +110,7 @@ const sharedScopedFields = {
|
|
|
109
110
|
'discoverable in the web app\'s Research tab. The project is created server-side ONLY when ' +
|
|
110
111
|
'the run is accepted — insufficient credits or an active-run conflict will not create it, ' +
|
|
111
112
|
'and retries never mint duplicates. Ignored when `project_id` is provided.'),
|
|
113
|
+
operation_id: OperationIdSchema,
|
|
112
114
|
};
|
|
113
115
|
export const ScanCompetitorsInputSchema = z.object({
|
|
114
116
|
// .trim() BEFORE .min(): without it, 20+ whitespace chars pass both this and the server's
|
|
@@ -212,6 +214,8 @@ export async function scanMarket(input, deps) {
|
|
|
212
214
|
}
|
|
213
215
|
async function runScopedResearchTool(mode, input, deps) {
|
|
214
216
|
const { topic, product_name, project_id, project_name } = input;
|
|
217
|
+
// FUL-810: one paid start, one id — see operation-id.ts.
|
|
218
|
+
const operationId = resolveOperationId(input.operation_id);
|
|
215
219
|
const meta = MODE_META[mode];
|
|
216
220
|
const fetchImpl = deps.fetch ?? fetch;
|
|
217
221
|
const sleepImpl = deps.sleep ?? defaultSleep;
|
|
@@ -226,6 +230,7 @@ async function runScopedResearchTool(mode, input, deps) {
|
|
|
226
230
|
const startBody = {
|
|
227
231
|
mode,
|
|
228
232
|
topic,
|
|
233
|
+
operationId,
|
|
229
234
|
};
|
|
230
235
|
if (product_name)
|
|
231
236
|
startBody.productName = product_name;
|
|
@@ -241,17 +246,23 @@ async function runScopedResearchTool(mode, input, deps) {
|
|
|
241
246
|
});
|
|
242
247
|
}
|
|
243
248
|
catch (err) {
|
|
244
|
-
throwIfTimeout(err, `${meta.label} start endpoint timed out after ${START_TIMEOUT_MS / 1000}s. Try again in a moment.`
|
|
249
|
+
throwIfTimeout(err, `${meta.label} start endpoint timed out after ${START_TIMEOUT_MS / 1000}s. Try again in a moment.` +
|
|
250
|
+
operationRetryHint(operationId));
|
|
251
|
+
if (err instanceof TypeError) {
|
|
252
|
+
throw new ScopedResearchToolError(`Could not reach Clien.ai to start this ${meta.label.toLowerCase()} (network error).` +
|
|
253
|
+
operationRetryHint(operationId));
|
|
254
|
+
}
|
|
245
255
|
throw err;
|
|
246
256
|
}
|
|
247
257
|
if (!startResponse.ok) {
|
|
248
258
|
if (startResponse.status === 401)
|
|
249
259
|
deps.invalidateSession?.();
|
|
250
|
-
await handleScopedStartError(startResponse, meta.label);
|
|
260
|
+
await handleScopedStartError(startResponse, meta.label, operationId);
|
|
251
261
|
}
|
|
252
262
|
const startJson = (await startResponse.json().catch(() => null));
|
|
253
263
|
if (!startJson?.jobId) {
|
|
254
|
-
throw new ScopedResearchToolError(`Clien.ai accepted the ${meta.tool} request but did not return a job id. Please try again.`
|
|
264
|
+
throw new ScopedResearchToolError(`Clien.ai accepted the ${meta.tool} request but did not return a job id. Please try again.` +
|
|
265
|
+
operationRetryHint(operationId));
|
|
255
266
|
}
|
|
256
267
|
const jobId = startJson.jobId;
|
|
257
268
|
// The scoped route echoes the resolved projectId; trust it over our local copy.
|
|
@@ -259,7 +270,7 @@ async function runScopedResearchTool(mode, input, deps) {
|
|
|
259
270
|
projectId = startJson.projectId;
|
|
260
271
|
// stderr breadcrumb: surfaces the job_id in the host's MCP log before the multi-minute run, so a
|
|
261
272
|
// mid-flight -32000 drop is recoverable (mirrors research.ts).
|
|
262
|
-
console.error(`[clien-mcp] ${meta.tool} started job_id=${jobId}`);
|
|
273
|
+
console.error(`[clien-mcp] ${meta.tool} started job_id=${jobId} operation_id=${operationId}`);
|
|
263
274
|
await emitProgress(deps, { progress: 0, total: 1, message: `${meta.label} started (job ${jobId})` });
|
|
264
275
|
// 3. Poll to a terminal status.
|
|
265
276
|
const poll = await pollScopedJob(ctx, jobId, {
|
|
@@ -934,7 +945,7 @@ function reusableProjectId(parsed) {
|
|
|
934
945
|
return safeId(parsed?.project_id);
|
|
935
946
|
}
|
|
936
947
|
/** Map a non-ok POST /scoped/start response to a user-facing ScopedResearchToolError. */
|
|
937
|
-
async function handleScopedStartError(response, label) {
|
|
948
|
+
async function handleScopedStartError(response, label, operationId) {
|
|
938
949
|
const text = await response.text().catch(() => '');
|
|
939
950
|
let parsed = null;
|
|
940
951
|
try {
|
|
@@ -1036,7 +1047,9 @@ async function handleScopedStartError(response, label) {
|
|
|
1036
1047
|
if (status >= 500) {
|
|
1037
1048
|
// A 500 reserve refusal can also carry an auto-created project_id — echo the
|
|
1038
1049
|
// reuse hint so a retry reuses it instead of minting a duplicate.
|
|
1039
|
-
throw new ScopedResearchToolError(`Clien.ai server error (${status}). Please try again in a few minutes.` +
|
|
1050
|
+
throw new ScopedResearchToolError(`Clien.ai server error (${status}). Please try again in a few minutes.` +
|
|
1051
|
+
projectReuseHint(parsed) +
|
|
1052
|
+
operationRetryHint(operationId));
|
|
1040
1053
|
}
|
|
1041
1054
|
throw new ScopedResearchToolError(`Failed to start ${label.toLowerCase()} (HTTP ${status}): ${truncate(text, 200)}`);
|
|
1042
1055
|
}
|