@rosthq/cli 0.7.131 → 0.7.133
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/index.js +22 -2
- package/dist/index.js.map +2 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -32545,6 +32545,15 @@ var artifactPointerSystemSchema = external_exports.enum([
|
|
|
32545
32545
|
"other"
|
|
32546
32546
|
]);
|
|
32547
32547
|
var artifactChecksumSchema = external_exports.string().regex(/^[a-f0-9]{64}$/, "checksum must be a lowercase sha256 hex digest");
|
|
32548
|
+
var MIME_RESTRICTED_NAME = String.raw`[A-Za-z0-9][A-Za-z0-9!#$&^_.+-]{0,126}`;
|
|
32549
|
+
var MIME_PARAM_VALUE_TOKEN = "[A-Za-z0-9!#$%&'*+.^_\\x60|~{}-]{1,127}";
|
|
32550
|
+
var MIME_TYPE_RE = new RegExp(
|
|
32551
|
+
`^${MIME_RESTRICTED_NAME}\\/${MIME_RESTRICTED_NAME}(?:\\s*;\\s*${MIME_RESTRICTED_NAME}=(?:"(?:\\\\[^\\r\\n]|[^"\\\\\\r\\n])*"|${MIME_PARAM_VALUE_TOKEN}))*$`,
|
|
32552
|
+
"u"
|
|
32553
|
+
);
|
|
32554
|
+
function isValidMimeType(value) {
|
|
32555
|
+
return MIME_TYPE_RE.test(value);
|
|
32556
|
+
}
|
|
32548
32557
|
function isSafeArtifactStoragePath(value) {
|
|
32549
32558
|
if (value.includes("\\")) {
|
|
32550
32559
|
return false;
|
|
@@ -32620,13 +32629,17 @@ var SECRET_URL_PARAM_ASSIGNMENT = new RegExp(
|
|
|
32620
32629
|
`[?&;#](?:amp;)?(?:(?:${SECRET_URL_PARAM_NAMES})=[^\\s&#]|(?:${FREE_TEXT_LONG_VALUE_CREDENTIAL_PARAMS})=[A-Za-z0-9._~+/=%-]{${FREE_TEXT_LONG_VALUE_MIN_CHARS},}|(?:${AFFIXED_SECRET_URL_PARAM_NAME})=[A-Za-z0-9._~+/=%-]{${FREE_TEXT_LONG_VALUE_MIN_CHARS},})`,
|
|
32621
32630
|
"iu"
|
|
32622
32631
|
);
|
|
32632
|
+
var SECRET_URL_PARAM_NAME_ASSIGNMENT = new RegExp(
|
|
32633
|
+
`[?&;#](?:amp;)?(?:${SECRET_URL_PARAM_NAMES})=[^\\s&#]`,
|
|
32634
|
+
"iu"
|
|
32635
|
+
);
|
|
32623
32636
|
var binaryArtifactCreateInputSchema = external_exports.object({
|
|
32624
32637
|
seat_id: uuidSchema9,
|
|
32625
32638
|
run_id: uuidSchema9.nullable().optional(),
|
|
32626
32639
|
title: external_exports.string().trim().min(1).max(ARTIFACT_MAX_TITLE_CHARS).nullable().optional(),
|
|
32627
32640
|
storage_bucket: external_exports.string().min(1).max(ARTIFACT_MAX_STORAGE_BUCKET_CHARS),
|
|
32628
32641
|
storage_path: artifactStoragePathSchema,
|
|
32629
|
-
mime_type: external_exports.string().min(1).max(ARTIFACT_MAX_MIME_CHARS),
|
|
32642
|
+
mime_type: external_exports.string().min(1).max(ARTIFACT_MAX_MIME_CHARS).refine(isValidMimeType, "mime_type must be a valid media type (type/subtype), not a URL"),
|
|
32630
32643
|
size_bytes: external_exports.number().int().nonnegative(),
|
|
32631
32644
|
checksum_sha256: artifactChecksumSchema,
|
|
32632
32645
|
supersedes_id: uuidSchema9.nullable().optional(),
|
|
@@ -32791,6 +32804,10 @@ var mcpCatalogSchema = external_exports.object({
|
|
|
32791
32804
|
digest: external_exports.string().regex(/^sha256:[0-9a-f]{64}$/),
|
|
32792
32805
|
discovered_at: external_exports.string().datetime({ offset: true })
|
|
32793
32806
|
}).strict();
|
|
32807
|
+
var mcpToolRefusalReasonSchema = external_exports.enum([
|
|
32808
|
+
"credential_shaped_tool_name",
|
|
32809
|
+
"credential_shaped_schema_key"
|
|
32810
|
+
]);
|
|
32794
32811
|
|
|
32795
32812
|
// ../../packages/protocol/src/cli-bootstrap.ts
|
|
32796
32813
|
var uuidSchema10 = external_exports.string().uuid();
|
|
@@ -57201,7 +57218,7 @@ After import, continue from the draft Seat page. Review the Charter, choose a St
|
|
|
57201
57218
|
order: 91,
|
|
57202
57219
|
title: "Remote MCP connection guide",
|
|
57203
57220
|
summary: "How an operator connects a company-wide remote MCP server, reviews its advertised tools, and disconnects \u2014 connect grants no agent access on its own.",
|
|
57204
|
-
version: "2026-07-
|
|
57221
|
+
version: "2026-07-31.1",
|
|
57205
57222
|
public: false,
|
|
57206
57223
|
audiences: ["human"],
|
|
57207
57224
|
stages: ["operating_rhythm"],
|
|
@@ -57234,6 +57251,8 @@ An owner or admin opens Settings \u2192 Connections and connects one of the work
|
|
|
57234
57251
|
|
|
57235
57252
|
Each connected server lists the tools it advertises. Every tool is shown with a conservative tier: **Read** only when the server explicitly marks the tool read-only, otherwise **Approval-held** (a steward must approve each use). A tool the server flags as destructive is labelled so. These labels are advisory context for the human \u2014 the signed Charter and the guard remain the authority on what an agent may actually call.
|
|
57236
57253
|
|
|
57254
|
+
A tool can be absent from this list even though the server advertises it. Discovery withholds any tool whose name \u2014 or any argument name in its input schema \u2014 is shaped like credential material, because that string is the contract a grant and the model must reproduce, so it cannot be rewritten the way a description can. The omission is silent at the point of use: the withheld tool simply never exists for your company, so an agent asked to call it has no such tool and no error at the call site names why. What you do see is the record: the connection's lifecycle event notes how many tools were withheld and the typed reason category, never the credential-shaped string itself.
|
|
57255
|
+
|
|
57237
57256
|
## Disconnect
|
|
57238
57257
|
|
|
57239
57258
|
Disconnecting revokes the stored credential immediately (any in-flight run fails closed), marks the connection disconnected, and revokes the vault secret. It is idempotent and admin-gated.
|
|
@@ -57243,6 +57262,7 @@ Disconnecting revokes the stored credential immediately (any in-flight run fails
|
|
|
57243
57262
|
- The server URL is fixed at connect time; a model can never redirect the connector to another host or tool.
|
|
57244
57263
|
- Every outbound request passes an SSRF chokepoint (HTTPS-only, private/link-local/metadata addresses rejected, the validated IP pinned to defeat DNS rebinding) and never follows a redirect with the credential attached.
|
|
57245
57264
|
- Responses are size- and time-bounded and validated before they reach a model; the bearer token is redacted from any result.
|
|
57265
|
+
- A tool whose advertised name or argument names look like credential material is withheld at discovery rather than stored or shown to a model, and self-reported descriptions and labels are scanned for secret material before they are persisted.
|
|
57246
57266
|
- Connections are tenant-isolated by RLS; one company never sees another's servers or catalog.`
|
|
57247
57267
|
}
|
|
57248
57268
|
];
|