@opentabs-dev/opentabs-plugin-npm 0.0.74

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 (73) hide show
  1. package/README.md +159 -0
  2. package/dist/adapter.iife.js +15010 -0
  3. package/dist/adapter.iife.js.map +7 -0
  4. package/dist/index.d.ts +14 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +46 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/npm-api.d.ts +9 -0
  9. package/dist/npm-api.d.ts.map +1 -0
  10. package/dist/npm-api.js +67 -0
  11. package/dist/npm-api.js.map +1 -0
  12. package/dist/tools/get-current-user.d.ts +7 -0
  13. package/dist/tools/get-current-user.d.ts.map +1 -0
  14. package/dist/tools/get-current-user.js +28 -0
  15. package/dist/tools/get-current-user.js.map +1 -0
  16. package/dist/tools/get-organization.d.ts +20 -0
  17. package/dist/tools/get-organization.d.ts.map +1 -0
  18. package/dist/tools/get-organization.js +31 -0
  19. package/dist/tools/get-organization.js.map +1 -0
  20. package/dist/tools/get-package-dependencies.d.ts +16 -0
  21. package/dist/tools/get-package-dependencies.d.ts.map +1 -0
  22. package/dist/tools/get-package-dependencies.js +32 -0
  23. package/dist/tools/get-package-dependencies.js.map +1 -0
  24. package/dist/tools/get-package-dependents.d.ts +10 -0
  25. package/dist/tools/get-package-dependents.d.ts.map +1 -0
  26. package/dist/tools/get-package-dependents.js +28 -0
  27. package/dist/tools/get-package-dependents.js.map +1 -0
  28. package/dist/tools/get-package-downloads.d.ts +11 -0
  29. package/dist/tools/get-package-downloads.d.ts.map +1 -0
  30. package/dist/tools/get-package-downloads.js +27 -0
  31. package/dist/tools/get-package-downloads.js.map +1 -0
  32. package/dist/tools/get-package-readme.d.ts +9 -0
  33. package/dist/tools/get-package-readme.d.ts.map +1 -0
  34. package/dist/tools/get-package-readme.js +35 -0
  35. package/dist/tools/get-package-readme.js.map +1 -0
  36. package/dist/tools/get-package-version.d.ts +37 -0
  37. package/dist/tools/get-package-version.d.ts.map +1 -0
  38. package/dist/tools/get-package-version.js +30 -0
  39. package/dist/tools/get-package-version.js.map +1 -0
  40. package/dist/tools/get-package-versions.d.ts +12 -0
  41. package/dist/tools/get-package-versions.d.ts.map +1 -0
  42. package/dist/tools/get-package-versions.js +33 -0
  43. package/dist/tools/get-package-versions.js.map +1 -0
  44. package/dist/tools/get-package.d.ts +28 -0
  45. package/dist/tools/get-package.d.ts.map +1 -0
  46. package/dist/tools/get-package.js +23 -0
  47. package/dist/tools/get-package.js.map +1 -0
  48. package/dist/tools/get-user-packages.d.ts +14 -0
  49. package/dist/tools/get-user-packages.d.ts.map +1 -0
  50. package/dist/tools/get-user-packages.js +31 -0
  51. package/dist/tools/get-user-packages.js.map +1 -0
  52. package/dist/tools/get-user-profile.d.ts +12 -0
  53. package/dist/tools/get-user-profile.d.ts.map +1 -0
  54. package/dist/tools/get-user-profile.js +23 -0
  55. package/dist/tools/get-user-profile.js.map +1 -0
  56. package/dist/tools/list-tokens.d.ts +10 -0
  57. package/dist/tools/list-tokens.d.ts.map +1 -0
  58. package/dist/tools/list-tokens.js +24 -0
  59. package/dist/tools/list-tokens.js.map +1 -0
  60. package/dist/tools/list-user-packages.d.ts +13 -0
  61. package/dist/tools/list-user-packages.d.ts.map +1 -0
  62. package/dist/tools/list-user-packages.js +31 -0
  63. package/dist/tools/list-user-packages.js.map +1 -0
  64. package/dist/tools/schemas.d.ts +355 -0
  65. package/dist/tools/schemas.d.ts.map +1 -0
  66. package/dist/tools/schemas.js +195 -0
  67. package/dist/tools/schemas.js.map +1 -0
  68. package/dist/tools/search-packages.d.ts +26 -0
  69. package/dist/tools/search-packages.d.ts.map +1 -0
  70. package/dist/tools/search-packages.js +31 -0
  71. package/dist/tools/search-packages.js.map +1 -0
  72. package/dist/tools.json +1197 -0
  73. package/package.json +53 -0
@@ -0,0 +1,195 @@
1
+ import { z } from 'zod';
2
+ // --- Maintainer ---
3
+ export const maintainerSchema = z.object({
4
+ name: z.string().describe('npm username'),
5
+ });
6
+ export const mapMaintainer = (m) => ({
7
+ name: m.name ?? '',
8
+ });
9
+ // --- Search result package ---
10
+ export const searchPackageSchema = z.object({
11
+ name: z.string().describe('Package name'),
12
+ version: z.string().describe('Latest version'),
13
+ description: z.string().describe('Package description'),
14
+ keywords: z.array(z.string()).describe('Package keywords'),
15
+ date: z.string().describe('Last publish date (ISO 8601)'),
16
+ publisher: z.string().describe('Publisher username'),
17
+ maintainers: z.array(z.string()).describe('Maintainer usernames'),
18
+ npm_url: z.string().describe('npmjs.com URL'),
19
+ homepage: z.string().describe('Homepage URL'),
20
+ repository: z.string().describe('Repository URL'),
21
+ bugs: z.string().describe('Bug tracker URL'),
22
+ score_final: z.number().describe('Overall quality score (0-1)'),
23
+ score_quality: z.number().describe('Quality score (0-1)'),
24
+ score_popularity: z.number().describe('Popularity score (0-1)'),
25
+ score_maintenance: z.number().describe('Maintenance score (0-1)'),
26
+ search_score: z.number().describe('Search relevance score'),
27
+ });
28
+ const extractDate = (d) => {
29
+ if (!d)
30
+ return '';
31
+ if (typeof d === 'string')
32
+ return d;
33
+ return d.rel ?? '';
34
+ };
35
+ const extractMaintainers = (m) => {
36
+ if (!m)
37
+ return [];
38
+ return m.map(item => (typeof item === 'string' ? item : (item.username ?? item.name ?? '')));
39
+ };
40
+ const extractUrl = (v) => {
41
+ if (!v)
42
+ return '';
43
+ if (typeof v === 'string')
44
+ return v;
45
+ return v.url ?? '';
46
+ };
47
+ export const mapSearchPackage = (o) => {
48
+ // Handle both spiferack (flat) and registry API (nested) shapes
49
+ const pkg = o.package;
50
+ const name = o.name ?? pkg?.name ?? '';
51
+ const maintainers = extractMaintainers(o.maintainers);
52
+ return {
53
+ name,
54
+ version: o.version ?? pkg?.version ?? '',
55
+ description: o.description ?? pkg?.description ?? '',
56
+ keywords: o.keywords ?? pkg?.keywords ?? [],
57
+ date: extractDate(o.date) || (pkg?.date ?? ''),
58
+ publisher: o.publisher?.name ?? o.publisher?.username ?? pkg?.publisher?.username ?? '',
59
+ maintainers: maintainers.length > 0 ? maintainers : (pkg?.maintainers ?? []).map(m => m.username ?? ''),
60
+ npm_url: o.links?.npm ?? pkg?.links?.npm ?? (name ? `https://www.npmjs.com/package/${name}` : ''),
61
+ homepage: o.homepage ?? o.links?.homepage ?? pkg?.links?.homepage ?? '',
62
+ repository: extractUrl(o.repository) || (o.links?.repository ?? pkg?.links?.repository ?? ''),
63
+ bugs: extractUrl(o.bugs) || (o.links?.bugs ?? pkg?.links?.bugs ?? ''),
64
+ score_final: o.score?.final ?? 0,
65
+ score_quality: o.score?.detail?.quality ?? 0,
66
+ score_popularity: o.score?.detail?.popularity ?? 0,
67
+ score_maintenance: o.score?.detail?.maintenance ?? 0,
68
+ search_score: o.searchScore ?? 0,
69
+ };
70
+ };
71
+ // --- Package detail ---
72
+ export const packageSchema = z.object({
73
+ name: z.string().describe('Package name'),
74
+ version: z.string().describe('Latest version'),
75
+ description: z.string().describe('Package description'),
76
+ license: z.string().describe('License identifier (e.g., "MIT")'),
77
+ homepage: z.string().describe('Homepage URL'),
78
+ repository_url: z.string().describe('Repository URL'),
79
+ bugs_url: z.string().describe('Bug tracker URL'),
80
+ keywords: z.array(z.string()).describe('Package keywords'),
81
+ author_name: z.string().describe('Author name'),
82
+ maintainers: z.array(maintainerSchema).describe('Package maintainers'),
83
+ dist_tags: z.record(z.string(), z.string()).describe('Dist-tags mapping (e.g., latest, next)'),
84
+ last_publish_time: z.string().describe('Last publish timestamp (ISO 8601)'),
85
+ last_publish_maintainer: z.string().describe('Last publish maintainer'),
86
+ typescript_support: z.string().describe('TypeScript support type'),
87
+ is_starred: z.boolean().describe('Whether the current user has starred'),
88
+ dependents_count: z.string().describe('Number of dependent packages'),
89
+ funding_url: z.string().describe('Funding/sponsor URL'),
90
+ has_provenance: z.boolean().describe('Whether provenance is enabled'),
91
+ });
92
+ export const mapPackage = (p) => ({
93
+ name: p.packageVersion?.name ?? p.capsule?.name ?? '',
94
+ version: p.packageVersion?.version ?? '',
95
+ description: p.packageVersion?.description ?? p.capsule?.description ?? '',
96
+ license: p.packageVersion?.license ?? '',
97
+ homepage: p.packageVersion?.homepage ?? '',
98
+ repository_url: typeof p.packageVersion?.repository === 'string'
99
+ ? p.packageVersion.repository
100
+ : (p.packageVersion?.repository?.url ?? ''),
101
+ bugs_url: '',
102
+ keywords: p.packageVersion?.keywords ?? [],
103
+ author_name: p.packageVersion?.author?.name ?? '',
104
+ maintainers: (p.packageVersion?.maintainers ?? []).map(mapMaintainer),
105
+ dist_tags: p.capsule?.['dist-tags'] ?? p.packument?.['dist-tags'] ?? {},
106
+ last_publish_time: p.capsule?.lastPublish?.time ?? '',
107
+ last_publish_maintainer: p.capsule?.lastPublish?.maintainer ?? '',
108
+ typescript_support: p.capsule?.types?.typescript?.bundled ? 'bundled' : (p.capsule?.types?.typescript?.package ?? ''),
109
+ is_starred: p.isStarred ?? false,
110
+ dependents_count: p.dependents?.dependentsCount ?? '0',
111
+ funding_url: p.packageVersion?.funding?.url ?? '',
112
+ has_provenance: p.provenance?.enabled ?? false,
113
+ });
114
+ // --- Download stat ---
115
+ export const downloadStatSchema = z.object({
116
+ downloads: z.number().describe('Download count for the period'),
117
+ label: z.string().describe('Date range label (e.g., "2025-03-11 to 2025-03-17")'),
118
+ });
119
+ export const mapDownloadStat = (d) => ({
120
+ downloads: d.downloads ?? 0,
121
+ label: d.label ?? '',
122
+ });
123
+ // --- Dependency ---
124
+ export const dependencySchema = z.object({
125
+ name: z.string().describe('Package name'),
126
+ version: z.string().describe('Version range'),
127
+ });
128
+ export const mapDependencies = (deps) => Object.entries(deps ?? {}).map(([name, version]) => ({
129
+ name,
130
+ version: String(version),
131
+ }));
132
+ // --- Version info ---
133
+ export const versionInfoSchema = z.object({
134
+ version: z.string().describe('Version number'),
135
+ deprecated: z.string().describe('Deprecation message, empty if not deprecated'),
136
+ });
137
+ // --- User profile ---
138
+ export const userProfileSchema = z.object({
139
+ name: z.string().describe('npm username'),
140
+ avatar_url: z.string().describe('Avatar URL (large)'),
141
+ packages_count: z.number().describe('Number of public packages'),
142
+ orgs: z.array(z.string()).describe('Organization names'),
143
+ });
144
+ export const mapUserProfile = (p) => ({
145
+ name: p.scope?.parent?.name ?? p.scope?.name ?? '',
146
+ avatar_url: p.scope?.parent?.avatars?.large ?? '',
147
+ packages_count: p.packages?.total ?? 0,
148
+ orgs: (p.orgs?.objects ?? []).map(o => o.name ?? ''),
149
+ });
150
+ // --- User package ---
151
+ export const userPackageSchema = z.object({
152
+ name: z.string().describe('Package name'),
153
+ version: z.string().describe('Latest version'),
154
+ description: z.string().describe('Package description'),
155
+ date: z.string().describe('Relative publish date (e.g., "2 days ago")'),
156
+ });
157
+ export const mapUserPackage = (p) => ({
158
+ name: p.name ?? '',
159
+ version: p.version ?? '',
160
+ description: p.description ?? '',
161
+ date: p.date?.rel ?? '',
162
+ });
163
+ // --- Organization ---
164
+ export const organizationSchema = z.object({
165
+ name: z.string().describe('Organization name'),
166
+ description: z.string().describe('Organization description'),
167
+ created: z.string().describe('Creation date (ISO 8601)'),
168
+ packages_count: z.number().describe('Number of packages'),
169
+ tfa_enforced: z.boolean().describe('Whether 2FA is enforced'),
170
+ });
171
+ export const mapOrganization = (p) => ({
172
+ name: p.scope?.parent?.name ?? '',
173
+ description: p.scope?.parent?.description ?? '',
174
+ created: p.scope?.parent?.created ?? '',
175
+ packages_count: p.packages?.total ?? 0,
176
+ tfa_enforced: p.scope?.parent?.tfa_enforced ?? false,
177
+ });
178
+ // --- Dependent ---
179
+ export const dependentSchema = z.object({
180
+ name: z.string().describe('Dependent package name'),
181
+ });
182
+ // --- Token ---
183
+ export const tokenSchema = z.object({
184
+ token: z.string().describe('Token value (masked, e.g., "npm_52ab......TJGu")'),
185
+ readonly: z.boolean().describe('Whether the token is read-only'),
186
+ created: z.string().describe('Creation date (ISO 8601)'),
187
+ updated: z.string().describe('Last updated date (ISO 8601)'),
188
+ });
189
+ export const mapToken = (t) => ({
190
+ token: t.token ?? '',
191
+ readonly: t.readonly ?? false,
192
+ created: t.created ?? '',
193
+ updated: t.updated ?? '',
194
+ });
195
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { z } from 'zod';
2
+ export declare const search_packages: import("@opentabs-dev/plugin-sdk").ToolDefinition<z.ZodObject<{
3
+ query: z.ZodString;
4
+ page: z.ZodOptional<z.ZodNumber>;
5
+ }, z.core.$strip>, z.ZodObject<{
6
+ packages: z.ZodArray<z.ZodObject<{
7
+ name: z.ZodString;
8
+ version: z.ZodString;
9
+ description: z.ZodString;
10
+ keywords: z.ZodArray<z.ZodString>;
11
+ date: z.ZodString;
12
+ publisher: z.ZodString;
13
+ maintainers: z.ZodArray<z.ZodString>;
14
+ npm_url: z.ZodString;
15
+ homepage: z.ZodString;
16
+ repository: z.ZodString;
17
+ bugs: z.ZodString;
18
+ score_final: z.ZodNumber;
19
+ score_quality: z.ZodNumber;
20
+ score_popularity: z.ZodNumber;
21
+ score_maintenance: z.ZodNumber;
22
+ search_score: z.ZodNumber;
23
+ }, z.core.$strip>>;
24
+ total: z.ZodNumber;
25
+ }, z.core.$strip>>;
26
+ //# sourceMappingURL=search-packages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-packages.d.ts","sourceRoot":"","sources":["../../src/tools/search-packages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;kBA0B1B,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { defineTool } from '@opentabs-dev/plugin-sdk';
2
+ import { z } from 'zod';
3
+ import { spiferack } from '../npm-api.js';
4
+ import { searchPackageSchema, mapSearchPackage } from './schemas.js';
5
+ export const search_packages = defineTool({
6
+ name: 'search_packages',
7
+ displayName: 'Search Packages',
8
+ description: 'Search for npm packages by keyword. Supports special qualifiers: author:name, maintainer:name, scope:name, keywords:term (use , for OR, + for AND), not:unstable, not:insecure, is:unstable, is:insecure. Returns packages with scores and metadata.',
9
+ summary: 'Search the npm registry for packages',
10
+ icon: 'search',
11
+ group: 'Packages',
12
+ input: z.object({
13
+ query: z.string().describe('Search query text with optional qualifiers (e.g., "react", "author:sindresorhus")'),
14
+ page: z.number().int().min(0).optional().describe('Page number for pagination (default 0)'),
15
+ }),
16
+ output: z.object({
17
+ packages: z.array(searchPackageSchema).describe('Matching packages'),
18
+ total: z.number().describe('Total number of matching packages'),
19
+ }),
20
+ handle: async (params) => {
21
+ const page = params.page ?? 0;
22
+ const data = await spiferack('/search', {
23
+ query: { q: params.query, page },
24
+ });
25
+ return {
26
+ packages: (data.objects ?? []).map(mapSearchPackage),
27
+ total: data.total ?? 0,
28
+ };
29
+ },
30
+ });
31
+ //# sourceMappingURL=search-packages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-packages.js","sourceRoot":"","sources":["../../src/tools/search-packages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAQrE,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;IACxC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EACT,sPAAsP;IACxP,OAAO,EAAE,sCAAsC;IAC/C,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mFAAmF,CAAC;QAC/G,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;KAC5F,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACpE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;KAChE,CAAC;IACF,MAAM,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;QACrB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAiB,SAAS,EAAE;YACtD,KAAK,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE;SACjC,CAAC,CAAC;QACH,OAAO;YACL,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACpD,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;SACvB,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}