@opentabs-dev/plugin-tools 0.0.15 → 0.0.17

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/dist/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env bun
2
- import { registerBuildCommand } from './commands/index.js';
2
+ import { registerBuildCommand, registerInspectCommand } from './commands/index.js';
3
3
  import { Command } from 'commander';
4
4
  import { dirname, join } from 'node:path';
5
5
  import { fileURLToPath } from 'node:url';
@@ -12,5 +12,6 @@ const program = new Command('opentabs-plugin')
12
12
  program.help();
13
13
  });
14
14
  registerBuildCommand(program);
15
+ registerInspectCommand(program);
15
16
  await program.parseAsync();
16
17
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAwB,CAAC;AAE7G,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC;KAC3C,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC;KACzC,WAAW,CAAC,oDAAoD,CAAC;KACjE,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC;AAEL,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAE9B,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAwB,CAAC;AAE7G,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,iBAAiB,CAAC;KAC3C,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC;KACzC,WAAW,CAAC,oDAAoD,CAAC;KACjE,MAAM,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC;AAEL,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAEhC,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC"}
@@ -4,8 +4,8 @@
4
4
  * package.json's `opentabs` field; tool schemas are serialized from the plugin module.
5
5
  * With `--watch`, rebuilds automatically when tsc output in `dist/` changes.
6
6
  */
7
- import type { ManifestTool, OpenTabsPlugin, ToolDefinition } from '@opentabs-dev/plugin-sdk';
8
- import type { PluginPackageJson } from '@opentabs-dev/shared';
7
+ import type { ManifestTool, OpenTabsPlugin, PromptDefinition, ResourceDefinition, ToolDefinition } from '@opentabs-dev/plugin-sdk';
8
+ import type { ManifestPrompt, ManifestResource, PluginPackageJson } from '@opentabs-dev/shared';
9
9
  import type { Command } from 'commander';
10
10
  /**
11
11
  * Add the plugin directory to localPlugins in ~/.opentabs/config.json.
@@ -28,10 +28,52 @@ declare const convertToolSchemas: (tool: ToolDefinition) => {
28
28
  inputSchema: Record<string, unknown>;
29
29
  outputSchema: Record<string, unknown>;
30
30
  };
31
- /** Serialize plugin tools to ManifestTool[] for dist/tools.json */
32
- declare const generateToolsJson: (plugin: OpenTabsPlugin) => ManifestTool[];
31
+ /**
32
+ * Minify an SVG string by removing XML comments, collapsing whitespace
33
+ * between tags to a single space, and trimming leading/trailing whitespace.
34
+ */
35
+ declare const minifySvg: (svg: string) => string;
36
+ /** Result of reading and validating icon files from a plugin directory */
37
+ interface IconResult {
38
+ iconSvg?: string;
39
+ iconInactiveSvg?: string;
40
+ }
41
+ /**
42
+ * Read, validate, and optionally auto-generate icon files for a plugin.
43
+ * Throws on validation failure or invalid file combinations.
44
+ * Returns the minified SVG strings if icons are present.
45
+ */
46
+ declare const readAndValidateIcons: (projectDir: string) => Promise<IconResult>;
47
+ /** Full manifest shape written to dist/tools.json */
48
+ interface PluginManifestOutput {
49
+ sdkVersion: string;
50
+ iconSvg?: string;
51
+ iconInactiveSvg?: string;
52
+ tools: ManifestTool[];
53
+ resources: ManifestResource[];
54
+ prompts: ManifestPrompt[];
55
+ }
56
+ /**
57
+ * Derive a display name from a snake_case tool name.
58
+ * 'send_message' → 'Send Message', 'get_user_profile' → 'Get User Profile'
59
+ */
60
+ declare const deriveDisplayName: (name: string) => string;
61
+ /** Serialize plugin tools to ManifestTool[] */
62
+ declare const generateToolsManifest: (plugin: OpenTabsPlugin) => ManifestTool[];
63
+ /** Extract serializable resource metadata from plugin resource definitions */
64
+ declare const generateResourcesManifest: (resources: ResourceDefinition[]) => ManifestResource[];
65
+ /** Extract serializable prompt metadata from plugin prompt definitions */
66
+ declare const generatePromptsManifest: (prompts: PromptDefinition[]) => ManifestPrompt[];
67
+ /**
68
+ * Resolve the installed @opentabs-dev/plugin-sdk version from the plugin's node_modules.
69
+ * Returns the exact semver version string (e.g. '0.0.10'), not a range.
70
+ * Throws with a descriptive error if the SDK is not installed.
71
+ */
72
+ declare const resolveSdkVersion: (projectDir: string) => Promise<string>;
73
+ /** Generate the full manifest (tools + resources + prompts) for dist/tools.json */
74
+ declare const generateManifest: (plugin: OpenTabsPlugin, sdkVersion: string, icons?: IconResult) => PluginManifestOutput;
33
75
  declare const formatBytes: (bytes: number) => string;
34
76
  declare const formatTimestamp: () => string;
35
77
  declare const registerBuildCommand: (program: Command) => void;
36
- export { convertToolSchemas, formatBytes, formatTimestamp, generateToolsJson, notifyServer, registerBuildCommand, registerInConfig, validatePackageJson, validatePlugin, };
78
+ export { convertToolSchemas, deriveDisplayName, formatBytes, formatTimestamp, generateManifest, generatePromptsManifest, generateResourcesManifest, generateToolsManifest, minifySvg, notifyServer, readAndValidateIcons, registerBuildCommand, registerInConfig, resolveSdkVersion, validatePackageJson, validatePlugin, };
37
79
  //# sourceMappingURL=build.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC7F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BzC;;;;GAIG;AACH,QAAA,MAAM,gBAAgB,GAAU,YAAY,MAAM,KAAG,OAAO,CAAC,OAAO,CAiCnE,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,YAAY,QAAa,OAAO,CAAC,IAAI,CAgC1C,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,mBAAmB,GAAI,SAAS,OAAO,EAAE,YAAY,MAAM,KAAG,iBAanE,CAAC;AAEF,QAAA,MAAM,cAAc,GAAI,QAAQ,cAAc,KAAG,MAAM,EA8DtD,CAAC;AAEF,QAAA,MAAM,kBAAkB,GAAI,MAAM,cAAc;;;CA2B/C,CAAC;AAEF,mEAAmE;AACnE,QAAA,MAAM,iBAAiB,GAAI,QAAQ,cAAc,KAAG,YAAY,EAW5D,CAAC;AAmLL,QAAA,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAIpC,CAAC;AAEF,QAAA,MAAM,eAAe,QAAO,MAM3B,CAAC;AAgMF,QAAA,MAAM,oBAAoB,GAAI,SAAS,OAAO,KAAG,IAahD,CAAC;AAEF,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,GACf,CAAC"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,cAAc,EAA0B,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACxH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+BzC;;;;GAIG;AACH,QAAA,MAAM,gBAAgB,GAAU,YAAY,MAAM,KAAG,OAAO,CAAC,OAAO,CAiCnE,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,YAAY,QAAa,OAAO,CAAC,IAAI,CAgC1C,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,mBAAmB,GAAI,SAAS,OAAO,EAAE,YAAY,MAAM,KAAG,iBAanE,CAAC;AAEF,QAAA,MAAM,cAAc,GAAI,QAAQ,cAAc,KAAG,MAAM,EA2GtD,CAAC;AAEF,QAAA,MAAM,kBAAkB,GAAI,MAAM,cAAc;;;CA2B/C,CAAC;AAEF;;;GAGG;AACH,QAAA,MAAM,SAAS,GAAI,KAAK,MAAM,KAAG,MAKtB,CAAC;AAEZ,0EAA0E;AAC1E,UAAU,UAAU;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,QAAA,MAAM,oBAAoB,GAAU,YAAY,MAAM,KAAG,OAAO,CAAC,UAAU,CAoD1E,CAAC;AAEF,qDAAqD;AACrD,UAAU,oBAAoB;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED;;;GAGG;AACH,QAAA,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,MAO5B,CAAC;AAEf,+CAA+C;AAC/C,QAAA,MAAM,qBAAqB,GAAI,QAAQ,cAAc,KAAG,YAAY,EAWhE,CAAC;AAEL,8EAA8E;AAC9E,QAAA,MAAM,yBAAyB,GAAI,WAAW,kBAAkB,EAAE,KAAG,gBAAgB,EAMjF,CAAC;AAkBL,0EAA0E;AAC1E,QAAA,MAAM,uBAAuB,GAAI,SAAS,gBAAgB,EAAE,KAAG,cAAc,EAiBzE,CAAC;AAEL;;;;GAIG;AACH,QAAA,MAAM,iBAAiB,GAAU,YAAY,MAAM,KAAG,OAAO,CAAC,MAAM,CAoBnE,CAAC;AAEF,mFAAmF;AACnF,QAAA,MAAM,gBAAgB,GAAI,QAAQ,cAAc,EAAE,YAAY,MAAM,EAAE,QAAQ,UAAU,KAAG,oBAOzF,CAAC;AAqMH,QAAA,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAIpC,CAAC;AAEF,QAAA,MAAM,eAAe,QAAO,MAM3B,CAAC;AAkOF,QAAA,MAAM,oBAAoB,GAAI,SAAS,OAAO,KAAG,IAahD,CAAC;AAEF,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,GACf,CAAC"}
@@ -4,6 +4,7 @@
4
4
  * package.json's `opentabs` field; tool schemas are serialized from the plugin module.
5
5
  * With `--watch`, rebuilds automatically when tsc output in `dist/` changes.
6
6
  */
7
+ import { generateInactiveIcon, validateIconSvg, validateInactiveIconColors } from '../validate-icon.js';
7
8
  import { validatePluginName, validateUrlPattern, LUCIDE_ICON_NAMES } from '@opentabs-dev/plugin-sdk';
8
9
  import { parsePluginPackageJson } from '@opentabs-dev/shared';
9
10
  import pc from 'picocolors';
@@ -25,7 +26,9 @@ const atomicWriteConfig = async (configPath, content) => {
25
26
  const tmpPath = configPath + '.tmp';
26
27
  try {
27
28
  await Bun.write(tmpPath, content);
28
- await chmod(tmpPath, 0o600).catch(() => { });
29
+ await chmod(tmpPath, 0o600).catch((err) => {
30
+ console.warn(`Warning: Could not set file permissions on ${tmpPath}: ${err instanceof Error ? err.message : String(err)}. The config file may be readable by other users.`);
31
+ });
29
32
  await rename(tmpPath, configPath);
30
33
  }
31
34
  catch (err) {
@@ -170,11 +173,11 @@ const validatePlugin = (plugin) => {
170
173
  else if (!TOOL_NAME_REGEX.test(tool.name)) {
171
174
  errors.push(`Tool name "${tool.name}" must be snake_case (lowercase alphanumeric with underscores, e.g., "send_message")`);
172
175
  }
173
- if (!tool.displayName || tool.displayName.length === 0)
174
- errors.push(`Tool "${tool.name || '(unnamed)'}" is missing a displayName`);
176
+ if (tool.displayName !== undefined && tool.displayName.length === 0)
177
+ errors.push(`Tool "${tool.name || '(unnamed)'}" has an empty displayName — either omit it for auto-derivation or provide a non-empty value`);
175
178
  if (tool.description.length === 0)
176
179
  errors.push(`Tool "${tool.name || '(unnamed)'}" is missing a description`);
177
- if (!LUCIDE_ICON_NAMES.has(tool.icon)) {
180
+ if (tool.icon !== undefined && !LUCIDE_ICON_NAMES.has(tool.icon)) {
178
181
  errors.push(`Tool "${tool.name || '(unnamed)'}" has invalid icon "${tool.icon}" — must be a valid Lucide icon name (kebab-case). See https://lucide.dev/icons`);
179
182
  }
180
183
  if (tool.name.length > 0 && toolNames.has(tool.name)) {
@@ -184,6 +187,48 @@ const validatePlugin = (plugin) => {
184
187
  toolNames.add(tool.name);
185
188
  }
186
189
  }
190
+ // Resources (optional)
191
+ if (plugin.resources && plugin.resources.length > 0) {
192
+ const resourceUris = new Set();
193
+ for (const resource of plugin.resources) {
194
+ if (resource.uri.length === 0) {
195
+ errors.push('Resource URI is required');
196
+ }
197
+ if (resource.name.length === 0) {
198
+ errors.push(`Resource "${resource.uri || '(unnamed)'}" is missing a name`);
199
+ }
200
+ if (resource.uri.length > 0 && resourceUris.has(resource.uri)) {
201
+ errors.push(`Duplicate resource URI "${resource.uri}"`);
202
+ }
203
+ if (resource.uri.length > 0)
204
+ resourceUris.add(resource.uri);
205
+ }
206
+ }
207
+ // Prompts (optional)
208
+ if (plugin.prompts && plugin.prompts.length > 0) {
209
+ const PROMPT_NAME_REGEX = /^[a-z0-9][a-z0-9_-]*$/;
210
+ const promptNames = new Set();
211
+ for (const prompt of plugin.prompts) {
212
+ if (prompt.name.length === 0) {
213
+ errors.push('Prompt name is required');
214
+ }
215
+ else if (!PROMPT_NAME_REGEX.test(prompt.name)) {
216
+ errors.push(`Prompt name "${prompt.name}" must match [a-z0-9_-]+ pattern (lowercase alphanumeric with underscores and hyphens)`);
217
+ }
218
+ if (prompt.arguments) {
219
+ for (const arg of prompt.arguments) {
220
+ if (arg.name.length === 0) {
221
+ errors.push(`Prompt "${prompt.name || '(unnamed)'}" has an argument with an empty name`);
222
+ }
223
+ }
224
+ }
225
+ if (prompt.name.length > 0 && promptNames.has(prompt.name)) {
226
+ errors.push(`Duplicate prompt name "${prompt.name}"`);
227
+ }
228
+ if (prompt.name.length > 0)
229
+ promptNames.add(prompt.name);
230
+ }
231
+ }
187
232
  return errors;
188
233
  };
189
234
  const convertToolSchemas = (tool) => {
@@ -209,18 +254,166 @@ const convertToolSchemas = (tool) => {
209
254
  delete outputSchema['$schema'];
210
255
  return { inputSchema, outputSchema };
211
256
  };
212
- /** Serialize plugin tools to ManifestTool[] for dist/tools.json */
213
- const generateToolsJson = (plugin) => plugin.tools.map(tool => {
257
+ /**
258
+ * Minify an SVG string by removing XML comments, collapsing whitespace
259
+ * between tags to a single space, and trimming leading/trailing whitespace.
260
+ */
261
+ const minifySvg = (svg) => svg
262
+ .replace(/<!--[\s\S]*?-->/g, '')
263
+ .replace(/>\s+</g, '> <')
264
+ .replace(/\s{2,}/g, ' ')
265
+ .trim();
266
+ /**
267
+ * Read, validate, and optionally auto-generate icon files for a plugin.
268
+ * Throws on validation failure or invalid file combinations.
269
+ * Returns the minified SVG strings if icons are present.
270
+ */
271
+ const readAndValidateIcons = async (projectDir) => {
272
+ const iconPath = join(projectDir, 'icon.svg');
273
+ const inactivePath = join(projectDir, 'icon-inactive.svg');
274
+ const hasIcon = await Bun.file(iconPath).exists();
275
+ const hasInactive = await Bun.file(inactivePath).exists();
276
+ // No icons — nothing to do
277
+ if (!hasIcon && !hasInactive) {
278
+ console.log(pc.dim('Plugin icon: none (using letter avatar)'));
279
+ return {};
280
+ }
281
+ // icon-inactive.svg without icon.svg is an error
282
+ if (!hasIcon && hasInactive) {
283
+ throw new Error('icon-inactive.svg requires icon.svg to also be present. Add an icon.svg or remove icon-inactive.svg.');
284
+ }
285
+ // Read and validate icon.svg
286
+ const iconContent = await Bun.file(iconPath).text();
287
+ const iconValidation = validateIconSvg(iconContent, 'icon.svg');
288
+ if (!iconValidation.valid) {
289
+ throw new Error(`icon.svg validation failed:\n${iconValidation.errors.map(e => ` - ${e}`).join('\n')}`);
290
+ }
291
+ const minifiedIcon = minifySvg(iconContent);
292
+ if (hasInactive) {
293
+ // Manual override: read and validate icon-inactive.svg
294
+ const inactiveContent = await Bun.file(inactivePath).text();
295
+ const inactiveStructValidation = validateIconSvg(inactiveContent, 'icon-inactive.svg');
296
+ if (!inactiveStructValidation.valid) {
297
+ throw new Error(`icon-inactive.svg validation failed:\n${inactiveStructValidation.errors.map(e => ` - ${e}`).join('\n')}`);
298
+ }
299
+ const inactiveColorValidation = validateInactiveIconColors(inactiveContent);
300
+ if (!inactiveColorValidation.valid) {
301
+ throw new Error(`icon-inactive.svg color validation failed:\n${inactiveColorValidation.errors.map(e => ` - ${e}`).join('\n')}`);
302
+ }
303
+ console.log(pc.dim('Plugin icon: icon.svg + icon-inactive.svg found (manual override)'));
304
+ return { iconSvg: minifiedIcon, iconInactiveSvg: minifySvg(inactiveContent) };
305
+ }
306
+ // Auto-generate inactive variant
307
+ const inactiveGenerated = generateInactiveIcon(iconContent);
308
+ console.log(pc.dim('Plugin icon: icon.svg found, auto-generating inactive variant'));
309
+ return { iconSvg: minifiedIcon, iconInactiveSvg: minifySvg(inactiveGenerated) };
310
+ };
311
+ /**
312
+ * Derive a display name from a snake_case tool name.
313
+ * 'send_message' → 'Send Message', 'get_user_profile' → 'Get User Profile'
314
+ */
315
+ const deriveDisplayName = (name) => name
316
+ .split('_')
317
+ .map(w => {
318
+ const first = w.charAt(0);
319
+ return first ? first.toUpperCase() + w.slice(1) : '';
320
+ })
321
+ .join(' ');
322
+ /** Serialize plugin tools to ManifestTool[] */
323
+ const generateToolsManifest = (plugin) => plugin.tools.map(tool => {
214
324
  const { inputSchema, outputSchema } = convertToolSchemas(tool);
215
325
  return {
216
326
  name: tool.name,
217
- displayName: tool.displayName,
327
+ displayName: tool.displayName || deriveDisplayName(tool.name),
218
328
  description: tool.description,
219
- icon: tool.icon,
329
+ icon: tool.icon || 'wrench',
220
330
  input_schema: inputSchema,
221
331
  output_schema: outputSchema,
222
332
  };
223
333
  });
334
+ /** Extract serializable resource metadata from plugin resource definitions */
335
+ const generateResourcesManifest = (resources) => resources.map(r => {
336
+ const entry = { uri: r.uri, name: r.name };
337
+ if (r.description !== undefined)
338
+ entry.description = r.description;
339
+ if (r.mimeType !== undefined)
340
+ entry.mimeType = r.mimeType;
341
+ return entry;
342
+ });
343
+ /**
344
+ * Extract argument metadata from a Zod object schema. Each key becomes an
345
+ * argument entry. The description is taken from the field's `.description`
346
+ * metadata (set via `.describe()`). A field is required if it is not optional.
347
+ */
348
+ const extractArgsFromSchema = (schema) => {
349
+ const shape = schema.shape;
350
+ return Object.entries(shape).map(([name, fieldSchema]) => {
351
+ const arg = { name };
352
+ const desc = fieldSchema.description;
353
+ if (desc !== undefined)
354
+ arg.description = desc;
355
+ arg.required = !(fieldSchema instanceof z.ZodOptional || fieldSchema instanceof z.ZodDefault);
356
+ return arg;
357
+ });
358
+ };
359
+ /** Extract serializable prompt metadata from plugin prompt definitions */
360
+ const generatePromptsManifest = (prompts) => prompts.map(p => {
361
+ const entry = { name: p.name };
362
+ if (p.description !== undefined)
363
+ entry.description = p.description;
364
+ if (p.arguments !== undefined) {
365
+ // Explicit arguments take priority
366
+ entry.arguments = p.arguments.map(a => {
367
+ const arg = { name: a.name };
368
+ if (a.description !== undefined)
369
+ arg.description = a.description;
370
+ if (a.required !== undefined)
371
+ arg.required = a.required;
372
+ return arg;
373
+ });
374
+ }
375
+ else if (p.args !== undefined) {
376
+ // Auto-generate arguments metadata from the Zod schema
377
+ entry.arguments = extractArgsFromSchema(p.args);
378
+ }
379
+ return entry;
380
+ });
381
+ /**
382
+ * Resolve the installed @opentabs-dev/plugin-sdk version from the plugin's node_modules.
383
+ * Returns the exact semver version string (e.g. '0.0.10'), not a range.
384
+ * Throws with a descriptive error if the SDK is not installed.
385
+ */
386
+ const resolveSdkVersion = async (projectDir) => {
387
+ const sdkPkgPath = join(projectDir, 'node_modules', '@opentabs-dev', 'plugin-sdk', 'package.json');
388
+ const sdkPkgFile = Bun.file(sdkPkgPath);
389
+ if (!(await sdkPkgFile.exists())) {
390
+ throw new Error('Could not resolve @opentabs-dev/plugin-sdk version. Ensure the package is installed.');
391
+ }
392
+ let sdkPkg;
393
+ try {
394
+ sdkPkg = JSON.parse(await sdkPkgFile.text());
395
+ }
396
+ catch {
397
+ throw new Error('Could not resolve @opentabs-dev/plugin-sdk version. Ensure the package is installed.');
398
+ }
399
+ if (typeof sdkPkg !== 'object' || sdkPkg === null || !('version' in sdkPkg)) {
400
+ throw new Error('Could not resolve @opentabs-dev/plugin-sdk version. Ensure the package is installed.');
401
+ }
402
+ const version = sdkPkg.version;
403
+ if (typeof version !== 'string' || version.length === 0) {
404
+ throw new Error('Could not resolve @opentabs-dev/plugin-sdk version. Ensure the package is installed.');
405
+ }
406
+ return version;
407
+ };
408
+ /** Generate the full manifest (tools + resources + prompts) for dist/tools.json */
409
+ const generateManifest = (plugin, sdkVersion, icons) => ({
410
+ sdkVersion,
411
+ ...(icons?.iconSvg ? { iconSvg: icons.iconSvg } : {}),
412
+ ...(icons?.iconInactiveSvg ? { iconInactiveSvg: icons.iconInactiveSvg } : {}),
413
+ tools: generateToolsManifest(plugin),
414
+ resources: generateResourcesManifest(plugin.resources ?? []),
415
+ prompts: generatePromptsManifest(plugin.prompts ?? []),
416
+ });
224
417
  const bundleIIFE = async (sourceEntry, outDir, pluginName) => {
225
418
  // Create a temporary wrapper entry that imports the plugin and registers it
226
419
  // on window.__openTabs.adapters. This is bundled as an IIFE so the adapter
@@ -251,7 +444,8 @@ const flushLogs = () => {
251
444
  const entries = logBatch;
252
445
  logBatch = [];
253
446
  try {
254
- window.postMessage({ type: 'opentabs:plugin-logs', plugin: ${name}, entries }, '*');
447
+ const nonce = ((globalThis as any).__openTabs as any)?._logNonce as string | undefined;
448
+ window.postMessage({ type: 'opentabs:plugin-logs', plugin: ${name}, entries, nonce: nonce ?? '' }, '*');
255
449
  } catch {
256
450
  // Extension not available — drop silently
257
451
  }
@@ -278,7 +472,21 @@ if (existing) {
278
472
  try { existing.teardown(); } catch (e) { console.warn('[OpenTabs] teardown failed for ' + ${name} + ':', e); }
279
473
  }
280
474
  }
281
- Reflect.deleteProperty(adapters, ${name});
475
+ // Remove the old adapter property. If it's non-configurable (locked by
476
+ // hashAndFreeze), rebuild the adapters container with all other adapters
477
+ // and replace __openTabs on globalThis.
478
+ if (!Reflect.deleteProperty(adapters, ${name})) {
479
+ const ot = (globalThis as any).__openTabs;
480
+ const newAdapters: Record<string, any> = {};
481
+ for (const key of Object.keys(adapters)) {
482
+ if (key !== ${name}) {
483
+ const desc = Object.getOwnPropertyDescriptor(adapters, key);
484
+ if (desc) Object.defineProperty(newAdapters, key, desc);
485
+ }
486
+ }
487
+ delete (globalThis as any).__openTabs;
488
+ (globalThis as any).__openTabs = Object.assign({}, ot, { adapters: newAdapters });
489
+ }
282
490
 
283
491
  // Wire onToolInvocationStart / onToolInvocationEnd around each tool.handle()
284
492
  if (typeof plugin.onToolInvocationStart === 'function' || typeof plugin.onToolInvocationEnd === 'function') {
@@ -306,7 +514,9 @@ if (typeof plugin.onToolInvocationStart === 'function' || typeof plugin.onToolIn
306
514
  }
307
515
  }
308
516
 
309
- adapters[${name}] = plugin;
517
+ // Re-read the adapters reference (may have been rebuilt above)
518
+ const currentAdapters = (globalThis as any).__openTabs.adapters;
519
+ currentAdapters[${name}] = plugin;
310
520
 
311
521
  // Wire onActivate
312
522
  if (typeof plugin.onActivate === 'function') {
@@ -379,6 +589,7 @@ if (typeof plugin.onNavigate === 'function') {
379
589
  format: 'iife',
380
590
  target: 'browser',
381
591
  minify: false,
592
+ sourcemap: 'external',
382
593
  naming: 'adapter.iife.js',
383
594
  external: [],
384
595
  });
@@ -431,6 +642,8 @@ const runBuild = async (projectDir) => {
431
642
  }
432
643
  console.log(pc.dim('Validating package.json opentabs field...'));
433
644
  const pkgJson = validatePackageJson(pkgJsonRaw, projectDir);
645
+ // Step 1b: Read and validate icon files (if present)
646
+ const icons = await readAndValidateIcons(projectDir);
434
647
  // Determine entry point — look for compiled output in dist/
435
648
  const entryPoint = resolve(projectDir, 'dist', 'index.js');
436
649
  const sourceEntry = resolve(projectDir, 'src', 'index.ts');
@@ -451,6 +664,16 @@ const runBuild = async (projectDir) => {
451
664
  if (errors.length > 0) {
452
665
  throw new Error(`Validation failed:\n${errors.map(e => ` - ${e}`).join('\n')}`);
453
666
  }
667
+ // Hint: warn if isReady() unconditionally returns false (default scaffold value)
668
+ try {
669
+ const ready = await plugin.isReady();
670
+ if (!ready) {
671
+ console.warn(pc.yellow('Warning: isReady() returned false. The plugin will report as "unavailable" until isReady() is implemented.'));
672
+ }
673
+ }
674
+ catch {
675
+ // isReady() may throw if it depends on a browser environment — skip the check
676
+ }
454
677
  // Step 4: Bundle IIFE (before manifest, so adapterHash can be included)
455
678
  console.log(pc.dim('Bundling adapter IIFE...'));
456
679
  const distDir = join(projectDir, 'dist');
@@ -464,22 +687,39 @@ const runBuild = async (projectDir) => {
464
687
  // Append a self-contained snippet that sets the adapter hash and then freezes
465
688
  // the adapter entry to prevent cross-adapter tampering. The freeze must happen
466
689
  // AFTER the hash is set (since frozen objects reject new properties). The
467
- // property descriptor uses writable:false + configurable:true so that:
690
+ // property descriptor uses writable:false + configurable:false so that:
468
691
  // - Simple assignment by page scripts fails (non-writable)
469
- // - Re-injection via Object.defineProperty succeeds (configurable)
470
- // - Extension cleanup via Reflect.deleteProperty succeeds (configurable)
692
+ // - Object.defineProperty by page scripts fails (non-configurable)
693
+ // - Reflect.deleteProperty by page scripts fails (non-configurable)
694
+ // Re-injection and cleanup are handled by the IIFE wrapper and the
695
+ // extension's cleanup script, which rebuild the adapters container on
696
+ // globalThis when deletion of a non-configurable property fails.
471
697
  const hashAndFreeze = `
472
- (function(){var o=(globalThis).__openTabs;if(o&&o.adapters&&o.adapters[${JSON.stringify(plugin.name)}]){var a=o.adapters[${JSON.stringify(plugin.name)}];a.__adapterHash=${JSON.stringify(adapterHash)};if(a.tools&&Array.isArray(a.tools)){for(var i=0;i<a.tools.length;i++){Object.freeze(a.tools[i]);}Object.freeze(a.tools);}Object.freeze(a);Object.defineProperty(o.adapters,${JSON.stringify(plugin.name)},{value:a,writable:false,configurable:true,enumerable:true});}})();
698
+ (function(){var o=(globalThis).__openTabs;if(o&&o.adapters&&o.adapters[${JSON.stringify(plugin.name)}]){var a=o.adapters[${JSON.stringify(plugin.name)}];a.__adapterHash=${JSON.stringify(adapterHash)};if(a.tools&&Array.isArray(a.tools)){for(var i=0;i<a.tools.length;i++){Object.freeze(a.tools[i]);}Object.freeze(a.tools);}Object.freeze(a);Object.defineProperty(o.adapters,${JSON.stringify(plugin.name)},{value:a,writable:false,configurable:false,enumerable:true});Object.defineProperty(o,"adapters",{value:o.adapters,writable:false,configurable:false});}})();
473
699
  `;
474
700
  await Bun.write(iifePath, iifeContent + hashAndFreeze);
475
701
  const iifeSize = (await Bun.file(iifePath).stat()).size;
476
702
  console.log(` Written: ${pc.bold('dist/adapter.iife.js')} (${formatBytes(iifeSize)})`);
477
- // Step 5: Generate dist/tools.json (tool schemas serialized from the plugin module)
703
+ const sourceMapPath = join(distDir, 'adapter.iife.js.map');
704
+ const sourceMapSize = (await Bun.file(sourceMapPath).stat()).size;
705
+ console.log(` Written: ${pc.bold('dist/adapter.iife.js.map')} (${formatBytes(sourceMapSize)})`);
706
+ // Step 5: Resolve installed SDK version
707
+ console.log(pc.dim('Resolving SDK version...'));
708
+ const sdkVersion = await resolveSdkVersion(projectDir);
709
+ // Step 6: Generate dist/tools.json (tool schemas + resource/prompt metadata + icons)
478
710
  console.log(pc.dim('Generating tools.json...'));
479
- const tools = generateToolsJson(plugin);
711
+ const manifest = generateManifest(plugin, sdkVersion, icons);
480
712
  const toolsJsonPath = join(distDir, 'tools.json');
481
- await Bun.write(toolsJsonPath, JSON.stringify(tools, null, 2) + '\n');
482
- console.log(` Written: ${pc.bold('dist/tools.json')} (${tools.length} tool${tools.length === 1 ? '' : 's'})`);
713
+ await Bun.write(toolsJsonPath, JSON.stringify(manifest, null, 2) + '\n');
714
+ const toolCount = manifest.tools.length;
715
+ const resourceCount = manifest.resources.length;
716
+ const promptCount = manifest.prompts.length;
717
+ const parts = [`${toolCount} tool${toolCount === 1 ? '' : 's'}`];
718
+ if (resourceCount > 0)
719
+ parts.push(`${resourceCount} resource${resourceCount === 1 ? '' : 's'}`);
720
+ if (promptCount > 0)
721
+ parts.push(`${promptCount} prompt${promptCount === 1 ? '' : 's'}`);
722
+ console.log(` Written: ${pc.bold('dist/tools.json')} (${parts.join(', ')})`);
483
723
  const elapsed = ((performance.now() - startTime) / 1000).toFixed(1);
484
724
  console.log('');
485
725
  console.log(pc.green(`Build complete for plugin "${pkgJson.name}" v${pkgJson.version} in ${elapsed}s`));
@@ -591,5 +831,5 @@ Examples:
591
831
  $ opentabs-plugin build --watch`)
592
832
  .action((options) => handleBuild(options));
593
833
  };
594
- export { convertToolSchemas, formatBytes, formatTimestamp, generateToolsJson, notifyServer, registerBuildCommand, registerInConfig, validatePackageJson, validatePlugin, };
834
+ export { convertToolSchemas, deriveDisplayName, formatBytes, formatTimestamp, generateManifest, generatePromptsManifest, generateResourcesManifest, generateToolsManifest, minifySvg, notifyServer, readAndValidateIcons, registerBuildCommand, registerInConfig, resolveSdkVersion, validatePackageJson, validatePlugin, };
595
835
  //# sourceMappingURL=build.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export { registerBuildCommand } from './build.js';
2
+ export { registerInspectCommand } from './inspect.js';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export { registerBuildCommand } from './build.js';
2
+ export { registerInspectCommand } from './inspect.js';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * `opentabs-plugin inspect` command — pretty-prints the built plugin manifest.
3
+ * Reads dist/tools.json and package.json from the current directory and displays
4
+ * a human-readable summary of tools, resources, and prompts.
5
+ */
6
+ import type { Command } from 'commander';
7
+ declare const registerInspectCommand: (program: Command) => void;
8
+ export { registerInspectCommand };
9
+ //# sourceMappingURL=inspect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2KzC,QAAA,MAAM,sBAAsB,GAAI,SAAS,OAAO,KAAG,IAalD,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC"}