@hyperstar/mcp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/README.md +186 -0
  2. package/dist/auth/cli-auth-client.d.ts +48 -0
  3. package/dist/auth/cli-auth-client.js +214 -0
  4. package/dist/auth/cli-auth-client.js.map +1 -0
  5. package/dist/auth/cli-auth-state.d.ts +26 -0
  6. package/dist/auth/cli-auth-state.js +176 -0
  7. package/dist/auth/cli-auth-state.js.map +1 -0
  8. package/dist/auth/local-callback.d.ts +18 -0
  9. package/dist/auth/local-callback.js +90 -0
  10. package/dist/auth/local-callback.js.map +1 -0
  11. package/dist/auth/pkce.d.ts +8 -0
  12. package/dist/auth/pkce.js +14 -0
  13. package/dist/auth/pkce.js.map +1 -0
  14. package/dist/cli.d.ts +18 -0
  15. package/dist/cli.js +326 -0
  16. package/dist/cli.js.map +1 -0
  17. package/dist/config.d.ts +35 -0
  18. package/dist/config.js +101 -0
  19. package/dist/config.js.map +1 -0
  20. package/dist/http.d.ts +24 -0
  21. package/dist/http.js +131 -0
  22. package/dist/http.js.map +1 -0
  23. package/dist/index.d.ts +2 -0
  24. package/dist/index.js +16 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/schemas.d.ts +61 -0
  27. package/dist/schemas.js +57 -0
  28. package/dist/schemas.js.map +1 -0
  29. package/dist/server.d.ts +4 -0
  30. package/dist/server.js +12 -0
  31. package/dist/server.js.map +1 -0
  32. package/dist/tool-inputs.d.ts +254 -0
  33. package/dist/tool-inputs.js +239 -0
  34. package/dist/tool-inputs.js.map +1 -0
  35. package/dist/tool-result.d.ts +4 -0
  36. package/dist/tool-result.js +23 -0
  37. package/dist/tool-result.js.map +1 -0
  38. package/dist/tools.d.ts +8 -0
  39. package/dist/tools.js +259 -0
  40. package/dist/tools.js.map +1 -0
  41. package/dist/workspaces.d.ts +11 -0
  42. package/dist/workspaces.js +77 -0
  43. package/dist/workspaces.js.map +1 -0
  44. package/package.json +41 -0
@@ -0,0 +1,77 @@
1
+ import { WorkspaceListResponseSchema } from "./schemas.js";
2
+ const CLI_WORKFLOW_SEQUENCE = [
3
+ "list_workspaces",
4
+ "select_workspace",
5
+ "hyperstar_whoami",
6
+ "search_creators",
7
+ "save_search_results_to_campaign",
8
+ "list_campaign_creators",
9
+ "check_bulk_email_readiness",
10
+ "WARNING: start_bulk_email and send_inbox_reply perform real sends.",
11
+ ];
12
+ const SERVICE_ACCOUNT_WORKFLOW_SEQUENCE = [
13
+ "list_workspaces",
14
+ "hyperstar_whoami",
15
+ "search_creators",
16
+ "save_search_results_to_campaign",
17
+ "list_campaign_creators",
18
+ "check_bulk_email_readiness",
19
+ "WARNING: start_bulk_email and send_inbox_reply perform real sends.",
20
+ ];
21
+ const CLI_SAFETY_NOTES = [
22
+ "Run list_workspaces and select_workspace before Product API calls that require workspace scope.",
23
+ "Run hyperstar_whoami after selecting a workspace to confirm the authenticated principal.",
24
+ "check_bulk_email_readiness is the final dry-run gate before any bulk send.",
25
+ "start_bulk_email and send_inbox_reply perform real sends.",
26
+ ];
27
+ const SERVICE_ACCOUNT_SAFETY_NOTES = [
28
+ "Service-account auth is already workspace-scoped; select_workspace is only for local browser CLI auth.",
29
+ "Run list_workspaces and hyperstar_whoami before workflow tools to confirm the authenticated workspace.",
30
+ "check_bulk_email_readiness is the final dry-run gate before any bulk send.",
31
+ "start_bulk_email and send_inbox_reply perform real sends.",
32
+ ];
33
+ /** List workspaces through the Product API workspace route. */
34
+ export async function listAvailableWorkspaces(client) {
35
+ const payload = WorkspaceListResponseSchema.parse(await client.get("/v1/workspaces"));
36
+ return {
37
+ workspaces: payload.workspaces.map(workspaceJson),
38
+ };
39
+ }
40
+ /** Persist a selected workspace after verifying the Product API lists it. */
41
+ export async function selectAvailableWorkspace(client, organizationId, options = {}) {
42
+ if (options.workspaceSelection === undefined) {
43
+ throw new Error("select_workspace requires local browser CLI auth");
44
+ }
45
+ const payload = WorkspaceListResponseSchema.parse(await client.get("/v1/workspaces"));
46
+ const selected = payload.workspaces.find((workspace) => workspace.organization_id === organizationId);
47
+ if (selected === undefined) {
48
+ throw new Error(`Workspace ${organizationId} is not available`);
49
+ }
50
+ await options.workspaceSelection.setSelectedOrganizationId(organizationId);
51
+ return {
52
+ selected_organization_id: organizationId,
53
+ workspace: workspaceJson(selected),
54
+ };
55
+ }
56
+ /** Return the recommended Hyperstar agent workflow and send-safety notes. */
57
+ export function getHyperstarWorkflowGuide(options = {}) {
58
+ if (options.workspaceSelection === undefined) {
59
+ return {
60
+ sequence: [...SERVICE_ACCOUNT_WORKFLOW_SEQUENCE],
61
+ safety_notes: [...SERVICE_ACCOUNT_SAFETY_NOTES],
62
+ };
63
+ }
64
+ return {
65
+ sequence: [...CLI_WORKFLOW_SEQUENCE],
66
+ safety_notes: [...CLI_SAFETY_NOTES],
67
+ };
68
+ }
69
+ /** Convert a parsed workspace into JSON without undefined optional fields. */
70
+ function workspaceJson(workspace) {
71
+ return {
72
+ organization_id: workspace.organization_id,
73
+ ...(workspace.name === undefined ? {} : { name: workspace.name }),
74
+ ...(workspace.role === undefined ? {} : { role: workspace.role }),
75
+ };
76
+ }
77
+ //# sourceMappingURL=workspaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../src/workspaces.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAM3D,MAAM,qBAAqB,GAAG;IAC5B,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,iCAAiC;IACjC,wBAAwB;IACxB,4BAA4B;IAC5B,oEAAoE;CAC5D,CAAC;AAEX,MAAM,iCAAiC,GAAG;IACxC,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,iCAAiC;IACjC,wBAAwB;IACxB,4BAA4B;IAC5B,oEAAoE;CAC5D,CAAC;AAEX,MAAM,gBAAgB,GAAG;IACvB,iGAAiG;IACjG,0FAA0F;IAC1F,4EAA4E;IAC5E,2DAA2D;CACnD,CAAC;AAEX,MAAM,4BAA4B,GAAG;IACnC,wGAAwG;IACxG,wGAAwG;IACxG,4EAA4E;IAC5E,2DAA2D;CACnD,CAAC;AAEX,+DAA+D;AAC/D,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAuB;IAEvB,MAAM,OAAO,GAAG,2BAA2B,CAAC,KAAK,CAC/C,MAAM,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CACnC,CAAC;IACF,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC;KAClD,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAuB,EACvB,cAAsB,EACtB,UAAgC,EAAE;IAElC,IAAI,OAAO,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,OAAO,GAAG,2BAA2B,CAAC,KAAK,CAC/C,MAAM,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CACnC,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CACtC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,eAAe,KAAK,cAAc,CAC5D,CAAC;IACF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,aAAa,cAAc,mBAAmB,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,OAAO,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;IAE3E,OAAO;QACL,wBAAwB,EAAE,cAAc;QACxC,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,yBAAyB,CACvC,UAAgC,EAAE;IAElC,IAAI,OAAO,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO;YACL,QAAQ,EAAE,CAAC,GAAG,iCAAiC,CAAC;YAChD,YAAY,EAAE,CAAC,GAAG,4BAA4B,CAAC;SAChD,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,CAAC,GAAG,qBAAqB,CAAC;QACpC,YAAY,EAAE,CAAC,GAAG,gBAAgB,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,SAAS,aAAa,CAAC,SAItB;IACC,OAAO;QACL,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QACjE,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;KAClE,CAAC;AACJ,CAAC"}
package/package.json ADDED
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "@hyperstar/mcp",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "license": "UNLICENSED",
6
+ "publishConfig": {
7
+ "access": "public"
8
+ },
9
+ "bin": {
10
+ "hyperstar-mcp": "./dist/index.js",
11
+ "hyperstar": "./dist/cli.js"
12
+ },
13
+ "files": [
14
+ "dist",
15
+ "README.md",
16
+ "package.json"
17
+ ],
18
+ "scripts": {
19
+ "build": "tsc -p tsconfig.json",
20
+ "dev": "tsx src/index.ts",
21
+ "format": "prettier --write .",
22
+ "format:check": "prettier --check .",
23
+ "prepack": "npm run build",
24
+ "test": "vitest run",
25
+ "typecheck": "tsc -p tsconfig.json --noEmit"
26
+ },
27
+ "dependencies": {
28
+ "@modelcontextprotocol/sdk": "^1.0.0",
29
+ "zod": "^4.4.3"
30
+ },
31
+ "devDependencies": {
32
+ "@types/node": "^22.0.0",
33
+ "prettier": "^3.6.2",
34
+ "tsx": "^4.20.6",
35
+ "typescript": "^5.8.3",
36
+ "vitest": "^4.1.2"
37
+ },
38
+ "engines": {
39
+ "node": ">=22.12.0"
40
+ }
41
+ }