@ampcode/plugin 0.0.0-20260425002358-g58772b5 → 0.0.0-20260425184610-g2a0cd88

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 (2) hide show
  1. package/index.d.ts +31 -5
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -289,7 +289,7 @@ declare module '@ampcode/plugin' {
289
289
  export interface ThreadToolResultBlock {
290
290
  type: 'tool_result'
291
291
  toolUseID: string
292
- output?: string
292
+ output?: PluginToolResult
293
293
  status: 'done' | 'error' | 'cancelled' | 'running' | 'pending'
294
294
  }
295
295
 
@@ -491,6 +491,29 @@ declare module '@ampcode/plugin' {
491
491
  output?: unknown
492
492
  }
493
493
 
494
+ /**
495
+ * A structured content block returned from a plugin tool.
496
+ */
497
+ export type PluginToolResultContentBlock =
498
+ | { type: 'text'; text: string }
499
+ | {
500
+ type: 'image'
501
+
502
+ /** MIME type, e.g. 'image/png', 'image/jpeg', or 'image/webp'. */
503
+ mimeType: string
504
+
505
+ /** Base64-encoded payload with no data: prefix. */
506
+ data: string
507
+ }
508
+
509
+ /**
510
+ * Result returned from a plugin tool.
511
+ *
512
+ * Returning a bare string keeps the existing text-only behavior. Returning an array
513
+ * of content blocks lets a tool mix text and inline base64 image blocks.
514
+ */
515
+ export type PluginToolResult = string | PluginToolResultContentBlock[]
516
+
494
517
  /**
495
518
  * Event payload for tool.result event.
496
519
  */
@@ -506,17 +529,17 @@ declare module '@ampcode/plugin' {
506
529
  export type ToolResultResult =
507
530
  | {
508
531
  status: 'done'
509
- output?: unknown
532
+ output?: PluginToolResult
510
533
  }
511
534
  | {
512
535
  status: 'error'
513
536
  error?: string
514
- output?: unknown
537
+ output?: PluginToolResult
515
538
  }
516
539
  | {
517
540
  status: 'cancelled'
518
541
  error?: string
519
- output?: unknown
542
+ output?: PluginToolResult
520
543
  }
521
544
  | undefined
522
545
  | void
@@ -736,6 +759,9 @@ declare module '@ampcode/plugin' {
736
759
  }
737
760
 
738
761
  /** Execute the tool with the given input and return a result */
739
- execute: (input: Record<string, unknown>, ctx: PluginToolContext) => Promise<unknown>
762
+ execute: (
763
+ input: Record<string, unknown>,
764
+ ctx: PluginToolContext,
765
+ ) => Promise<PluginToolResult | void>
740
766
  }
741
767
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ampcode/plugin",
3
- "version": "0.0.0-20260425002358-g58772b5",
3
+ "version": "0.0.0-20260425184610-g2a0cd88",
4
4
  "description": "Amp Plugin API",
5
5
  "homepage": "https://ampcode.com/manual/plugin-api",
6
6
  "author": {