@hyperstar/mcp 0.1.6 → 0.1.10

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 (55) hide show
  1. package/README.md +84 -24
  2. package/dist/auth/cli-auth-client.js +0 -1
  3. package/dist/auth/cli-auth-state.js +0 -1
  4. package/dist/auth/local-callback.js +0 -1
  5. package/dist/auth/pkce.js +0 -1
  6. package/dist/bulk-email-guidance.js +0 -1
  7. package/dist/bulk-email-inputs.d.ts +254 -0
  8. package/dist/bulk-email-inputs.js +168 -0
  9. package/dist/bulk-email-tool-body.d.ts +6 -0
  10. package/dist/bulk-email-tool-body.js +37 -0
  11. package/dist/campaign-creator-selection.js +0 -1
  12. package/dist/cli.js +2 -6
  13. package/dist/config.js +15 -2
  14. package/dist/discovery.d.ts +6 -0
  15. package/dist/discovery.js +62 -0
  16. package/dist/http.js +0 -1
  17. package/dist/index.js +0 -1
  18. package/dist/package-metadata.d.ts +2 -0
  19. package/dist/package-metadata.js +12 -0
  20. package/dist/schemas.js +0 -1
  21. package/dist/search-result-projection.d.ts +3 -1
  22. package/dist/search-result-projection.js +33 -3
  23. package/dist/server.js +7 -2
  24. package/dist/tool-descriptions.d.ts +19 -0
  25. package/dist/tool-descriptions.js +19 -0
  26. package/dist/tool-guidance.d.ts +10 -0
  27. package/dist/tool-guidance.js +82 -0
  28. package/dist/tool-http-helpers.js +0 -1
  29. package/dist/tool-inputs.d.ts +324 -95
  30. package/dist/tool-inputs.js +87 -92
  31. package/dist/tool-result.js +0 -1
  32. package/dist/tools.js +34 -52
  33. package/dist/workflow-content.d.ts +43 -0
  34. package/dist/workflow-content.js +153 -0
  35. package/dist/workspaces.d.ts +1 -1
  36. package/dist/workspaces.js +12 -45
  37. package/package.json +25 -2
  38. package/dist/auth/cli-auth-client.js.map +0 -1
  39. package/dist/auth/cli-auth-state.js.map +0 -1
  40. package/dist/auth/local-callback.js.map +0 -1
  41. package/dist/auth/pkce.js.map +0 -1
  42. package/dist/bulk-email-guidance.js.map +0 -1
  43. package/dist/campaign-creator-selection.js.map +0 -1
  44. package/dist/cli.js.map +0 -1
  45. package/dist/config.js.map +0 -1
  46. package/dist/http.js.map +0 -1
  47. package/dist/index.js.map +0 -1
  48. package/dist/schemas.js.map +0 -1
  49. package/dist/search-result-projection.js.map +0 -1
  50. package/dist/server.js.map +0 -1
  51. package/dist/tool-http-helpers.js.map +0 -1
  52. package/dist/tool-inputs.js.map +0 -1
  53. package/dist/tool-result.js.map +0 -1
  54. package/dist/tools.js.map +0 -1
  55. package/dist/workspaces.js.map +0 -1
package/dist/tools.js CHANGED
@@ -1,10 +1,12 @@
1
1
  import { bulkEmailQueuedResult } from "./bulk-email-guidance.js";
2
- import { campaignCreatorSelectionBody } from "./campaign-creator-selection.js";
2
+ import { readinessRequestBody, startBulkEmailRequestBody, } from "./bulk-email-tool-body.js";
3
3
  import { projectSearchResultPage } from "./search-result-projection.js";
4
+ import { TOOL_DESCRIPTIONS } from "./tool-descriptions.js";
5
+ import { campaignImportGuidance, campaignRosterGuidance, readinessGuidance, searchGuidance, } from "./tool-guidance.js";
4
6
  import { toolResult } from "./tool-result.js";
5
7
  import { compactJsonObject, pathSegment, queryFrom, } from "./tool-http-helpers.js";
6
8
  import { BulkEmailJobResponseSchema, BulkEmailReadinessResponseSchema, CampaignDetailResponseSchema, CampaignCreatorsResponseSchema, CampaignImportResponseSchema, CampaignsResponseSchema, InboxAggregatesResponseSchema, InboxThreadPageResponseSchema, InboxWorkspaceStateResponseSchema, JsonObjectSchema, SearchCreatedResponseSchema, SearchResultsResponseSchema, WhoamiResponseSchema, } from "./schemas.js";
7
- import { BulkEmailJobInputSchema, CampaignCreatorsInputSchema, CheckBulkEmailReadinessInputSchema, CreateCampaignInputSchema, GetSearchResultsInputSchema, InboxFiltersInputSchema, ListCampaignsInputSchema, ListInboxThreadsInputSchema, ListWorkspacesInputSchema, SaveSearchResultsToCampaignInputSchema, SearchCreatorsInputSchema, SelectWorkspaceInputSchema, SendInboxReplyInputSchema, StartBulkEmailInputSchema, UpdateInboxThreadStateInputSchema, WorkflowGuideInputSchema, WhoamiInputSchema, } from "./tool-inputs.js";
9
+ import { BulkEmailJobInputSchema, CampaignCreatorsInputSchema, CheckBulkEmailReadinessDiscoveryInputSchema, CheckBulkEmailReadinessInputSchema, CreateCampaignInputSchema, GetSearchResultsInputSchema, InboxFiltersInputSchema, ListCampaignsInputSchema, ListInboxThreadsInputSchema, ListWorkspacesInputSchema, SaveSearchResultsToCampaignInputSchema, SearchCreatorsInputSchema, SelectWorkspaceInputSchema, SendInboxReplyInputSchema, StartBulkEmailDiscoveryInputSchema, StartBulkEmailInputSchema, UpdateInboxThreadStateInputSchema, WorkflowGuideInputSchema, WhoamiInputSchema, normalizeCheckBulkEmailReadinessInput, normalizeStartBulkEmailInput, } from "./tool-inputs.js";
8
10
  import { getHyperstarWorkflowGuide, listAvailableWorkspaces, selectAvailableWorkspace, } from "./workspaces.js";
9
11
  /** Build workflow handlers around a Hyperstar HTTP client. */
10
12
  export function createToolHandlers(client, options = {}) {
@@ -12,7 +14,7 @@ export function createToolHandlers(client, options = {}) {
12
14
  hyperstarWhoami: async () => WhoamiResponseSchema.parse(await client.get("/v1/whoami")),
13
15
  listWorkspaces: async (input = {}) => {
14
16
  ListWorkspacesInputSchema.parse(input);
15
- return listAvailableWorkspaces(client);
17
+ return listAvailableWorkspaces(client, options);
16
18
  },
17
19
  selectWorkspace: async (input) => {
18
20
  const parsedInput = SelectWorkspaceInputSchema.parse(input);
@@ -40,7 +42,7 @@ export function createToolHandlers(client, options = {}) {
40
42
  const results = SearchResultsResponseSchema.parse(await client.get(`/v1/searches/${pathSegment(created.search_id)}/results`, queryFrom({ limit, offset: 0 })));
41
43
  return {
42
44
  search_id: created.search_id,
43
- ...projectSearchResultPage(results, parsedInput.detail_level ?? "summary"),
45
+ ...searchGuidance(projectSearchResultPage(results, parsedInput.detail_level ?? "summary", created.search_id, { deterministicNextPage: false })),
44
46
  };
45
47
  },
46
48
  getSearchResults: async (input) => {
@@ -49,11 +51,11 @@ export function createToolHandlers(client, options = {}) {
49
51
  limit: parsedInput.limit ?? 25,
50
52
  offset: parsedInput.offset ?? 0,
51
53
  })));
52
- return projectSearchResultPage(results, parsedInput.detail_level ?? "summary");
54
+ return projectSearchResultPage(results, parsedInput.detail_level ?? "summary", parsedInput.search_id);
53
55
  },
54
56
  saveSearchResultsToCampaign: async (input) => {
55
57
  const parsedInput = SaveSearchResultsToCampaignInputSchema.parse(input);
56
- return CampaignImportResponseSchema.parse(await client.post(`/v1/campaigns/${pathSegment(parsedInput.campaign_id)}/creators:import`, {
58
+ return campaignImportGuidance(CampaignImportResponseSchema.parse(await client.post(`/v1/campaigns/${pathSegment(parsedInput.campaign_id)}/creators:import`, {
57
59
  mode: "search_selection",
58
60
  search_id: parsedInput.search_id,
59
61
  limit: parsedInput.limit ?? 100,
@@ -63,7 +65,7 @@ export function createToolHandlers(client, options = {}) {
63
65
  ...(parsedInput.reference_id === undefined
64
66
  ? {}
65
67
  : { reference_id: parsedInput.reference_id }),
66
- }));
68
+ })), parsedInput.campaign_id);
67
69
  },
68
70
  listCampaigns: async (input = {}) => {
69
71
  const parsedInput = ListCampaignsInputSchema.parse(input);
@@ -91,37 +93,18 @@ export function createToolHandlers(client, options = {}) {
91
93
  },
92
94
  listCampaignCreators: async (input) => {
93
95
  const parsedInput = CampaignCreatorsInputSchema.parse(input);
94
- return CampaignCreatorsResponseSchema.parse(await client.get(`/v1/campaigns/${pathSegment(parsedInput.campaign_id)}/creators`, queryFrom({
96
+ return campaignRosterGuidance(CampaignCreatorsResponseSchema.parse(await client.get(`/v1/campaigns/${pathSegment(parsedInput.campaign_id)}/creators`, queryFrom({
95
97
  limit: parsedInput.limit ?? 50,
96
98
  offset: parsedInput.offset ?? 0,
97
- })));
99
+ }))), parsedInput.campaign_id);
98
100
  },
99
101
  checkBulkEmailReadiness: async (input) => {
100
102
  const parsedInput = CheckBulkEmailReadinessInputSchema.parse(input);
101
- return BulkEmailReadinessResponseSchema.parse(await client.post(`/v1/campaigns/${pathSegment(parsedInput.campaign_id)}/bulk-email/readiness`, compactJsonObject([
102
- ["campaign_creator_ids", parsedInput.campaign_creator_ids],
103
- [
104
- "campaign_creator_selection",
105
- campaignCreatorSelectionBody(parsedInput.campaign_creator_selection),
106
- ],
107
- ])));
103
+ return readinessGuidance(BulkEmailReadinessResponseSchema.parse(await client.post(`/v1/campaigns/${pathSegment(parsedInput.campaign_id)}/bulk-email/readiness`, readinessRequestBody(parsedInput))), parsedInput);
108
104
  },
109
105
  startBulkEmail: async (input) => {
110
106
  const parsedInput = StartBulkEmailInputSchema.parse(input);
111
- return bulkEmailQueuedResult(BulkEmailJobResponseSchema.parse(await client.post(`/v1/campaigns/${pathSegment(parsedInput.campaign_id)}/bulk-email/jobs`, compactJsonObject([
112
- ["subject", parsedInput.subject],
113
- ["body_text", parsedInput.body_text],
114
- ["from_email", parsedInput.from_email],
115
- ["attachments", parsedInput.attachments],
116
- ["campaign_creator_ids", parsedInput.campaign_creator_ids],
117
- [
118
- "campaign_creator_selection",
119
- campaignCreatorSelectionBody(parsedInput.campaign_creator_selection),
120
- ],
121
- ["form_id", parsedInput.form_id],
122
- ["form_language", parsedInput.form_language],
123
- ["idempotency_key", parsedInput.idempotency_key],
124
- ]), { "Idempotency-Key": parsedInput.idempotency_key })));
107
+ return bulkEmailQueuedResult(BulkEmailJobResponseSchema.parse(await client.post(`/v1/campaigns/${pathSegment(parsedInput.campaign_id)}/bulk-email/jobs`, startBulkEmailRequestBody(parsedInput), { "Idempotency-Key": parsedInput.idempotency_key })));
125
108
  },
126
109
  getBulkEmailJob: async (input) => {
127
110
  const parsedInput = BulkEmailJobInputSchema.parse(input);
@@ -163,88 +146,87 @@ export function registerHyperstarTools(server, client, options = {}) {
163
146
  const handlers = createToolHandlers(client, options);
164
147
  server.registerTool("hyperstar_whoami", {
165
148
  title: "Hyperstar Whoami",
166
- description: "Inspect the authenticated Hyperstar workspace and scopes.",
149
+ description: TOOL_DESCRIPTIONS.hyperstarWhoami,
167
150
  inputSchema: WhoamiInputSchema,
168
151
  }, async () => toolResult(await handlers.hyperstarWhoami()));
169
152
  server.registerTool("list_workspaces", {
170
153
  title: "List Workspaces",
171
- description: "List Hyperstar workspaces available to the CLI session.",
154
+ description: TOOL_DESCRIPTIONS.listWorkspaces,
172
155
  inputSchema: ListWorkspacesInputSchema,
173
156
  }, async (input) => toolResult(await handlers.listWorkspaces(input)));
174
157
  server.registerTool("select_workspace", {
175
158
  title: "Select Workspace",
176
- description: "Persist the Hyperstar workspace selected for CLI-authenticated tools.",
159
+ description: TOOL_DESCRIPTIONS.selectWorkspace,
177
160
  inputSchema: SelectWorkspaceInputSchema,
178
161
  }, async (input) => toolResult(await handlers.selectWorkspace(input)));
179
162
  server.registerTool("get_hyperstar_workflow_guide", {
180
163
  title: "Get Hyperstar Workflow Guide",
181
- description: "Return the recommended agent workflow sequence and send-safety notes.",
164
+ description: TOOL_DESCRIPTIONS.workflowGuide,
182
165
  inputSchema: WorkflowGuideInputSchema,
183
166
  }, async (input) => toolResult(await handlers.getHyperstarWorkflowGuide(input)));
184
167
  server.registerTool("search_creators", {
185
168
  title: "Search Creators",
186
- description: "Create a creator search and return the first result page.",
169
+ description: TOOL_DESCRIPTIONS.searchCreators,
187
170
  inputSchema: SearchCreatorsInputSchema,
188
171
  }, async (input) => toolResult(await handlers.searchCreators(input)));
189
172
  server.registerTool("get_search_results", {
190
173
  title: "Get Search Results",
191
- description: "Page through results for an existing creator search.",
174
+ description: TOOL_DESCRIPTIONS.getSearchResults,
192
175
  inputSchema: GetSearchResultsInputSchema,
193
176
  }, async (input) => toolResult(await handlers.getSearchResults(input)));
194
177
  server.registerTool("list_campaigns", {
195
178
  title: "List Campaigns",
196
- description: "List campaigns in the authenticated Hyperstar workspace so agents can choose a campaign_id.",
179
+ description: TOOL_DESCRIPTIONS.listCampaigns,
197
180
  inputSchema: ListCampaignsInputSchema,
198
181
  }, async (input) => toolResult(await handlers.listCampaigns(input)));
199
182
  server.registerTool("create_campaign", {
200
183
  title: "Create Campaign",
201
- description: "Create a campaign in the authenticated Hyperstar workspace and return its campaign id.",
184
+ description: TOOL_DESCRIPTIONS.createCampaign,
202
185
  inputSchema: CreateCampaignInputSchema,
203
186
  }, async (input) => toolResult(await handlers.createCampaign(input)));
204
187
  server.registerTool("save_search_results_to_campaign", {
205
188
  title: "Save Search Results To Campaign",
206
- description: "Save selected or top-ranked creator search results to a campaign roster.",
189
+ description: TOOL_DESCRIPTIONS.saveSearchResultsToCampaign,
207
190
  inputSchema: SaveSearchResultsToCampaignInputSchema,
208
191
  }, async (input) => toolResult(await handlers.saveSearchResultsToCampaign(input)));
209
192
  server.registerTool("list_campaign_creators", {
210
193
  title: "List Campaign Creators",
211
- description: "List creators currently saved on a campaign roster.",
194
+ description: TOOL_DESCRIPTIONS.listCampaignCreators,
212
195
  inputSchema: CampaignCreatorsInputSchema,
213
196
  }, async (input) => toolResult(await handlers.listCampaignCreators(input)));
214
197
  server.registerTool("check_bulk_email_readiness", {
215
198
  title: "Check Bulk Email Readiness",
216
- description: "Check campaign recipient readiness before bulk email.",
217
- inputSchema: CheckBulkEmailReadinessInputSchema,
218
- }, async (input) => toolResult(await handlers.checkBulkEmailReadiness(input)));
199
+ description: TOOL_DESCRIPTIONS.checkBulkEmailReadiness,
200
+ inputSchema: CheckBulkEmailReadinessDiscoveryInputSchema,
201
+ }, async (input) => toolResult(await handlers.checkBulkEmailReadiness(normalizeCheckBulkEmailReadinessInput(CheckBulkEmailReadinessDiscoveryInputSchema.parse(input)))));
219
202
  server.registerTool("start_bulk_email", {
220
203
  title: "Start Bulk Email",
221
- description: "REAL SEND: start a campaign bulk-email job with an explicit idempotency key.",
222
- inputSchema: StartBulkEmailInputSchema,
223
- }, async (input) => toolResult(await handlers.startBulkEmail(input)));
204
+ description: TOOL_DESCRIPTIONS.startBulkEmail,
205
+ inputSchema: StartBulkEmailDiscoveryInputSchema,
206
+ }, async (input) => toolResult(await handlers.startBulkEmail(normalizeStartBulkEmailInput(StartBulkEmailDiscoveryInputSchema.parse(input)))));
224
207
  server.registerTool("get_bulk_email_job", {
225
208
  title: "Get Bulk Email Job",
226
- description: "Read campaign bulk-email job status.",
209
+ description: TOOL_DESCRIPTIONS.getBulkEmailJob,
227
210
  inputSchema: BulkEmailJobInputSchema,
228
211
  }, async (input) => toolResult(await handlers.getBulkEmailJob(input)));
229
212
  server.registerTool("list_inbox_threads", {
230
213
  title: "List Inbox Threads",
231
- description: "List Hyperstar inbox threads with common filters.",
214
+ description: TOOL_DESCRIPTIONS.listInboxThreads,
232
215
  inputSchema: ListInboxThreadsInputSchema,
233
216
  }, async (input) => toolResult(await handlers.listInboxThreads(input)));
234
217
  server.registerTool("get_inbox_aggregates", {
235
218
  title: "Get Inbox Aggregates",
236
- description: "Read aggregate counts for Hyperstar inbox filters.",
219
+ description: TOOL_DESCRIPTIONS.getInboxAggregates,
237
220
  inputSchema: InboxFiltersInputSchema,
238
221
  }, async (input) => toolResult(await handlers.getInboxAggregates(input)));
239
222
  server.registerTool("update_inbox_thread_state", {
240
223
  title: "Update Inbox Thread State",
241
- description: "Archive, snooze, star, or set read state for one thread.",
224
+ description: TOOL_DESCRIPTIONS.updateInboxThreadState,
242
225
  inputSchema: UpdateInboxThreadStateInputSchema,
243
226
  }, async (input) => toolResult(await handlers.updateInboxThreadState(input)));
244
227
  server.registerTool("send_inbox_reply", {
245
228
  title: "Send Inbox Reply",
246
- description: "REAL SEND: send one reply to a Hyperstar inbox thread.",
229
+ description: TOOL_DESCRIPTIONS.sendInboxReply,
247
230
  inputSchema: SendInboxReplyInputSchema,
248
231
  }, async (input) => toolResult(await handlers.sendInboxReply(input)));
249
232
  }
250
- //# sourceMappingURL=tools.js.map
@@ -0,0 +1,43 @@
1
+ import type { JsonObject } from "./http.js";
2
+ export type WorkflowGuideKind = "headless-workflow" | "search-to-campaign" | "bulk-email-safety" | "inbox";
3
+ export type WorkflowGuideResourceDefinition = {
4
+ readonly kind: WorkflowGuideKind;
5
+ readonly uri: string;
6
+ readonly name: string;
7
+ readonly title: string;
8
+ readonly description: string;
9
+ };
10
+ export declare const CLI_WORKFLOW_SEQUENCE: readonly ["list_workspaces", "select_workspace", "hyperstar_whoami", "search_creators", "list_campaigns or create_campaign", "save_search_results_to_campaign", "list_campaign_creators", "check_bulk_email_readiness", "WARNING: start_bulk_email and send_inbox_reply perform real sends."];
11
+ export declare const SERVICE_ACCOUNT_WORKFLOW_SEQUENCE: readonly ["list_workspaces", "hyperstar_whoami", "search_creators", "list_campaigns or create_campaign", "save_search_results_to_campaign", "list_campaign_creators", "check_bulk_email_readiness", "WARNING: start_bulk_email and send_inbox_reply perform real sends."];
12
+ export declare const CLI_SAFETY_NOTES: readonly ["Run list_workspaces and select_workspace before Product API calls that require workspace scope.", "Run hyperstar_whoami after selecting a workspace to confirm the authenticated principal.", "Run list_campaigns or create_campaign before save_search_results_to_campaign when the user has not supplied a campaign_id.", "check_bulk_email_readiness is the final dry-run gate before any bulk send.", "start_bulk_email and send_inbox_reply perform real sends."];
13
+ export declare const SERVICE_ACCOUNT_SAFETY_NOTES: readonly ["Service-account auth is already workspace-scoped; select_workspace is only for local browser CLI auth.", "Run list_workspaces and hyperstar_whoami before workflow tools to confirm the authenticated workspace.", "Run list_campaigns or create_campaign before save_search_results_to_campaign when the user has not supplied a campaign_id.", "check_bulk_email_readiness is the final dry-run gate before any bulk send.", "start_bulk_email and send_inbox_reply perform real sends."];
14
+ export declare const SEARCH_FILTER_GUIDANCE: readonly ["filters is a structured JSON object validated by the MCP before it is forwarded to Product API search.", "Use range objects such as `follower_range: {\"min\": 1000, \"max\": 100000}`, `avg_engagement_rate`, `avg_views`, `gmv`, and `gpm`.", "Use boolean/string filters such as `has_email`, `email_contactability`, `is_verified`, `has_tiktok_shop`, `creator_gender`, `creator_language`, `category_1`, and Instagram `category_name`.", "Put broad niches, verticals, and countries in `query`/`region` unless a named structured filter applies; do not invent `country`, `categories`, `follower_count`, or `engagement_rate` filter keys.", "Use sort_by for relevance, follower_count, engagement_rate, avg_views, views_growth_rate, gmv, or gpm; gmv and gpm are TikTok-only.", "Keep filters narrow and serializable; use get_search_results pagination instead of loading every creator row into context."];
15
+ export declare const workflowGuideResourceDefinitions: readonly [{
16
+ readonly kind: "headless-workflow";
17
+ readonly uri: "hyperstar://guide/headless-workflow";
18
+ readonly name: "headless-workflow";
19
+ readonly title: "Hyperstar Headless Workflow";
20
+ readonly description: "Canonical agent workflow for using Hyperstar without UI.";
21
+ }, {
22
+ readonly kind: "search-to-campaign";
23
+ readonly uri: "hyperstar://guide/search-to-campaign";
24
+ readonly name: "search-to-campaign";
25
+ readonly title: "Search To Campaign";
26
+ readonly description: "How to search creators and save selected results to a campaign.";
27
+ }, {
28
+ readonly kind: "bulk-email-safety";
29
+ readonly uri: "hyperstar://guide/bulk-email-safety";
30
+ readonly name: "bulk-email-safety";
31
+ readonly title: "Bulk Email Safety";
32
+ readonly description: "Required checks before starting any Hyperstar bulk-email job.";
33
+ }, {
34
+ readonly kind: "inbox";
35
+ readonly uri: "hyperstar://guide/inbox";
36
+ readonly name: "inbox";
37
+ readonly title: "Inbox Workflow";
38
+ readonly description: "How to read, triage, and reply to Hyperstar inbox threads.";
39
+ }];
40
+ /** Return workflow guide data for the authenticated MCP mode. */
41
+ export declare function workflowGuideJson(authMode: "cli" | "service_account"): JsonObject;
42
+ /** Render one workflow guide as Markdown for MCP resources and prompts. */
43
+ export declare function buildWorkflowMarkdown(kind: WorkflowGuideKind): string;
@@ -0,0 +1,153 @@
1
+ export const CLI_WORKFLOW_SEQUENCE = [
2
+ "list_workspaces",
3
+ "select_workspace",
4
+ "hyperstar_whoami",
5
+ "search_creators",
6
+ "list_campaigns or create_campaign",
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
+ export const SERVICE_ACCOUNT_WORKFLOW_SEQUENCE = [
13
+ "list_workspaces",
14
+ "hyperstar_whoami",
15
+ "search_creators",
16
+ "list_campaigns or create_campaign",
17
+ "save_search_results_to_campaign",
18
+ "list_campaign_creators",
19
+ "check_bulk_email_readiness",
20
+ "WARNING: start_bulk_email and send_inbox_reply perform real sends.",
21
+ ];
22
+ export const CLI_SAFETY_NOTES = [
23
+ "Run list_workspaces and select_workspace before Product API calls that require workspace scope.",
24
+ "Run hyperstar_whoami after selecting a workspace to confirm the authenticated principal.",
25
+ "Run list_campaigns or create_campaign before save_search_results_to_campaign when the user has not supplied a campaign_id.",
26
+ "check_bulk_email_readiness is the final dry-run gate before any bulk send.",
27
+ "start_bulk_email and send_inbox_reply perform real sends.",
28
+ ];
29
+ export const SERVICE_ACCOUNT_SAFETY_NOTES = [
30
+ "Service-account auth is already workspace-scoped; select_workspace is only for local browser CLI auth.",
31
+ "Run list_workspaces and hyperstar_whoami before workflow tools to confirm the authenticated workspace.",
32
+ "Run list_campaigns or create_campaign before save_search_results_to_campaign when the user has not supplied a campaign_id.",
33
+ "check_bulk_email_readiness is the final dry-run gate before any bulk send.",
34
+ "start_bulk_email and send_inbox_reply perform real sends.",
35
+ ];
36
+ export const SEARCH_FILTER_GUIDANCE = [
37
+ "filters is a structured JSON object validated by the MCP before it is forwarded to Product API search.",
38
+ 'Use range objects such as `follower_range: {"min": 1000, "max": 100000}`, `avg_engagement_rate`, `avg_views`, `gmv`, and `gpm`.',
39
+ "Use boolean/string filters such as `has_email`, `email_contactability`, `is_verified`, `has_tiktok_shop`, `creator_gender`, `creator_language`, `category_1`, and Instagram `category_name`.",
40
+ "Put broad niches, verticals, and countries in `query`/`region` unless a named structured filter applies; do not invent `country`, `categories`, `follower_count`, or `engagement_rate` filter keys.",
41
+ "Use sort_by for relevance, follower_count, engagement_rate, avg_views, views_growth_rate, gmv, or gpm; gmv and gpm are TikTok-only.",
42
+ "Keep filters narrow and serializable; use get_search_results pagination instead of loading every creator row into context.",
43
+ ];
44
+ export const workflowGuideResourceDefinitions = [
45
+ {
46
+ kind: "headless-workflow",
47
+ uri: "hyperstar://guide/headless-workflow",
48
+ name: "headless-workflow",
49
+ title: "Hyperstar Headless Workflow",
50
+ description: "Canonical agent workflow for using Hyperstar without UI.",
51
+ },
52
+ {
53
+ kind: "search-to-campaign",
54
+ uri: "hyperstar://guide/search-to-campaign",
55
+ name: "search-to-campaign",
56
+ title: "Search To Campaign",
57
+ description: "How to search creators and save selected results to a campaign.",
58
+ },
59
+ {
60
+ kind: "bulk-email-safety",
61
+ uri: "hyperstar://guide/bulk-email-safety",
62
+ name: "bulk-email-safety",
63
+ title: "Bulk Email Safety",
64
+ description: "Required checks before starting any Hyperstar bulk-email job.",
65
+ },
66
+ {
67
+ kind: "inbox",
68
+ uri: "hyperstar://guide/inbox",
69
+ name: "inbox",
70
+ title: "Inbox Workflow",
71
+ description: "How to read, triage, and reply to Hyperstar inbox threads.",
72
+ },
73
+ ];
74
+ /** Return workflow guide data for the authenticated MCP mode. */
75
+ export function workflowGuideJson(authMode) {
76
+ if (authMode === "cli") {
77
+ return {
78
+ sequence: [...CLI_WORKFLOW_SEQUENCE],
79
+ safety_notes: [...CLI_SAFETY_NOTES],
80
+ resources: workflowGuideResourceDefinitions.map((resource) => resource.uri),
81
+ };
82
+ }
83
+ return {
84
+ sequence: [...SERVICE_ACCOUNT_WORKFLOW_SEQUENCE],
85
+ safety_notes: [...SERVICE_ACCOUNT_SAFETY_NOTES],
86
+ resources: workflowGuideResourceDefinitions.map((resource) => resource.uri),
87
+ };
88
+ }
89
+ /** Render one workflow guide as Markdown for MCP resources and prompts. */
90
+ export function buildWorkflowMarkdown(kind) {
91
+ switch (kind) {
92
+ case "headless-workflow":
93
+ return [
94
+ "# Hyperstar Headless Workflow",
95
+ "",
96
+ "Use these tools in order when the user wants creator discovery, campaign saving, outreach, and inbox follow-up without opening the dashboard.",
97
+ "",
98
+ "## Service-account flow",
99
+ orderedList(SERVICE_ACCOUNT_WORKFLOW_SEQUENCE),
100
+ "",
101
+ "## Local browser CLI flow",
102
+ orderedList(CLI_WORKFLOW_SEQUENCE),
103
+ "",
104
+ "Always confirm workspace and scopes with `hyperstar_whoami` before mutating campaigns, sending bulk email, or replying in the inbox.",
105
+ "",
106
+ "## Search Filters",
107
+ unorderedList(SEARCH_FILTER_GUIDANCE),
108
+ ].join("\n");
109
+ case "search-to-campaign":
110
+ return [
111
+ "# Search To Campaign",
112
+ "",
113
+ "1. Call `search_creators` with the platform, region, query, filters, and limit.",
114
+ "",
115
+ 'Use structured filter keys such as `follower_range: {"min": 1000, "max": 100000}`, `avg_engagement_rate`, `avg_views`, `has_email`, `email_contactability`, `is_verified`, `creator_language`, `category_1`, Instagram `category_name`, `gmv`, and `gpm`. Put broad niches and countries in `query`/`region`; do not invent `country`, `categories`, `follower_count`, or `engagement_rate` filter keys. Use `sort_by` for `relevance`, `follower_count`, `engagement_rate`, `avg_views`, `views_growth_rate`, `gmv`, or `gpm`; `gmv` and `gpm` are TikTok-only.',
116
+ "",
117
+ "2. Read the returned `search_id` and compact creator summaries. Do not expect full profile payloads by default.",
118
+ '3. Use `get_search_results` with `detail_level: "full"` only when a specific page of raw creator rows is explicitly needed.',
119
+ "4. Use `list_campaigns` or `create_campaign` to choose a `campaign_id`.",
120
+ "5. Call `save_search_results_to_campaign` with the `search_id`; the Product API imports server-side so the agent does not need to load every creator into context.",
121
+ "6. Call `list_campaign_creators` to review the saved campaign roster.",
122
+ "",
123
+ "Search tools return compact creator summaries by default to preserve context and avoid exposing raw fields unnecessarily.",
124
+ ].join("\n");
125
+ case "bulk-email-safety":
126
+ return [
127
+ "# Bulk Email Safety",
128
+ "",
129
+ "1. Call `list_campaign_creators` for the target campaign.",
130
+ "2. Call `check_bulk_email_readiness` with `recipient_target` set to exact campaign creator IDs or a narrowed selection filter.",
131
+ "3. Proceed only when the user has authorized the send and `sendable` is greater than zero.",
132
+ '4. Call `start_bulk_email` with an explicit `idempotency_key` and `send_confirmation: "user_authorized"`. start_bulk_email performs a real send.',
133
+ "5. Poll `get_bulk_email_job` with the returned `job_id` before taking follow-up action.",
134
+ "",
135
+ "`send_inbox_reply` also performs a real send. Keep warnings visible at the point of action.",
136
+ ].join("\n");
137
+ case "inbox":
138
+ return [
139
+ "# Inbox Workflow",
140
+ "",
141
+ "1. Call `list_inbox_threads` with filters such as platform, unread state, archive state, search text, or campaign/job identifiers.",
142
+ "2. Call `get_inbox_aggregates` when the user asks for counts by common inbox filters.",
143
+ "3. Use `update_inbox_thread_state` for archive, star, snooze, or read-state changes.",
144
+ "4. Use `send_inbox_reply` only when the user has authorized a real reply. Include a stable `idempotency_key`.",
145
+ ].join("\n");
146
+ }
147
+ }
148
+ function orderedList(items) {
149
+ return items.map((item, index) => `${index + 1}. ${item}`).join("\n");
150
+ }
151
+ function unorderedList(items) {
152
+ return items.map((item) => `- ${item}`).join("\n");
153
+ }
@@ -4,7 +4,7 @@ export type WorkspaceToolOptions = {
4
4
  readonly workspaceSelection?: CliWorkspaceSelection;
5
5
  };
6
6
  /** List workspaces through the Product API workspace route. */
7
- export declare function listAvailableWorkspaces(client: HyperstarClient): Promise<JsonObject>;
7
+ export declare function listAvailableWorkspaces(client: HyperstarClient, options?: WorkspaceToolOptions): Promise<JsonObject>;
8
8
  /** Persist a selected workspace after verifying the Product API lists it. */
9
9
  export declare function selectAvailableWorkspace(client: HyperstarClient, organizationId: string, options?: WorkspaceToolOptions): Promise<JsonObject>;
10
10
  /** Return the recommended Hyperstar agent workflow and send-safety notes. */
@@ -1,44 +1,16 @@
1
1
  import { WorkspaceListResponseSchema } from "./schemas.js";
2
- const CLI_WORKFLOW_SEQUENCE = [
3
- "list_workspaces",
4
- "select_workspace",
5
- "hyperstar_whoami",
6
- "search_creators",
7
- "list_campaigns or create_campaign",
8
- "save_search_results_to_campaign",
9
- "list_campaign_creators",
10
- "check_bulk_email_readiness",
11
- "WARNING: start_bulk_email and send_inbox_reply perform real sends.",
12
- ];
13
- const SERVICE_ACCOUNT_WORKFLOW_SEQUENCE = [
14
- "list_workspaces",
15
- "hyperstar_whoami",
16
- "search_creators",
17
- "list_campaigns or create_campaign",
18
- "save_search_results_to_campaign",
19
- "list_campaign_creators",
20
- "check_bulk_email_readiness",
21
- "WARNING: start_bulk_email and send_inbox_reply perform real sends.",
22
- ];
23
- const CLI_SAFETY_NOTES = [
24
- "Run list_workspaces and select_workspace before Product API calls that require workspace scope.",
25
- "Run hyperstar_whoami after selecting a workspace to confirm the authenticated principal.",
26
- "Run list_campaigns or create_campaign before save_search_results_to_campaign when the user has not supplied a campaign_id.",
27
- "check_bulk_email_readiness is the final dry-run gate before any bulk send.",
28
- "start_bulk_email and send_inbox_reply perform real sends.",
29
- ];
30
- const SERVICE_ACCOUNT_SAFETY_NOTES = [
31
- "Service-account auth is already workspace-scoped; select_workspace is only for local browser CLI auth.",
32
- "Run list_workspaces and hyperstar_whoami before workflow tools to confirm the authenticated workspace.",
33
- "Run list_campaigns or create_campaign before save_search_results_to_campaign when the user has not supplied a campaign_id.",
34
- "check_bulk_email_readiness is the final dry-run gate before any bulk send.",
35
- "start_bulk_email and send_inbox_reply perform real sends.",
36
- ];
2
+ import { workflowGuideJson } from "./workflow-content.js";
37
3
  /** List workspaces through the Product API workspace route. */
38
- export async function listAvailableWorkspaces(client) {
4
+ export async function listAvailableWorkspaces(client, options = {}) {
39
5
  const payload = WorkspaceListResponseSchema.parse(await client.get("/v1/workspaces"));
6
+ const isCliAuth = options.workspaceSelection !== undefined;
40
7
  return {
41
8
  workspaces: payload.workspaces.map(workspaceJson),
9
+ next_tool: isCliAuth ? "select_workspace" : "hyperstar_whoami",
10
+ ...(isCliAuth ? { next_required_arguments: ["organization_id"] } : {}),
11
+ agent_guidance: isCliAuth
12
+ ? "Call select_workspace with one returned organization_id, then call hyperstar_whoami."
13
+ : "Service-account auth is already workspace-scoped. Call hyperstar_whoami next.",
42
14
  };
43
15
  }
44
16
  /** Persist a selected workspace after verifying the Product API lists it. */
@@ -55,20 +27,16 @@ export async function selectAvailableWorkspace(client, organizationId, options =
55
27
  return {
56
28
  selected_organization_id: organizationId,
57
29
  workspace: workspaceJson(selected),
30
+ next_tool: "hyperstar_whoami",
31
+ agent_guidance: "Workspace selected. Call hyperstar_whoami next to confirm the authenticated principal and scopes before mutating data.",
58
32
  };
59
33
  }
60
34
  /** Return the recommended Hyperstar agent workflow and send-safety notes. */
61
35
  export function getHyperstarWorkflowGuide(options = {}) {
62
36
  if (options.workspaceSelection === undefined) {
63
- return {
64
- sequence: [...SERVICE_ACCOUNT_WORKFLOW_SEQUENCE],
65
- safety_notes: [...SERVICE_ACCOUNT_SAFETY_NOTES],
66
- };
37
+ return workflowGuideJson("service_account");
67
38
  }
68
- return {
69
- sequence: [...CLI_WORKFLOW_SEQUENCE],
70
- safety_notes: [...CLI_SAFETY_NOTES],
71
- };
39
+ return workflowGuideJson("cli");
72
40
  }
73
41
  /** Convert a parsed workspace into JSON without undefined optional fields. */
74
42
  function workspaceJson(workspace) {
@@ -78,4 +46,3 @@ function workspaceJson(workspace) {
78
46
  ...(workspace.role === undefined ? {} : { role: workspace.role }),
79
47
  };
80
48
  }
81
- //# sourceMappingURL=workspaces.js.map
package/package.json CHANGED
@@ -1,8 +1,29 @@
1
1
  {
2
2
  "name": "@hyperstar/mcp",
3
- "version": "0.1.6",
3
+ "version": "0.1.10",
4
4
  "type": "module",
5
5
  "license": "UNLICENSED",
6
+ "description": "Local stdio MCP server and CLI for Hyperstar headless workflows.",
7
+ "keywords": [
8
+ "hyperstar",
9
+ "mcp",
10
+ "model-context-protocol",
11
+ "creator-search",
12
+ "agent-tools"
13
+ ],
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+ssh://git@github.com/Hyperstar-org/backend.git",
17
+ "directory": "projects/hyperstar-mcp"
18
+ },
19
+ "main": "dist/server.js",
20
+ "types": "dist/server.d.ts",
21
+ "exports": {
22
+ ".": {
23
+ "types": "./dist/server.d.ts",
24
+ "import": "./dist/server.js"
25
+ }
26
+ },
6
27
  "publishConfig": {
7
28
  "access": "public"
8
29
  },
@@ -16,11 +37,13 @@
16
37
  "package.json"
17
38
  ],
18
39
  "scripts": {
19
- "build": "tsc -p tsconfig.json",
40
+ "clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
41
+ "build": "npm run clean && tsc -p tsconfig.json",
20
42
  "dev": "tsx src/index.ts",
21
43
  "format": "prettier --write .",
22
44
  "format:check": "prettier --check .",
23
45
  "prepack": "npm run build",
46
+ "smoke:dev": "npm run build && node scripts/dev-smoke.mjs",
24
47
  "test": "vitest run",
25
48
  "typecheck": "tsc -p tsconfig.json --noEmit"
26
49
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-auth-client.js","sourceRoot":"","sources":["../../src/auth/cli-auth-client.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-auth-state.js","sourceRoot":"","sources":["../../src/auth/cli-auth-state.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"local-callback.js","sourceRoot":"","sources":["../../src/auth/local-callback.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pkce.js","sourceRoot":"","sources":["../../src/auth/pkce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAOtD,8DAA8D;AAC9D,MAAM,UAAU,cAAc;IAC5B,MAAM,QAAQ,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC;SACnC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC;SACzB,MAAM,CAAC,WAAW,CAAC,CAAC;IACvB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,WAAW;IACzB,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC/C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"bulk-email-guidance.js","sourceRoot":"","sources":["../src/bulk-email-guidance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,2EAA2E;AAC3E,MAAM,UAAU,qBAAqB,CAAC,GAAe;IACnD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,iBAAiB,CAAC;QACvB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;QACtB,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC;QAC/C,CAAC,WAAW,EAAE,oBAAoB,CAAC;QACnC;YACE,gBAAgB;YAChB,KAAK,KAAK,SAAS;gBACjB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAE,EAAE,MAAM,EAAE,KAAK,EAAwB;SAC7C;QACD,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC;KAChD,CAAC,CAAC;AACL,CAAC;AAED,6EAA6E;AAC7E,SAAS,sBAAsB,CAAC,GAAe;IAC7C,IACE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,WAAW;QACvC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,EACvC,CAAC;QACD,OAAO,kLAAkL,CAAC;IAC5L,CAAC;IACD,OAAO,0HAA0H,CAAC;AACpI,CAAC;AAED,2EAA2E;AAC3E,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,mFAAmF;AACnF,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"campaign-creator-selection.js","sourceRoot":"","sources":["../src/campaign-creator-selection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAa3D,gFAAgF;AAChF,MAAM,UAAU,4BAA4B,CAC1C,SAA+C;IAE/C,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,iBAAiB,CAAC;QACvB,CAAC,iBAAiB,EAAE,SAAS,CAAC,eAAe,CAAC;QAC9C,CAAC,gBAAgB,EAAE,SAAS,CAAC,cAAc,CAAC;QAC5C,CAAC,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC;QAChC,CAAC,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC;QAC9B,CAAC,WAAW,EAAE,SAAS,CAAC,SAAS,CAAC;QAClC,CAAC,aAAa,EAAE,SAAS,CAAC,WAAW,CAAC;QACtC,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC;QAC5B,CAAC,cAAc,EAAE,SAAS,CAAC,YAAY,CAAC;KACzC,CAAC,CAAC;AACL,CAAC"}