edgegate-mcp 0.4.1 → 0.8.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.
Files changed (83) hide show
  1. package/README.md +27 -3
  2. package/dist/client.d.ts +43 -1
  3. package/dist/client.js +83 -0
  4. package/dist/client.js.map +1 -1
  5. package/dist/server.js +178 -0
  6. package/dist/server.js.map +1 -1
  7. package/dist/tools/change_member_role.d.ts +18 -0
  8. package/dist/tools/change_member_role.js +61 -0
  9. package/dist/tools/change_member_role.js.map +1 -0
  10. package/dist/tools/check_byo_bucket.d.ts +12 -0
  11. package/dist/tools/check_byo_bucket.js +89 -0
  12. package/dist/tools/check_byo_bucket.js.map +1 -0
  13. package/dist/tools/check_status.d.ts +2 -2
  14. package/dist/tools/compare_runs.d.ts +2 -2
  15. package/dist/tools/connect_huggingface.d.ts +15 -0
  16. package/dist/tools/connect_huggingface.js +83 -0
  17. package/dist/tools/connect_huggingface.js.map +1 -0
  18. package/dist/tools/connect_qaihub.d.ts +15 -0
  19. package/dist/tools/connect_qaihub.js +62 -0
  20. package/dist/tools/connect_qaihub.js.map +1 -0
  21. package/dist/tools/create_api_key.d.ts +18 -0
  22. package/dist/tools/create_api_key.js +73 -0
  23. package/dist/tools/create_api_key.js.map +1 -0
  24. package/dist/tools/create_pipeline.d.ts +34 -4
  25. package/dist/tools/create_pipeline.js +31 -0
  26. package/dist/tools/create_pipeline.js.map +1 -1
  27. package/dist/tools/create_workspace.d.ts +12 -0
  28. package/dist/tools/create_workspace.js +51 -0
  29. package/dist/tools/create_workspace.js.map +1 -0
  30. package/dist/tools/disconnect_byo_bucket.d.ts +12 -0
  31. package/dist/tools/disconnect_byo_bucket.js +90 -0
  32. package/dist/tools/disconnect_byo_bucket.js.map +1 -0
  33. package/dist/tools/disconnect_huggingface.d.ts +12 -0
  34. package/dist/tools/disconnect_huggingface.js +44 -0
  35. package/dist/tools/disconnect_huggingface.js.map +1 -0
  36. package/dist/tools/disconnect_qaihub.d.ts +12 -0
  37. package/dist/tools/disconnect_qaihub.js +42 -0
  38. package/dist/tools/disconnect_qaihub.js.map +1 -0
  39. package/dist/tools/export_run_report.d.ts +2 -2
  40. package/dist/tools/get_audit_report.d.ts +2 -2
  41. package/dist/tools/get_byo_audit.d.ts +27 -0
  42. package/dist/tools/get_byo_audit.js +125 -0
  43. package/dist/tools/get_byo_audit.js.map +1 -0
  44. package/dist/tools/get_huggingface_integration.d.ts +12 -0
  45. package/dist/tools/get_huggingface_integration.js +52 -0
  46. package/dist/tools/get_huggingface_integration.js.map +1 -0
  47. package/dist/tools/get_qaihub_integration.d.ts +12 -0
  48. package/dist/tools/get_qaihub_integration.js +52 -0
  49. package/dist/tools/get_qaihub_integration.js.map +1 -0
  50. package/dist/tools/get_report.d.ts +1 -1
  51. package/dist/tools/invite_member.d.ts +18 -0
  52. package/dist/tools/invite_member.js +85 -0
  53. package/dist/tools/invite_member.js.map +1 -0
  54. package/dist/tools/list_api_keys.d.ts +12 -0
  55. package/dist/tools/list_api_keys.js +51 -0
  56. package/dist/tools/list_api_keys.js.map +1 -0
  57. package/dist/tools/list_members.d.ts +12 -0
  58. package/dist/tools/list_members.js +43 -0
  59. package/dist/tools/list_members.js.map +1 -0
  60. package/dist/tools/register_byo_artifact.d.ts +27 -0
  61. package/dist/tools/register_byo_artifact.js +122 -0
  62. package/dist/tools/register_byo_artifact.js.map +1 -0
  63. package/dist/tools/register_byo_bucket.d.ts +24 -0
  64. package/dist/tools/register_byo_bucket.js +143 -0
  65. package/dist/tools/register_byo_bucket.js.map +1 -0
  66. package/dist/tools/remove_member.d.ts +15 -0
  67. package/dist/tools/remove_member.js +64 -0
  68. package/dist/tools/remove_member.js.map +1 -0
  69. package/dist/tools/revoke_api_key.d.ts +15 -0
  70. package/dist/tools/revoke_api_key.js +49 -0
  71. package/dist/tools/revoke_api_key.js.map +1 -0
  72. package/dist/types.d.ts +169 -0
  73. package/dist/version.d.ts +2 -2
  74. package/dist/version.js +1 -1
  75. package/package.json +1 -1
  76. package/plugin.json +7 -2
  77. package/skills/edgegate-byo-storage.md +148 -0
  78. package/skills/edgegate-connect-huggingface.md +64 -0
  79. package/skills/edgegate-connect-qaihub.md +56 -0
  80. package/skills/edgegate-import.md +2 -2
  81. package/skills/edgegate-init.md +17 -0
  82. package/skills/edgegate-members.md +51 -0
  83. package/skills/edgegate-workspace-setup.md +74 -0
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: edgegate-members
3
+ description: List, invite, change role of, or remove EdgeGate workspace members. Use for any "add Alice as admin", "show me who's on this workspace", "Bob left the team", or similar membership management.
4
+ ---
5
+
6
+ # /edgegate-members
7
+
8
+ Composes the four member tools into a single skill the LLM can route any
9
+ membership-management request through.
10
+
11
+ ## Roles
12
+
13
+ | Role | Can do | Can NOT do |
14
+ |---|---|---|
15
+ | `owner` | Everything: members, billing, delete workspace, AI Hub connect, pipelines, runs | (nothing — full power) |
16
+ | `admin` | Pipelines, runs, integrations, members (except adding owners) | Billing, delete workspace, downgrade self |
17
+ | `viewer` | Read pipelines, runs, reports, members | Anything write |
18
+
19
+ ## Steps by intent
20
+
21
+ ### "Show me the members" / "Who's on this workspace?"
22
+ Call `edgegate_list_members({ workspace_id })`. Returns email + role + user_id.
23
+
24
+ ### "Add Alice as admin"
25
+ 1. Call `edgegate_invite_member({ workspace_id, user_email, role })`.
26
+ 2. If the response is 404, Alice doesn't have an EdgeGate account yet — tell
27
+ the user Alice needs to register at <https://edgegate.frozo.ai/register>
28
+ first, then re-run.
29
+ 3. If 409, Alice is already a member — offer to update her role with
30
+ `/edgegate-members → change role` instead.
31
+
32
+ ### "Make Bob an owner" / "Downgrade Carol to viewer"
33
+ 1. Get Bob's user_id from `edgegate_list_members` if not already known.
34
+ 2. Call `edgegate_change_member_role({ workspace_id, user_id, role })`.
35
+ 3. If the response is 400 with "Cannot remove the last owner", explain to
36
+ the user: they need to promote another member to owner first, then come
37
+ back to downgrade the original owner.
38
+
39
+ ### "Remove Dave"
40
+ 1. Get Dave's user_id.
41
+ 2. Confirm with the user (this is destructive — Dave loses access
42
+ immediately). Mention that Dave's pipelines and runs are preserved.
43
+ 3. Call `edgegate_remove_member({ workspace_id, user_id })`.
44
+ 4. Same last-owner guard as above applies.
45
+
46
+ ## Failure modes
47
+
48
+ - **403** on invite / change / remove — the caller's own role is too low. The
49
+ detail message names the required role.
50
+ - **404** on user lookup — the email or user_id doesn't exist in EdgeGate.
51
+ - **plan_limit_exceeded** on invite — workspace seat cap; direct to pricing.
@@ -0,0 +1,74 @@
1
+ ---
2
+ name: edgegate-workspace-setup
3
+ description: Bootstrap a new EdgeGate workspace end-to-end — create the workspace, connect Qualcomm AI Hub, mint an API key, and (optionally) invite teammates. Use this when the user has registered but hasn't yet set up a workspace, or wants a parallel one for a new project.
4
+ ---
5
+
6
+ # /edgegate-workspace-setup
7
+
8
+ This is the **zero-to-runnable workspace** flow. It composes the other
9
+ single-purpose tools into a single guided onboarding sequence so the user can
10
+ go from "I just signed up" to "EdgeGate is running my model on a Snapdragon
11
+ device" without leaving the chat.
12
+
13
+ ## When to use
14
+
15
+ - User just signed up at <https://edgegate.frozo.ai/register> and wants to
16
+ start using the MCP
17
+ - User is creating a parallel workspace for a new project / customer / branch
18
+ - User says "set up EdgeGate for me", "create a new workspace and wire it up",
19
+ or similar
20
+
21
+ If they already have a usable workspace and just need to connect AI Hub or
22
+ add members, send them to `/edgegate-connect-qaihub` or
23
+ `/edgegate-invite-member` directly instead.
24
+
25
+ ## Steps
26
+
27
+ 1. **Create the workspace.** Ask for a name (e.g. "MobileNet Production",
28
+ "Customer Pilot — Bosch"). Call `edgegate_create_workspace({ name })` and
29
+ capture the returned `workspace_id`. Pass that id to every subsequent call.
30
+
31
+ 2. **Connect Qualcomm AI Hub.** Without this, runs will fail with
32
+ `NO_AIHUB_TOKEN`. Either:
33
+ - Run the `/edgegate-connect-qaihub` sub-flow, **or**
34
+ - If the user has their AI Hub token at hand, call
35
+ `edgegate_connect_qaihub({ workspace_id, token })` directly.
36
+
37
+ Pause here until the integration is **active**.
38
+
39
+ 3. **(Optional) Mint a CI API key.** If the user plans to wire EdgeGate into
40
+ GitHub Actions / GitLab CI / similar, call `edgegate_create_api_key` with
41
+ a descriptive name (e.g. "GitHub Actions — production"). **Tell them the
42
+ plaintext is returned exactly once** and they MUST copy it now into their
43
+ CI secrets manager. Re-show the value, then move on. If they want to
44
+ actually wire the GitHub Action immediately, follow up with
45
+ `edgegate_setup_github_action`.
46
+
47
+ 4. **(Optional) Invite teammates.** If the user mentions teammates, run the
48
+ `/edgegate-invite-member` sub-flow or call `edgegate_invite_member`
49
+ directly per teammate. Roles: `owner` (full control, billing), `admin`
50
+ (pipelines + runs, no billing or workspace delete), `viewer` (read-only).
51
+
52
+ 5. **Confirm + suggest next.** Recap what's set up:
53
+ - workspace name + id
54
+ - AI Hub: connected (token `****xxxx`)
55
+ - API keys: how many active
56
+ - members: count + roles
57
+
58
+ Then suggest the next concrete action:
59
+ - "Import a model from HuggingFace: `edgegate_import_huggingface_model`"
60
+ - "Create the first regression pipeline: `edgegate_create_pipeline`"
61
+
62
+ ## Failure modes
63
+
64
+ - **Create workspace → 403 plan_limit_exceeded.** They've hit their plan's
65
+ workspace cap. Direct them to <https://edgegate.frozo.ai/pricing> to
66
+ upgrade, or to remove an unused workspace via the dashboard first.
67
+ - **Connect AI Hub → 401 from Hub.** The token they pasted is wrong or
68
+ revoked. Send them back to
69
+ <https://app.aihub.qualcomm.com/account/api-token> for a fresh one.
70
+ - **Create API key → 402.** Their plan doesn't include API access. Pro tier
71
+ or above is required; direct them to pricing.
72
+ - **Invite member → 404.** The email doesn't belong to an existing EdgeGate
73
+ account. v1 doesn't send invitation emails — the teammate has to register
74
+ first at <https://edgegate.frozo.ai/register>.