edgegate-mcp 0.9.1 → 0.10.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/dist/client.d.ts +20 -1
- package/dist/client.js +21 -0
- package/dist/client.js.map +1 -1
- package/dist/server.js +33 -6
- package/dist/server.js.map +1 -1
- package/dist/tools/attach_byo_role.d.ts +28 -0
- package/dist/tools/attach_byo_role.js +96 -0
- package/dist/tools/attach_byo_role.js.map +1 -0
- package/dist/tools/register_byo_bucket.js +6 -1
- package/dist/tools/register_byo_bucket.js.map +1 -1
- package/dist/tools/setup_byo_storage.d.ts +44 -0
- package/dist/tools/setup_byo_storage.js +247 -0
- package/dist/tools/setup_byo_storage.js.map +1 -0
- package/dist/types.d.ts +20 -2
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { APIKeyCreateResponse, APIKeyCreatedResponse, APIKeyListItem, ArtifactResponse, ByoArtifactRegisterRequest, ByoAuditPage, ByoGrant, DeviceListResponse, HFImportJob, HuggingFaceConnectResponse, HuggingFaceIntegrationStatus, InputSpec, Member, Pipeline, PromptPackCreateBody, PromptPackSummary, QaihubIntegration, RunBundle, RunComparison, RunDetail, RunSummary, Workspace, WorkflowTemplate, WorkspaceRole } from "./types.js";
|
|
1
|
+
import type { APIKeyCreateResponse, APIKeyCreatedResponse, APIKeyListItem, ArtifactResponse, ByoArtifactRegisterRequest, ByoAuditPage, ByoGrant, ByoSetupInfo, DeviceListResponse, HFImportJob, HuggingFaceConnectResponse, HuggingFaceIntegrationStatus, InputSpec, Member, Pipeline, PromptPackCreateBody, PromptPackSummary, QaihubIntegration, RunBundle, RunComparison, RunDetail, RunSummary, Workspace, WorkflowTemplate, WorkspaceRole } from "./types.js";
|
|
2
2
|
export interface EdgeGateClientOptions {
|
|
3
3
|
apiUrl: string;
|
|
4
4
|
apiKey: string;
|
|
@@ -105,6 +105,25 @@ export declare class EdgeGateClient {
|
|
|
105
105
|
region: string;
|
|
106
106
|
kms_key_id?: string;
|
|
107
107
|
}): Promise<ByoGrant>;
|
|
108
|
+
/**
|
|
109
|
+
* Phase-1 of the two-phase wizard: register the grant WITHOUT a role_arn.
|
|
110
|
+
* Backend persists with status='pending_role' and returns the External ID
|
|
111
|
+
* the customer needs to write into their trust policy. The orchestrator
|
|
112
|
+
* tool calls this, then asks the agent to run AWS CLI to create the role,
|
|
113
|
+
* then calls attachByoRole below.
|
|
114
|
+
*/
|
|
115
|
+
registerByoPendingGrant(workspaceId: string, body: {
|
|
116
|
+
bucket: string;
|
|
117
|
+
region: string;
|
|
118
|
+
kms_key_id?: string;
|
|
119
|
+
}): Promise<ByoGrant>;
|
|
120
|
+
/**
|
|
121
|
+
* Phase-2 of the two-phase wizard: hand a Role ARN to a pending_role grant.
|
|
122
|
+
* Backend runs the readiness probe and either flips status to 'active' or
|
|
123
|
+
* 'failed' with last_verify_error populated.
|
|
124
|
+
*/
|
|
125
|
+
attachByoRole(workspaceId: string, roleArn: string): Promise<ByoGrant>;
|
|
126
|
+
getByoSetupInfo(workspaceId: string): Promise<ByoSetupInfo>;
|
|
108
127
|
getByoGrant(workspaceId: string): Promise<ByoGrant>;
|
|
109
128
|
verifyByoGrant(workspaceId: string): Promise<ByoGrant>;
|
|
110
129
|
deleteByoGrant(workspaceId: string): Promise<void>;
|
package/dist/client.js
CHANGED
|
@@ -134,6 +134,27 @@ export class EdgeGateClient {
|
|
|
134
134
|
async registerByoGrant(workspaceId, body) {
|
|
135
135
|
return this.request("POST", `/v1/workspaces/${workspaceId}/byo-storage/grants`, body);
|
|
136
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* Phase-1 of the two-phase wizard: register the grant WITHOUT a role_arn.
|
|
139
|
+
* Backend persists with status='pending_role' and returns the External ID
|
|
140
|
+
* the customer needs to write into their trust policy. The orchestrator
|
|
141
|
+
* tool calls this, then asks the agent to run AWS CLI to create the role,
|
|
142
|
+
* then calls attachByoRole below.
|
|
143
|
+
*/
|
|
144
|
+
async registerByoPendingGrant(workspaceId, body) {
|
|
145
|
+
return this.request("POST", `/v1/workspaces/${workspaceId}/byo-storage/grants`, body);
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Phase-2 of the two-phase wizard: hand a Role ARN to a pending_role grant.
|
|
149
|
+
* Backend runs the readiness probe and either flips status to 'active' or
|
|
150
|
+
* 'failed' with last_verify_error populated.
|
|
151
|
+
*/
|
|
152
|
+
async attachByoRole(workspaceId, roleArn) {
|
|
153
|
+
return this.request("POST", `/v1/workspaces/${workspaceId}/byo-storage/grants/attach-role`, { role_arn: roleArn });
|
|
154
|
+
}
|
|
155
|
+
async getByoSetupInfo(workspaceId) {
|
|
156
|
+
return this.request("GET", `/v1/workspaces/${workspaceId}/byo-storage/setup-info`);
|
|
157
|
+
}
|
|
137
158
|
async getByoGrant(workspaceId) {
|
|
138
159
|
return this.request("GET", `/v1/workspaces/${workspaceId}/byo-storage/grants`);
|
|
139
160
|
}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAqC1C,MAAM,OAAO,aAAc,SAAQ,KAAK;IAEpB;IACA;IACA;IAHlB,YACkB,MAAc,EACd,MAAc,EACd,GAAW;QAE3B,KAAK,CAAC,YAAY,MAAM,OAAO,GAAG,KAAK,MAAM,EAAE,CAAC,CAAC;QAJjC,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAQ;QACd,QAAG,GAAH,GAAG,CAAQ;QAG3B,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,cAAc;IACR,MAAM,CAAS;IACf,MAAM,CAAS;IACf,YAAY,CAAS;IACrB,UAAU,CAAS;IACnB,SAAS,CAAS;IAEnC,YAAY,IAA2B;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,WAAmB;QACpC,OAAO,IAAI,CAAC,OAAO,CAAY,KAAK,EAAE,kBAAkB,WAAW,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,OAAO,CAAc,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC5D,CAAC;IACD,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,OAAO,CAAqB,KAAK,EAAE,mBAAmB,CAAC,CAAC;IACtE,CAAC;IACD,KAAK,CAAC,YAAY,CAChB,WAAmB,EACnB,IAA2C;QAE3C,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,kBAAkB,WAAW,WAAW,EACxC,IAAI,CACL,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,cAAc,CAClB,WAAmB,EACnB,IAeC;QAED,OAAO,IAAI,CAAC,OAAO,CAAW,MAAM,EAAE,kBAAkB,WAAW,YAAY,EAAE,IAAI,CAAC,CAAC;IACzF,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,WAAmB;QACrC,OAAO,IAAI,CAAC,OAAO,CAAa,KAAK,EAAE,kBAAkB,WAAW,YAAY,CAAC,CAAC;IACpF,CAAC;IACD,KAAK,CAAC,UAAU,CACd,WAAmB,EACnB,IAA2E;QAE3E,OAAO,IAAI,CAAC,OAAO,CAAa,MAAM,EAAE,kBAAkB,WAAW,OAAO,EAAE,IAAI,CAAC,CAAC;IACtF,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,KAAa;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAY,KAAK,EAAE,kBAAkB,WAAW,SAAS,KAAK,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,KAAK,CAAC,QAAQ,CAAC,WAAmB,EAAE,KAAK,GAAG,EAAE;QAC5C,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,kBAAkB,WAAW,eAAe,KAAK,EAAE,CACpD,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,kBAAkB,CACtB,WAAmB,EACnB,UAAkB,EAClB,KAAK,GAAG,EAAE;QAEV,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,kBAAkB,WAAW,qBAAqB,UAAU,UAAU,KAAK,EAAE,CAC9E,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,WAAmB,EAAE,KAAa;QACjD,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,kBAAkB,WAAW,SAAS,KAAK,OAAO,CACnD,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,WAAmB,EAAE,KAAa;QACnD,OAAO,IAAI,CAAC,OAAO,CAAY,KAAK,EAAE,kBAAkB,WAAW,SAAS,KAAK,SAAS,CAAC,CAAC;IAC9F,CAAC;IACD,KAAK,CAAC,mBAAmB,CAAC,WAAmB;QAC3C,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,kBAAkB,WAAW,yBAAyB,CACvD,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,sBAAsB,CAC1B,WAAmB,EACnB,IAAkE;QAElE,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,kBAAkB,WAAW,+BAA+B,EAC5D,IAAI,CACL,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,uBAAuB,CAAC,WAAmB,EAAE,KAAa;QAC9D,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,kBAAkB,WAAW,iCAAiC,KAAK,EAAE,CACtE,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,6BAA6B,CACjC,WAAmB,EACnB,KAAa;QAEb,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,kBAAkB,WAAW,2BAA2B,EACxD,EAAE,KAAK,EAAE,CACV,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,4BAA4B,CAChC,WAAmB,EACnB,KAAa;QAEb,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,kBAAkB,WAAW,kCAAkC,EAC/D,EAAE,KAAK,EAAE,CACV,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,yBAAyB,CAC7B,WAAmB;QAEnB,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,kBAAkB,WAAW,2BAA2B,CACzD,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,4BAA4B,CAAC,WAAmB;QACpD,MAAM,IAAI,CAAC,OAAO,CAChB,QAAQ,EACR,kBAAkB,WAAW,2BAA2B,CACzD,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,KAAK,CAAC,wBAAwB,CAC5B,WAAmB,EACnB,KAAa;QAEb,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,kBAAkB,WAAW,sBAAsB,EACnD,EAAE,KAAK,EAAE,CACV,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,uBAAuB,CAC3B,WAAmB,EACnB,KAAa;QAEb,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,kBAAkB,WAAW,6BAA6B,EAC1D,EAAE,KAAK,EAAE,CACV,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,oBAAoB,CAAC,WAAmB;QAC5C,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,kBAAkB,WAAW,sBAAsB,CACpD,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,uBAAuB,CAAC,WAAmB;QAC/C,MAAM,IAAI,CAAC,OAAO,CAChB,QAAQ,EACR,kBAAkB,WAAW,sBAAsB,CACpD,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,eAAe,CAAC,IAAY;QAChC,OAAO,IAAI,CAAC,OAAO,CAAY,MAAM,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,WAAW,CAAC,WAAmB;QACnC,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,kBAAkB,WAAW,WAAW,CACzC,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,YAAY,CAChB,WAAmB,EACnB,IAAkD;QAElD,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,kBAAkB,WAAW,WAAW,EACxC,IAAI,CACL,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,WAAmB,EAAE,KAAa;QACnD,MAAM,IAAI,CAAC,OAAO,CAChB,QAAQ,EACR,kBAAkB,WAAW,aAAa,KAAK,EAAE,CAClD,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,KAAK,CAAC,WAAW,CAAC,WAAmB;QACnC,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,kBAAkB,WAAW,UAAU,CACxC,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,SAAS,CACb,WAAmB,EACnB,IAAiD;QAEjD,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,kBAAkB,WAAW,UAAU,EACvC,IAAI,CACL,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,gBAAgB,CACpB,WAAmB,EACnB,MAAc,EACd,IAAmB;QAEnB,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,kBAAkB,WAAW,YAAY,MAAM,EAAE,EACjD,EAAE,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,WAAmB,EAAE,MAAc;QACpD,MAAM,IAAI,CAAC,OAAO,CAChB,QAAQ,EACR,kBAAkB,WAAW,YAAY,MAAM,EAAE,CAClD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAmB;QACvC,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,kBAAkB,WAAW,cAAc,CAC5C,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,gBAAgB,CACpB,WAAmB,EACnB,IAA0B;QAE1B,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,kBAAkB,WAAW,cAAc,EAC3C,IAAI,CACL,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,iBAAiB,CACrB,WAAmB,EACnB,YAAoB,EACpB,OAAe;QAEf,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,kBAAkB,WAAW,gBAAgB,YAAY,IAAI,OAAO,UAAU,CAC/E,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,KAAK,CAAC,gBAAgB,CACpB,WAAmB,EACnB,IAKC;QAED,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,kBAAkB,WAAW,qBAAqB,EAClD,IAAI,CACL,CAAC;IACJ,CAAC;IACD;;;;;;OAMG;IACH,KAAK,CAAC,uBAAuB,CAC3B,WAAmB,EACnB,IAA6D;QAE7D,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,kBAAkB,WAAW,qBAAqB,EAClD,IAAI,CACL,CAAC;IACJ,CAAC;IACD;;;;OAIG;IACH,KAAK,CAAC,aAAa,CACjB,WAAmB,EACnB,OAAe;QAEf,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,kBAAkB,WAAW,iCAAiC,EAC9D,EAAE,QAAQ,EAAE,OAAO,EAAE,CACtB,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,WAAmB;QACvC,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,kBAAkB,WAAW,yBAAyB,CACvD,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,WAAmB;QACnC,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,kBAAkB,WAAW,qBAAqB,CACnD,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,WAAmB;QACtC,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,kBAAkB,WAAW,4BAA4B,CAC1D,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,WAAmB;QACtC,MAAM,IAAI,CAAC,OAAO,CAChB,QAAQ,EACR,kBAAkB,WAAW,qBAAqB,CACnD,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,mBAAmB,CACvB,WAAmB,EACnB,IAAgC;QAEhC,OAAO,IAAI,CAAC,OAAO,CACjB,MAAM,EACN,kBAAkB,WAAW,gBAAgB,EAC7C,IAAI,CACL,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,WAAW,CACf,WAAmB,EACnB,SAMI,EAAE;QAEN,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,WAAW;YAAE,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAClE,IAAI,MAAM,CAAC,MAAM;YAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,KAAK;YAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;YAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/E,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;YAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,kBAAkB,WAAW,qBAAqB,MAAM,EAAE,CAC3D,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,MAAyC,EACzC,IAAY,EACZ,IAAc;QAEd,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;QACpC,MAAM,YAAY,GAAG,MAAM,KAAK,KAAK,CAAC;QACtC,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;YACrD,MAAM,OAAO,GAA2B;gBACtC,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;gBACtC,YAAY,EAAE,UAAU;aACzB,CAAC;YACF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;YAC/C,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC5B,MAAM;gBACN,OAAO;gBACP,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC3D,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;aAC5C,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1C,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBACZ,OAAO,IAAS,CAAC;YACnB,CAAC;YACD,MAAM,MAAM,GACV,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,QAAQ,IAAI,IAAI;gBAClD,CAAC,CAAC,MAAM,CAAE,IAA4B,CAAC,MAAM,CAAC;gBAC9C,CAAC,CAAC,IAAI,IAAI,eAAe,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,YAAY,IAAI,OAAO,GAAG,QAAQ,EAAE,CAAC;gBAC7D,MAAM,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC/B,SAAS;YACX,CAAC;YACD,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;CACF;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AACzD,CAAC;AACD,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC"}
|
package/dist/server.js
CHANGED
|
@@ -33,6 +33,8 @@ import { inviteMemberHandler, inviteMemberInputSchema, } from "./tools/invite_me
|
|
|
33
33
|
import { changeMemberRoleHandler, changeMemberRoleInputSchema, } from "./tools/change_member_role.js";
|
|
34
34
|
import { removeMemberHandler, removeMemberInputSchema, } from "./tools/remove_member.js";
|
|
35
35
|
import { registerByoBucketHandler, registerByoBucketInputSchema, } from "./tools/register_byo_bucket.js";
|
|
36
|
+
import { setupByoStorageHandler, setupByoStorageInputSchema, } from "./tools/setup_byo_storage.js";
|
|
37
|
+
import { attachByoRoleHandler, attachByoRoleInputSchema, } from "./tools/attach_byo_role.js";
|
|
36
38
|
import { checkByoBucketHandler, checkByoBucketInputSchema, } from "./tools/check_byo_bucket.js";
|
|
37
39
|
import { registerByoArtifactHandler, registerByoArtifactInputSchema, } from "./tools/register_byo_artifact.js";
|
|
38
40
|
import { disconnectByoBucketHandler, disconnectByoBucketInputSchema, } from "./tools/disconnect_byo_bucket.js";
|
|
@@ -259,14 +261,39 @@ const TOOLS = [
|
|
|
259
261
|
schema: removeMemberInputSchema,
|
|
260
262
|
handler: removeMemberHandler,
|
|
261
263
|
},
|
|
264
|
+
{
|
|
265
|
+
name: "edgegate_setup_byo_storage",
|
|
266
|
+
description: "Enterprise only. Zero-friction BYO storage setup — creates a pending grant " +
|
|
267
|
+
"with EdgeGate (returns the External ID) and returns the exact AWS CLI " +
|
|
268
|
+
"commands the agent should run to create the IAM role in the customer's " +
|
|
269
|
+
"AWS account. Pair with edgegate_attach_byo_role to finalize. Prefer this " +
|
|
270
|
+
"over edgegate_register_byo_bucket for new setups — the agent doesn't have " +
|
|
271
|
+
"to figure out the trust policy or guess at role names. Requires owner role. " +
|
|
272
|
+
"402 from non-Enterprise workspaces; if a non-pending grant exists, instructs " +
|
|
273
|
+
"the agent to disconnect first.",
|
|
274
|
+
schema: setupByoStorageInputSchema,
|
|
275
|
+
handler: setupByoStorageHandler,
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
name: "edgegate_attach_byo_role",
|
|
279
|
+
description: "Phase 2 of edgegate_setup_byo_storage. Hands the freshly-created Role ARN " +
|
|
280
|
+
"back to EdgeGate, which runs sts:AssumeRole + a deny-by-default HEAD " +
|
|
281
|
+
"probe to verify the trust + permission policies are correct. Flips the " +
|
|
282
|
+
"grant to 'active' on success, or returns a typed BYO_* error with a " +
|
|
283
|
+
"checklist of common misconfigurations on failure. Re-callable with the " +
|
|
284
|
+
"same role_arn after fixing IAM.",
|
|
285
|
+
schema: attachByoRoleInputSchema,
|
|
286
|
+
handler: attachByoRoleHandler,
|
|
287
|
+
},
|
|
262
288
|
{
|
|
263
289
|
name: "edgegate_register_byo_bucket",
|
|
264
|
-
description: "Enterprise only.
|
|
265
|
-
"
|
|
266
|
-
"
|
|
267
|
-
"
|
|
268
|
-
"
|
|
269
|
-
"
|
|
290
|
+
description: "Enterprise only. **Use edgegate_setup_byo_storage instead for new setups** — " +
|
|
291
|
+
"this tool only works if you already have an IAM role and just want to register " +
|
|
292
|
+
"its ARN. Registers the workspace's customer-owned S3 bucket + IAM role as a BYO " +
|
|
293
|
+
"storage grant. EdgeGate's workers will AssumeRole into your AWS account to read " +
|
|
294
|
+
"model bytes — they never leave your account. Returns the External ID you must " +
|
|
295
|
+
"add to your role's trust policy. Requires owner role. 402 from non-Enterprise " +
|
|
296
|
+
"workspaces; 409 if a grant already exists.",
|
|
270
297
|
schema: registerByoBucketInputSchema,
|
|
271
298
|
handler: registerByoBucketHandler,
|
|
272
299
|
},
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* edgegate_attach_byo_role — Phase 2 of edgegate_setup_byo_storage.
|
|
3
|
+
*
|
|
4
|
+
* Pairs with `edgegate_setup_byo_storage`: that tool creates a pending
|
|
5
|
+
* grant and returns AWS CLI commands the agent runs to create the IAM
|
|
6
|
+
* role. This tool takes the resulting Role ARN, hands it to EdgeGate,
|
|
7
|
+
* and surfaces the readiness-probe outcome.
|
|
8
|
+
*
|
|
9
|
+
* Why a separate tool: keeps each tool's responsibility small and lets
|
|
10
|
+
* the agent recover from probe failures by re-running just this tool
|
|
11
|
+
* after fixing the IAM config (instead of re-creating the grant from
|
|
12
|
+
* scratch).
|
|
13
|
+
*/
|
|
14
|
+
import { z } from "zod";
|
|
15
|
+
import { EdgeGateClient } from "../client.js";
|
|
16
|
+
import type { ToolResult } from "./setup_workspace.js";
|
|
17
|
+
export declare const attachByoRoleInputSchema: z.ZodObject<{
|
|
18
|
+
workspace_id: z.ZodString;
|
|
19
|
+
role_arn: z.ZodString;
|
|
20
|
+
}, "strip", z.ZodTypeAny, {
|
|
21
|
+
workspace_id: string;
|
|
22
|
+
role_arn: string;
|
|
23
|
+
}, {
|
|
24
|
+
workspace_id: string;
|
|
25
|
+
role_arn: string;
|
|
26
|
+
}>;
|
|
27
|
+
export type AttachByoRoleInput = z.infer<typeof attachByoRoleInputSchema>;
|
|
28
|
+
export declare function attachByoRoleHandler(client: EdgeGateClient, input: AttachByoRoleInput): Promise<ToolResult>;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* edgegate_attach_byo_role — Phase 2 of edgegate_setup_byo_storage.
|
|
3
|
+
*
|
|
4
|
+
* Pairs with `edgegate_setup_byo_storage`: that tool creates a pending
|
|
5
|
+
* grant and returns AWS CLI commands the agent runs to create the IAM
|
|
6
|
+
* role. This tool takes the resulting Role ARN, hands it to EdgeGate,
|
|
7
|
+
* and surfaces the readiness-probe outcome.
|
|
8
|
+
*
|
|
9
|
+
* Why a separate tool: keeps each tool's responsibility small and lets
|
|
10
|
+
* the agent recover from probe failures by re-running just this tool
|
|
11
|
+
* after fixing the IAM config (instead of re-creating the grant from
|
|
12
|
+
* scratch).
|
|
13
|
+
*/
|
|
14
|
+
import { z } from "zod";
|
|
15
|
+
import { EdgeGateError } from "../client.js";
|
|
16
|
+
export const attachByoRoleInputSchema = z.object({
|
|
17
|
+
workspace_id: z.string().uuid(),
|
|
18
|
+
role_arn: z
|
|
19
|
+
.string()
|
|
20
|
+
.regex(/^arn:aws:iam::\d{12}:role\/.+$/)
|
|
21
|
+
.describe("ARN of the IAM role created in step 3 of edgegate_setup_byo_storage. " +
|
|
22
|
+
"Format: arn:aws:iam::<account-id>:role/<name>. EdgeGate will sts:AssumeRole " +
|
|
23
|
+
"this immediately to verify the trust + permission policies are correct."),
|
|
24
|
+
});
|
|
25
|
+
export async function attachByoRoleHandler(client, input) {
|
|
26
|
+
try {
|
|
27
|
+
const grant = await client.attachByoRole(input.workspace_id, input.role_arn);
|
|
28
|
+
return resultText(grant);
|
|
29
|
+
}
|
|
30
|
+
catch (err) {
|
|
31
|
+
if (err instanceof EdgeGateError) {
|
|
32
|
+
if (err.status === 404) {
|
|
33
|
+
return errorText("No pending BYO grant for this workspace. Call edgegate_setup_byo_storage first to create one.");
|
|
34
|
+
}
|
|
35
|
+
if (err.status === 409) {
|
|
36
|
+
return errorText(`Grant cannot accept a role right now: ${err.detail}. If the grant is already active, no further action is needed. If it's revoked, disconnect first.`);
|
|
37
|
+
}
|
|
38
|
+
return errorText(`EdgeGate returned ${err.status}: ${err.detail}`);
|
|
39
|
+
}
|
|
40
|
+
throw err;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function resultText(grant) {
|
|
44
|
+
if (grant.status === "active") {
|
|
45
|
+
return {
|
|
46
|
+
content: [
|
|
47
|
+
{
|
|
48
|
+
type: "text",
|
|
49
|
+
text: [
|
|
50
|
+
`BYO storage **active** for bucket \`s3://${grant.bucket}\`.`,
|
|
51
|
+
``,
|
|
52
|
+
`- role: \`${grant.role_arn}\``,
|
|
53
|
+
`- external_id: \`${grant.external_id}\``,
|
|
54
|
+
grant.kms_key_id ? `- kms key: \`${grant.kms_key_id}\`` : `- kms key: (none)`,
|
|
55
|
+
`- verified: \`${grant.last_verified_at ?? "just now"}\``,
|
|
56
|
+
``,
|
|
57
|
+
`Pipelines can now reference s3:// URIs in this bucket via \`edgegate_register_byo_artifact\`.`,
|
|
58
|
+
].join("\n"),
|
|
59
|
+
},
|
|
60
|
+
],
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
// status='failed' is recoverable — role_arn is persisted, customer can fix
|
|
64
|
+
// IAM and re-call this tool to retry the probe.
|
|
65
|
+
return {
|
|
66
|
+
isError: true,
|
|
67
|
+
content: [
|
|
68
|
+
{
|
|
69
|
+
type: "text",
|
|
70
|
+
text: [
|
|
71
|
+
`BYO storage readiness probe **failed**.`,
|
|
72
|
+
``,
|
|
73
|
+
`- role: \`${grant.role_arn ?? "(not attached)"}\``,
|
|
74
|
+
`- last error: \`${grant.last_verify_error ?? "unknown"}\``,
|
|
75
|
+
``,
|
|
76
|
+
`Common causes:`,
|
|
77
|
+
`- Trust policy is missing the External ID Condition or has the wrong value.`,
|
|
78
|
+
`- Permission policy doesn't grant s3:GetObject + s3:HeadObject on \`arn:aws:s3:::${grant.bucket}/*\`.`,
|
|
79
|
+
grant.kms_key_id
|
|
80
|
+
? `- Missing kms:Decrypt grant on \`${grant.kms_key_id}\`.`
|
|
81
|
+
: `- Bucket is encrypted but no kms_key_id was provided to edgegate_setup_byo_storage.`,
|
|
82
|
+
`- IAM eventual consistency — wait 10s and re-call this tool with the same role_arn.`,
|
|
83
|
+
``,
|
|
84
|
+
`Re-call this tool with the same role_arn after fixing the underlying issue.`,
|
|
85
|
+
].join("\n"),
|
|
86
|
+
},
|
|
87
|
+
],
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
function errorText(message) {
|
|
91
|
+
return {
|
|
92
|
+
isError: true,
|
|
93
|
+
content: [{ type: "text", text: message }],
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=attach_byo_role.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attach_byo_role.js","sourceRoot":"","sources":["../../src/tools/attach_byo_role.ts"],"names":[],"mappings":"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"}
|
|
@@ -115,7 +115,12 @@ function successText(grant) {
|
|
|
115
115
|
text: [
|
|
116
116
|
`Registered BYO storage grant for this workspace.`,
|
|
117
117
|
``,
|
|
118
|
-
|
|
118
|
+
// role_arn can be null on pending_role grants, but the
|
|
119
|
+
// register_byo_bucket tool requires role_arn in its input — so
|
|
120
|
+
// a successful response from this tool's endpoint always has a
|
|
121
|
+
// populated role_arn. Fall through to a safe default so the
|
|
122
|
+
// type system is satisfied for the null-tolerant ByoGrant shape.
|
|
123
|
+
`- role: \`${roleArnTail(grant.role_arn ?? "(not attached)")}\``,
|
|
119
124
|
`- bucket: \`${grant.bucket}\` (${grant.region})`,
|
|
120
125
|
grant.kms_key_id
|
|
121
126
|
? `- kms key: \`${grant.kms_key_id}\``
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register_byo_bucket.js","sourceRoot":"","sources":["../../src/tools/register_byo_bucket.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"register_byo_bucket.js","sourceRoot":"","sources":["../../src/tools/register_byo_bucket.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* edgegate_setup_byo_storage — zero-friction BYO setup orchestrator.
|
|
3
|
+
*
|
|
4
|
+
* Why this tool exists: the dashboard wizard's CloudFormation deep link
|
|
5
|
+
* silently fails when the template isn't S3-hosted (an AWS console
|
|
6
|
+
* limitation), and the Guided Steps walkthrough still asks the customer to
|
|
7
|
+
* click through the IAM console. An MCP-aware agent with shell access can
|
|
8
|
+
* do the entire flow autonomously — this tool registers a pending grant
|
|
9
|
+
* with EdgeGate (so the agent has the right External ID + EdgeGate
|
|
10
|
+
* principal ARN), then returns the exact AWS CLI commands the agent should
|
|
11
|
+
* run to create the role, plus a follow-up instruction to call
|
|
12
|
+
* edgegate_attach_byo_role with the resulting ARN.
|
|
13
|
+
*
|
|
14
|
+
* Design choice: we return INSTRUCTIONS rather than executing AWS calls
|
|
15
|
+
* from inside the MCP server. Two reasons:
|
|
16
|
+
* 1. Transparency — the user sees every AWS command the agent runs;
|
|
17
|
+
* they can intervene if something looks off.
|
|
18
|
+
* 2. Footprint — the MCP package stays small (no aws-sdk dependency).
|
|
19
|
+
* The user's local AWS CLI is already configured; we use it.
|
|
20
|
+
*/
|
|
21
|
+
import { z } from "zod";
|
|
22
|
+
import { EdgeGateClient } from "../client.js";
|
|
23
|
+
import type { ToolResult } from "./setup_workspace.js";
|
|
24
|
+
export declare const setupByoStorageInputSchema: z.ZodObject<{
|
|
25
|
+
workspace_id: z.ZodString;
|
|
26
|
+
bucket: z.ZodString;
|
|
27
|
+
region: z.ZodString;
|
|
28
|
+
kms_key_id: z.ZodOptional<z.ZodString>;
|
|
29
|
+
role_name_override: z.ZodOptional<z.ZodString>;
|
|
30
|
+
}, "strip", z.ZodTypeAny, {
|
|
31
|
+
workspace_id: string;
|
|
32
|
+
bucket: string;
|
|
33
|
+
region: string;
|
|
34
|
+
kms_key_id?: string | undefined;
|
|
35
|
+
role_name_override?: string | undefined;
|
|
36
|
+
}, {
|
|
37
|
+
workspace_id: string;
|
|
38
|
+
bucket: string;
|
|
39
|
+
region: string;
|
|
40
|
+
kms_key_id?: string | undefined;
|
|
41
|
+
role_name_override?: string | undefined;
|
|
42
|
+
}>;
|
|
43
|
+
export type SetupByoStorageInput = z.infer<typeof setupByoStorageInputSchema>;
|
|
44
|
+
export declare function setupByoStorageHandler(client: EdgeGateClient, input: SetupByoStorageInput): Promise<ToolResult>;
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* edgegate_setup_byo_storage — zero-friction BYO setup orchestrator.
|
|
3
|
+
*
|
|
4
|
+
* Why this tool exists: the dashboard wizard's CloudFormation deep link
|
|
5
|
+
* silently fails when the template isn't S3-hosted (an AWS console
|
|
6
|
+
* limitation), and the Guided Steps walkthrough still asks the customer to
|
|
7
|
+
* click through the IAM console. An MCP-aware agent with shell access can
|
|
8
|
+
* do the entire flow autonomously — this tool registers a pending grant
|
|
9
|
+
* with EdgeGate (so the agent has the right External ID + EdgeGate
|
|
10
|
+
* principal ARN), then returns the exact AWS CLI commands the agent should
|
|
11
|
+
* run to create the role, plus a follow-up instruction to call
|
|
12
|
+
* edgegate_attach_byo_role with the resulting ARN.
|
|
13
|
+
*
|
|
14
|
+
* Design choice: we return INSTRUCTIONS rather than executing AWS calls
|
|
15
|
+
* from inside the MCP server. Two reasons:
|
|
16
|
+
* 1. Transparency — the user sees every AWS command the agent runs;
|
|
17
|
+
* they can intervene if something looks off.
|
|
18
|
+
* 2. Footprint — the MCP package stays small (no aws-sdk dependency).
|
|
19
|
+
* The user's local AWS CLI is already configured; we use it.
|
|
20
|
+
*/
|
|
21
|
+
import { z } from "zod";
|
|
22
|
+
import { EdgeGateError } from "../client.js";
|
|
23
|
+
export const setupByoStorageInputSchema = z.object({
|
|
24
|
+
workspace_id: z
|
|
25
|
+
.string()
|
|
26
|
+
.uuid()
|
|
27
|
+
.describe("Workspace ID. Must be Enterprise-tier with BYO storage enabled."),
|
|
28
|
+
bucket: z
|
|
29
|
+
.string()
|
|
30
|
+
.min(3)
|
|
31
|
+
.max(255)
|
|
32
|
+
.regex(/^[a-z0-9][a-z0-9\-.]{1,253}$/)
|
|
33
|
+
.describe("S3 bucket name (not the URI) you want EdgeGate to read model bytes from."),
|
|
34
|
+
region: z
|
|
35
|
+
.string()
|
|
36
|
+
.min(4)
|
|
37
|
+
.max(64)
|
|
38
|
+
.describe("AWS region the bucket lives in, e.g. us-east-1."),
|
|
39
|
+
kms_key_id: z
|
|
40
|
+
.string()
|
|
41
|
+
.max(2048)
|
|
42
|
+
.optional()
|
|
43
|
+
.describe("Optional KMS key ARN if the bucket uses SSE-KMS with a customer-managed key. " +
|
|
44
|
+
"The IAM role will be granted kms:Decrypt on this key. " +
|
|
45
|
+
"Leave unset for SSE-S3 or SSE-KMS with the AWS-managed key."),
|
|
46
|
+
role_name_override: z
|
|
47
|
+
.string()
|
|
48
|
+
.max(64)
|
|
49
|
+
.optional()
|
|
50
|
+
.describe("Optional override for the IAM role name. Default mirrors the CloudFormation " +
|
|
51
|
+
"path: edgegate-byo-read-<first-8-chars-of-external-id>."),
|
|
52
|
+
});
|
|
53
|
+
export async function setupByoStorageHandler(client, input) {
|
|
54
|
+
try {
|
|
55
|
+
// 1. Fetch the EdgeGate principal ARN — fail loudly if the deployment
|
|
56
|
+
// isn't configured. Templates would contain placeholder strings
|
|
57
|
+
// that AWS would reject, so it's better to surface the operator-side
|
|
58
|
+
// misconfiguration here than create a broken role.
|
|
59
|
+
const setupInfo = await client.getByoSetupInfo(input.workspace_id);
|
|
60
|
+
if (setupInfo.edgegate_aws_account_id.includes("<")) {
|
|
61
|
+
return errorText("This EdgeGate deployment isn't fully configured for BYO storage — " +
|
|
62
|
+
"BYO_EDGEGATE_AWS_ACCOUNT_ID is missing on the operator side. Setup " +
|
|
63
|
+
"cannot proceed until the EdgeGate operator sets that env var. " +
|
|
64
|
+
"Contact support@edgegate.ai.");
|
|
65
|
+
}
|
|
66
|
+
// 2. Register the pending grant (no role_arn yet). If a grant already
|
|
67
|
+
// exists in pending_role, re-use it; in active/failed, instruct the
|
|
68
|
+
// customer to disconnect first (we don't auto-rotate).
|
|
69
|
+
let grant;
|
|
70
|
+
try {
|
|
71
|
+
grant = await client.registerByoPendingGrant(input.workspace_id, {
|
|
72
|
+
bucket: input.bucket,
|
|
73
|
+
region: input.region,
|
|
74
|
+
kms_key_id: input.kms_key_id,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
catch (err) {
|
|
78
|
+
if (err instanceof EdgeGateError && err.status === 409) {
|
|
79
|
+
// The 409 path: either a pending_role grant exists (which we re-use
|
|
80
|
+
// by GET-ing it), or an active/failed grant exists (which the
|
|
81
|
+
// customer must explicitly disconnect first). The GET tells us which.
|
|
82
|
+
const existing = await client.getByoGrant(input.workspace_id);
|
|
83
|
+
if (existing.status === "pending_role") {
|
|
84
|
+
grant = existing;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
return errorText(`This workspace already has a BYO grant in status "${existing.status}". ` +
|
|
88
|
+
`Setup is for new grants. Two safe paths:\n` +
|
|
89
|
+
`1. If the existing grant is the one you want, call edgegate_check_byo_bucket to re-verify it.\n` +
|
|
90
|
+
`2. If you want to replace it, call edgegate_disconnect_byo_bucket first (will 409 if artifacts still reference it), then re-run this tool.`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
else if (err instanceof EdgeGateError && err.status === 402) {
|
|
94
|
+
return errorText("BYO storage requires the Enterprise plan. Reach out to " +
|
|
95
|
+
"sales@edgegate.ai to enable it on this workspace.");
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
throw err;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
// 3. Render the trust + permission policies. We mirror the backend
|
|
102
|
+
// templates locally instead of using the server-rendered strings
|
|
103
|
+
// (which still have placeholders) so the agent gets ready-to-paste
|
|
104
|
+
// JSON.
|
|
105
|
+
const principalMatch = /^arn:aws:iam::(\d{12}):(user|role)\/(.+)$/.exec(setupInfo.edgegate_principal_arn);
|
|
106
|
+
if (!principalMatch) {
|
|
107
|
+
return errorText(`EdgeGate returned an unexpected principal ARN: ${setupInfo.edgegate_principal_arn}. ` +
|
|
108
|
+
`This usually means an operator-side misconfiguration. Contact support.`);
|
|
109
|
+
}
|
|
110
|
+
const trustPolicy = renderTrustPolicy({
|
|
111
|
+
principalArn: setupInfo.edgegate_principal_arn,
|
|
112
|
+
externalId: grant.external_id,
|
|
113
|
+
});
|
|
114
|
+
const permissionPolicy = renderPermissionPolicy({
|
|
115
|
+
bucket: input.bucket,
|
|
116
|
+
kmsKeyArn: input.kms_key_id,
|
|
117
|
+
});
|
|
118
|
+
const roleName = input.role_name_override ??
|
|
119
|
+
`edgegate-byo-read-${grant.external_id.slice(0, 8)}`;
|
|
120
|
+
return successText({
|
|
121
|
+
grant,
|
|
122
|
+
setupInfo,
|
|
123
|
+
roleName,
|
|
124
|
+
trustPolicy: JSON.stringify(trustPolicy, null, 2),
|
|
125
|
+
permissionPolicy: JSON.stringify(permissionPolicy, null, 2),
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
catch (err) {
|
|
129
|
+
if (err instanceof EdgeGateError) {
|
|
130
|
+
return errorText(`EdgeGate returned ${err.status}: ${err.detail}`);
|
|
131
|
+
}
|
|
132
|
+
throw err;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
function successText(args) {
|
|
136
|
+
// We embed the shell commands as fenced blocks so the agent can lift them
|
|
137
|
+
// verbatim into its Bash tool. Naming the trust/perm files under /tmp/ is
|
|
138
|
+
// intentional — they contain no secrets and are convenient to inspect if
|
|
139
|
+
// the customer wants to verify before running. The grant's External ID is
|
|
140
|
+
// already in the trust policy JSON; no separate secret-handling needed.
|
|
141
|
+
const { grant, roleName, trustPolicy, permissionPolicy } = args;
|
|
142
|
+
const trustFile = `/tmp/edgegate-trust-${grant.external_id.slice(0, 8)}.json`;
|
|
143
|
+
const permFile = `/tmp/edgegate-perm-${grant.external_id.slice(0, 8)}.json`;
|
|
144
|
+
return {
|
|
145
|
+
content: [
|
|
146
|
+
{
|
|
147
|
+
type: "text",
|
|
148
|
+
text: [
|
|
149
|
+
`Pending BYO grant created. Now run these commands to create the IAM role in the customer's AWS account, then call \`edgegate_attach_byo_role\` with the resulting ARN.`,
|
|
150
|
+
``,
|
|
151
|
+
`**Grant details (for the customer's confirmation):**`,
|
|
152
|
+
`- workspace: \`${grant.workspace_id}\``,
|
|
153
|
+
`- bucket: \`s3://${grant.bucket}\` (${grant.region})`,
|
|
154
|
+
grant.kms_key_id ? `- kms key: \`${grant.kms_key_id}\`` : `- kms key: (none)`,
|
|
155
|
+
`- external_id: \`${grant.external_id}\` (baked into the trust policy below)`,
|
|
156
|
+
`- suggested role name: \`${roleName}\``,
|
|
157
|
+
``,
|
|
158
|
+
`**Step 1 — verify AWS credentials and account:**`,
|
|
159
|
+
"```bash",
|
|
160
|
+
`aws sts get-caller-identity`,
|
|
161
|
+
"```",
|
|
162
|
+
``,
|
|
163
|
+
`**Step 2 — write the policy documents to /tmp:**`,
|
|
164
|
+
"```bash",
|
|
165
|
+
`cat > ${trustFile} <<'JSON'`,
|
|
166
|
+
trustPolicy,
|
|
167
|
+
`JSON`,
|
|
168
|
+
``,
|
|
169
|
+
`cat > ${permFile} <<'JSON'`,
|
|
170
|
+
permissionPolicy,
|
|
171
|
+
`JSON`,
|
|
172
|
+
"```",
|
|
173
|
+
``,
|
|
174
|
+
`**Step 3 — create the role and attach the inline policy:**`,
|
|
175
|
+
"```bash",
|
|
176
|
+
`aws iam create-role \\`,
|
|
177
|
+
` --role-name ${roleName} \\`,
|
|
178
|
+
` --assume-role-policy-document file://${trustFile} \\`,
|
|
179
|
+
` --description "Allows EdgeGate read access to s3://${grant.bucket}" \\`,
|
|
180
|
+
` --tags Key=edgegate:workspace_id,Value=${grant.workspace_id} \\`,
|
|
181
|
+
` Key=edgegate:external_id,Value=${grant.external_id} \\`,
|
|
182
|
+
` Key=edgegate:bucket,Value=${grant.bucket}`,
|
|
183
|
+
``,
|
|
184
|
+
`aws iam put-role-policy \\`,
|
|
185
|
+
` --role-name ${roleName} \\`,
|
|
186
|
+
` --policy-name EdgeGateReadModels \\`,
|
|
187
|
+
` --policy-document file://${permFile}`,
|
|
188
|
+
``,
|
|
189
|
+
`# Capture the ARN for the next step:`,
|
|
190
|
+
`aws iam get-role --role-name ${roleName} --query 'Role.Arn' --output text`,
|
|
191
|
+
"```",
|
|
192
|
+
``,
|
|
193
|
+
`**Step 4 — finalize with EdgeGate:**`,
|
|
194
|
+
``,
|
|
195
|
+
`Take the Role ARN from Step 3 and call:`,
|
|
196
|
+
``,
|
|
197
|
+
"```",
|
|
198
|
+
`edgegate_attach_byo_role(workspace_id="${grant.workspace_id}", role_arn="<paste-arn-here>")`,
|
|
199
|
+
"```",
|
|
200
|
+
``,
|
|
201
|
+
`EdgeGate will run its readiness probe (sts:AssumeRole + a deny-by-default HEAD) and flip the grant to "active" on success, or "failed" with a typed error code if the role doesn't have the right trust/permission policy.`,
|
|
202
|
+
``,
|
|
203
|
+
`**If Step 3 fails because the role already exists** (e.g. a previous run partially succeeded): the existing role's ARN is what you want — fetch it with the same \`aws iam get-role\` command and proceed to Step 4.`,
|
|
204
|
+
].join("\n"),
|
|
205
|
+
},
|
|
206
|
+
],
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
function errorText(message) {
|
|
210
|
+
return {
|
|
211
|
+
isError: true,
|
|
212
|
+
content: [{ type: "text", text: message }],
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
function renderTrustPolicy(args) {
|
|
216
|
+
return {
|
|
217
|
+
Version: "2012-10-17",
|
|
218
|
+
Statement: [
|
|
219
|
+
{
|
|
220
|
+
Effect: "Allow",
|
|
221
|
+
Principal: { AWS: args.principalArn },
|
|
222
|
+
Action: "sts:AssumeRole",
|
|
223
|
+
Condition: {
|
|
224
|
+
StringEquals: { "sts:ExternalId": args.externalId },
|
|
225
|
+
},
|
|
226
|
+
},
|
|
227
|
+
],
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
function renderPermissionPolicy(args) {
|
|
231
|
+
const statements = [
|
|
232
|
+
{
|
|
233
|
+
Effect: "Allow",
|
|
234
|
+
Action: ["s3:GetObject", "s3:HeadObject"],
|
|
235
|
+
Resource: `arn:aws:s3:::${args.bucket}/*`,
|
|
236
|
+
},
|
|
237
|
+
];
|
|
238
|
+
if (args.kmsKeyArn) {
|
|
239
|
+
statements.push({
|
|
240
|
+
Effect: "Allow",
|
|
241
|
+
Action: "kms:Decrypt",
|
|
242
|
+
Resource: args.kmsKeyArn,
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
return { Version: "2012-10-17", Statement: statements };
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=setup_byo_storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup_byo_storage.js","sourceRoot":"","sources":["../../src/tools/setup_byo_storage.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -298,17 +298,35 @@ export interface PromptPackCreateBody {
|
|
|
298
298
|
export interface ByoGrant {
|
|
299
299
|
id: UUID;
|
|
300
300
|
workspace_id: UUID;
|
|
301
|
-
role_arn: string;
|
|
301
|
+
role_arn: string | null;
|
|
302
302
|
external_id: UUID;
|
|
303
303
|
bucket: string;
|
|
304
304
|
region: string;
|
|
305
305
|
kms_key_id: string | null;
|
|
306
|
-
status: "active" | "revoked" | "failed";
|
|
306
|
+
status: "pending_role" | "active" | "revoked" | "failed";
|
|
307
307
|
last_verified_at: string | null;
|
|
308
308
|
last_verify_error: string | null;
|
|
309
309
|
created_at: string;
|
|
310
310
|
updated_at: string;
|
|
311
311
|
}
|
|
312
|
+
/**
|
|
313
|
+
* GET /v1/workspaces/{ws}/byo-storage/setup-info response. Surfaces
|
|
314
|
+
* EdgeGate's IAM principal so the orchestrator tool can render the trust
|
|
315
|
+
* policy with the right ARN before asking the agent to create the role.
|
|
316
|
+
*/
|
|
317
|
+
export interface ByoSetupInfo {
|
|
318
|
+
edgegate_aws_account_id: string;
|
|
319
|
+
edgegate_principal_arn: string;
|
|
320
|
+
docs_url: string;
|
|
321
|
+
trust_policy_template: string;
|
|
322
|
+
permission_policy_template: string;
|
|
323
|
+
permission_policy_with_kms_template: string;
|
|
324
|
+
cloudformation_template_url: string;
|
|
325
|
+
cloudformation_template_yaml: string;
|
|
326
|
+
terraform_template: string;
|
|
327
|
+
terraform_template_with_kms: string;
|
|
328
|
+
setup_info_warning: string | null;
|
|
329
|
+
}
|
|
312
330
|
/**
|
|
313
331
|
* Request body for POST /v1/workspaces/{ws}/artifacts/byo.
|
|
314
332
|
* Registers an existing S3 URI in the customer's grant-registered bucket
|