@rnsk/toolkits 0.0.10 → 0.0.11
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 +12 -2
- package/dist/index.d.ts +11 -1
- package/dist/index.js +21 -1
- package/dist/toolkits/bitbucket/tools/index.d.ts +5 -5
- package/dist/toolkits/bitbucket/tools/reports.d.ts +5 -5
- package/dist/toolkits/cloudflare/tools/create-list.d.ts +1 -1
- package/dist/toolkits/cloudflare/tools/create-zone.d.ts +1 -1
- package/dist/toolkits/cloudflare/tools/index.d.ts +4 -4
- package/dist/toolkits/cloudflare/tools/list-pools.d.ts +1 -1
- package/dist/toolkits/cloudflare/tools/list-zones.d.ts +1 -1
- package/dist/toolkits/convex/icon.d.ts +5 -0
- package/dist/toolkits/convex/icon.js +10 -0
- package/dist/toolkits/convex/manifest.d.ts +3 -0
- package/dist/toolkits/convex/manifest.js +33 -0
- package/dist/toolkits/convex/tools/client.d.ts +28 -0
- package/dist/toolkits/convex/tools/client.js +85 -0
- package/dist/toolkits/convex/tools/deploy-keys.d.ts +10 -0
- package/dist/toolkits/convex/tools/deploy-keys.js +46 -0
- package/dist/toolkits/convex/tools/deployments.d.ts +35 -0
- package/dist/toolkits/convex/tools/deployments.js +126 -0
- package/dist/toolkits/convex/tools/domains.d.ts +7 -0
- package/dist/toolkits/convex/tools/domains.js +29 -0
- package/dist/toolkits/convex/tools/functions.d.ts +14 -0
- package/dist/toolkits/convex/tools/functions.js +49 -0
- package/dist/toolkits/convex/tools/index.d.ts +176 -0
- package/dist/toolkits/convex/tools/index.js +145 -0
- package/dist/toolkits/convex/tools/logging.d.ts +5 -0
- package/dist/toolkits/convex/tools/logging.js +25 -0
- package/dist/toolkits/convex/tools/projects.d.ts +31 -0
- package/dist/toolkits/convex/tools/projects.js +111 -0
- package/dist/toolkits/convex/tools/teams.d.ts +12 -0
- package/dist/toolkits/convex/tools/teams.js +62 -0
- package/dist/toolkits/datadog/icon.d.ts +5 -0
- package/dist/toolkits/datadog/icon.js +6 -0
- package/dist/toolkits/datadog/manifest.d.ts +3 -0
- package/dist/toolkits/datadog/manifest.js +44 -0
- package/dist/toolkits/datadog/tools/api-keys.d.ts +21 -0
- package/dist/toolkits/datadog/tools/api-keys.js +42 -0
- package/dist/toolkits/datadog/tools/apm.d.ts +51 -0
- package/dist/toolkits/datadog/tools/apm.js +106 -0
- package/dist/toolkits/datadog/tools/client.d.ts +19 -0
- package/dist/toolkits/datadog/tools/client.js +81 -0
- package/dist/toolkits/datadog/tools/dashboards.d.ts +93 -0
- package/dist/toolkits/datadog/tools/dashboards.js +127 -0
- package/dist/toolkits/datadog/tools/events.d.ts +35 -0
- package/dist/toolkits/datadog/tools/events.js +56 -0
- package/dist/toolkits/datadog/tools/hosts.d.ts +49 -0
- package/dist/toolkits/datadog/tools/hosts.js +87 -0
- package/dist/toolkits/datadog/tools/incidents.d.ts +18 -0
- package/dist/toolkits/datadog/tools/incidents.js +34 -0
- package/dist/toolkits/datadog/tools/index.d.ts +999 -0
- package/dist/toolkits/datadog/tools/index.js +450 -0
- package/dist/toolkits/datadog/tools/integrations.d.ts +32 -0
- package/dist/toolkits/datadog/tools/integrations.js +47 -0
- package/dist/toolkits/datadog/tools/logs.d.ts +39 -0
- package/dist/toolkits/datadog/tools/logs.js +121 -0
- package/dist/toolkits/datadog/tools/metrics.d.ts +27 -0
- package/dist/toolkits/datadog/tools/metrics.js +83 -0
- package/dist/toolkits/datadog/tools/monitors.d.ts +95 -0
- package/dist/toolkits/datadog/tools/monitors.js +190 -0
- package/dist/toolkits/datadog/tools/oncall-notifications.d.ts +61 -0
- package/dist/toolkits/datadog/tools/oncall-notifications.js +155 -0
- package/dist/toolkits/datadog/tools/oncall-policies.d.ts +28 -0
- package/dist/toolkits/datadog/tools/oncall-policies.js +72 -0
- package/dist/toolkits/datadog/tools/oncall-schedules.d.ts +31 -0
- package/dist/toolkits/datadog/tools/oncall-schedules.js +87 -0
- package/dist/toolkits/datadog/tools/oncall-teams.d.ts +14 -0
- package/dist/toolkits/datadog/tools/oncall-teams.js +54 -0
- package/dist/toolkits/datadog/tools/slos.d.ts +43 -0
- package/dist/toolkits/datadog/tools/slos.js +62 -0
- package/dist/toolkits/datadog/tools/synthetics.d.ts +58 -0
- package/dist/toolkits/datadog/tools/synthetics.js +90 -0
- package/dist/toolkits/datadog/tools/usage.d.ts +7 -0
- package/dist/toolkits/datadog/tools/usage.js +25 -0
- package/dist/toolkits/datadog/tools/users.d.ts +35 -0
- package/dist/toolkits/datadog/tools/users.js +66 -0
- package/dist/toolkits/dev-to/icon.d.ts +5 -0
- package/dist/toolkits/dev-to/icon.js +10 -0
- package/dist/toolkits/dev-to/manifest.d.ts +3 -0
- package/dist/toolkits/dev-to/manifest.js +34 -0
- package/dist/toolkits/dev-to/tools/articles.d.ts +78 -0
- package/dist/toolkits/dev-to/tools/articles.js +262 -0
- package/dist/toolkits/dev-to/tools/client.d.ts +25 -0
- package/dist/toolkits/dev-to/tools/client.js +65 -0
- package/dist/toolkits/dev-to/tools/community.d.ts +61 -0
- package/dist/toolkits/dev-to/tools/community.js +244 -0
- package/dist/toolkits/dev-to/tools/index.d.ts +202 -0
- package/dist/toolkits/dev-to/tools/index.js +37 -0
- package/dist/toolkits/dev-to/tools/listings.d.ts +26 -0
- package/dist/toolkits/dev-to/tools/listings.js +92 -0
- package/dist/toolkits/discord/tools/applications.d.ts +5 -5
- package/dist/toolkits/discord/tools/index.d.ts +5 -5
- package/dist/toolkits/figma/tools/create-modify-delete-variables.d.ts +1 -1
- package/dist/toolkits/figma/tools/get-file-nodes.d.ts +1 -1
- package/dist/toolkits/figma/tools/index.d.ts +3 -3
- package/dist/toolkits/figma/tools/render-images-of-file-nodes.d.ts +1 -1
- package/dist/toolkits/google-analytics/tools/reports.d.ts +9 -9
- package/dist/toolkits/google-classroom/tools/index.d.ts +7 -7
- package/dist/toolkits/google-classroom/tools/invitations.d.ts +2 -2
- package/dist/toolkits/google-classroom/tools/misc.d.ts +1 -1
- package/dist/toolkits/google-classroom/tools/roster.d.ts +5 -5
- package/dist/toolkits/google-search-console/tools/index.d.ts +2 -2
- package/dist/toolkits/google-search-console/tools/search-analytics-query.d.ts +2 -2
- package/dist/toolkits/hostinger/tools/index.d.ts +1 -1
- package/dist/toolkits/hostinger/tools/whois.d.ts +1 -1
- package/dist/toolkits/hugging-face/tools/datasets-viewer.d.ts +1 -1
- package/dist/toolkits/hugging-face/tools/datasets.d.ts +1 -1
- package/dist/toolkits/hugging-face/tools/index.d.ts +1 -1
- package/dist/toolkits/hugging-face/tools/models.d.ts +1 -1
- package/dist/toolkits/hugging-face/tools/repos.d.ts +1 -1
- package/dist/toolkits/hugging-face/tools/spaces.d.ts +1 -1
- package/dist/toolkits/jira/tools/index.d.ts +4 -4
- package/dist/toolkits/jira/tools/meta.d.ts +2 -2
- package/dist/toolkits/jira/tools/users.d.ts +3 -3
- package/dist/toolkits/kaggle/icon.d.ts +5 -0
- package/dist/toolkits/kaggle/icon.js +6 -0
- package/dist/toolkits/kaggle/manifest.d.ts +3 -0
- package/dist/toolkits/kaggle/manifest.js +32 -0
- package/dist/toolkits/kaggle/tools/client.d.ts +10 -0
- package/dist/toolkits/kaggle/tools/client.js +94 -0
- package/dist/toolkits/kaggle/tools/competitions.d.ts +48 -0
- package/dist/toolkits/kaggle/tools/competitions.js +109 -0
- package/dist/toolkits/kaggle/tools/config.d.ts +110 -0
- package/dist/toolkits/kaggle/tools/config.js +256 -0
- package/dist/toolkits/kaggle/tools/datasets.d.ts +88 -0
- package/dist/toolkits/kaggle/tools/datasets.js +161 -0
- package/dist/toolkits/kaggle/tools/index.d.ts +482 -0
- package/dist/toolkits/kaggle/tools/index.js +53 -0
- package/dist/toolkits/kaggle/tools/kernels.d.ts +62 -0
- package/dist/toolkits/kaggle/tools/kernels.js +121 -0
- package/dist/toolkits/kaggle/tools/model_instance_files.d.ts +11 -0
- package/dist/toolkits/kaggle/tools/model_instance_files.js +23 -0
- package/dist/toolkits/kaggle/tools/model_instances.d.ts +8 -0
- package/dist/toolkits/kaggle/tools/model_instances.js +20 -0
- package/dist/toolkits/kaggle/tools/models.d.ts +14 -0
- package/dist/toolkits/kaggle/tools/models.js +33 -0
- package/dist/toolkits/nasa/icon.d.ts +5 -0
- package/dist/toolkits/nasa/icon.js +56 -0
- package/dist/toolkits/nasa/manifest.d.ts +3 -0
- package/dist/toolkits/nasa/manifest.js +49 -0
- package/dist/toolkits/nasa/tools/agage.d.ts +60 -0
- package/dist/toolkits/nasa/tools/agage.js +176 -0
- package/dist/toolkits/nasa/tools/client.d.ts +95 -0
- package/dist/toolkits/nasa/tools/client.js +337 -0
- package/dist/toolkits/nasa/tools/cmr.d.ts +268 -0
- package/dist/toolkits/nasa/tools/cmr.js +984 -0
- package/dist/toolkits/nasa/tools/donki.d.ts +63 -0
- package/dist/toolkits/nasa/tools/donki.js +301 -0
- package/dist/toolkits/nasa/tools/eonet.d.ts +74 -0
- package/dist/toolkits/nasa/tools/eonet.js +279 -0
- package/dist/toolkits/nasa/tools/icesat2.d.ts +25 -0
- package/dist/toolkits/nasa/tools/icesat2.js +97 -0
- package/dist/toolkits/nasa/tools/imagery.d.ts +36 -0
- package/dist/toolkits/nasa/tools/imagery.js +138 -0
- package/dist/toolkits/nasa/tools/index.d.ts +1063 -0
- package/dist/toolkits/nasa/tools/index.js +865 -0
- package/dist/toolkits/nasa/tools/neo.d.ts +15 -0
- package/dist/toolkits/nasa/tools/neo.js +75 -0
- package/dist/toolkits/nasa/tools/ntrs.d.ts +152 -0
- package/dist/toolkits/nasa/tools/ntrs.js +292 -0
- package/dist/toolkits/nasa/tools/osdr.d.ts +72 -0
- package/dist/toolkits/nasa/tools/osdr.js +290 -0
- package/dist/toolkits/nasa/tools/planetary.d.ts +58 -0
- package/dist/toolkits/nasa/tools/planetary.js +312 -0
- package/dist/toolkits/nasa/tools/power.d.ts +52 -0
- package/dist/toolkits/nasa/tools/power.js +213 -0
- package/dist/toolkits/nasa/tools/ssc.d.ts +44 -0
- package/dist/toolkits/nasa/tools/ssc.js +92 -0
- package/dist/toolkits/nasa/tools/tolnet.d.ts +84 -0
- package/dist/toolkits/nasa/tools/tolnet.js +254 -0
- package/dist/toolkits/neo4j/tools/analytics.d.ts +1 -1
- package/dist/toolkits/neo4j/tools/index.d.ts +3 -3
- package/dist/toolkits/neo4j/tools/instances.d.ts +2 -2
- package/dist/toolkits/neon/tools/auth.d.ts +4 -4
- package/dist/toolkits/neon/tools/dataapi.d.ts +1 -1
- package/dist/toolkits/neon/tools/index.d.ts +7 -7
- package/dist/toolkits/neon/tools/projects.d.ts +2 -2
- package/dist/toolkits/new-relic/icon.d.ts +5 -0
- package/dist/toolkits/new-relic/icon.js +6 -0
- package/dist/toolkits/new-relic/manifest.d.ts +3 -0
- package/dist/toolkits/new-relic/manifest.js +41 -0
- package/dist/toolkits/new-relic/tools/admin.d.ts +310 -0
- package/dist/toolkits/new-relic/tools/admin.js +282 -0
- package/dist/toolkits/new-relic/tools/alert-policies.d.ts +74 -0
- package/dist/toolkits/new-relic/tools/alert-policies.js +136 -0
- package/dist/toolkits/new-relic/tools/apm.d.ts +129 -0
- package/dist/toolkits/new-relic/tools/apm.js +228 -0
- package/dist/toolkits/new-relic/tools/client.d.ts +62 -0
- package/dist/toolkits/new-relic/tools/client.js +167 -0
- package/dist/toolkits/new-relic/tools/conditions.d.ts +190 -0
- package/dist/toolkits/new-relic/tools/conditions.js +265 -0
- package/dist/toolkits/new-relic/tools/config.d.ts +73 -0
- package/dist/toolkits/new-relic/tools/config.js +131 -0
- package/dist/toolkits/new-relic/tools/dashboards.d.ts +204 -0
- package/dist/toolkits/new-relic/tools/dashboards.js +159 -0
- package/dist/toolkits/new-relic/tools/entities.d.ts +160 -0
- package/dist/toolkits/new-relic/tools/entities.js +218 -0
- package/dist/toolkits/new-relic/tools/index.d.ts +23 -0
- package/dist/toolkits/new-relic/tools/index.js +179 -0
- package/dist/toolkits/new-relic/tools/ingest.d.ts +31 -0
- package/dist/toolkits/new-relic/tools/ingest.js +80 -0
- package/dist/toolkits/new-relic/tools/notifications.d.ts +186 -0
- package/dist/toolkits/new-relic/tools/notifications.js +232 -0
- package/dist/toolkits/new-relic/tools/nrql-conditions.d.ts +105 -0
- package/dist/toolkits/new-relic/tools/nrql-conditions.js +136 -0
- package/dist/toolkits/new-relic/tools/nrql.d.ts +38 -0
- package/dist/toolkits/new-relic/tools/nrql.js +99 -0
- package/dist/toolkits/new-relic/tools/synthetics.d.ts +176 -0
- package/dist/toolkits/new-relic/tools/synthetics.js +246 -0
- package/dist/toolkits/notebook-lm/icon.d.ts +5 -0
- package/dist/toolkits/notebook-lm/icon.js +6 -0
- package/dist/toolkits/notebook-lm/manifest.d.ts +3 -0
- package/dist/toolkits/notebook-lm/manifest.js +44 -0
- package/dist/toolkits/notebook-lm/tools/add-text-sources.d.ts +36 -0
- package/dist/toolkits/notebook-lm/tools/add-text-sources.js +51 -0
- package/dist/toolkits/notebook-lm/tools/create-audio-overview.d.ts +47 -0
- package/dist/toolkits/notebook-lm/tools/create-audio-overview.js +55 -0
- package/dist/toolkits/notebook-lm/tools/create-notebook.d.ts +52 -0
- package/dist/toolkits/notebook-lm/tools/create-notebook.js +49 -0
- package/dist/toolkits/notebook-lm/tools/delete-audio-overview.d.ts +33 -0
- package/dist/toolkits/notebook-lm/tools/delete-audio-overview.js +46 -0
- package/dist/toolkits/notebook-lm/tools/delete-notebooks.d.ts +32 -0
- package/dist/toolkits/notebook-lm/tools/delete-notebooks.js +46 -0
- package/dist/toolkits/notebook-lm/tools/delete-sources.d.ts +33 -0
- package/dist/toolkits/notebook-lm/tools/delete-sources.js +47 -0
- package/dist/toolkits/notebook-lm/tools/get-notebook.d.ts +52 -0
- package/dist/toolkits/notebook-lm/tools/get-notebook.js +45 -0
- package/dist/toolkits/notebook-lm/tools/get-source.d.ts +53 -0
- package/dist/toolkits/notebook-lm/tools/get-source.js +47 -0
- package/dist/toolkits/notebook-lm/tools/index.d.ts +516 -0
- package/dist/toolkits/notebook-lm/tools/index.js +93 -0
- package/dist/toolkits/notebook-lm/tools/list-recent-notebooks.d.ts +32 -0
- package/dist/toolkits/notebook-lm/tools/list-recent-notebooks.js +41 -0
- package/dist/toolkits/notebook-lm/tools/share-notebook.d.ts +48 -0
- package/dist/toolkits/notebook-lm/tools/share-notebook.js +57 -0
- package/dist/toolkits/notebook-lm/tools/upload-source-file.d.ts +40 -0
- package/dist/toolkits/notebook-lm/tools/upload-source-file.js +62 -0
- package/dist/toolkits/notebook-lm/tools/utils.d.ts +15 -0
- package/dist/toolkits/notebook-lm/tools/utils.js +46 -0
- package/dist/toolkits/npm/icon.d.ts +5 -0
- package/dist/toolkits/npm/icon.js +11 -0
- package/dist/toolkits/npm/manifest.d.ts +3 -0
- package/dist/toolkits/npm/manifest.js +35 -0
- package/dist/toolkits/npm/tools/client.d.ts +19 -0
- package/dist/toolkits/npm/tools/client.js +64 -0
- package/dist/toolkits/npm/tools/downloads.d.ts +19 -0
- package/dist/toolkits/npm/tools/downloads.js +39 -0
- package/dist/toolkits/npm/tools/index.d.ts +14 -0
- package/dist/toolkits/npm/tools/index.js +24 -0
- package/dist/toolkits/npm/tools/registry.d.ts +24 -0
- package/dist/toolkits/npm/tools/registry.js +58 -0
- package/dist/toolkits/npm/tools/security.d.ts +9 -0
- package/dist/toolkits/npm/tools/security.js +29 -0
- package/dist/toolkits/slack/tools/admin-users.d.ts +1 -1
- package/dist/toolkits/slack/tools/slack-lists.d.ts +3 -3
- package/dist/toolkits/snowflake/icon.d.ts +5 -0
- package/dist/toolkits/snowflake/icon.js +6 -0
- package/dist/toolkits/snowflake/manifest.d.ts +3 -0
- package/dist/toolkits/snowflake/manifest.js +32 -0
- package/dist/toolkits/snowflake/tools/catalog.d.ts +56 -0
- package/dist/toolkits/snowflake/tools/catalog.js +123 -0
- package/dist/toolkits/snowflake/tools/client.d.ts +53 -0
- package/dist/toolkits/snowflake/tools/client.js +145 -0
- package/dist/toolkits/snowflake/tools/index.d.ts +14 -0
- package/dist/toolkits/snowflake/tools/index.js +28 -0
- package/dist/toolkits/snowflake/tools/statements.d.ts +27 -0
- package/dist/toolkits/snowflake/tools/statements.js +84 -0
- package/dist/toolkits/snowflake/tools/status.d.ts +22 -0
- package/dist/toolkits/snowflake/tools/status.js +54 -0
- package/dist/toolkits/telegram/icon.d.ts +5 -0
- package/dist/toolkits/telegram/icon.js +6 -0
- package/dist/toolkits/telegram/manifest.d.ts +3 -0
- package/dist/toolkits/telegram/manifest.js +34 -0
- package/dist/toolkits/telegram/tools/bot.d.ts +13 -0
- package/dist/toolkits/telegram/tools/bot.js +23 -0
- package/dist/toolkits/telegram/tools/chats.d.ts +22 -0
- package/dist/toolkits/telegram/tools/chats.js +46 -0
- package/dist/toolkits/telegram/tools/client.d.ts +12 -0
- package/dist/toolkits/telegram/tools/client.js +46 -0
- package/dist/toolkits/telegram/tools/index.d.ts +15 -0
- package/dist/toolkits/telegram/tools/index.js +31 -0
- package/dist/toolkits/telegram/tools/messages.d.ts +86 -0
- package/dist/toolkits/telegram/tools/messages.js +134 -0
- package/dist/toolkits/telegram/tools/updates.d.ts +23 -0
- package/dist/toolkits/telegram/tools/updates.js +54 -0
- package/dist/toolkits/youtube/tools/get-channel-activities.d.ts +1 -1
- package/dist/toolkits/youtube/tools/index.d.ts +5 -5
- package/dist/toolkits/youtube/tools/list-channel-sections.d.ts +1 -1
- package/dist/toolkits/youtube/tools/post-comment.d.ts +1 -1
- package/dist/toolkits/youtube/tools/subscribe-channel.d.ts +1 -1
- package/dist/toolkits/youtube/tools/unsubscribe-channel.d.ts +1 -1
- package/package.json +2 -3
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const SVG = `<svg xmlns="http://www.w3.org/2000/svg"
|
|
2
|
+
aria-label="dev.to" role="img"
|
|
3
|
+
viewBox="0 0 512 512"><rect
|
|
4
|
+
width="512" height="512"
|
|
5
|
+
rx="15%"/><path fill="#ffffff" d="M140.47 203.94h-17.44v104.47h17.45c10.155-.545 17.358-8.669 17.47-17.41v-69.65c-.696-10.364-7.796-17.272-17.48-17.41zm45.73 87.25c0 18.81-11.61 47.31-48.36 47.25h-46.4V172.98h47.38c35.44 0 47.36 28.46 47.37 47.28zm100.68-88.66H233.6v38.42h32.57v29.57H233.6v38.41h53.29v29.57h-62.18c-11.16.29-20.44-8.53-20.72-19.69V193.7c-.27-11.15 8.56-20.41 19.71-20.69h63.19zm103.64 115.29c-13.2 30.75-36.85 24.63-47.44 0l-38.53-144.8h32.57l29.71 113.72 29.57-113.72h32.58z"/></svg>`;
|
|
6
|
+
export const DEV_TO_ICON = {
|
|
7
|
+
kind: 'svg',
|
|
8
|
+
dataUri: `data:image/svg+xml;base64,${Buffer.from(SVG).toString('base64')}`,
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=icon.js.map
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { defineToolkit, defineTool } from '../../core/define.js';
|
|
2
|
+
import { DEV_TO_ICON } from './icon.js';
|
|
3
|
+
import { devToTools } from './tools/index.js';
|
|
4
|
+
export default defineToolkit({
|
|
5
|
+
id: 'dev-to',
|
|
6
|
+
displayName: 'DEV',
|
|
7
|
+
shortDescription: 'Publish and browse DEV Community articles, comments, listings, and profiles.',
|
|
8
|
+
category: 'Social Media',
|
|
9
|
+
icon: DEV_TO_ICON,
|
|
10
|
+
auth: {
|
|
11
|
+
type: 'api_key',
|
|
12
|
+
tokenField: 'devToApiKey',
|
|
13
|
+
provider: {
|
|
14
|
+
in: 'header',
|
|
15
|
+
name: 'api-key',
|
|
16
|
+
connectDescription: 'Connect DEV with an API key. Generate one from DEV Settings > Extensions > DEV Community API Keys. Public reads (articles, comments, users, tags, listings) also work without a key.',
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
allowedHosts: ['dev.to'],
|
|
20
|
+
tools: devToTools.map((entry) => defineTool({
|
|
21
|
+
name: entry.name,
|
|
22
|
+
description: entry.description,
|
|
23
|
+
tool: entry.tool,
|
|
24
|
+
requiredAuth: entry.requiredAuth,
|
|
25
|
+
scope: entry.scope,
|
|
26
|
+
})),
|
|
27
|
+
meta: {
|
|
28
|
+
since: '0.0.9',
|
|
29
|
+
homepage: 'https://dev.to',
|
|
30
|
+
docsUrl: 'https://developers.forem.com/api/v1',
|
|
31
|
+
apiDocsUrl: 'https://developers.forem.com/api/v1',
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
export declare const devToCreateArticle: import("ai").Tool<{
|
|
2
|
+
title: string;
|
|
3
|
+
bodyMarkdown: string;
|
|
4
|
+
description?: string | undefined;
|
|
5
|
+
published?: boolean | undefined;
|
|
6
|
+
tags?: string[] | undefined;
|
|
7
|
+
series?: string | undefined;
|
|
8
|
+
organizationId?: number | undefined;
|
|
9
|
+
devToApiKey?: string | undefined;
|
|
10
|
+
mainImage?: string | undefined;
|
|
11
|
+
canonicalUrl?: string | undefined;
|
|
12
|
+
}, any>;
|
|
13
|
+
export declare const devToGetArticle: import("ai").Tool<{
|
|
14
|
+
id: number;
|
|
15
|
+
devToApiKey?: string | undefined;
|
|
16
|
+
}, any>;
|
|
17
|
+
export declare const devToGetArticleByPath: import("ai").Tool<{
|
|
18
|
+
username: string;
|
|
19
|
+
slug: string;
|
|
20
|
+
devToApiKey?: string | undefined;
|
|
21
|
+
}, any>;
|
|
22
|
+
export declare const devToListArticles: import("ai").Tool<{
|
|
23
|
+
perPage?: number | undefined;
|
|
24
|
+
page?: number | undefined;
|
|
25
|
+
username?: string | undefined;
|
|
26
|
+
state?: "all" | "rising" | "fresh" | undefined;
|
|
27
|
+
tags?: string | undefined;
|
|
28
|
+
collectionId?: number | undefined;
|
|
29
|
+
tag?: string | undefined;
|
|
30
|
+
top?: number | undefined;
|
|
31
|
+
devToApiKey?: string | undefined;
|
|
32
|
+
tagsExclude?: string | undefined;
|
|
33
|
+
}, any>;
|
|
34
|
+
export declare const devToListLatestArticles: import("ai").Tool<{
|
|
35
|
+
perPage?: number | undefined;
|
|
36
|
+
page?: number | undefined;
|
|
37
|
+
devToApiKey?: string | undefined;
|
|
38
|
+
}, any>;
|
|
39
|
+
export declare const devToListUserArticles: import("ai").Tool<{
|
|
40
|
+
perPage?: number | undefined;
|
|
41
|
+
page?: number | undefined;
|
|
42
|
+
devToApiKey?: string | undefined;
|
|
43
|
+
}, any>;
|
|
44
|
+
export declare const devToListUserPublishedArticles: import("ai").Tool<{
|
|
45
|
+
perPage?: number | undefined;
|
|
46
|
+
page?: number | undefined;
|
|
47
|
+
devToApiKey?: string | undefined;
|
|
48
|
+
}, any>;
|
|
49
|
+
export declare const devToListUserUnpublishedArticles: import("ai").Tool<{
|
|
50
|
+
perPage?: number | undefined;
|
|
51
|
+
page?: number | undefined;
|
|
52
|
+
devToApiKey?: string | undefined;
|
|
53
|
+
}, any>;
|
|
54
|
+
export declare const devToListUserAllArticles: import("ai").Tool<{
|
|
55
|
+
perPage?: number | undefined;
|
|
56
|
+
page?: number | undefined;
|
|
57
|
+
devToApiKey?: string | undefined;
|
|
58
|
+
}, any>;
|
|
59
|
+
export declare const devToListOrganizationArticles: import("ai").Tool<{
|
|
60
|
+
username: string;
|
|
61
|
+
perPage?: number | undefined;
|
|
62
|
+
page?: number | undefined;
|
|
63
|
+
devToApiKey?: string | undefined;
|
|
64
|
+
}, any>;
|
|
65
|
+
export declare const devToUpdateArticle: import("ai").Tool<{
|
|
66
|
+
id: number;
|
|
67
|
+
description?: string | undefined;
|
|
68
|
+
title?: string | undefined;
|
|
69
|
+
published?: boolean | undefined;
|
|
70
|
+
tags?: string[] | undefined;
|
|
71
|
+
series?: string | undefined;
|
|
72
|
+
organizationId?: number | undefined;
|
|
73
|
+
devToApiKey?: string | undefined;
|
|
74
|
+
bodyMarkdown?: string | undefined;
|
|
75
|
+
mainImage?: string | undefined;
|
|
76
|
+
canonicalUrl?: string | undefined;
|
|
77
|
+
}, any>;
|
|
78
|
+
//# sourceMappingURL=articles.d.ts.map
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { tool } from 'ai';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { devToRequest, toDevToError, requireApiKey } from './client.js';
|
|
5
|
+
const apiKeyField = z.string().optional().describe('Injected by system; do not provide');
|
|
6
|
+
const paginationFields = {
|
|
7
|
+
page: z.number().int().min(1).optional().describe('Page number for pagination'),
|
|
8
|
+
perPage: z.number().int().min(1).optional().describe('Number of items per page'),
|
|
9
|
+
};
|
|
10
|
+
export const devToCreateArticle = tool({
|
|
11
|
+
description: 'Create a new article on DEV Community. Set published=true to publish immediately, or omit/false to save as a draft.',
|
|
12
|
+
inputSchema: z.object({
|
|
13
|
+
devToApiKey: apiKeyField,
|
|
14
|
+
title: z.string().describe('The title of the article'),
|
|
15
|
+
bodyMarkdown: z.string().describe('The body content of the article in Markdown format'),
|
|
16
|
+
published: z.boolean().optional().describe('Publish immediately (true) or save as draft (false, default)'),
|
|
17
|
+
description: z.string().optional().describe('Short description used for preview text and SEO'),
|
|
18
|
+
mainImage: z.string().optional().describe('URL of the main cover image'),
|
|
19
|
+
tags: z.array(z.string()).max(4).optional().describe('Array of tag names, maximum 4'),
|
|
20
|
+
series: z.string().optional().describe('Name of the series this article belongs to'),
|
|
21
|
+
canonicalUrl: z.string().optional().describe('Canonical URL if crossposted elsewhere'),
|
|
22
|
+
organizationId: z.number().int().optional().describe('ID of the organization to publish under (must be a member)'),
|
|
23
|
+
}),
|
|
24
|
+
execute: async ({ devToApiKey, bodyMarkdown, mainImage, canonicalUrl, organizationId, ...rest }) => {
|
|
25
|
+
const missing = requireApiKey(devToApiKey);
|
|
26
|
+
if (missing)
|
|
27
|
+
return missing;
|
|
28
|
+
try {
|
|
29
|
+
const article = { ...rest, body_markdown: bodyMarkdown };
|
|
30
|
+
if (mainImage !== undefined)
|
|
31
|
+
article.main_image = mainImage;
|
|
32
|
+
if (canonicalUrl !== undefined)
|
|
33
|
+
article.canonical_url = canonicalUrl;
|
|
34
|
+
if (organizationId !== undefined)
|
|
35
|
+
article.organization_id = organizationId;
|
|
36
|
+
return await devToRequest(devToApiKey, 'POST', '/articles', { body: { article } });
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
return toDevToError(error, 'Failed to create article');
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
export const devToGetArticle = tool({
|
|
44
|
+
description: 'Get a single published article by its numeric ID, including full body content.',
|
|
45
|
+
inputSchema: z.object({
|
|
46
|
+
devToApiKey: apiKeyField,
|
|
47
|
+
id: z.number().int().describe('The numeric ID of the article'),
|
|
48
|
+
}),
|
|
49
|
+
execute: async ({ devToApiKey, id }) => {
|
|
50
|
+
try {
|
|
51
|
+
return await devToRequest(devToApiKey, 'GET', `/articles/${id}`);
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
return toDevToError(error, 'Failed to get article');
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
export const devToGetArticleByPath = tool({
|
|
59
|
+
description: "Get a single published article by the author's username and the article slug.",
|
|
60
|
+
inputSchema: z.object({
|
|
61
|
+
devToApiKey: apiKeyField,
|
|
62
|
+
username: z.string().describe("The username of the article's author"),
|
|
63
|
+
slug: z.string().describe('The URL-friendly slug of the article'),
|
|
64
|
+
}),
|
|
65
|
+
execute: async ({ devToApiKey, username, slug }) => {
|
|
66
|
+
try {
|
|
67
|
+
return await devToRequest(devToApiKey, 'GET', `/articles/${encodeURIComponent(username)}/${encodeURIComponent(slug)}`);
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
return toDevToError(error, 'Failed to get article by path');
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
export const devToListArticles = tool({
|
|
75
|
+
description: 'List published articles, optionally filtered by tag(s), username, state (fresh/rising/all), top days, or collection. Omit all filters for the latest feed.',
|
|
76
|
+
inputSchema: z.object({
|
|
77
|
+
devToApiKey: apiKeyField,
|
|
78
|
+
tag: z.string().optional().describe('Filter by a single tag name'),
|
|
79
|
+
tags: z.string().optional().describe('Filter by multiple tag names (comma-separated)'),
|
|
80
|
+
tagsExclude: z.string().optional().describe('Exclude articles with these tags (comma-separated)'),
|
|
81
|
+
username: z.string().optional().describe('Articles from a specific user or organization'),
|
|
82
|
+
state: z.enum(['fresh', 'rising', 'all']).optional().describe('fresh or rising articles; all with username returns up to 1000'),
|
|
83
|
+
top: z.number().int().min(1).optional().describe('Top articles from the last N days (combinable with tag)'),
|
|
84
|
+
collectionId: z.number().int().optional().describe('Articles belonging to a collection/series'),
|
|
85
|
+
...paginationFields,
|
|
86
|
+
}),
|
|
87
|
+
execute: async ({ devToApiKey, tagsExclude, collectionId, perPage, ...rest }) => {
|
|
88
|
+
try {
|
|
89
|
+
const query = { ...rest };
|
|
90
|
+
if (tagsExclude !== undefined)
|
|
91
|
+
query.tags_exclude = tagsExclude;
|
|
92
|
+
if (collectionId !== undefined)
|
|
93
|
+
query.collection_id = collectionId;
|
|
94
|
+
if (perPage !== undefined)
|
|
95
|
+
query.per_page = perPage;
|
|
96
|
+
return await devToRequest(devToApiKey, 'GET', '/articles', { query });
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
return toDevToError(error, 'Failed to list articles');
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
});
|
|
103
|
+
export const devToListLatestArticles = tool({
|
|
104
|
+
description: 'List published articles sorted strictly by descending publish date (no feed personalization).',
|
|
105
|
+
inputSchema: z.object({
|
|
106
|
+
devToApiKey: apiKeyField,
|
|
107
|
+
...paginationFields,
|
|
108
|
+
}),
|
|
109
|
+
execute: async ({ devToApiKey, perPage, ...rest }) => {
|
|
110
|
+
try {
|
|
111
|
+
const query = { ...rest };
|
|
112
|
+
if (perPage !== undefined)
|
|
113
|
+
query.per_page = perPage;
|
|
114
|
+
return await devToRequest(devToApiKey, 'GET', '/articles/latest', { query });
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
return toDevToError(error, 'Failed to list latest articles');
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
});
|
|
121
|
+
export const devToListUserArticles = tool({
|
|
122
|
+
description: "List the authenticated user's published articles in reverse chronological order.",
|
|
123
|
+
inputSchema: z.object({
|
|
124
|
+
devToApiKey: apiKeyField,
|
|
125
|
+
...paginationFields,
|
|
126
|
+
}),
|
|
127
|
+
execute: async ({ devToApiKey, perPage, ...rest }) => {
|
|
128
|
+
const missing = requireApiKey(devToApiKey);
|
|
129
|
+
if (missing)
|
|
130
|
+
return missing;
|
|
131
|
+
try {
|
|
132
|
+
const query = { ...rest };
|
|
133
|
+
if (perPage !== undefined)
|
|
134
|
+
query.per_page = perPage;
|
|
135
|
+
return await devToRequest(devToApiKey, 'GET', '/articles/me', { query });
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
return toDevToError(error, 'Failed to list user articles');
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
});
|
|
142
|
+
export const devToListUserPublishedArticles = tool({
|
|
143
|
+
description: "List only the authenticated user's published articles. For drafts, use unpublished/all variants.",
|
|
144
|
+
inputSchema: z.object({
|
|
145
|
+
devToApiKey: apiKeyField,
|
|
146
|
+
...paginationFields,
|
|
147
|
+
}),
|
|
148
|
+
execute: async ({ devToApiKey, perPage, ...rest }) => {
|
|
149
|
+
const missing = requireApiKey(devToApiKey);
|
|
150
|
+
if (missing)
|
|
151
|
+
return missing;
|
|
152
|
+
try {
|
|
153
|
+
const query = { ...rest };
|
|
154
|
+
if (perPage !== undefined)
|
|
155
|
+
query.per_page = perPage;
|
|
156
|
+
return await devToRequest(devToApiKey, 'GET', '/articles/me/published', { query });
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
return toDevToError(error, 'Failed to list published articles');
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
});
|
|
163
|
+
export const devToListUserUnpublishedArticles = tool({
|
|
164
|
+
description: "List the authenticated user's unpublished (draft) articles.",
|
|
165
|
+
inputSchema: z.object({
|
|
166
|
+
devToApiKey: apiKeyField,
|
|
167
|
+
...paginationFields,
|
|
168
|
+
}),
|
|
169
|
+
execute: async ({ devToApiKey, perPage, ...rest }) => {
|
|
170
|
+
const missing = requireApiKey(devToApiKey);
|
|
171
|
+
if (missing)
|
|
172
|
+
return missing;
|
|
173
|
+
try {
|
|
174
|
+
const query = { ...rest };
|
|
175
|
+
if (perPage !== undefined)
|
|
176
|
+
query.per_page = perPage;
|
|
177
|
+
return await devToRequest(devToApiKey, 'GET', '/articles/me/unpublished', { query });
|
|
178
|
+
}
|
|
179
|
+
catch (error) {
|
|
180
|
+
return toDevToError(error, 'Failed to list unpublished articles');
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
});
|
|
184
|
+
export const devToListUserAllArticles = tool({
|
|
185
|
+
description: 'List all of the authenticated user articles, both published and drafts (drafts first).',
|
|
186
|
+
inputSchema: z.object({
|
|
187
|
+
devToApiKey: apiKeyField,
|
|
188
|
+
...paginationFields,
|
|
189
|
+
}),
|
|
190
|
+
execute: async ({ devToApiKey, perPage, ...rest }) => {
|
|
191
|
+
const missing = requireApiKey(devToApiKey);
|
|
192
|
+
if (missing)
|
|
193
|
+
return missing;
|
|
194
|
+
try {
|
|
195
|
+
const query = { ...rest };
|
|
196
|
+
if (perPage !== undefined)
|
|
197
|
+
query.per_page = perPage;
|
|
198
|
+
return await devToRequest(devToApiKey, 'GET', '/articles/me/all', { query });
|
|
199
|
+
}
|
|
200
|
+
catch (error) {
|
|
201
|
+
return toDevToError(error, 'Failed to list all user articles');
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
});
|
|
205
|
+
export const devToListOrganizationArticles = tool({
|
|
206
|
+
description: 'List articles published by a specific organization.',
|
|
207
|
+
inputSchema: z.object({
|
|
208
|
+
devToApiKey: apiKeyField,
|
|
209
|
+
username: z.string().describe("The organization's username"),
|
|
210
|
+
...paginationFields,
|
|
211
|
+
}),
|
|
212
|
+
execute: async ({ devToApiKey, username, perPage, ...rest }) => {
|
|
213
|
+
try {
|
|
214
|
+
const query = { ...rest };
|
|
215
|
+
if (perPage !== undefined)
|
|
216
|
+
query.per_page = perPage;
|
|
217
|
+
return await devToRequest(devToApiKey, 'GET', `/organizations/${encodeURIComponent(username)}/articles`, {
|
|
218
|
+
query,
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
catch (error) {
|
|
222
|
+
return toDevToError(error, 'Failed to list organization articles');
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
});
|
|
226
|
+
export const devToUpdateArticle = tool({
|
|
227
|
+
description: 'Update an existing article owned by the authenticated user. Only provide fields to change.',
|
|
228
|
+
inputSchema: z.object({
|
|
229
|
+
devToApiKey: apiKeyField,
|
|
230
|
+
id: z.number().int().describe('The ID of the article to update'),
|
|
231
|
+
title: z.string().optional().describe('Updated title'),
|
|
232
|
+
bodyMarkdown: z.string().optional().describe('Updated body in Markdown (include front matter to change tags/series via markdown)'),
|
|
233
|
+
published: z.boolean().optional().describe('Set false to revert a published article to draft'),
|
|
234
|
+
description: z.string().optional().describe('Updated short description'),
|
|
235
|
+
mainImage: z.string().optional().describe('Updated cover image URL'),
|
|
236
|
+
tags: z.array(z.string()).max(4).optional().describe('Updated tag names, maximum 4'),
|
|
237
|
+
series: z.string().optional().describe('Updated series name'),
|
|
238
|
+
canonicalUrl: z.string().optional().describe('Updated canonical URL'),
|
|
239
|
+
organizationId: z.number().int().optional().describe('Organization ID to assign the article to'),
|
|
240
|
+
}),
|
|
241
|
+
execute: async ({ devToApiKey, id, bodyMarkdown, mainImage, canonicalUrl, organizationId, ...rest }) => {
|
|
242
|
+
const missing = requireApiKey(devToApiKey);
|
|
243
|
+
if (missing)
|
|
244
|
+
return missing;
|
|
245
|
+
try {
|
|
246
|
+
const article = { ...rest };
|
|
247
|
+
if (bodyMarkdown !== undefined)
|
|
248
|
+
article.body_markdown = bodyMarkdown;
|
|
249
|
+
if (mainImage !== undefined)
|
|
250
|
+
article.main_image = mainImage;
|
|
251
|
+
if (canonicalUrl !== undefined)
|
|
252
|
+
article.canonical_url = canonicalUrl;
|
|
253
|
+
if (organizationId !== undefined)
|
|
254
|
+
article.organization_id = organizationId;
|
|
255
|
+
return await devToRequest(devToApiKey, 'PUT', `/articles/${id}`, { body: { article } });
|
|
256
|
+
}
|
|
257
|
+
catch (error) {
|
|
258
|
+
return toDevToError(error, 'Failed to update article');
|
|
259
|
+
}
|
|
260
|
+
},
|
|
261
|
+
});
|
|
262
|
+
//# sourceMappingURL=articles.js.map
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare class DevToApiError extends Error {
|
|
2
|
+
status: number;
|
|
3
|
+
details: unknown;
|
|
4
|
+
constructor(message: string, status: number, details: unknown);
|
|
5
|
+
}
|
|
6
|
+
export declare function appendQuery(url: URL, query?: Record<string, unknown>): void;
|
|
7
|
+
export declare function devToRequest(devToApiKey: string | undefined, method: 'GET' | 'POST' | 'PUT', path: string, options?: {
|
|
8
|
+
query?: Record<string, unknown>;
|
|
9
|
+
body?: unknown;
|
|
10
|
+
}): Promise<any>;
|
|
11
|
+
export declare function toDevToError(error: unknown, label: string): {
|
|
12
|
+
error: string;
|
|
13
|
+
details: unknown;
|
|
14
|
+
statusCode: number;
|
|
15
|
+
message?: undefined;
|
|
16
|
+
} | {
|
|
17
|
+
error: string;
|
|
18
|
+
message: string;
|
|
19
|
+
details?: undefined;
|
|
20
|
+
statusCode?: undefined;
|
|
21
|
+
};
|
|
22
|
+
export declare function requireApiKey(devToApiKey: string | undefined): {
|
|
23
|
+
error: string;
|
|
24
|
+
} | null;
|
|
25
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
const BASE_URL = 'https://dev.to/api';
|
|
3
|
+
const ACCEPT = 'application/vnd.forem.api-v1+json';
|
|
4
|
+
export class DevToApiError extends Error {
|
|
5
|
+
status;
|
|
6
|
+
details;
|
|
7
|
+
constructor(message, status, details) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.status = status;
|
|
10
|
+
this.details = details;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export function appendQuery(url, query) {
|
|
14
|
+
if (!query)
|
|
15
|
+
return;
|
|
16
|
+
for (const [key, value] of Object.entries(query)) {
|
|
17
|
+
if (value === undefined || value === null)
|
|
18
|
+
continue;
|
|
19
|
+
url.searchParams.set(key, String(value));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export async function devToRequest(devToApiKey, method, path, options) {
|
|
23
|
+
const url = new URL(`${BASE_URL}${path}`);
|
|
24
|
+
appendQuery(url, options?.query);
|
|
25
|
+
const headers = { Accept: ACCEPT };
|
|
26
|
+
if (devToApiKey) {
|
|
27
|
+
headers['api-key'] = devToApiKey;
|
|
28
|
+
}
|
|
29
|
+
if (options?.body !== undefined) {
|
|
30
|
+
headers['Content-Type'] = 'application/json';
|
|
31
|
+
}
|
|
32
|
+
const response = await fetch(url.toString(), {
|
|
33
|
+
method,
|
|
34
|
+
headers,
|
|
35
|
+
body: options?.body !== undefined ? JSON.stringify(options.body) : undefined,
|
|
36
|
+
});
|
|
37
|
+
const text = await response.text();
|
|
38
|
+
let data = {};
|
|
39
|
+
try {
|
|
40
|
+
data = text ? JSON.parse(text) : {};
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
data = { raw: text };
|
|
44
|
+
}
|
|
45
|
+
if (!response.ok) {
|
|
46
|
+
throw new DevToApiError('DEV API request failed', response.status, data);
|
|
47
|
+
}
|
|
48
|
+
return data;
|
|
49
|
+
}
|
|
50
|
+
export function toDevToError(error, label) {
|
|
51
|
+
if (error instanceof DevToApiError) {
|
|
52
|
+
return { error: label, details: error.details, statusCode: error.status };
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
error: label.replace('Failed', 'Error').replace('failed', 'error'),
|
|
56
|
+
message: error instanceof Error ? error.message : 'Unknown error',
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export function requireApiKey(devToApiKey) {
|
|
60
|
+
if (!devToApiKey) {
|
|
61
|
+
return { error: 'DEV API key is required. Connect DEV first.' };
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export declare const devToGetComment: import("ai").Tool<{
|
|
2
|
+
id: string;
|
|
3
|
+
devToApiKey?: string | undefined;
|
|
4
|
+
}, any>;
|
|
5
|
+
export declare const devToListComments: import("ai").Tool<{
|
|
6
|
+
articleId?: number | undefined;
|
|
7
|
+
devToApiKey?: string | undefined;
|
|
8
|
+
podcastEpisodeId?: number | undefined;
|
|
9
|
+
}, any>;
|
|
10
|
+
export declare const devToGetCurrentUser: import("ai").Tool<{
|
|
11
|
+
devToApiKey?: string | undefined;
|
|
12
|
+
}, any>;
|
|
13
|
+
export declare const devToGetUser: import("ai").Tool<{
|
|
14
|
+
id: string;
|
|
15
|
+
devToApiKey?: string | undefined;
|
|
16
|
+
}, any>;
|
|
17
|
+
export declare const devToGetOrganization: import("ai").Tool<{
|
|
18
|
+
username: string;
|
|
19
|
+
devToApiKey?: string | undefined;
|
|
20
|
+
}, any>;
|
|
21
|
+
export declare const devToListOrganizationUsers: import("ai").Tool<{
|
|
22
|
+
username: string;
|
|
23
|
+
perPage?: number | undefined;
|
|
24
|
+
page?: number | undefined;
|
|
25
|
+
devToApiKey?: string | undefined;
|
|
26
|
+
}, any>;
|
|
27
|
+
export declare const devToGetProfileImage: import("ai").Tool<{
|
|
28
|
+
username: string;
|
|
29
|
+
devToApiKey?: string | undefined;
|
|
30
|
+
}, any>;
|
|
31
|
+
export declare const devToListTags: import("ai").Tool<{
|
|
32
|
+
perPage?: number | undefined;
|
|
33
|
+
page?: number | undefined;
|
|
34
|
+
devToApiKey?: string | undefined;
|
|
35
|
+
}, any>;
|
|
36
|
+
export declare const devToListFollowedTags: import("ai").Tool<{
|
|
37
|
+
devToApiKey?: string | undefined;
|
|
38
|
+
}, any>;
|
|
39
|
+
export declare const devToListFollowers: import("ai").Tool<{
|
|
40
|
+
sort?: string | undefined;
|
|
41
|
+
perPage?: number | undefined;
|
|
42
|
+
page?: number | undefined;
|
|
43
|
+
devToApiKey?: string | undefined;
|
|
44
|
+
}, any>;
|
|
45
|
+
export declare const devToListPodcastEpisodes: import("ai").Tool<{
|
|
46
|
+
perPage?: number | undefined;
|
|
47
|
+
page?: number | undefined;
|
|
48
|
+
username?: string | undefined;
|
|
49
|
+
devToApiKey?: string | undefined;
|
|
50
|
+
}, any>;
|
|
51
|
+
export declare const devToListReadingList: import("ai").Tool<{
|
|
52
|
+
perPage?: number | undefined;
|
|
53
|
+
page?: number | undefined;
|
|
54
|
+
devToApiKey?: string | undefined;
|
|
55
|
+
}, any>;
|
|
56
|
+
export declare const devToListVideos: import("ai").Tool<{
|
|
57
|
+
perPage?: number | undefined;
|
|
58
|
+
page?: number | undefined;
|
|
59
|
+
devToApiKey?: string | undefined;
|
|
60
|
+
}, any>;
|
|
61
|
+
//# sourceMappingURL=community.d.ts.map
|