@oneshot-agent/mcp-server 0.36.0 → 0.38.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/README.md +19 -15
- package/dist/index.js +1 -1
- package/dist/tools/annotations.js +12 -12
- package/dist/tools/commerce.d.ts +2 -2
- package/dist/tools/commerce.js +5 -5
- package/dist/tools/company.d.ts +4 -4
- package/dist/tools/company.js +8 -8
- package/dist/tools/enrichment.d.ts +6 -6
- package/dist/tools/enrichment.js +15 -13
- package/dist/tools/index.js +29 -29
- package/dist/tools/linkedin.js +2 -2
- package/dist/tools/local.js +1 -1
- package/dist/tools/lookup-manifest.generated.js +284 -96
- package/dist/tools/nyne.d.ts +11 -11
- package/dist/tools/nyne.js +25 -23
- package/dist/tools/people.d.ts +2 -2
- package/dist/tools/people.js +7 -5
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -169,12 +169,12 @@ Soul Hunt is a separate service (`api.soulhunt.ai`) from the main OneShot API; t
|
|
|
169
169
|
| Tool | Description |
|
|
170
170
|
|------|-------------|
|
|
171
171
|
| `oneshot_research` | Deep web research with sources |
|
|
172
|
-
| `
|
|
173
|
-
| `
|
|
174
|
-
| `
|
|
175
|
-
| `
|
|
176
|
-
| `
|
|
177
|
-
| `
|
|
172
|
+
| `oneshot_person_find` | Search for people by title, company, etc. |
|
|
173
|
+
| `oneshot_person_profile` | Enrich person profile from LinkedIn/email |
|
|
174
|
+
| `oneshot_person_email` | Find someone's email address |
|
|
175
|
+
| `oneshot_person_email_status` | Verify email deliverability |
|
|
176
|
+
| `oneshot_company_find` | Search for companies by industry, size, location, etc. |
|
|
177
|
+
| `oneshot_company_profile` | Enrich a company from domain, name, LinkedIn, or ticker |
|
|
178
178
|
| `oneshot_business_find` | Discover local businesses (restaurants, contractors, practices) by category × location |
|
|
179
179
|
| `oneshot_business_resolve` | Business name + address → website domain, phone, status, confidence |
|
|
180
180
|
| `oneshot_record_solicitations_find` | Federal Sources Sought / Presolicitation notices by NAICS with the contracting officer's contact |
|
|
@@ -183,12 +183,12 @@ Soul Hunt is a separate service (`api.soulhunt.ai`) from the main OneShot API; t
|
|
|
183
183
|
|
|
184
184
|
| Tool | Description |
|
|
185
185
|
|------|-------------|
|
|
186
|
-
| `
|
|
187
|
-
| `
|
|
188
|
-
| `
|
|
189
|
-
| `
|
|
186
|
+
| `oneshot_person_dossier` | A person’s profile, known social accounts, articles, posts and written summary |
|
|
187
|
+
| `oneshot_person_social_accounts` | Find all social accounts for a person |
|
|
188
|
+
| `oneshot_person_articles` | Find articles about a person |
|
|
189
|
+
| `oneshot_person_posts` | Recent social posts with engagement |
|
|
190
190
|
| `oneshot_person_interests` | Analyze interests across categories |
|
|
191
|
-
| `
|
|
191
|
+
| `oneshot_person_followers` | Map followers, following, replies |
|
|
192
192
|
|
|
193
193
|
### Web
|
|
194
194
|
|
|
@@ -202,7 +202,7 @@ Soul Hunt is a separate service (`api.soulhunt.ai`) from the main OneShot API; t
|
|
|
202
202
|
|
|
203
203
|
| Tool | Description |
|
|
204
204
|
|------|-------------|
|
|
205
|
-
| `
|
|
205
|
+
| `oneshot_product_find` | Search for products |
|
|
206
206
|
| `oneshot_commerce_buy` | Purchase products |
|
|
207
207
|
|
|
208
208
|
### Build
|
|
@@ -298,7 +298,7 @@ Use oneshot_research:
|
|
|
298
298
|
### Search for People
|
|
299
299
|
|
|
300
300
|
```
|
|
301
|
-
Use
|
|
301
|
+
Use oneshot_person_find:
|
|
302
302
|
- job_titles: ["CTO", "VP Engineering"]
|
|
303
303
|
- companies: ["Stripe", "Square"]
|
|
304
304
|
- location: ["San Francisco"]
|
|
@@ -308,7 +308,7 @@ Use oneshot_people_search:
|
|
|
308
308
|
### Find Someone's Email
|
|
309
309
|
|
|
310
310
|
```
|
|
311
|
-
Use
|
|
311
|
+
Use oneshot_person_email:
|
|
312
312
|
- first_name: "John"
|
|
313
313
|
- last_name: "Smith"
|
|
314
314
|
- company_domain: "example.com"
|
|
@@ -350,7 +350,7 @@ Send USDC to your agent's wallet address on Base. The server runs on Base Mainne
|
|
|
350
350
|
|
|
351
351
|
## LinkedIn connection recovery
|
|
352
352
|
|
|
353
|
-
If the active account list is empty or an account is `
|
|
353
|
+
If the active account list is empty or an account is `connection_deleted` or
|
|
354
354
|
`revoked`, ask the human to use `oneshot_linkedin_connect` and authorize fresh
|
|
355
355
|
grants. An existing account with `reconnect_required` must be reconnected through
|
|
356
356
|
the owning application. Reconnect and revoke are deliberately not agent tools.
|
|
@@ -365,3 +365,7 @@ timeouts.
|
|
|
365
365
|
- [Python SDK (LangChain)](https://pypi.org/project/langchain-oneshot/)
|
|
366
366
|
- [Python SDK (Core)](https://pypi.org/project/oneshot-python/)
|
|
367
367
|
- [GitHub](https://github.com/oneshot-agent/sdk)
|
|
368
|
+
|
|
369
|
+
## Optional phone lookup
|
|
370
|
+
|
|
371
|
+
`person_find`, `person_profile`, and `person_dossier` accept `include_phone`, off by default. It adds $0.10 × the requested search limit (default 100 → $10), or $0.10 for profile/dossier, for up to that many people with no promised hit. Existing source numbers and published business or record numbers remain available without opting in. Fallbacks and callbacks cost nothing extra; a completed no-match is charged and a failed job is refunded. Use a boolean `true` / `false`. The full quote is checked before payment.
|
package/dist/index.js
CHANGED
|
@@ -50,7 +50,7 @@ async function main() {
|
|
|
50
50
|
const agent = await initAgent();
|
|
51
51
|
const server = new Server({
|
|
52
52
|
name: "oneshot-mcp",
|
|
53
|
-
version: "0.
|
|
53
|
+
version: "0.38.0", // keep in sync with package.json; guarded by version.test.ts
|
|
54
54
|
}, {
|
|
55
55
|
capabilities: {
|
|
56
56
|
tools: {},
|
|
@@ -25,23 +25,23 @@ export const TOOL_ANNOTATIONS = {
|
|
|
25
25
|
oneshot_voice_inbound_disable: write("Stop answering calls", OPEN),
|
|
26
26
|
oneshot_voice_inbound_calls: read("List answered calls", OWN),
|
|
27
27
|
oneshot_research: read("Deep research", OPEN),
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
oneshot_person_find: read("Find people", OPEN),
|
|
29
|
+
oneshot_person_profile: read("Look up a person's profile", OPEN),
|
|
30
|
+
oneshot_person_email: read("Find a work email", OPEN),
|
|
31
|
+
oneshot_person_email_status: read("Verify an email address", OPEN),
|
|
32
32
|
oneshot_web_search: read("Web search", OPEN),
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
oneshot_person_dossier: read("Research a person", OPEN),
|
|
34
|
+
oneshot_person_social_accounts: read("Find social profiles", OPEN),
|
|
35
|
+
oneshot_person_articles: read("Find articles about a person", OPEN),
|
|
36
|
+
oneshot_person_posts: read("Get a person's recent posts", OPEN),
|
|
37
37
|
oneshot_person_interests: read("Summarize a person's interests", OPEN),
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
oneshot_person_followers: read("Find a person's interactions", OPEN),
|
|
39
|
+
oneshot_company_find: read("Find companies", OPEN),
|
|
40
|
+
oneshot_company_profile: read("Look up a company", OPEN),
|
|
41
41
|
oneshot_business_find: read("Find local businesses", OPEN),
|
|
42
42
|
oneshot_business_resolve: read("Look up a local business", OPEN),
|
|
43
43
|
oneshot_record_solicitations_find: read("Find government contracts", OPEN),
|
|
44
|
-
|
|
44
|
+
oneshot_product_find: read("Search products", OPEN),
|
|
45
45
|
oneshot_commerce_buy: write("Buy a product", OPEN),
|
|
46
46
|
oneshot_compute: write("Start a goal", OPEN),
|
|
47
47
|
oneshot_compute_status: read("Check a goal", OWN),
|
package/dist/tools/commerce.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
2
2
|
import type { OneShot } from "@oneshot-agent/sdk";
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const productFindTool: Tool;
|
|
4
4
|
export declare const commerceBuyTool: Tool;
|
|
5
|
-
export declare function
|
|
5
|
+
export declare function handleProductFind(agent: OneShot, args: Record<string, unknown>): Promise<import("@oneshot-agent/sdk").ProductFindResult>;
|
|
6
6
|
export declare function handleCommerceBuy(agent: OneShot, args: Record<string, unknown>): Promise<import("@oneshot-agent/sdk").CommerceBuyResult>;
|
package/dist/tools/commerce.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export const
|
|
2
|
-
name: "
|
|
3
|
-
description: "Search for products to purchase.
|
|
1
|
+
export const productFindTool = {
|
|
2
|
+
name: "oneshot_product_find",
|
|
3
|
+
description: "Search for products to purchase. Each search is paid, separately from buying.",
|
|
4
4
|
inputSchema: {
|
|
5
5
|
type: "object",
|
|
6
6
|
properties: {
|
|
@@ -58,8 +58,8 @@ export const commerceBuyTool = {
|
|
|
58
58
|
required: ["product_url", "shipping_address"],
|
|
59
59
|
},
|
|
60
60
|
};
|
|
61
|
-
export async function
|
|
62
|
-
return agent.
|
|
61
|
+
export async function handleProductFind(agent, args) {
|
|
62
|
+
return agent.productFind({
|
|
63
63
|
query: args.query,
|
|
64
64
|
limit: args.limit,
|
|
65
65
|
});
|
package/dist/tools/company.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
2
2
|
import type { OneShot } from "@oneshot-agent/sdk";
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function
|
|
3
|
+
export declare const companyFindTool: Tool;
|
|
4
|
+
export declare const companyProfileTool: Tool;
|
|
5
|
+
export declare function handleCompanyFind(agent: OneShot, args: Record<string, unknown>): Promise<import("@oneshot-agent/sdk").CompanyFindResult>;
|
|
6
|
+
export declare function handleCompanyProfile(agent: OneShot, args: Record<string, unknown>): Promise<import("@oneshot-agent/sdk").CompanyProfileResult>;
|
package/dist/tools/company.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export const
|
|
2
|
-
name: "
|
|
1
|
+
export const companyFindTool = {
|
|
2
|
+
name: "oneshot_company_find",
|
|
3
3
|
description: "Search for companies by name, domain, industry, location, size, funding stage, or tags. Paid tool.",
|
|
4
4
|
inputSchema: {
|
|
5
5
|
type: "object",
|
|
@@ -17,8 +17,8 @@ export const companySearchTool = {
|
|
|
17
17
|
},
|
|
18
18
|
},
|
|
19
19
|
};
|
|
20
|
-
export const
|
|
21
|
-
name: "
|
|
20
|
+
export const companyProfileTool = {
|
|
21
|
+
name: "oneshot_company_profile",
|
|
22
22
|
description: "Enrich a company from its domain, name, LinkedIn URL, or stock ticker. At least one identifier is required. Paid tool.",
|
|
23
23
|
inputSchema: {
|
|
24
24
|
type: "object",
|
|
@@ -30,8 +30,8 @@ export const enrichCompanyTool = {
|
|
|
30
30
|
},
|
|
31
31
|
},
|
|
32
32
|
};
|
|
33
|
-
export async function
|
|
34
|
-
return agent.
|
|
33
|
+
export async function handleCompanyFind(agent, args) {
|
|
34
|
+
return agent.companyFind({
|
|
35
35
|
name: args.name,
|
|
36
36
|
domain: args.domain,
|
|
37
37
|
industry: args.industry,
|
|
@@ -44,8 +44,8 @@ export async function handleCompanySearch(agent, args) {
|
|
|
44
44
|
limit: args.limit,
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
|
-
export async function
|
|
48
|
-
return agent.
|
|
47
|
+
export async function handleCompanyProfile(agent, args) {
|
|
48
|
+
return agent.companyProfile({
|
|
49
49
|
domain: args.domain,
|
|
50
50
|
name: args.name,
|
|
51
51
|
linkedin_url: args.linkedin_url,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
2
2
|
import type { OneShot } from "@oneshot-agent/sdk";
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
5
|
-
export declare const
|
|
6
|
-
export declare function
|
|
7
|
-
export declare function
|
|
8
|
-
export declare function
|
|
3
|
+
export declare const personProfileTool: Tool;
|
|
4
|
+
export declare const personEmailTool: Tool;
|
|
5
|
+
export declare const personEmailStatusTool: Tool;
|
|
6
|
+
export declare function handlePersonProfile(agent: OneShot, args: Record<string, unknown>): Promise<import("@oneshot-agent/sdk").PersonProfileResult>;
|
|
7
|
+
export declare function handlePersonEmail(agent: OneShot, args: Record<string, unknown>): Promise<import("@oneshot-agent/sdk").PersonEmailResult>;
|
|
8
|
+
export declare function handlePersonEmailStatus(agent: OneShot, args: Record<string, unknown>): Promise<import("@oneshot-agent/sdk").PersonEmailStatusResult>;
|
package/dist/tools/enrichment.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
export const
|
|
2
|
-
name: "
|
|
3
|
-
description: "Enrich a person's profile from LinkedIn URL, email, or name. Returns job title, company, social links, etc. Paid tool.",
|
|
1
|
+
export const personProfileTool = {
|
|
2
|
+
name: "oneshot_person_profile",
|
|
3
|
+
description: "Enrich a person's profile from LinkedIn URL, email, or name. Returns job title, company, social links, etc. Paid tool. Phone lookup is off by default. include_phone=true buys a lookup for up to one person at the add-on listed on the pricing page; no phone hit is guaranteed.",
|
|
4
4
|
inputSchema: {
|
|
5
5
|
type: "object",
|
|
6
6
|
properties: {
|
|
7
|
+
include_phone: { type: "boolean", default: false, description: "Phone lookup is off by default. include_phone=true buys a lookup for up to one person at the add-on listed on the pricing page; no phone hit is guaranteed." },
|
|
7
8
|
linkedin_url: {
|
|
8
9
|
type: "string",
|
|
9
10
|
description: "LinkedIn profile URL",
|
|
@@ -23,8 +24,8 @@ export const enrichProfileTool = {
|
|
|
23
24
|
},
|
|
24
25
|
},
|
|
25
26
|
};
|
|
26
|
-
export const
|
|
27
|
-
name: "
|
|
27
|
+
export const personEmailTool = {
|
|
28
|
+
name: "oneshot_person_email",
|
|
28
29
|
description: "Find email address for a person at a company. Paid tool.",
|
|
29
30
|
inputSchema: {
|
|
30
31
|
type: "object",
|
|
@@ -49,8 +50,8 @@ export const findEmailTool = {
|
|
|
49
50
|
required: ["company_domain"],
|
|
50
51
|
},
|
|
51
52
|
};
|
|
52
|
-
export const
|
|
53
|
-
name: "
|
|
53
|
+
export const personEmailStatusTool = {
|
|
54
|
+
name: "oneshot_person_email_status",
|
|
54
55
|
description: "Verify if an email address is valid and deliverable. Paid tool.",
|
|
55
56
|
inputSchema: {
|
|
56
57
|
type: "object",
|
|
@@ -63,24 +64,25 @@ export const verifyEmailTool = {
|
|
|
63
64
|
required: ["email"],
|
|
64
65
|
},
|
|
65
66
|
};
|
|
66
|
-
export async function
|
|
67
|
-
return agent.
|
|
67
|
+
export async function handlePersonProfile(agent, args) {
|
|
68
|
+
return agent.personProfile({
|
|
69
|
+
includePhone: args.include_phone,
|
|
68
70
|
linkedin_url: args.linkedin_url,
|
|
69
71
|
email: args.email,
|
|
70
72
|
name: args.name,
|
|
71
73
|
company_domain: args.company_domain,
|
|
72
74
|
});
|
|
73
75
|
}
|
|
74
|
-
export async function
|
|
75
|
-
return agent.
|
|
76
|
+
export async function handlePersonEmail(agent, args) {
|
|
77
|
+
return agent.personEmail({
|
|
76
78
|
full_name: args.full_name,
|
|
77
79
|
first_name: args.first_name,
|
|
78
80
|
last_name: args.last_name,
|
|
79
81
|
company_domain: args.company_domain,
|
|
80
82
|
});
|
|
81
83
|
}
|
|
82
|
-
export async function
|
|
83
|
-
return agent.
|
|
84
|
+
export async function handlePersonEmailStatus(agent, args) {
|
|
85
|
+
return agent.personEmailStatus({
|
|
84
86
|
email: args.email,
|
|
85
87
|
});
|
|
86
88
|
}
|
package/dist/tools/index.js
CHANGED
|
@@ -3,9 +3,9 @@ import { voiceTool, handleVoice } from "./voice.js";
|
|
|
3
3
|
import { voiceNumberProvisionTool, voiceNumbersTool, voiceInboundSetTool, voiceInboundDisableTool, voiceInboundCallsTool, handleVoiceNumberProvision, handleVoiceNumbers, handleVoiceInboundSet, handleVoiceInboundDisable, handleVoiceInboundCalls, } from "./voice-inbound.js";
|
|
4
4
|
import { smsTool, handleSms } from "./sms.js";
|
|
5
5
|
import { researchTool, handleResearch } from "./research.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
6
|
+
import { personFindTool, handlePersonFind } from "./people.js";
|
|
7
|
+
import { productFindTool, commerceBuyTool, handleProductFind, handleCommerceBuy } from "./commerce.js";
|
|
8
|
+
import { personProfileTool, personEmailTool, personEmailStatusTool, handlePersonProfile, handlePersonEmail, handlePersonEmailStatus } from "./enrichment.js";
|
|
9
9
|
import { inboxListTool, inboxGetTool, handleInboxList, handleInboxGet } from "./inbox.js";
|
|
10
10
|
import { smsInboxListTool, smsInboxGetTool, handleSmsInboxList, handleSmsInboxGet } from "./sms-inbox.js";
|
|
11
11
|
import { notificationsTool, markReadTool, handleNotifications, handleMarkRead } from "./notifications.js";
|
|
@@ -15,8 +15,8 @@ import { buildTool, updateBuildTool, handleBuild, handleUpdateBuild } from "./bu
|
|
|
15
15
|
import { browserTool, browserCreateProfileTool, browserListProfilesTool, browserDeleteProfileTool, handleBrowser, handleBrowserCreateProfile, handleBrowserListProfiles, handleBrowserDeleteProfile } from "./browser.js";
|
|
16
16
|
import { webSearchTool, handleWebSearch } from "./search.js";
|
|
17
17
|
import { webReadTool, handleWebRead } from "./web-read.js";
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
18
|
+
import { personDossierTool, personSocialAccountsTool, personArticlesTool, personPostsTool, personInterestsTool, personFollowersTool, handlePersonDossier, handlePersonSocialAccounts, handlePersonArticles, handlePersonPosts, handlePersonInterests, handlePersonFollowers } from "./nyne.js";
|
|
19
|
+
import { companyFindTool, companyProfileTool, handleCompanyFind, handleCompanyProfile } from "./company.js";
|
|
20
20
|
import { businessFindTool, businessResolveTool, handleBusinessFind, handleBusinessResolve } from "./local.js";
|
|
21
21
|
import { recordSolicitationsFindTool, handleRecordSolicitationsFind } from "./gov.js";
|
|
22
22
|
import { linkedinConnectTool, linkedinAccountsTool, linkedinSyncTool, linkedinConversationsTool, linkedinMessagesTool, linkedinReplyTool, linkedinViewProfileTool, linkedinReactTool, linkedinInviteTool, linkedinWithdrawInvitationTool, linkedinMessageTool, linkedinInvitationTool, linkedinInvitationsTool, handleLinkedinConnect, handleLinkedinAccounts, handleLinkedinSync, handleLinkedinConversations, handleLinkedinMessages, handleLinkedinReply, handleLinkedinViewProfile, handleLinkedinReact, handleLinkedinInvite, handleLinkedinWithdrawInvitation, handleLinkedinMessage, handleLinkedinInvitation, handleLinkedinInvitations, } from "./linkedin.js";
|
|
@@ -40,23 +40,23 @@ const toolDefinitions = [
|
|
|
40
40
|
voiceInboundDisableTool,
|
|
41
41
|
voiceInboundCallsTool,
|
|
42
42
|
researchTool,
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
personFindTool,
|
|
44
|
+
personProfileTool,
|
|
45
|
+
personEmailTool,
|
|
46
|
+
personEmailStatusTool,
|
|
47
47
|
webSearchTool,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
personDossierTool,
|
|
49
|
+
personSocialAccountsTool,
|
|
50
|
+
personArticlesTool,
|
|
51
|
+
personPostsTool,
|
|
52
52
|
personInterestsTool,
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
personFollowersTool,
|
|
54
|
+
companyFindTool,
|
|
55
|
+
companyProfileTool,
|
|
56
56
|
businessFindTool,
|
|
57
57
|
businessResolveTool,
|
|
58
58
|
recordSolicitationsFindTool,
|
|
59
|
-
|
|
59
|
+
productFindTool,
|
|
60
60
|
commerceBuyTool,
|
|
61
61
|
computeTool,
|
|
62
62
|
computeStatusTool,
|
|
@@ -130,23 +130,23 @@ const handlers = {
|
|
|
130
130
|
"oneshot_voice_inbound_disable": handleVoiceInboundDisable,
|
|
131
131
|
"oneshot_voice_inbound_calls": handleVoiceInboundCalls,
|
|
132
132
|
"oneshot_research": handleResearch,
|
|
133
|
-
"
|
|
134
|
-
"
|
|
135
|
-
"
|
|
136
|
-
"
|
|
133
|
+
"oneshot_person_find": handlePersonFind,
|
|
134
|
+
"oneshot_person_profile": handlePersonProfile,
|
|
135
|
+
"oneshot_person_email": handlePersonEmail,
|
|
136
|
+
"oneshot_person_email_status": handlePersonEmailStatus,
|
|
137
137
|
"oneshot_web_search": handleWebSearch,
|
|
138
|
-
"
|
|
139
|
-
"
|
|
140
|
-
"
|
|
141
|
-
"
|
|
138
|
+
"oneshot_person_dossier": handlePersonDossier,
|
|
139
|
+
"oneshot_person_social_accounts": handlePersonSocialAccounts,
|
|
140
|
+
"oneshot_person_articles": handlePersonArticles,
|
|
141
|
+
"oneshot_person_posts": handlePersonPosts,
|
|
142
142
|
"oneshot_person_interests": handlePersonInterests,
|
|
143
|
-
"
|
|
144
|
-
"
|
|
145
|
-
"
|
|
143
|
+
"oneshot_person_followers": handlePersonFollowers,
|
|
144
|
+
"oneshot_company_find": handleCompanyFind,
|
|
145
|
+
"oneshot_company_profile": handleCompanyProfile,
|
|
146
146
|
"oneshot_business_find": handleBusinessFind,
|
|
147
147
|
"oneshot_business_resolve": handleBusinessResolve,
|
|
148
148
|
"oneshot_record_solicitations_find": handleRecordSolicitationsFind,
|
|
149
|
-
"
|
|
149
|
+
"oneshot_product_find": handleProductFind,
|
|
150
150
|
"oneshot_commerce_buy": handleCommerceBuy,
|
|
151
151
|
"oneshot_compute": handleCompute,
|
|
152
152
|
"oneshot_compute_status": handleComputeStatus,
|
package/dist/tools/linkedin.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
const GRANT_ACTIONS = ["read", "reply", "view_profile", "react", "invite", "comment"];
|
|
8
8
|
export const linkedinConnectTool = {
|
|
9
9
|
name: "oneshot_linkedin_connect",
|
|
10
|
-
description: "Create a hosted LinkedIn login link for a human to connect THEIR OWN LinkedIn account to this agent, granting specific actions (read, reply, view_profile, react, invite). Returns intent_id + url (show the url to the human; it expires in 30 minutes; never embed it in an iframe). Poll oneshot_linkedin_accounts with the intent_id afterwards. Free tool. If no active account exists, or status is
|
|
10
|
+
description: "Create a hosted LinkedIn login link for a human to connect THEIR OWN LinkedIn account to this agent, granting specific actions (read, reply, view_profile, react, invite). Returns intent_id + url (show the url to the human; it expires in 30 minutes; never embed it in an iframe). Poll oneshot_linkedin_accounts with the intent_id afterwards. Free tool. If no active account exists, or status is connection_deleted/revoked, ask the human to connect again with oneshot_linkedin_connect and choose grants anew. reconnect_required applies only to an existing connection; reconnect is managed by the owning application.",
|
|
11
11
|
inputSchema: {
|
|
12
12
|
type: "object",
|
|
13
13
|
properties: {
|
|
@@ -20,7 +20,7 @@ export const linkedinConnectTool = {
|
|
|
20
20
|
};
|
|
21
21
|
export const linkedinAccountsTool = {
|
|
22
22
|
name: "oneshot_linkedin_accounts",
|
|
23
|
-
description: "List the LinkedIn accounts connected to this agent (status, granted actions, sync coverage), or, with intent_id, check a pending connection from oneshot_linkedin_connect (pending → completed with the account, or failed with a reason). Free tool. If no active account exists, or status is
|
|
23
|
+
description: "List the LinkedIn accounts connected to this agent (status, granted actions, sync coverage), or, with intent_id, check a pending connection from oneshot_linkedin_connect (pending → completed with the account, or failed with a reason). Free tool. If no active account exists, or status is connection_deleted/revoked, ask the human to connect again with oneshot_linkedin_connect and choose grants anew. reconnect_required applies only to an existing connection; reconnect is managed by the owning application.",
|
|
24
24
|
inputSchema: {
|
|
25
25
|
type: "object",
|
|
26
26
|
properties: {
|
package/dist/tools/local.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export const businessFindTool = {
|
|
2
2
|
name: "oneshot_business_find",
|
|
3
|
-
description: "Discover local main-street businesses (restaurants, contractors, dental practices, auto shops) by category or keywords in a location. Use this instead of
|
|
3
|
+
description: "Discover local main-street businesses (restaurants, contractors, dental practices, auto shops) by category or keywords in a location. Use this instead of person_find for independent local businesses. Flat price per search. Paid tool.",
|
|
4
4
|
inputSchema: {
|
|
5
5
|
type: "object",
|
|
6
6
|
properties: {
|