@rnsk/toolkits 0.0.9 → 0.0.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 (132) hide show
  1. package/README.md +7 -1
  2. package/dist/index.d.ts +7 -1
  3. package/dist/index.js +13 -1
  4. package/dist/toolkits/hacker-news/icon.d.ts +5 -0
  5. package/dist/toolkits/hacker-news/icon.js +9 -0
  6. package/dist/toolkits/hacker-news/manifest.d.ts +3 -0
  7. package/dist/toolkits/hacker-news/manifest.js +25 -0
  8. package/dist/toolkits/hacker-news/tools/client.d.ts +8 -0
  9. package/dist/toolkits/hacker-news/tools/client.js +51 -0
  10. package/dist/toolkits/hacker-news/tools/index.d.ts +89 -0
  11. package/dist/toolkits/hacker-news/tools/index.js +22 -0
  12. package/dist/toolkits/hacker-news/tools/items.d.ts +42 -0
  13. package/dist/toolkits/hacker-news/tools/items.js +126 -0
  14. package/dist/toolkits/hacker-news/tools/search.d.ts +12 -0
  15. package/dist/toolkits/hacker-news/tools/search.js +40 -0
  16. package/dist/toolkits/hacker-news/tools/stories.d.ts +25 -0
  17. package/dist/toolkits/hacker-news/tools/stories.js +98 -0
  18. package/dist/toolkits/hostinger/icon.d.ts +5 -0
  19. package/dist/toolkits/hostinger/icon.js +6 -0
  20. package/dist/toolkits/hostinger/manifest.d.ts +3 -0
  21. package/dist/toolkits/hostinger/manifest.js +36 -0
  22. package/dist/toolkits/hostinger/tools/billing.d.ts +12 -0
  23. package/dist/toolkits/hostinger/tools/billing.js +35 -0
  24. package/dist/toolkits/hostinger/tools/client.d.ts +6 -0
  25. package/dist/toolkits/hostinger/tools/client.js +57 -0
  26. package/dist/toolkits/hostinger/tools/dns.d.ts +22 -0
  27. package/dist/toolkits/hostinger/tools/dns.js +47 -0
  28. package/dist/toolkits/hostinger/tools/domains.d.ts +21 -0
  29. package/dist/toolkits/hostinger/tools/domains.js +62 -0
  30. package/dist/toolkits/hostinger/tools/hosting.d.ts +17 -0
  31. package/dist/toolkits/hostinger/tools/hosting.js +38 -0
  32. package/dist/toolkits/hostinger/tools/index.d.ts +179 -0
  33. package/dist/toolkits/hostinger/tools/index.js +35 -0
  34. package/dist/toolkits/hostinger/tools/vps.d.ts +27 -0
  35. package/dist/toolkits/hostinger/tools/vps.js +77 -0
  36. package/dist/toolkits/hostinger/tools/whois.d.ts +33 -0
  37. package/dist/toolkits/hostinger/tools/whois.js +85 -0
  38. package/dist/toolkits/hugging-face/icon.d.ts +5 -0
  39. package/dist/toolkits/hugging-face/icon.js +6 -0
  40. package/dist/toolkits/hugging-face/manifest.d.ts +3 -0
  41. package/dist/toolkits/hugging-face/manifest.js +42 -0
  42. package/dist/toolkits/hugging-face/tools/client.d.ts +93 -0
  43. package/dist/toolkits/hugging-face/tools/client.js +192 -0
  44. package/dist/toolkits/hugging-face/tools/datasets-viewer.d.ts +65 -0
  45. package/dist/toolkits/hugging-face/tools/datasets-viewer.js +150 -0
  46. package/dist/toolkits/hugging-face/tools/datasets.d.ts +160 -0
  47. package/dist/toolkits/hugging-face/tools/datasets.js +383 -0
  48. package/dist/toolkits/hugging-face/tools/discussions.d.ts +68 -0
  49. package/dist/toolkits/hugging-face/tools/discussions.js +144 -0
  50. package/dist/toolkits/hugging-face/tools/index.d.ts +523 -0
  51. package/dist/toolkits/hugging-face/tools/index.js +163 -0
  52. package/dist/toolkits/hugging-face/tools/inference.d.ts +42 -0
  53. package/dist/toolkits/hugging-face/tools/inference.js +86 -0
  54. package/dist/toolkits/hugging-face/tools/models.d.ts +117 -0
  55. package/dist/toolkits/hugging-face/tools/models.js +273 -0
  56. package/dist/toolkits/hugging-face/tools/papers.d.ts +37 -0
  57. package/dist/toolkits/hugging-face/tools/papers.js +91 -0
  58. package/dist/toolkits/hugging-face/tools/repos.d.ts +96 -0
  59. package/dist/toolkits/hugging-face/tools/repos.js +201 -0
  60. package/dist/toolkits/hugging-face/tools/settings.d.ts +53 -0
  61. package/dist/toolkits/hugging-face/tools/settings.js +88 -0
  62. package/dist/toolkits/hugging-face/tools/spaces.d.ts +245 -0
  63. package/dist/toolkits/hugging-face/tools/spaces.js +468 -0
  64. package/dist/toolkits/hugging-face/tools/sql.d.ts +21 -0
  65. package/dist/toolkits/hugging-face/tools/sql.js +47 -0
  66. package/dist/toolkits/hugging-face/tools/users.d.ts +60 -0
  67. package/dist/toolkits/hugging-face/tools/users.js +132 -0
  68. package/dist/toolkits/hugging-face/tools/webhooks.d.ts +35 -0
  69. package/dist/toolkits/hugging-face/tools/webhooks.js +87 -0
  70. package/dist/toolkits/jira/icon.d.ts +5 -0
  71. package/dist/toolkits/jira/icon.js +6 -0
  72. package/dist/toolkits/jira/manifest.d.ts +3 -0
  73. package/dist/toolkits/jira/manifest.js +53 -0
  74. package/dist/toolkits/jira/tools/boards.d.ts +52 -0
  75. package/dist/toolkits/jira/tools/boards.js +104 -0
  76. package/dist/toolkits/jira/tools/client.d.ts +23 -0
  77. package/dist/toolkits/jira/tools/client.js +270 -0
  78. package/dist/toolkits/jira/tools/index.d.ts +1280 -0
  79. package/dist/toolkits/jira/tools/index.js +119 -0
  80. package/dist/toolkits/jira/tools/issue-fields.d.ts +10 -0
  81. package/dist/toolkits/jira/tools/issue-fields.js +111 -0
  82. package/dist/toolkits/jira/tools/issues.d.ts +304 -0
  83. package/dist/toolkits/jira/tools/issues.js +593 -0
  84. package/dist/toolkits/jira/tools/meta.d.ts +212 -0
  85. package/dist/toolkits/jira/tools/meta.js +369 -0
  86. package/dist/toolkits/jira/tools/projects.d.ts +130 -0
  87. package/dist/toolkits/jira/tools/projects.js +263 -0
  88. package/dist/toolkits/jira/tools/search.d.ts +90 -0
  89. package/dist/toolkits/jira/tools/search.js +181 -0
  90. package/dist/toolkits/jira/tools/users.d.ts +114 -0
  91. package/dist/toolkits/jira/tools/users.js +221 -0
  92. package/dist/toolkits/neo4j/icon.d.ts +5 -0
  93. package/dist/toolkits/neo4j/icon.js +6 -0
  94. package/dist/toolkits/neo4j/manifest.d.ts +3 -0
  95. package/dist/toolkits/neo4j/manifest.js +33 -0
  96. package/dist/toolkits/neo4j/tools/analytics.d.ts +21 -0
  97. package/dist/toolkits/neo4j/tools/analytics.js +91 -0
  98. package/dist/toolkits/neo4j/tools/client.d.ts +6 -0
  99. package/dist/toolkits/neo4j/tools/client.js +105 -0
  100. package/dist/toolkits/neo4j/tools/index.d.ts +198 -0
  101. package/dist/toolkits/neo4j/tools/index.js +30 -0
  102. package/dist/toolkits/neo4j/tools/instances.d.ts +47 -0
  103. package/dist/toolkits/neo4j/tools/instances.js +127 -0
  104. package/dist/toolkits/neo4j/tools/projects.d.ts +44 -0
  105. package/dist/toolkits/neo4j/tools/projects.js +110 -0
  106. package/dist/toolkits/neo4j/tools/snapshots.d.ts +20 -0
  107. package/dist/toolkits/neo4j/tools/snapshots.js +57 -0
  108. package/dist/toolkits/neon/icon.d.ts +5 -0
  109. package/dist/toolkits/neon/icon.js +8 -0
  110. package/dist/toolkits/neon/manifest.d.ts +3 -0
  111. package/dist/toolkits/neon/manifest.js +36 -0
  112. package/dist/toolkits/neon/tools/auth.d.ts +115 -0
  113. package/dist/toolkits/neon/tools/auth.js +286 -0
  114. package/dist/toolkits/neon/tools/branches.d.ts +189 -0
  115. package/dist/toolkits/neon/tools/branches.js +465 -0
  116. package/dist/toolkits/neon/tools/client.d.ts +10 -0
  117. package/dist/toolkits/neon/tools/client.js +69 -0
  118. package/dist/toolkits/neon/tools/dataapi.d.ts +42 -0
  119. package/dist/toolkits/neon/tools/dataapi.js +111 -0
  120. package/dist/toolkits/neon/tools/endpoints.d.ts +59 -0
  121. package/dist/toolkits/neon/tools/endpoints.js +163 -0
  122. package/dist/toolkits/neon/tools/index.d.ts +976 -0
  123. package/dist/toolkits/neon/tools/index.js +130 -0
  124. package/dist/toolkits/neon/tools/meta.d.ts +4 -0
  125. package/dist/toolkits/neon/tools/meta.js +16 -0
  126. package/dist/toolkits/neon/tools/orgs.d.ts +112 -0
  127. package/dist/toolkits/neon/tools/orgs.js +303 -0
  128. package/dist/toolkits/neon/tools/projects.d.ts +177 -0
  129. package/dist/toolkits/neon/tools/projects.js +468 -0
  130. package/dist/toolkits/neon/tools/snapshots.d.ts +24 -0
  131. package/dist/toolkits/neon/tools/snapshots.js +67 -0
  132. package/package.json +1 -1
@@ -0,0 +1,3 @@
1
+ declare const _default: import("../../index.js").ToolkitManifest;
2
+ export default _default;
3
+ //# sourceMappingURL=manifest.d.ts.map
@@ -0,0 +1,36 @@
1
+ import { defineToolkit, defineTool } from '../../core/define.js';
2
+ import { inferToolScope } from '../../core/scope.js';
3
+ import { HOSTINGER_ICON } from './icon.js';
4
+ import { hostingerTools } from './tools/index.js';
5
+ export default defineToolkit({
6
+ id: 'hostinger',
7
+ displayName: 'Hostinger',
8
+ shortDescription: 'Domains, DNS, WHOIS, VPS, hosting, websites, and billing.',
9
+ category: 'Developer Tools & DevOps',
10
+ icon: HOSTINGER_ICON,
11
+ auth: {
12
+ type: 'api_key',
13
+ tokenField: 'hostingerApiKey',
14
+ provider: {
15
+ in: 'header',
16
+ name: 'Authorization',
17
+ prefix: 'Bearer',
18
+ connectDescription: 'Connect Hostinger with an API token. Generate one from your Hostinger dashboard under the API section. All requests send it as Authorization: Bearer <token>.',
19
+ },
20
+ },
21
+ allowedHosts: ['developers.hostinger.com'],
22
+ tools: hostingerTools.map((entry) => defineTool({
23
+ name: entry.name,
24
+ description: entry.description,
25
+ tool: entry.tool,
26
+ requiredAuth: entry.requiredAuth,
27
+ scope: entry.scope ?? inferToolScope(entry.name),
28
+ })),
29
+ meta: {
30
+ since: '0.0.9',
31
+ homepage: 'https://www.hostinger.com',
32
+ docsUrl: 'https://developers.hostinger.com/',
33
+ apiDocsUrl: 'https://docs.hostinger.com/api-reference/overview',
34
+ },
35
+ });
36
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1,12 @@
1
+ export declare const hostingerListCatalogItems: import("ai").Tool<{
2
+ name?: string | undefined;
3
+ hostingerApiKey?: string | undefined;
4
+ category?: "DOMAIN" | "VPS" | undefined;
5
+ }, any>;
6
+ export declare const hostingerListPaymentMethods: import("ai").Tool<{
7
+ hostingerApiKey?: string | undefined;
8
+ }, any>;
9
+ export declare const hostingerListSubscriptions: import("ai").Tool<{
10
+ hostingerApiKey?: string | undefined;
11
+ }, any>;
12
+ //# sourceMappingURL=billing.d.ts.map
@@ -0,0 +1,35 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { hostingerRequest } from './client.js';
5
+ const tokenField = z.string().optional().describe('Injected by system; do not provide');
6
+ export const hostingerListCatalogItems = tool({
7
+ description: 'List catalog items available for order (domains, VPS plans) with pricing in cents. Use to check services and prices before ordering.',
8
+ inputSchema: z.object({
9
+ hostingerApiKey: tokenField,
10
+ name: z.string().optional().describe('Filter by name, use * as wildcard, e.g. ".COM*"'),
11
+ category: z.enum(['DOMAIN', 'VPS']).optional().describe('Filter by category'),
12
+ }),
13
+ execute: async ({ hostingerApiKey, name, category }) => {
14
+ return hostingerRequest(hostingerApiKey, '/api/billing/v1/catalog', { query: { name, category } });
15
+ },
16
+ });
17
+ export const hostingerListPaymentMethods = tool({
18
+ description: 'List payment methods available for placing orders. Use to view payment options before creating an order.',
19
+ inputSchema: z.object({
20
+ hostingerApiKey: tokenField,
21
+ }),
22
+ execute: async ({ hostingerApiKey }) => {
23
+ return hostingerRequest(hostingerApiKey, '/api/billing/v1/payment-methods');
24
+ },
25
+ });
26
+ export const hostingerListSubscriptions = tool({
27
+ description: 'List all subscriptions on the account. Use to monitor active services and billing status.',
28
+ inputSchema: z.object({
29
+ hostingerApiKey: tokenField,
30
+ }),
31
+ execute: async ({ hostingerApiKey }) => {
32
+ return hostingerRequest(hostingerApiKey, '/api/billing/v1/subscriptions');
33
+ },
34
+ });
35
+ //# sourceMappingURL=billing.js.map
@@ -0,0 +1,6 @@
1
+ export declare function hostingerRequest(hostingerApiKey: string | undefined, path: string, options?: {
2
+ method?: string;
3
+ query?: Record<string, string | number | boolean | undefined>;
4
+ body?: unknown;
5
+ }): Promise<any>;
6
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1,57 @@
1
+ // @ts-nocheck
2
+ const HOSTINGER_API_BASE = 'https://developers.hostinger.com';
3
+ export async function hostingerRequest(hostingerApiKey, path, options = {}) {
4
+ if (!hostingerApiKey) {
5
+ return { error: 'Hostinger API key is required. Connect Hostinger first.' };
6
+ }
7
+ const params = new URLSearchParams();
8
+ if (options.query) {
9
+ for (const [key, value] of Object.entries(options.query)) {
10
+ if (value !== undefined && value !== null && value !== '') {
11
+ if (Array.isArray(value)) {
12
+ for (const item of value)
13
+ params.append(key, String(item));
14
+ }
15
+ else {
16
+ params.append(key, String(value));
17
+ }
18
+ }
19
+ }
20
+ }
21
+ const queryString = params.toString();
22
+ const url = `${HOSTINGER_API_BASE}${path}${queryString ? `?${queryString}` : ''}`;
23
+ try {
24
+ const response = await fetch(url, {
25
+ method: options.method ?? 'GET',
26
+ headers: {
27
+ Authorization: `Bearer ${hostingerApiKey}`,
28
+ 'Content-Type': 'application/json',
29
+ Accept: 'application/json',
30
+ },
31
+ body: options.body !== undefined ? JSON.stringify(options.body) : undefined,
32
+ });
33
+ if (!response.ok) {
34
+ const details = await response.json().catch(() => ({}));
35
+ return { error: `Hostinger API request failed with status ${response.status}`, details };
36
+ }
37
+ if (response.status === 204) {
38
+ return { success: true };
39
+ }
40
+ const text = await response.text();
41
+ if (!text)
42
+ return { success: true };
43
+ try {
44
+ return JSON.parse(text);
45
+ }
46
+ catch {
47
+ return { raw: text };
48
+ }
49
+ }
50
+ catch (error) {
51
+ return {
52
+ error: 'Error calling Hostinger API',
53
+ message: error instanceof Error ? error.message : 'Unknown error',
54
+ };
55
+ }
56
+ }
57
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1,22 @@
1
+ export declare const hostingerGetDnsRecords: import("ai").Tool<{
2
+ domain: string;
3
+ hostingerApiKey?: string | undefined;
4
+ }, any>;
5
+ export declare const hostingerValidateDnsRecords: import("ai").Tool<{
6
+ domain: string;
7
+ zone: {
8
+ type: string;
9
+ name: string;
10
+ records: {
11
+ content: string;
12
+ }[];
13
+ ttl?: number | undefined;
14
+ }[];
15
+ overwrite?: boolean | undefined;
16
+ hostingerApiKey?: string | undefined;
17
+ }, any>;
18
+ export declare const hostingerListDnsSnapshots: import("ai").Tool<{
19
+ domain: string;
20
+ hostingerApiKey?: string | undefined;
21
+ }, any>;
22
+ //# sourceMappingURL=dns.d.ts.map
@@ -0,0 +1,47 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { hostingerRequest } from './client.js';
5
+ const tokenField = z.string().optional().describe('Injected by system; do not provide');
6
+ export const hostingerGetDnsRecords = tool({
7
+ description: 'Get DNS zone records for a domain. Use to review current DNS configuration, check propagation after updates, or audit DNS settings.',
8
+ inputSchema: z.object({
9
+ hostingerApiKey: tokenField,
10
+ domain: z.string().describe('Domain name, e.g. "mydomain.tld"'),
11
+ }),
12
+ execute: async ({ hostingerApiKey, domain }) => {
13
+ return hostingerRequest(hostingerApiKey, `/api/dns/v1/zones/${encodeURIComponent(domain)}`);
14
+ },
15
+ });
16
+ const zoneEntry = z.object({
17
+ name: z.string().describe('Subdomain or hostname, e.g. "www"'),
18
+ type: z.string().describe('Record type, e.g. "A", "AAAA", "CNAME", "MX", "TXT", "NS"'),
19
+ ttl: z.number().int().min(0).optional().describe('Time to live in seconds'),
20
+ records: z.array(z.object({ content: z.string().describe('Record content, e.g. IP address or hostname') })).min(1).describe('DNS records for this entry'),
21
+ });
22
+ export const hostingerValidateDnsRecords = tool({
23
+ description: 'Validate DNS zone records for a domain before applying an update. Use to verify record validity; success returns 200, invalid records fail with 422.',
24
+ inputSchema: z.object({
25
+ hostingerApiKey: tokenField,
26
+ domain: z.string().describe('Domain name, e.g. "example.com"'),
27
+ zone: z.array(zoneEntry).min(1).describe('DNS zone entries to validate'),
28
+ overwrite: z.boolean().optional().describe('When true, matching records are replaced; otherwise TTLs are updated and records appended'),
29
+ }),
30
+ execute: async ({ hostingerApiKey, domain, zone, overwrite }) => {
31
+ return hostingerRequest(hostingerApiKey, `/api/dns/v1/zones/${encodeURIComponent(domain)}/validate`, {
32
+ method: 'POST',
33
+ body: { zone, overwrite },
34
+ });
35
+ },
36
+ });
37
+ export const hostingerListDnsSnapshots = tool({
38
+ description: 'List DNS snapshots (backup points) for a domain. Use to find restore points for DNS recovery or audit history.',
39
+ inputSchema: z.object({
40
+ hostingerApiKey: tokenField,
41
+ domain: z.string().describe('Domain name, e.g. "mydomain.tld"'),
42
+ }),
43
+ execute: async ({ hostingerApiKey, domain }) => {
44
+ return hostingerRequest(hostingerApiKey, `/api/dns/v1/snapshots/${encodeURIComponent(domain)}`);
45
+ },
46
+ });
47
+ //# sourceMappingURL=dns.js.map
@@ -0,0 +1,21 @@
1
+ export declare const hostingerCheckDomainAvailability: import("ai").Tool<{
2
+ domain: string;
3
+ tlds: string[];
4
+ hostingerApiKey?: string | undefined;
5
+ withAlternatives?: boolean | undefined;
6
+ }, any>;
7
+ export declare const hostingerListDomains: import("ai").Tool<{
8
+ hostingerApiKey?: string | undefined;
9
+ }, any>;
10
+ export declare const hostingerGetDomainForwarding: import("ai").Tool<{
11
+ domain: string;
12
+ hostingerApiKey?: string | undefined;
13
+ }, any>;
14
+ export declare const hostingerGenerateFreeSubdomain: import("ai").Tool<{
15
+ hostingerApiKey?: string | undefined;
16
+ }, any>;
17
+ export declare const hostingerVerifyDomainOwnership: import("ai").Tool<{
18
+ domain: string;
19
+ hostingerApiKey?: string | undefined;
20
+ }, any>;
21
+ //# sourceMappingURL=domains.d.ts.map
@@ -0,0 +1,62 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { hostingerRequest } from './client.js';
5
+ const tokenField = z.string().optional().describe('Injected by system; do not provide');
6
+ export const hostingerCheckDomainAvailability = tool({
7
+ description: 'Check if domain names are available for registration across multiple TLDs. Use before purchasing a domain. Provide TLDs without a leading dot. Rate limited to 10 requests per minute.',
8
+ inputSchema: z.object({
9
+ hostingerApiKey: tokenField,
10
+ domain: z.string().describe('Domain name without TLD, e.g. "mydomain"'),
11
+ tlds: z.array(z.string()).min(1).describe('TLDs to check without leading dot, e.g. ["com", "net"]'),
12
+ withAlternatives: z.boolean().optional().describe('Include alternative domain suggestions (provide only one TLD when true)'),
13
+ }),
14
+ execute: async ({ hostingerApiKey, domain, tlds, withAlternatives }) => {
15
+ return hostingerRequest(hostingerApiKey, '/api/domains/v1/availability', {
16
+ method: 'POST',
17
+ body: { domain, tlds, with_alternatives: withAlternatives },
18
+ });
19
+ },
20
+ });
21
+ export const hostingerListDomains = tool({
22
+ description: 'List all domains in the Hostinger account portfolio. Use when the user asks to see their domains or domain portfolio.',
23
+ inputSchema: z.object({
24
+ hostingerApiKey: tokenField,
25
+ }),
26
+ execute: async ({ hostingerApiKey }) => {
27
+ return hostingerRequest(hostingerApiKey, '/api/domains/v1/portfolio');
28
+ },
29
+ });
30
+ export const hostingerGetDomainForwarding = tool({
31
+ description: 'Get the forwarding (redirect) configuration for a domain, including target URL and redirect type (301/302).',
32
+ inputSchema: z.object({
33
+ hostingerApiKey: tokenField,
34
+ domain: z.string().describe('Domain name, e.g. "mydomain.tld"'),
35
+ }),
36
+ execute: async ({ hostingerApiKey, domain }) => {
37
+ return hostingerRequest(hostingerApiKey, `/api/domains/v1/forwarding/${encodeURIComponent(domain)}`);
38
+ },
39
+ });
40
+ export const hostingerGenerateFreeSubdomain = tool({
41
+ description: 'Generate a free *.hostingersite.com subdomain for hosting without buying a custom domain. Use when the user wants a quick free subdomain.',
42
+ inputSchema: z.object({
43
+ hostingerApiKey: tokenField,
44
+ }),
45
+ execute: async ({ hostingerApiKey }) => {
46
+ return hostingerRequest(hostingerApiKey, '/api/hosting/v1/domains/free-subdomains', { method: 'POST' });
47
+ },
48
+ });
49
+ export const hostingerVerifyDomainOwnership = tool({
50
+ description: 'Verify ownership of a domain and check if it is accessible for new websites. If not accessible, the response includes a TXT record to add to DNS. Skip for *.hostingersite.com subdomains.',
51
+ inputSchema: z.object({
52
+ hostingerApiKey: tokenField,
53
+ domain: z.string().describe('Domain name to verify, e.g. "example.com"'),
54
+ }),
55
+ execute: async ({ hostingerApiKey, domain }) => {
56
+ return hostingerRequest(hostingerApiKey, '/api/hosting/v1/domains/verify-ownership', {
57
+ method: 'POST',
58
+ body: { domain },
59
+ });
60
+ },
61
+ });
62
+ //# sourceMappingURL=domains.js.map
@@ -0,0 +1,17 @@
1
+ export declare const hostingerListOrders: import("ai").Tool<{
2
+ perPage?: number | undefined;
3
+ page?: number | undefined;
4
+ statuses?: string[] | undefined;
5
+ hostingerApiKey?: string | undefined;
6
+ orderIds?: number[] | undefined;
7
+ }, any>;
8
+ export declare const hostingerListWebsites: import("ai").Tool<{
9
+ perPage?: number | undefined;
10
+ page?: number | undefined;
11
+ username?: string | undefined;
12
+ domain?: string | undefined;
13
+ hostingerApiKey?: string | undefined;
14
+ orderId?: number | undefined;
15
+ isEnabled?: boolean | undefined;
16
+ }, any>;
17
+ //# sourceMappingURL=hosting.d.ts.map
@@ -0,0 +1,38 @@
1
+ // @ts-nocheck
2
+ import { tool } from 'ai';
3
+ import { z } from 'zod';
4
+ import { hostingerRequest } from './client.js';
5
+ const tokenField = z.string().optional().describe('Injected by system; do not provide');
6
+ export const hostingerListOrders = tool({
7
+ description: 'List hosting orders (paginated), including shared-access accounts. Use to review orders; filter by status or order IDs.',
8
+ inputSchema: z.object({
9
+ hostingerApiKey: tokenField,
10
+ page: z.number().int().min(1).optional().describe('Page number'),
11
+ perPage: z.number().int().min(1).max(100).optional().describe('Items per page (default 25)'),
12
+ statuses: z.array(z.string()).optional().describe('Filter by statuses, e.g. ["active", "suspended"]'),
13
+ orderIds: z.array(z.number().int()).optional().describe('Filter by specific order IDs'),
14
+ }),
15
+ execute: async ({ hostingerApiKey, page, perPage, statuses, orderIds }) => {
16
+ return hostingerRequest(hostingerApiKey, '/api/hosting/v1/orders', {
17
+ query: { page, per_page: perPage, statuses, order_ids: orderIds },
18
+ });
19
+ },
20
+ });
21
+ export const hostingerListWebsites = tool({
22
+ description: 'List websites (main and addon) accessible to the account, paginated. Use to review hosted sites; filter by domain, order, username, or enabled status.',
23
+ inputSchema: z.object({
24
+ hostingerApiKey: tokenField,
25
+ page: z.number().int().min(1).optional().describe('Page number'),
26
+ perPage: z.number().int().min(1).max(100).optional().describe('Items per page (1-100)'),
27
+ domain: z.string().optional().describe('Filter by exact domain name'),
28
+ orderId: z.number().int().optional().describe('Filter by order ID'),
29
+ username: z.string().optional().describe('Filter by hosting username'),
30
+ isEnabled: z.boolean().optional().describe('Filter by enabled status'),
31
+ }),
32
+ execute: async ({ hostingerApiKey, page, perPage, domain, orderId, username, isEnabled }) => {
33
+ return hostingerRequest(hostingerApiKey, '/api/hosting/v1/websites', {
34
+ query: { page, per_page: perPage, domain, order_id: orderId, username, is_enabled: isEnabled },
35
+ });
36
+ },
37
+ });
38
+ //# sourceMappingURL=hosting.js.map
@@ -0,0 +1,179 @@
1
+ import { hostingerCheckDomainAvailability, hostingerListDomains, hostingerGetDomainForwarding, hostingerGenerateFreeSubdomain, hostingerVerifyDomainOwnership } from './domains.js';
2
+ import { hostingerCreateWhoisProfile, hostingerGetWhoisProfile, hostingerGetWhoisProfileUsage, hostingerListWhoisProfiles } from './whois.js';
3
+ import { hostingerGetDnsRecords, hostingerValidateDnsRecords, hostingerListDnsSnapshots } from './dns.js';
4
+ import { hostingerListVirtualMachines, hostingerListTemplates, hostingerGetTemplateDetails, hostingerListDataCenters, hostingerCreatePublicKey, hostingerListPublicKeys, hostingerDeletePublicKey } from './vps.js';
5
+ import { hostingerListCatalogItems, hostingerListPaymentMethods, hostingerListSubscriptions } from './billing.js';
6
+ import { hostingerListOrders, hostingerListWebsites } from './hosting.js';
7
+ export { hostingerCheckDomainAvailability, hostingerListDomains, hostingerGetDomainForwarding, hostingerGenerateFreeSubdomain, hostingerVerifyDomainOwnership, hostingerCreateWhoisProfile, hostingerGetWhoisProfile, hostingerGetWhoisProfileUsage, hostingerListWhoisProfiles, hostingerGetDnsRecords, hostingerValidateDnsRecords, hostingerListDnsSnapshots, hostingerListVirtualMachines, hostingerListTemplates, hostingerGetTemplateDetails, hostingerListDataCenters, hostingerCreatePublicKey, hostingerListPublicKeys, hostingerDeletePublicKey, hostingerListCatalogItems, hostingerListPaymentMethods, hostingerListSubscriptions, hostingerListOrders, hostingerListWebsites, };
8
+ export declare const hostingerTools: ({
9
+ name: string;
10
+ description: string;
11
+ tool: import("ai").Tool<{
12
+ domain: string;
13
+ tlds: string[];
14
+ hostingerApiKey?: string | undefined;
15
+ withAlternatives?: boolean | undefined;
16
+ }, any>;
17
+ requiredAuth: "hostingerApiKey";
18
+ scope: "read";
19
+ } | {
20
+ name: string;
21
+ description: string;
22
+ tool: import("ai").Tool<{
23
+ hostingerApiKey?: string | undefined;
24
+ }, any>;
25
+ requiredAuth: "hostingerApiKey";
26
+ scope: "read";
27
+ } | {
28
+ name: string;
29
+ description: string;
30
+ tool: import("ai").Tool<{
31
+ domain: string;
32
+ hostingerApiKey?: string | undefined;
33
+ }, any>;
34
+ requiredAuth: "hostingerApiKey";
35
+ scope: "read";
36
+ } | {
37
+ name: string;
38
+ description: string;
39
+ tool: import("ai").Tool<{
40
+ hostingerApiKey?: string | undefined;
41
+ }, any>;
42
+ requiredAuth: "hostingerApiKey";
43
+ scope: "write";
44
+ } | {
45
+ name: string;
46
+ description: string;
47
+ tool: import("ai").Tool<{
48
+ country: string;
49
+ tld: string;
50
+ entityType: "organization" | "individual";
51
+ whoisDetails: {
52
+ email: string;
53
+ address: string;
54
+ firstName: string;
55
+ lastName: string;
56
+ city: string;
57
+ country?: string | undefined;
58
+ state?: string | undefined;
59
+ countryCode?: string | undefined;
60
+ postalCode?: string | undefined;
61
+ companyName?: string | undefined;
62
+ phoneCc?: string | undefined;
63
+ phoneNumber?: string | undefined;
64
+ };
65
+ hostingerApiKey?: string | undefined;
66
+ }, any>;
67
+ requiredAuth: "hostingerApiKey";
68
+ scope: "write";
69
+ } | {
70
+ name: string;
71
+ description: string;
72
+ tool: import("ai").Tool<{
73
+ whoisId: number;
74
+ hostingerApiKey?: string | undefined;
75
+ }, any>;
76
+ requiredAuth: "hostingerApiKey";
77
+ scope: "read";
78
+ } | {
79
+ name: string;
80
+ description: string;
81
+ tool: import("ai").Tool<{
82
+ hostingerApiKey?: string | undefined;
83
+ tld?: string | undefined;
84
+ }, any>;
85
+ requiredAuth: "hostingerApiKey";
86
+ scope: "read";
87
+ } | {
88
+ name: string;
89
+ description: string;
90
+ tool: import("ai").Tool<{
91
+ domain: string;
92
+ zone: {
93
+ type: string;
94
+ name: string;
95
+ records: {
96
+ content: string;
97
+ }[];
98
+ ttl?: number | undefined;
99
+ }[];
100
+ overwrite?: boolean | undefined;
101
+ hostingerApiKey?: string | undefined;
102
+ }, any>;
103
+ requiredAuth: "hostingerApiKey";
104
+ scope: "read";
105
+ } | {
106
+ name: string;
107
+ description: string;
108
+ tool: import("ai").Tool<{
109
+ templateId: number;
110
+ hostingerApiKey?: string | undefined;
111
+ }, any>;
112
+ requiredAuth: "hostingerApiKey";
113
+ scope: "read";
114
+ } | {
115
+ name: string;
116
+ description: string;
117
+ tool: import("ai").Tool<{
118
+ name: string;
119
+ key: string;
120
+ hostingerApiKey?: string | undefined;
121
+ }, any>;
122
+ requiredAuth: "hostingerApiKey";
123
+ scope: "write";
124
+ } | {
125
+ name: string;
126
+ description: string;
127
+ tool: import("ai").Tool<{
128
+ page?: number | undefined;
129
+ hostingerApiKey?: string | undefined;
130
+ }, any>;
131
+ requiredAuth: "hostingerApiKey";
132
+ scope: "read";
133
+ } | {
134
+ name: string;
135
+ description: string;
136
+ tool: import("ai").Tool<{
137
+ publicKeyId: number;
138
+ hostingerApiKey?: string | undefined;
139
+ }, any>;
140
+ requiredAuth: "hostingerApiKey";
141
+ scope: "delete";
142
+ } | {
143
+ name: string;
144
+ description: string;
145
+ tool: import("ai").Tool<{
146
+ name?: string | undefined;
147
+ hostingerApiKey?: string | undefined;
148
+ category?: "DOMAIN" | "VPS" | undefined;
149
+ }, any>;
150
+ requiredAuth: "hostingerApiKey";
151
+ scope: "read";
152
+ } | {
153
+ name: string;
154
+ description: string;
155
+ tool: import("ai").Tool<{
156
+ perPage?: number | undefined;
157
+ page?: number | undefined;
158
+ statuses?: string[] | undefined;
159
+ hostingerApiKey?: string | undefined;
160
+ orderIds?: number[] | undefined;
161
+ }, any>;
162
+ requiredAuth: "hostingerApiKey";
163
+ scope: "read";
164
+ } | {
165
+ name: string;
166
+ description: string;
167
+ tool: import("ai").Tool<{
168
+ perPage?: number | undefined;
169
+ page?: number | undefined;
170
+ username?: string | undefined;
171
+ domain?: string | undefined;
172
+ hostingerApiKey?: string | undefined;
173
+ orderId?: number | undefined;
174
+ isEnabled?: boolean | undefined;
175
+ }, any>;
176
+ requiredAuth: "hostingerApiKey";
177
+ scope: "read";
178
+ })[];
179
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,35 @@
1
+ // @ts-nocheck
2
+ import { hostingerCheckDomainAvailability, hostingerListDomains, hostingerGetDomainForwarding, hostingerGenerateFreeSubdomain, hostingerVerifyDomainOwnership, } from './domains.js';
3
+ import { hostingerCreateWhoisProfile, hostingerGetWhoisProfile, hostingerGetWhoisProfileUsage, hostingerListWhoisProfiles, } from './whois.js';
4
+ import { hostingerGetDnsRecords, hostingerValidateDnsRecords, hostingerListDnsSnapshots } from './dns.js';
5
+ import { hostingerListVirtualMachines, hostingerListTemplates, hostingerGetTemplateDetails, hostingerListDataCenters, hostingerCreatePublicKey, hostingerListPublicKeys, hostingerDeletePublicKey, } from './vps.js';
6
+ import { hostingerListCatalogItems, hostingerListPaymentMethods, hostingerListSubscriptions } from './billing.js';
7
+ import { hostingerListOrders, hostingerListWebsites } from './hosting.js';
8
+ export { hostingerCheckDomainAvailability, hostingerListDomains, hostingerGetDomainForwarding, hostingerGenerateFreeSubdomain, hostingerVerifyDomainOwnership, hostingerCreateWhoisProfile, hostingerGetWhoisProfile, hostingerGetWhoisProfileUsage, hostingerListWhoisProfiles, hostingerGetDnsRecords, hostingerValidateDnsRecords, hostingerListDnsSnapshots, hostingerListVirtualMachines, hostingerListTemplates, hostingerGetTemplateDetails, hostingerListDataCenters, hostingerCreatePublicKey, hostingerListPublicKeys, hostingerDeletePublicKey, hostingerListCatalogItems, hostingerListPaymentMethods, hostingerListSubscriptions, hostingerListOrders, hostingerListWebsites, };
9
+ export const hostingerTools = [
10
+ { name: 'HostingerCheckDomainAvailability', description: hostingerCheckDomainAvailability.description, tool: hostingerCheckDomainAvailability, requiredAuth: 'hostingerApiKey', scope: 'read' },
11
+ { name: 'HostingerListDomains', description: hostingerListDomains.description, tool: hostingerListDomains, requiredAuth: 'hostingerApiKey', scope: 'read' },
12
+ { name: 'HostingerGetDomainForwarding', description: hostingerGetDomainForwarding.description, tool: hostingerGetDomainForwarding, requiredAuth: 'hostingerApiKey', scope: 'read' },
13
+ { name: 'HostingerGenerateFreeSubdomain', description: hostingerGenerateFreeSubdomain.description, tool: hostingerGenerateFreeSubdomain, requiredAuth: 'hostingerApiKey', scope: 'write' },
14
+ { name: 'HostingerVerifyDomainOwnership', description: hostingerVerifyDomainOwnership.description, tool: hostingerVerifyDomainOwnership, requiredAuth: 'hostingerApiKey', scope: 'read' },
15
+ { name: 'HostingerCreateWhoisProfile', description: hostingerCreateWhoisProfile.description, tool: hostingerCreateWhoisProfile, requiredAuth: 'hostingerApiKey', scope: 'write' },
16
+ { name: 'HostingerGetWhoisProfile', description: hostingerGetWhoisProfile.description, tool: hostingerGetWhoisProfile, requiredAuth: 'hostingerApiKey', scope: 'read' },
17
+ { name: 'HostingerGetWhoisProfileUsage', description: hostingerGetWhoisProfileUsage.description, tool: hostingerGetWhoisProfileUsage, requiredAuth: 'hostingerApiKey', scope: 'read' },
18
+ { name: 'HostingerListWhoisProfiles', description: hostingerListWhoisProfiles.description, tool: hostingerListWhoisProfiles, requiredAuth: 'hostingerApiKey', scope: 'read' },
19
+ { name: 'HostingerGetDnsRecords', description: hostingerGetDnsRecords.description, tool: hostingerGetDnsRecords, requiredAuth: 'hostingerApiKey', scope: 'read' },
20
+ { name: 'HostingerValidateDnsRecords', description: hostingerValidateDnsRecords.description, tool: hostingerValidateDnsRecords, requiredAuth: 'hostingerApiKey', scope: 'read' },
21
+ { name: 'HostingerListDnsSnapshots', description: hostingerListDnsSnapshots.description, tool: hostingerListDnsSnapshots, requiredAuth: 'hostingerApiKey', scope: 'read' },
22
+ { name: 'HostingerListVirtualMachines', description: hostingerListVirtualMachines.description, tool: hostingerListVirtualMachines, requiredAuth: 'hostingerApiKey', scope: 'read' },
23
+ { name: 'HostingerListTemplates', description: hostingerListTemplates.description, tool: hostingerListTemplates, requiredAuth: 'hostingerApiKey', scope: 'read' },
24
+ { name: 'HostingerGetTemplateDetails', description: hostingerGetTemplateDetails.description, tool: hostingerGetTemplateDetails, requiredAuth: 'hostingerApiKey', scope: 'read' },
25
+ { name: 'HostingerListDataCenters', description: hostingerListDataCenters.description, tool: hostingerListDataCenters, requiredAuth: 'hostingerApiKey', scope: 'read' },
26
+ { name: 'HostingerCreatePublicKey', description: hostingerCreatePublicKey.description, tool: hostingerCreatePublicKey, requiredAuth: 'hostingerApiKey', scope: 'write' },
27
+ { name: 'HostingerListPublicKeys', description: hostingerListPublicKeys.description, tool: hostingerListPublicKeys, requiredAuth: 'hostingerApiKey', scope: 'read' },
28
+ { name: 'HostingerDeletePublicKey', description: hostingerDeletePublicKey.description, tool: hostingerDeletePublicKey, requiredAuth: 'hostingerApiKey', scope: 'delete' },
29
+ { name: 'HostingerListCatalogItems', description: hostingerListCatalogItems.description, tool: hostingerListCatalogItems, requiredAuth: 'hostingerApiKey', scope: 'read' },
30
+ { name: 'HostingerListPaymentMethods', description: hostingerListPaymentMethods.description, tool: hostingerListPaymentMethods, requiredAuth: 'hostingerApiKey', scope: 'read' },
31
+ { name: 'HostingerListSubscriptions', description: hostingerListSubscriptions.description, tool: hostingerListSubscriptions, requiredAuth: 'hostingerApiKey', scope: 'read' },
32
+ { name: 'HostingerListOrders', description: hostingerListOrders.description, tool: hostingerListOrders, requiredAuth: 'hostingerApiKey', scope: 'read' },
33
+ { name: 'HostingerListWebsites', description: hostingerListWebsites.description, tool: hostingerListWebsites, requiredAuth: 'hostingerApiKey', scope: 'read' },
34
+ ];
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,27 @@
1
+ export declare const hostingerListVirtualMachines: import("ai").Tool<{
2
+ hostingerApiKey?: string | undefined;
3
+ }, any>;
4
+ export declare const hostingerListTemplates: import("ai").Tool<{
5
+ hostingerApiKey?: string | undefined;
6
+ }, any>;
7
+ export declare const hostingerGetTemplateDetails: import("ai").Tool<{
8
+ templateId: number;
9
+ hostingerApiKey?: string | undefined;
10
+ }, any>;
11
+ export declare const hostingerListDataCenters: import("ai").Tool<{
12
+ hostingerApiKey?: string | undefined;
13
+ }, any>;
14
+ export declare const hostingerCreatePublicKey: import("ai").Tool<{
15
+ name: string;
16
+ key: string;
17
+ hostingerApiKey?: string | undefined;
18
+ }, any>;
19
+ export declare const hostingerListPublicKeys: import("ai").Tool<{
20
+ page?: number | undefined;
21
+ hostingerApiKey?: string | undefined;
22
+ }, any>;
23
+ export declare const hostingerDeletePublicKey: import("ai").Tool<{
24
+ publicKeyId: number;
25
+ hostingerApiKey?: string | undefined;
26
+ }, any>;
27
+ //# sourceMappingURL=vps.d.ts.map