run402-mcp 3.0.0 → 3.1.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/core/dist/control-plane-session.d.ts +10 -7
- package/core/dist/control-plane-session.d.ts.map +1 -1
- package/core/dist/control-plane-session.js.map +1 -1
- package/core/dist/write-auth-session.d.ts +99 -0
- package/core/dist/write-auth-session.d.ts.map +1 -0
- package/core/dist/write-auth-session.js +174 -0
- package/core/dist/write-auth-session.js.map +1 -0
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +3 -1
- package/dist/sdk.js.map +1 -1
- package/package.json +1 -1
- package/sdk/core-dist/control-plane-session.d.ts +10 -7
- package/sdk/core-dist/write-auth-session.d.ts +99 -0
- package/sdk/core-dist/write-auth-session.js +174 -0
- package/sdk/dist/credentials.d.ts +28 -1
- package/sdk/dist/credentials.d.ts.map +1 -1
- package/sdk/dist/errors.d.ts +43 -1
- package/sdk/dist/errors.d.ts.map +1 -1
- package/sdk/dist/errors.js +71 -0
- package/sdk/dist/errors.js.map +1 -1
- package/sdk/dist/index.d.ts +1 -1
- package/sdk/dist/index.d.ts.map +1 -1
- package/sdk/dist/index.js +1 -1
- package/sdk/dist/index.js.map +1 -1
- package/sdk/dist/kernel.d.ts +3 -1
- package/sdk/dist/kernel.d.ts.map +1 -1
- package/sdk/dist/kernel.js +35 -4
- package/sdk/dist/kernel.js.map +1 -1
- package/sdk/dist/namespaces/deploy.d.ts.map +1 -1
- package/sdk/dist/namespaces/deploy.js +16 -4
- package/sdk/dist/namespaces/deploy.js.map +1 -1
- package/sdk/dist/namespaces/operator.d.ts +86 -3
- package/sdk/dist/namespaces/operator.d.ts.map +1 -1
- package/sdk/dist/namespaces/operator.js +55 -0
- package/sdk/dist/namespaces/operator.js.map +1 -1
- package/sdk/dist/namespaces/projects.d.ts.map +1 -1
- package/sdk/dist/namespaces/projects.js +11 -0
- package/sdk/dist/namespaces/projects.js.map +1 -1
- package/sdk/dist/node/credentials.d.ts +32 -6
- package/sdk/dist/node/credentials.d.ts.map +1 -1
- package/sdk/dist/node/credentials.js +57 -4
- package/sdk/dist/node/credentials.js.map +1 -1
- package/sdk/dist/node/index.d.ts +11 -1
- package/sdk/dist/node/index.d.ts.map +1 -1
- package/sdk/dist/node/index.js +3 -1
- package/sdk/dist/node/index.js.map +1 -1
package/sdk/dist/kernel.js
CHANGED
|
@@ -10,21 +10,49 @@
|
|
|
10
10
|
* or a response-shaped error value — they either get the parsed body as T
|
|
11
11
|
* or an exception.
|
|
12
12
|
*/
|
|
13
|
-
import { ApiError, NetworkError, NotAuthorizedError, PaymentRequired, StepUpRequiredError, TransferFreezeError, Unauthorized, } from "./errors.js";
|
|
13
|
+
import { ApiError, NetworkError, NotAuthorizedError, OperatorApprovalRequiredError, PaymentRequired, StepUpRequiredError, TransferFreezeError, Unauthorized, } from "./errors.js";
|
|
14
|
+
/** Gateway 403 codes that mean "a passkey operator approval is needed for this (capability, target)". */
|
|
15
|
+
const WRITE_AUTH_CODES = new Set([
|
|
16
|
+
"WRITE_AUTH_REQUIRED",
|
|
17
|
+
"WRITE_AUTH_BINDING_MISMATCH",
|
|
18
|
+
"WRITE_AUTH_SESSION_INVALID",
|
|
19
|
+
]);
|
|
14
20
|
export async function request(kernel, path, opts) {
|
|
15
21
|
return (await requestWithResponse(kernel, path, opts)).body;
|
|
16
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Auth header families. If a request explicitly sets ANY of these, it owns its
|
|
25
|
+
* credentials and the kernel will not merge a provider auth header alongside —
|
|
26
|
+
* preventing duplicate/contradictory credentials once dual-header auth exists.
|
|
27
|
+
*/
|
|
28
|
+
const AUTH_HEADER_NAMES = ["authorization", "sign-in-with-x", "x-run402-write-auth"];
|
|
29
|
+
/** Case-insensitive header presence check. */
|
|
30
|
+
function hasHeader(headers, name) {
|
|
31
|
+
const lower = name.toLowerCase();
|
|
32
|
+
for (const k of Object.keys(headers)) {
|
|
33
|
+
if (k.toLowerCase() === lower)
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
17
38
|
export async function requestWithResponse(kernel, path, opts) {
|
|
18
39
|
const { apiBase, fetch, credentials } = kernel;
|
|
19
40
|
const { method = "GET", headers = {}, body, rawBody, withAuth = true, context } = opts;
|
|
20
41
|
const url = `${apiBase}${path}`;
|
|
21
42
|
const fetchHeaders = { ...headers };
|
|
22
43
|
if (withAuth) {
|
|
23
|
-
const auth = await credentials.getAuth(path);
|
|
44
|
+
const auth = await credentials.getAuth(path, opts.authMeta);
|
|
24
45
|
if (auth) {
|
|
46
|
+
// Credential-family atomicity: if the request already set any auth header
|
|
47
|
+
// (any casing), it owns its credentials — never merge provider auth over
|
|
48
|
+
// or beside it. Other provider headers still merge (case-insensitively).
|
|
49
|
+
const requestOwnsAuth = AUTH_HEADER_NAMES.some((h) => hasHeader(fetchHeaders, h));
|
|
25
50
|
for (const [k, v] of Object.entries(auth)) {
|
|
26
|
-
if (
|
|
27
|
-
|
|
51
|
+
if (hasHeader(fetchHeaders, k))
|
|
52
|
+
continue;
|
|
53
|
+
if (requestOwnsAuth && AUTH_HEADER_NAMES.includes(k.toLowerCase()))
|
|
54
|
+
continue;
|
|
55
|
+
fetchHeaders[k] = v;
|
|
28
56
|
}
|
|
29
57
|
}
|
|
30
58
|
}
|
|
@@ -71,6 +99,9 @@ export async function requestWithResponse(kernel, path, opts) {
|
|
|
71
99
|
// generic 401/403 so callers can prompt for access, not re-authentication.
|
|
72
100
|
throw new NotAuthorizedError(`${displayMessage(resBody, "Not authorized")} while ${context} (HTTP ${res.status})`, res.status, resBody, context);
|
|
73
101
|
}
|
|
102
|
+
if (res.status === 403 && WRITE_AUTH_CODES.has(envelopeCode(resBody) ?? "")) {
|
|
103
|
+
throw new OperatorApprovalRequiredError(`${displayMessage(resBody, "Operator approval required")} while ${context}`, res.status, resBody, context, { capability: opts.authMeta?.capability ?? null, target: opts.authMeta?.target ?? null });
|
|
104
|
+
}
|
|
74
105
|
if (res.status === 401 || res.status === 403) {
|
|
75
106
|
throw new Unauthorized(`${displayMessage(resBody, "Unauthorized")} while ${context} (HTTP ${res.status})`, res.status, resBody, context);
|
|
76
107
|
}
|
package/sdk/dist/kernel.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,GACb,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/namespaces/deploy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAkB3C,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EAQtB,WAAW,EACX,oBAAoB,EAEpB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EAarB,iBAAiB,EAGjB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,YAAY,EAEb,MAAM,mBAAmB,CAAC;AAqE3B,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C;;;;OAIG;IACG,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IA4C9E;;;OAGG;IACH,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,eAAe,CAAC;IAI3E;;;;OAIG;IACG,IAAI,CACR,IAAI,EAAE,WAAW,EACjB,IAAI,GAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GACvD,OAAO,CAAC;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;KAAE,CAAC;IAIxE;;;;;OAKG;IACG,MAAM,CACV,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;KACxC,GACA,OAAO,CAAC,IAAI,CAAC;IAWhB;;;;;OAKG;IACG,MAAM,CACV,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;QACJ,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;QACvC,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;KACb,GACL,OAAO,CAAC,YAAY,CAAC;IAMxB;;;;;;;;;OASG;IACG,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE;QAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GACtE,OAAO,CAAC,YAAY,CAAC;IAqBxB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,OAAO,CACX,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,aAAa,CAAC;IA2CzB;;;;OAIG;IACG,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAC9B,OAAO,CAAC,iBAAiB,CAAC;IAmB7B;;;;;;OAMG;IACG,IAAI,CACR,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAC/B,OAAO,CAAC,kBAAkB,CAAC;IA6B9B;;;;;;;;OAQG;IACG,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GACxB,OAAO,CAAC,oBAAoB,CAAC;IAmBhC;;;;OAIG;IACG,UAAU,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2B9E;;;;OAIG;IACG,gBAAgB,CACpB,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,sBAAsB,CAAC;IAqBlC;;;;OAIG;IACG,IAAI,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA+BnE;;;;OAIG;IACG,OAAO,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAW1E;
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/namespaces/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -166,7 +166,7 @@ export class Deploy {
|
|
|
166
166
|
*/
|
|
167
167
|
async commit(planId, opts = {}) {
|
|
168
168
|
const emit = makeEmitter(opts.onEvent);
|
|
169
|
-
const commit = await commitInternal(this.client, planId, opts.idempotencyKey);
|
|
169
|
+
const commit = await commitInternal(this.client, planId, opts.idempotencyKey, opts.project);
|
|
170
170
|
return await pollUntilReady(this.client, commit, {}, [], emit, opts.project);
|
|
171
171
|
}
|
|
172
172
|
/**
|
|
@@ -479,7 +479,7 @@ async function applyOnce(client, spec, opts, emit) {
|
|
|
479
479
|
...(sliceKinds.length > 0 ? { slice_kinds: sliceKinds } : {}),
|
|
480
480
|
});
|
|
481
481
|
const { planId } = requirePersistedPlan(plan, "applying deploy");
|
|
482
|
-
const commit = await commitInternal(client, planId, opts.idempotencyKey);
|
|
482
|
+
const commit = await commitInternal(client, planId, opts.idempotencyKey, spec.project);
|
|
483
483
|
const result = await pollUntilReady(client, commit, plan.diff, plan.warnings, emit, spec.project, sliceKinds);
|
|
484
484
|
// v1.48 unified-apply: thread the plan response's `asset_entries[]` back
|
|
485
485
|
// into DeployResult.assets so callers reading `result.assets.byKey[key]`
|
|
@@ -811,6 +811,8 @@ async function planInternal(client, spec, idempotencyKey, dryRun = false) {
|
|
|
811
811
|
plan = withClientPlanWarnings(normalized, normalizePlanResponse(await client.request(dryRun ? "/apply/v1/plans?dry_run=true" : "/apply/v1/plans", {
|
|
812
812
|
method: "POST",
|
|
813
813
|
body,
|
|
814
|
+
// Operator-approval scope: deploying a release is `project.deploy` on this project.
|
|
815
|
+
authMeta: { method: "deploy.plan", capability: "project.deploy", target: { project_id: spec.project } },
|
|
814
816
|
context: "planning deploy",
|
|
815
817
|
})));
|
|
816
818
|
}
|
|
@@ -1151,11 +1153,21 @@ function expandCronNumberPart(part, min, max) {
|
|
|
1151
1153
|
}
|
|
1152
1154
|
return values;
|
|
1153
1155
|
}
|
|
1154
|
-
async function commitInternal(client, planId, idempotencyKey) {
|
|
1156
|
+
async function commitInternal(client, planId, idempotencyKey, project) {
|
|
1155
1157
|
try {
|
|
1156
1158
|
return await client.request(`/apply/v1/plans/${encodeURIComponent(planId)}/commit`, {
|
|
1157
1159
|
method: "POST",
|
|
1158
1160
|
body: idempotencyKey ? { idempotency_key: idempotencyKey } : {},
|
|
1161
|
+
// Operator-approval scope: committing a deploy is `project.deploy` on this project.
|
|
1162
|
+
...(project
|
|
1163
|
+
? {
|
|
1164
|
+
authMeta: {
|
|
1165
|
+
method: "deploy.commit",
|
|
1166
|
+
capability: "project.deploy",
|
|
1167
|
+
target: { project_id: project },
|
|
1168
|
+
},
|
|
1169
|
+
}
|
|
1170
|
+
: {}),
|
|
1159
1171
|
context: "committing deploy",
|
|
1160
1172
|
});
|
|
1161
1173
|
}
|
|
@@ -1542,7 +1554,7 @@ async function startInternal(client, spec, opts) {
|
|
|
1542
1554
|
...(sliceKinds.length > 0 ? { slice_kinds: sliceKinds } : {}),
|
|
1543
1555
|
});
|
|
1544
1556
|
const { planId } = requirePersistedPlan(plan, "starting deploy");
|
|
1545
|
-
const commit = await commitInternal(client, planId, opts.idempotencyKey);
|
|
1557
|
+
const commit = await commitInternal(client, planId, opts.idempotencyKey, spec.project);
|
|
1546
1558
|
return await pollUntilReady(client, commit, plan.diff, plan.warnings, emit, spec.project, sliceKinds);
|
|
1547
1559
|
})();
|
|
1548
1560
|
// Avoid an unhandled-rejection at construction time. Consumers must call
|