@sapiom/mcp
Advanced tools
| /** | ||
| * Compact-by-default projection of an execution for the `sapiom_dev_agents_inspect` | ||
| * tool result (SAP-2533). | ||
| * | ||
| * The canonical {@link ExecutionProjection} carries every step's full | ||
| * input/output/shared-state/logs/events/stack-trace plus the whole child-run | ||
| * tree, uncapped. On a real multi-step (retry-fattened) run that is a 365K–3.3M | ||
| * char payload that overflows the consuming model's context — so the debug tool | ||
| * self-destructs exactly when it is needed most. | ||
| * | ||
| * This projection lives at the MCP-tool layer only; the SDK `inspect()` / | ||
| * `decode` passthrough and the CLI `logs` view still receive the full | ||
| * projection. It does three things: | ||
| * | ||
| * 1. **Compact by default.** Identity/status/timestamps are kept as-is (already | ||
| * small). Every step is reduced to its name/order/attempt/status/timestamps | ||
| * + error message, plus a `has` flag-set and a `sizes` hint (char counts of | ||
| * the omitted heavy bodies) so the caller can see WHERE the weight is | ||
| * without paying for it. Heavy top-level fields (input/sharedState/ | ||
| * output/error/paused-step schema+example) are previewed or budgeted, never | ||
| * copied verbatim. | ||
| * 2. **Selective expansion.** `step` (name or order) + optional `attempt` pick | ||
| * step-attempt(s); `include` names which heavy fields to expand for them. | ||
| * The debug loop is: inspect(id) → compact list shows step 4 failed → | ||
| * inspect(id, step:'validate', include:['input','error']) → exactly the | ||
| * payload run_local needs. | ||
| * 3. **Hard char budget.** Every expanded or previewed field is capped, so the | ||
| * result is bounded for ANY argument combination — the property the raw | ||
| * projection lacks. Over-budget values truncate with an honest marker that | ||
| * cites the dropped count and the run's webappUrl. | ||
| */ | ||
| import type { ExecutionProjection } from "@sapiom/agent-core"; | ||
| /** Heavy step fields the caller may ask to expand via `include`. */ | ||
| export declare const INCLUDABLE_FIELDS: readonly ["input", "output", "logs", "events", "sharedState", "error"]; | ||
| export type IncludableField = (typeof INCLUDABLE_FIELDS)[number]; | ||
| export interface ProjectExecutionOptions { | ||
| /** Step to expand: a step name, or a step order (number or numeric string). */ | ||
| step?: string | number; | ||
| /** Restrict expansion to a single attempt of the selected step. */ | ||
| attempt?: number; | ||
| /** Heavy step fields to expand for the selected step(s). */ | ||
| include?: IncludableField[]; | ||
| /** Per-field character budget for expanded / budgeted fields. */ | ||
| budget?: number; | ||
| /** The run's webapp URL, cited in truncation markers. */ | ||
| webappUrl?: string; | ||
| } | ||
| /** | ||
| * Project a full {@link ExecutionProjection} into the bounded compact shape the | ||
| * inspect tool returns. Identity/status/timestamps/tree/cost are kept as-is; | ||
| * every step is compacted (with a `has`/`sizes` hint); heavy top-level fields are | ||
| * previewed or budgeted; and the selected `step`/`attempt` gets its `include` | ||
| * fields expanded within the per-field budget. | ||
| */ | ||
| export declare function projectExecutionForTool(execution: ExecutionProjection, opts?: ProjectExecutionOptions): Record<string, unknown>; | ||
| //# sourceMappingURL=execution-projection.d.ts.map |
| {"version":3,"file":"execution-projection.d.ts","sourceRoot":"","sources":["../../src/tools/execution-projection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAkB,MAAM,oBAAoB,CAAC;AAI9E,oEAAoE;AACpE,eAAO,MAAM,iBAAiB,wEAOpB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE,MAAM,WAAW,uBAAuB;IACtC,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAiLD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,mBAAmB,EAC9B,IAAI,GAAE,uBAA4B,GACjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiEzB"} |
| import { capText } from "./shared.js"; | ||
| /** Heavy step fields the caller may ask to expand via `include`. */ | ||
| export const INCLUDABLE_FIELDS = [ | ||
| "input", | ||
| "output", | ||
| "logs", | ||
| "events", | ||
| "sharedState", | ||
| "error", | ||
| ]; | ||
| /** Per-field cap for expanded step fields and budgeted top-level fields. A single | ||
| * step output can be multiple MB; 32K keeps a truncated body readable while | ||
| * bounding the result. */ | ||
| const DEFAULT_FIELD_BUDGET = 32000; | ||
| /** Small preview cap for message-only top-level fields (output/error/input/ | ||
| * sharedState) in the compact view — presence + first N chars, no full body. */ | ||
| const PREVIEW_BUDGET = 2000; | ||
| /** Serialized char size of a value; null/undefined count as 0 (honest absence). */ | ||
| function charSize(value) { | ||
| if (value === undefined || value === null) | ||
| return 0; | ||
| try { | ||
| return JSON.stringify(value).length; | ||
| } | ||
| catch { | ||
| return 0; | ||
| } | ||
| } | ||
| /** True when a heavy field carries an actual body worth expanding. */ | ||
| function hasBody(value) { | ||
| return value !== undefined && value !== null && charSize(value) > 0; | ||
| } | ||
| /** | ||
| * Budget an arbitrary value: return it verbatim (structured) when its serialized | ||
| * form fits `budget`, otherwise a truncated string preview with an honest marker. | ||
| * Returning the value verbatim when it fits keeps a small step input directly | ||
| * usable by run_local; truncating only over-budget values bounds the result. | ||
| */ | ||
| function budgetValue(value, budget, webappUrl) { | ||
| if (value === undefined) | ||
| return undefined; | ||
| if (value === null) | ||
| return null; | ||
| let serialized; | ||
| try { | ||
| serialized = JSON.stringify(value); | ||
| } | ||
| catch (err) { | ||
| return `[unserializable: ${err instanceof Error ? err.message : String(err)}]`; | ||
| } | ||
| if (serialized.length <= budget) | ||
| return value; | ||
| return capText(serialized, budget, webappUrl); | ||
| } | ||
| /** A message-only preview of a heavy top-level field: presence + first N chars, | ||
| * never the full body. Returns null for an absent value so the key still | ||
| * signals "nothing here" rather than vanishing. */ | ||
| function previewValue(value, webappUrl) { | ||
| if (value === undefined || value === null) | ||
| return null; | ||
| const chars = charSize(value); | ||
| return { chars, preview: budgetValue(value, PREVIEW_BUDGET, webappUrl) }; | ||
| } | ||
| /** Extract a human message from an arbitrary top-level error value (which may be | ||
| * a structured `{ message }`, a string, or something else). */ | ||
| function errorMessageOf(value) { | ||
| if (value === undefined || value === null) | ||
| return null; | ||
| if (typeof value === "string") | ||
| return value; | ||
| if (typeof value === "object" && | ||
| "message" in value && | ||
| typeof value.message === "string") { | ||
| return value.message; | ||
| } | ||
| return null; | ||
| } | ||
| /** The heavy value backing each includable field on a step. */ | ||
| function stepFieldValue(step, field) { | ||
| switch (field) { | ||
| case "input": | ||
| return step.input; | ||
| case "output": | ||
| return step.output; | ||
| case "logs": | ||
| return step.logs; | ||
| case "events": | ||
| return step.events; | ||
| case "sharedState": | ||
| return step.sharedStateAfter; | ||
| case "error": | ||
| return step.error; | ||
| } | ||
| } | ||
| /** Does this step-attempt match the caller's `step` / `attempt` selector? */ | ||
| function stepMatches(step, selector, attempt) { | ||
| if (selector === undefined) | ||
| return false; | ||
| if (attempt !== undefined && step.attempt !== attempt) | ||
| return false; | ||
| // A numeric selector (or numeric string) matches by stepOrder; otherwise by name. | ||
| const asNumber = typeof selector === "number" ? selector : Number(selector); | ||
| if (typeof selector === "number" || | ||
| (selector.trim() !== "" && !Number.isNaN(asNumber))) { | ||
| return step.stepOrder === asNumber || step.stepName === String(selector); | ||
| } | ||
| return step.stepName === selector; | ||
| } | ||
| function compactStep(step, expand, budget, webappUrl) { | ||
| const sizes = { | ||
| input: charSize(step.input), | ||
| output: charSize(step.output), | ||
| logs: charSize(step.logs), | ||
| events: charSize(step.events), | ||
| sharedState: charSize(step.sharedStateAfter), | ||
| error: charSize(step.error), | ||
| }; | ||
| const out = { | ||
| stepName: step.stepName, | ||
| stepOrder: step.stepOrder, | ||
| attempt: step.attempt, | ||
| status: step.status, | ||
| startedAt: step.startedAt, | ||
| finishedAt: step.finishedAt, | ||
| errorMessage: step.error?.message ?? null, | ||
| has: { | ||
| input: hasBody(step.input), | ||
| output: hasBody(step.output), | ||
| logs: hasBody(step.logs), | ||
| events: hasBody(step.events), | ||
| sharedState: hasBody(step.sharedStateAfter), | ||
| error: step.error !== null && step.error !== undefined, | ||
| dispatch: step.dispatch !== null && step.dispatch !== undefined, | ||
| }, | ||
| sizes, | ||
| }; | ||
| // Dispatch and cost are small, bounded structured nodes — keep them verbatim so | ||
| // the compact view still tells the "which child run / what did it cost" story. | ||
| if (step.dispatch) | ||
| out.dispatch = step.dispatch; | ||
| if (step.cost) | ||
| out.cost = step.cost; | ||
| for (const field of expand) { | ||
| out[field] = budgetValue(stepFieldValue(step, field), budget, webappUrl); | ||
| } | ||
| return out; | ||
| } | ||
| /** | ||
| * Project a full {@link ExecutionProjection} into the bounded compact shape the | ||
| * inspect tool returns. Identity/status/timestamps/tree/cost are kept as-is; | ||
| * every step is compacted (with a `has`/`sizes` hint); heavy top-level fields are | ||
| * previewed or budgeted; and the selected `step`/`attempt` gets its `include` | ||
| * fields expanded within the per-field budget. | ||
| */ | ||
| export function projectExecutionForTool(execution, opts = {}) { | ||
| const budget = opts.budget ?? DEFAULT_FIELD_BUDGET; | ||
| const webappUrl = opts.webappUrl; | ||
| const include = opts.include ?? []; | ||
| const wantsExpansion = opts.step !== undefined && include.length > 0; | ||
| const steps = execution.steps.map((step) => { | ||
| const expand = wantsExpansion && stepMatches(step, opts.step, opts.attempt) | ||
| ? include | ||
| : []; | ||
| return compactStep(step, expand, budget, webappUrl); | ||
| }); | ||
| return { | ||
| // ── identity / status (kept as-is; already small) ── | ||
| id: execution.id, | ||
| name: execution.name, | ||
| organizationId: execution.organizationId, | ||
| tenantId: execution.tenantId, | ||
| status: execution.status, | ||
| currentStep: execution.currentStep, | ||
| currentStepAttempt: execution.currentStepAttempt, | ||
| version: execution.version, | ||
| definitionId: execution.definitionId, | ||
| buildRunId: execution.buildRunId, | ||
| idempotencyKey: execution.idempotencyKey, | ||
| pausedSignalName: execution.pausedSignalName, | ||
| pausedSignalCorrelationId: execution.pausedSignalCorrelationId, | ||
| pausedUntil: execution.pausedUntil, | ||
| startedAt: execution.startedAt, | ||
| finishedAt: execution.finishedAt, | ||
| // ── tree / trace (lightweight refs; kept as-is) ── | ||
| traceRoot: execution.traceRoot, | ||
| rootExecutionId: execution.rootExecutionId, | ||
| traceParent: execution.traceParent, | ||
| parentExecutionId: execution.parentExecutionId, | ||
| traceId: execution.traceId, | ||
| children: execution.children, | ||
| // ── run-level cost rollup (small structured node) ── | ||
| cost: execution.cost, | ||
| // ── heavy top-level detail: message-only previews / budgeted, never verbatim ── | ||
| input: previewValue(execution.input, webappUrl), | ||
| sharedState: previewValue(execution.sharedState, webappUrl), | ||
| output: previewValue(execution.output, webappUrl), | ||
| error: previewValue(execution.error, webappUrl), | ||
| errorMessage: errorMessageOf(execution.error), | ||
| // Paused-step schema/example matter for resume; budget (verbatim when small). | ||
| pausedStepInputSchema: budgetValue(execution.pausedStepInputSchema, budget, webappUrl), | ||
| pausedStepInputExample: budgetValue(execution.pausedStepInputExample, budget, webappUrl), | ||
| // ── steps (compacted; selected step's included fields expanded) ── | ||
| steps, | ||
| }; | ||
| } | ||
| //# sourceMappingURL=execution-projection.js.map |
| {"version":3,"file":"execution-projection.js","sourceRoot":"","sources":["../../src/tools/execution-projection.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAiBD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,UAAU,CAAC,CAgHrB"} | ||
| {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAqDD,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,UAAU,CAAC,CAgHrB"} |
+38
-11
| import * as http from "node:http"; | ||
| import * as crypto from "node:crypto"; | ||
| import { execSync } from "node:child_process"; | ||
| import { spawn } from "node:child_process"; | ||
| import { URL, URLSearchParams } from "node:url"; | ||
| /** | ||
| * Fire-and-forget browser launch. Three properties matter here, all learned | ||
| * from this running inside an MCP server on Windows: | ||
| * | ||
| * - NEVER a visible console. The previous `execSync('start "" "<url>"')` | ||
| * spawned cmd.exe, which pops a console window on the user's screen when | ||
| * the caller isn't attached to one (an MCP server child of a GUI app | ||
| * never is). PowerShell here runs with CREATE_NO_WINDOW (`windowsHide`). | ||
| * - NEVER synchronous. execSync blocked the tool handler on the opener | ||
| * process itself; a wedged opener wedged the tool call. | ||
| * - NEVER a shell-parsed URL. The OAuth URL carries `&` in its query, which | ||
| * a cmd.exe command line treats as a command separator unless quoted | ||
| * exactly right. The PowerShell command is passed BASE64-ENCODED | ||
| * (-EncodedCommand), so no shell ever tokenizes the URL; the | ||
| * single-quoted PS literal only needs `'` doubled, and percent-encoded | ||
| * OAuth URLs cannot contain `'`. | ||
| * | ||
| * Failure is still non-fatal by design: the caller's stderr line and the | ||
| * timeout error both carry the URL for a manual open. | ||
| */ | ||
| function openBrowser(url) { | ||
| const platform = process.platform; | ||
| try { | ||
| if (platform === "darwin") { | ||
| execSync(`open "${url}"`); | ||
| } | ||
| else if (platform === "win32") { | ||
| execSync(`start "" "${url}"`); | ||
| } | ||
| else { | ||
| execSync(`xdg-open "${url}"`); | ||
| } | ||
| const child = process.platform === "win32" | ||
| ? spawn("powershell.exe", [ | ||
| "-NoProfile", | ||
| "-NonInteractive", | ||
| "-WindowStyle", | ||
| "Hidden", | ||
| "-EncodedCommand", | ||
| Buffer.from(`Start-Process '${url.replace(/'/g, "''")}'`, "utf16le").toString("base64"), | ||
| ], { stdio: "ignore", windowsHide: true, detached: true }) | ||
| : spawn(process.platform === "darwin" ? "open" : "xdg-open", [url], { | ||
| stdio: "ignore", | ||
| detached: true, | ||
| }); | ||
| // A missing opener binary rejects asynchronously — swallow it the same | ||
| // way the old catch did, or the ENOENT crashes the whole server. | ||
| child.on("error", () => { }); | ||
| child.unref(); | ||
| } | ||
@@ -18,0 +45,0 @@ catch { |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAShD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAS,WAAW,CAAC,GAAW;IAC9B,IAAI,CAAC;QACH,MAAM,KAAK,GACT,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC1B,CAAC,CAAC,KAAK,CACH,gBAAgB,EAChB;gBACE,YAAY;gBACZ,iBAAiB;gBACjB,cAAc;gBACd,QAAQ;gBACR,iBAAiB;gBACjB,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,QAAQ,CAC3E,QAAQ,CACT;aACF,EACD,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CACvD;YACH,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE;gBAChE,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QACT,uEAAuE;QACvE,iEAAiE;QACjE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC5B,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,4DAA4D;IAC9D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAc,EACd,MAAc;IAEd,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAErD,OAAO,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,MAAM,OAAO,GAAG,UAAU,CACxB,GAAG,EAAE;YACH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,CACJ,IAAI,KAAK,CACP,mFAAmF,UAAU,EAAE,CAChG,CACF,CAAC;YACJ,CAAC;QACH,CAAC,EACD,CAAC,GAAG,EAAE,GAAG,IAAI,CACd,CAAC;QAEF,2CAA2C;QAC3C,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACtC,IAAI,OAAO;gBAAE,OAAO;YAEpB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;YAE3D,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;gBACpC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;gBACrD,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEvD,sDAAsD;YACtD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;YACpD,GAAG,CAAC,GAAG,CAAC;;;;;;;;;QASN,CAAC,CAAC;YAEJ,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;gBAC9C,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,CACJ,IAAI,KAAK,CAAC,0DAA0D,CAAC,CACtE,CAAC;gBACF,OAAO;YACT,CAAC;YAED,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC,CAAC;gBACtE,OAAO;YACT,CAAC;YAED,mCAAmC;YACnC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAsB,CAAC;gBACrD,MAAM,WAAW,GAAG,oBAAoB,OAAO,CAAC,IAAI,WAAW,CAAC;gBAChE,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;gBACtE,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE;YACjC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAsB,CAAC;YACrD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAC1B,MAAM,WAAW,GAAG,oBAAoB,IAAI,WAAW,CAAC;YACxD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;gBACjC,YAAY,EAAE,WAAW;gBACzB,KAAK;aACN,CAAC,CAAC;YACH,UAAU,GAAG,GAAG,MAAM,aAAa,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;YAEvD,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACvD,OAAO,CAAC,KAAK,CAAC,uCAAuC,UAAU,EAAE,CAAC,CAAC;YAEnE,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACzB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,IAAI,CAAC;gBACf,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACpE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,MAAc,EACd,IAAY,EACZ,WAAmB;IAEnB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,oBAAoB,EAAE;QAC1D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;KAC5C,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,IAAI,OAAO,GAAG,0BAA0B,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC3D,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAyB,CAAC;YAC7D,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,GAAG,0BAA0B,IAAI,CAAC,OAAO,EAAE,CAAC;YACrD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2BAA2B;QAC7B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAe,CAAC;IAEnD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/tools/agents.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4BzE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAoD7D,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,mBAAmB,GAAG,IAAI,CAomB1E"} | ||
| {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/tools/agents.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4BzE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAyD7D,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,mBAAmB,GAAG,IAAI,CA+oB1E"} |
+35
-6
@@ -17,2 +17,3 @@ /** | ||
| import { registerTool } from "../register-tool.js"; | ||
| import { INCLUDABLE_FIELDS, projectExecutionForTool, } from "./execution-projection.js"; | ||
| import { fail, gatewayClient, NOT_AUTHED, ok } from "./shared.js"; | ||
@@ -295,3 +296,3 @@ import { webappRunUrl } from "./webapp-url.js"; | ||
| }); | ||
| registerTool(server, "sapiom_dev_agents_inspect", "Inspect a cloud execution (its steps and errors) by executionId, a build by buildRunId, or list recent executions when neither is given. On a failed step, pull its input here to reproduce the failure locally with run_local. When inspecting an execution, the result includes a `webappUrl` to open that run in the webapp.\n\nReads are a fresh point-in-time snapshot. To wait for a still-running execution to finish, set wait:true (the tool polls until it settles or the wait window elapses) — do NOT sleep-and-poll this tool yourself. If a wait returns waiting:true, just call inspect again with wait:true.", { | ||
| registerTool(server, "sapiom_dev_agents_inspect", "Inspect a cloud execution (its steps and errors) by executionId, a build by buildRunId, or list recent executions when neither is given. On a failed step, pull its input here to reproduce the failure locally with run_local. When inspecting an execution, the result includes a `webappUrl` to open that run in the webapp.\n\nBy default the execution is returned COMPACT: identity/status/timestamps + a per-step summary (name/order/attempt/status/error-message) with a `has` flag-set and a `sizes` hint (char counts of the omitted input/output/logs/events/sharedState bodies). Full step bodies are NOT included by default — they can be multiple MB. To pull a specific step's heavy fields, pass `step` (its name or order, from the compact list) with `include` (e.g. ['input','error']); optionally narrow to one `attempt`. Debug loop: inspect(executionId) → see step N failed → inspect(executionId, step:'<name>', include:['input','error']) → feed that input to run_local. Every field is capped to a char budget; an over-budget value is truncated with a marker pointing at `webappUrl`.\n\nReads are a fresh point-in-time snapshot. To wait for a still-running execution to finish, set wait:true (the tool polls until it settles or the wait window elapses) — do NOT sleep-and-poll this tool yourself. If a wait returns waiting:true, just call inspect again with wait:true.", { | ||
| dir: z | ||
@@ -306,2 +307,15 @@ .string() | ||
| .describe("Build to inspect (requires a linked project)."), | ||
| step: z | ||
| .union([z.string(), z.number()]) | ||
| .optional() | ||
| .describe("Expand one step's heavy fields: its stepName or stepOrder (from the compact step list). Pair with `include` to choose which fields."), | ||
| attempt: z | ||
| .number() | ||
| .int() | ||
| .optional() | ||
| .describe("Restrict expansion to a single attempt of the selected `step` (a retried step has several). Omit to expand every attempt of that step."), | ||
| include: z | ||
| .array(z.enum(INCLUDABLE_FIELDS)) | ||
| .optional() | ||
| .describe("Heavy step fields to expand for the selected `step`: 'input' | 'output' | 'logs' | 'events' | 'sharedState' | 'error'. Ignored without `step`. Each is capped to the char budget."), | ||
| wait: z | ||
@@ -315,3 +329,3 @@ .boolean() | ||
| .describe("Max seconds to wait when wait:true (default 45, capped at 55). On timeout it returns the latest snapshot with waiting:true — call again to keep waiting."), | ||
| }, async ({ dir, executionId, buildRunId, wait, maxWaitSeconds }) => { | ||
| }, async ({ dir, executionId, buildRunId, step, attempt, include, wait, maxWaitSeconds, }) => { | ||
| const client = await gatewayClient(env); | ||
@@ -326,2 +340,9 @@ if (!client) | ||
| if (executionId) { | ||
| // Compact-by-default projection options, shared by both return | ||
| // branches so wait:true and the snapshot yield the same bounded shape. | ||
| const projectOpts = { | ||
| step, | ||
| attempt, | ||
| include, | ||
| }; | ||
| if (wait) { | ||
@@ -335,7 +356,11 @@ const maxWaitMs = Math.min(Math.max(maxWaitSeconds ?? 45, 1), 55) * 1000; | ||
| : undefined; | ||
| const webappUrl = webappRunUrl(env.appURL, execution.definitionId, execution.id); | ||
| return ok({ | ||
| execution, | ||
| execution: projectExecutionForTool(execution, { | ||
| ...projectOpts, | ||
| webappUrl, | ||
| }), | ||
| done, | ||
| waiting: !done, | ||
| webappUrl: webappRunUrl(env.appURL, execution.definitionId, execution.id), | ||
| webappUrl, | ||
| ...(hint ? { hint } : {}), | ||
@@ -350,5 +375,9 @@ }); | ||
| : `Execution is '${execution.status}', not terminal — call inspect with wait:true to block until it finishes instead of polling manually.`; | ||
| const webappUrl = webappRunUrl(env.appURL, execution.definitionId, execution.id); | ||
| return ok({ | ||
| execution, | ||
| webappUrl: webappRunUrl(env.appURL, execution.definitionId, execution.id), | ||
| execution: projectExecutionForTool(execution, { | ||
| ...projectOpts, | ||
| webappUrl, | ||
| }), | ||
| webappUrl, | ||
| ...(hint ? { hint } : {}), | ||
@@ -355,0 +384,0 @@ }); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/tools/agents.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/tools/agents.ts"],"names":[],"mappings":"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"} |
@@ -29,2 +29,11 @@ /** | ||
| }; | ||
| /** | ||
| * Truncate `text` to `budget` characters, appending an honest marker that | ||
| * records how many characters were dropped and — when a `webappUrl` is given — | ||
| * where the full value can be read. Returns the input unchanged when it already | ||
| * fits. This is the primitive the execution projection uses to guarantee a tool | ||
| * result can never exceed its char budget regardless of how large the underlying | ||
| * step input/output/logs were (a single step output can be multiple MB). | ||
| */ | ||
| export declare function capText(text: string, budget: number, webappUrl?: string): string; | ||
| export declare function ok(data: unknown): ToolResult; | ||
@@ -31,0 +40,0 @@ /** |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAGL,aAAa,EACd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAmB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,wBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CAmB5C;AAyBD;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAiB7C;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,mBAAmB,GACvB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAI/B;AAED,eAAO,MAAM,UAAU,YAMtB,CAAC"} | ||
| {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAGL,aAAa,EACd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAmB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAKR;AAED,wBAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,CAmB5C;AAyBD;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAiB7C;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,mBAAmB,GACvB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAI/B;AAED,eAAO,MAAM,UAAU,YAMtB,CAAC"} |
+15
-0
@@ -22,2 +22,17 @@ /** | ||
| import { readCredentials } from "../credentials.js"; | ||
| /** | ||
| * Truncate `text` to `budget` characters, appending an honest marker that | ||
| * records how many characters were dropped and — when a `webappUrl` is given — | ||
| * where the full value can be read. Returns the input unchanged when it already | ||
| * fits. This is the primitive the execution projection uses to guarantee a tool | ||
| * result can never exceed its char budget regardless of how large the underlying | ||
| * step input/output/logs were (a single step output can be multiple MB). | ||
| */ | ||
| export function capText(text, budget, webappUrl) { | ||
| if (text.length <= budget) | ||
| return text; | ||
| const dropped = text.length - budget; | ||
| const where = webappUrl ? ` — open ${webappUrl} for the full value` : ""; | ||
| return `${text.slice(0, budget)}…[truncated ${dropped} chars${where}]`; | ||
| } | ||
| export function ok(data) { | ||
@@ -24,0 +39,0 @@ let text; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"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"} |
+2
-2
| { | ||
| "name": "@sapiom/mcp", | ||
| "version": "0.12.4", | ||
| "version": "0.12.5", | ||
| "description": "Local Sapiom developer MCP server (sapiom-dev) — the unmetered surface for building and operating on Sapiom; today it scaffolds, tests, deploys, and inspects orchestrations. Not the remote Sapiom capability MCP.", | ||
@@ -45,3 +45,3 @@ "mcpName": "io.github.sapiom/mcp", | ||
| "zod": "^3.25.0", | ||
| "@sapiom/agent-core": "^0.10.5", | ||
| "@sapiom/agent-core": "^0.10.7", | ||
| "@sapiom/analytics-core": "^0.2.1", | ||
@@ -48,0 +48,0 @@ "@sapiom/sandbox-preview": "^0.1.12" |
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
167100
17.75%71
5.97%2053
19.99%9
12.5%Updated