edgegate-mcp 0.9.0 → 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 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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAoC1C,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,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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
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. Register the workspace's customer-owned S3 bucket + IAM role " +
265
- "as a BYO storage grant. EdgeGate's workers will AssumeRole into your AWS " +
266
- "account to read model bytes they never leave your account. Returns the " +
267
- "External ID you must add to your role's trust policy. Requires owner role. " +
268
- "402 from non-Enterprise workspaces; 409 if a grant already exists (does NOT " +
269
- "auto-rotate disconnect + re-register or rotate via dashboard).",
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
  },
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC/F,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,gCAAgC,EAChC,oCAAoC,GACrC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAElC,MAAM,KAAK,GAAG;IACZ;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EACT,6EAA6E;YAC7E,mFAAmF;QACrF,MAAM,EAAE,yBAAyB;QACjC,OAAO,EAAE,qBAAqB;KAC/B;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EACT,qFAAqF;YACrF,0EAA0E;QAC5E,MAAM,EAAE,yBAAyB;QACjC,OAAO,EAAE,qBAAqB;KAC/B;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,iFAAiF;YACjF,wBAAwB;QAC1B,MAAM,EAAE,kBAAkB;QAC1B,OAAO,EAAE,cAAc;KACxB;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,8EAA8E;YAC9E,+BAA+B;QACjC,MAAM,EAAE,sBAAsB;QAC9B,OAAO,EAAE,kBAAkB;KAC5B;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,8EAA8E;QAC3F,MAAM,EAAE,oBAAoB;QAC5B,OAAO,EAAE,gBAAgB;KAC1B;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EACT,6EAA6E;YAC7E,qBAAqB;QACvB,MAAM,EAAE,yBAAyB;QACjC,OAAO,EAAE,qBAAqB;KAC/B;IACD;QACE,IAAI,EAAE,8BAA8B;QACpC,WAAW,EACT,kFAAkF;YAClF,wBAAwB;QAC1B,MAAM,EAAE,4BAA4B;QACpC,OAAO,EAAE,wBAAwB;KAClC;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,2FAA2F;YAC3F,gGAAgG;YAChG,wFAAwF;YACxF,oDAAoD;QACtD,MAAM,EAAE,sBAAsB;QAC9B,OAAO,EAAE,kBAAkB;KAC5B;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EACT,qFAAqF;YACrF,uEAAuE;YACvE,yEAAyE;QAC3E,MAAM,EAAE,0BAA0B;QAClC,OAAO,EAAE,sBAAsB;KAChC;IACD;QACE,IAAI,EAAE,mCAAmC;QACzC,WAAW,EACT,mFAAmF;YACnF,sFAAsF;YACtF,yFAAyF;YACzF,iFAAiF;QACnF,MAAM,EAAE,iCAAiC;QACzC,OAAO,EAAE,6BAA6B;KACvC;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EACT,+EAA+E;YAC/E,2EAA2E;YAC3E,oDAAoD;QACtD,MAAM,EAAE,0BAA0B;QAClC,OAAO,EAAE,sBAAsB;KAChC;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EACT,kFAAkF;YAClF,kFAAkF;YAClF,uFAAuF;YACvF,6BAA6B;QAC/B,MAAM,EAAE,2BAA2B;QACnC,OAAO,EAAE,uBAAuB;KACjC;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,WAAW,EACT,mFAAmF;YACnF,wEAAwE;YACxE,+EAA+E;YAC/E,oEAAoE;QACtE,MAAM,EAAE,4BAA4B;QACpC,OAAO,EAAE,wBAAwB;KAClC;IACD;QACE,IAAI,EAAE,8BAA8B;QACpC,WAAW,EACT,kFAAkF;YAClF,oFAAoF;YACpF,gFAAgF;YAChF,+EAA+E;YAC/E,kEAAkE;QACpE,MAAM,EAAE,6BAA6B;QACrC,OAAO,EAAE,yBAAyB;KACnC;IACD;QACE,IAAI,EAAE,sCAAsC;QAC5C,WAAW,EACT,gFAAgF;YAChF,gFAAgF;QAClF,MAAM,EAAE,oCAAoC;QAC5C,OAAO,EAAE,gCAAgC;KAC1C;IACD;QACE,IAAI,EAAE,iCAAiC;QACvC,WAAW,EACT,qFAAqF;YACrF,gDAAgD;QAClD,MAAM,EAAE,gCAAgC;QACxC,OAAO,EAAE,4BAA4B;KACtC;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EACT,8EAA8E;YAC9E,+EAA+E;YAC/E,2EAA2E;YAC3E,iFAAiF;YACjF,aAAa;QACf,MAAM,EAAE,wBAAwB;QAChC,OAAO,EAAE,oBAAoB;KAC9B;IACD;QACE,IAAI,EAAE,iCAAiC;QACvC,WAAW,EACT,0EAA0E;YAC1E,mEAAmE;QACrE,MAAM,EAAE,+BAA+B;QACvC,OAAO,EAAE,2BAA2B;KACrC;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,WAAW,EACT,mFAAmF;YACnF,mFAAmF;YACnF,iCAAiC;QACnC,MAAM,EAAE,2BAA2B;QACnC,OAAO,EAAE,uBAAuB;KACjC;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EACT,+EAA+E;YAC/E,iFAAiF;YACjF,gCAAgC;QAClC,MAAM,EAAE,0BAA0B;QAClC,OAAO,EAAE,sBAAsB;KAChC;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,sFAAsF;YACtF,mDAAmD;QACrD,MAAM,EAAE,sBAAsB;QAC9B,OAAO,EAAE,kBAAkB;KAC5B;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EACT,mFAAmF;YACnF,8EAA8E;YAC9E,kDAAkD;QACpD,MAAM,EAAE,uBAAuB;QAC/B,OAAO,EAAE,mBAAmB;KAC7B;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EACT,8EAA8E;YAC9E,oFAAoF;YACpF,mCAAmC;QACrC,MAAM,EAAE,uBAAuB;QAC/B,OAAO,EAAE,mBAAmB;KAC7B;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,gFAAgF;YAChF,cAAc;QAChB,MAAM,EAAE,sBAAsB;QAC9B,OAAO,EAAE,kBAAkB;KAC5B;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,4EAA4E;YAC5E,0EAA0E;YAC1E,wEAAwE;YACxE,2EAA2E;YAC3E,oBAAoB;QACtB,MAAM,EAAE,sBAAsB;QAC9B,OAAO,EAAE,kBAAkB;KAC5B;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,6EAA6E;YAC7E,4EAA4E;YAC5E,gFAAgF;YAChF,mBAAmB;QACrB,MAAM,EAAE,uBAAuB;QAC/B,OAAO,EAAE,mBAAmB;KAC7B;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,WAAW,EACT,8EAA8E;YAC9E,6DAA6D;QAC/D,MAAM,EAAE,2BAA2B;QACnC,OAAO,EAAE,uBAAuB;KACjC;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,gFAAgF;YAChF,+EAA+E;YAC/E,sBAAsB;QACxB,MAAM,EAAE,uBAAuB;QAC/B,OAAO,EAAE,mBAAmB;KAC7B;IACD;QACE,IAAI,EAAE,8BAA8B;QACpC,WAAW,EACT,gFAAgF;YAChF,2EAA2E;YAC3E,2EAA2E;YAC3E,6EAA6E;YAC7E,8EAA8E;YAC9E,kEAAkE;QACpE,MAAM,EAAE,4BAA4B;QACpC,OAAO,EAAE,wBAAwB;KAClC;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EACT,6EAA6E;YAC7E,8EAA8E;YAC9E,gFAAgF;YAChF,kCAAkC;QACpC,MAAM,EAAE,yBAAyB;QACjC,OAAO,EAAE,qBAAqB;KAC/B;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,WAAW,EACT,iFAAiF;YACjF,+EAA+E;YAC/E,+EAA+E;YAC/E,iFAAiF;YACjF,gFAAgF;QAClF,MAAM,EAAE,8BAA8B;QACtC,OAAO,EAAE,0BAA0B;KACpC;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,WAAW,EACT,8EAA8E;YAC9E,4EAA4E;YAC5E,8EAA8E;YAC9E,qDAAqD;QACvD,MAAM,EAAE,8BAA8B;QACtC,OAAO,EAAE,0BAA0B;KACpC;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EACT,6EAA6E;YAC7E,gFAAgF;YAChF,4EAA4E;YAC5E,kFAAkF;QACpF,MAAM,EAAE,sBAAsB;QAC9B,OAAO,EAAE,kBAAkB;KAC5B;CACO,CAAC;AAEX,SAAS,SAAS;IAChB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,8BAA8B,CAAC;IAC9E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,4EAA4E;YAC1E,oEAAoE,CACvE,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,EAC1C,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;IAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,MAAM,CAA4B;SAClE,CAAC,CAAC;KACJ,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;aACtE,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE;iBACtF;aACF,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,8DAA8D;QAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,IAAW,CAAQ,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,gBAAgB,OAAO,qBAAqB,CAAC,CAAC;AAC9D,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
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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"}
@@ -11,17 +11,17 @@ export declare const createPipelineInputSchema: z.ZodObject<{
11
11
  /** Device names to include. E.g. ["Samsung Galaxy S24 (Family)"] */
12
12
  devices: z.ZodArray<z.ZodString, "many">;
13
13
  gates: z.ZodArray<z.ZodObject<{
14
- metric: z.ZodEnum<["inference_time_ms", "peak_memory_mb", "throughput_tps"]>;
14
+ metric: z.ZodEnum<["inference_time_ms", "peak_memory_mb", "npu_compute_percent", "gpu_compute_percent", "cpu_compute_percent", "ttft_ms", "tps"]>;
15
15
  operator: z.ZodEnum<["<=", "<", ">=", ">", "=="]>;
16
16
  threshold: z.ZodNumber;
17
17
  description: z.ZodOptional<z.ZodString>;
18
18
  }, "strip", z.ZodTypeAny, {
19
- metric: "inference_time_ms" | "peak_memory_mb" | "throughput_tps";
19
+ metric: "inference_time_ms" | "peak_memory_mb" | "npu_compute_percent" | "gpu_compute_percent" | "cpu_compute_percent" | "ttft_ms" | "tps";
20
20
  operator: "<=" | "<" | ">=" | ">" | "==";
21
21
  threshold: number;
22
22
  description?: string | undefined;
23
23
  }, {
24
- metric: "inference_time_ms" | "peak_memory_mb" | "throughput_tps";
24
+ metric: "inference_time_ms" | "peak_memory_mb" | "npu_compute_percent" | "gpu_compute_percent" | "cpu_compute_percent" | "ttft_ms" | "tps";
25
25
  operator: "<=" | "<" | ">=" | ">" | "==";
26
26
  threshold: number;
27
27
  description?: string | undefined;
@@ -71,7 +71,7 @@ export declare const createPipelineInputSchema: z.ZodObject<{
71
71
  promptpack_version: string;
72
72
  devices: string[];
73
73
  gates: {
74
- metric: "inference_time_ms" | "peak_memory_mb" | "throughput_tps";
74
+ metric: "inference_time_ms" | "peak_memory_mb" | "npu_compute_percent" | "gpu_compute_percent" | "cpu_compute_percent" | "ttft_ms" | "tps";
75
75
  operator: "<=" | "<" | ">=" | ">" | "==";
76
76
  threshold: number;
77
77
  description?: string | undefined;
@@ -91,7 +91,7 @@ export declare const createPipelineInputSchema: z.ZodObject<{
91
91
  promptpack_id: string;
92
92
  devices: string[];
93
93
  gates: {
94
- metric: "inference_time_ms" | "peak_memory_mb" | "throughput_tps";
94
+ metric: "inference_time_ms" | "peak_memory_mb" | "npu_compute_percent" | "gpu_compute_percent" | "cpu_compute_percent" | "ttft_ms" | "tps";
95
95
  operator: "<=" | "<" | ">=" | ">" | "==";
96
96
  threshold: number;
97
97
  description?: string | undefined;
@@ -20,7 +20,22 @@ export const createPipelineInputSchema = z.object({
20
20
  devices: z.array(z.string().min(1)).min(1).max(5),
21
21
  gates: z
22
22
  .array(z.object({
23
- metric: z.enum(["inference_time_ms", "peak_memory_mb", "throughput_tps"]),
23
+ metric: z.enum([
24
+ // Stable — populated for every model AI Hub profiles successfully.
25
+ "inference_time_ms",
26
+ "peak_memory_mb",
27
+ // Compute-unit breakdown — fires when AI Hub returns the per-IP
28
+ // split. npu_compute_percent is the killer gate for "did silent
29
+ // fallback to GPU/CPU happen?" — that's the EdgeGate value prop.
30
+ "npu_compute_percent",
31
+ "gpu_compute_percent",
32
+ "cpu_compute_percent",
33
+ // LLM-only — resolve to "Metric not available" on vision/audio
34
+ // models. Backend names them `ttft_ms` and `tps` (NOT the legacy
35
+ // `throughput_tps` we used to ship here).
36
+ "ttft_ms",
37
+ "tps",
38
+ ]),
24
39
  operator: z.enum(["<=", "<", ">=", ">", "=="]),
25
40
  threshold: z.number().positive(),
26
41
  description: z.string().optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"create_pipeline.js","sourceRoot":"","sources":["../../src/tools/create_pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create_pipeline.js","sourceRoot":"","sources":["../../src/tools/create_pipeline.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
- `- role: \`${roleArnTail(grant.role_arn)}\``,
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
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.9.0";
2
- export declare const USER_AGENT = "edgegate-mcp/0.9.0";
1
+ export declare const VERSION = "0.9.1";
2
+ export declare const USER_AGENT = "edgegate-mcp/0.9.1";
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
- export const VERSION = "0.9.0";
1
+ export const VERSION = "0.9.1";
2
2
  export const USER_AGENT = `edgegate-mcp/${VERSION}`;
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edgegate-mcp",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "description": "MCP server for EdgeGate — set up edge-AI regression gates from Claude Code, Cursor, or Claude Desktop.",
5
5
  "license": "MIT",
6
6
  "type": "module",